/* 8.5: material selection and optional effects */
.csp-sticker-builder [hidden]{display:none!important}
.csp-material-section{margin-bottom:20px}
.csp-material-section h3,.csp-current-material{color:var(--csp-text);font-size:22px;line-height:1.3;margin:0 0 14px}
.csp-material-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.csp-material-choice{display:flex;align-items:center;justify-content:center;gap:10px;flex-direction:column;min-height:104px;padding:12px;border:2px solid var(--csp-line);border-radius:14px;background:var(--csp-panel);color:var(--csp-text);font:inherit;cursor:pointer}
.csp-material-choice[aria-pressed="true"]{border-color:var(--csp-accent);background:var(--csp-card-active)}
.csp-material-choice:focus-visible,.csp-effects-input:focus-visible{outline:3px solid var(--csp-accent);outline-offset:3px}
.csp-material-choice img{height:44px;width:58px;object-fit:contain}
.csp-material-icon{font-size:30px;line-height:1;color:var(--csp-accent)}
.csp-material-notice{color:var(--csp-text);font-size:14px;margin:0 0 12px}
.csp-material-notice:empty{display:none}
.csp-effects-toggle{display:flex;align-items:center;gap:10px;margin:0 0 14px;cursor:pointer;color:var(--csp-text)}
.csp-effects-input{width:18px;height:18px;accent-color:var(--csp-accent)}
.csp-effect-price{display:block;margin-top:6px;font-size:12px;color:var(--csp-accent)}
.csp-panel-special-finish .csp-card-finish[data-special-finish="none"]{grid-column:1/-1;min-height:0;padding:14px}
.csp-panel-special-finish .csp-card-finish[data-special-finish="none"] .csp-finish-visual{display:none}
@media(max-width:767px){.csp-material-options{display:flex;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}.csp-material-choice{flex:0 0 140px;scroll-snap-align:start}.csp-current-material{font-size:20px}}

/* 8.5.2: five consistent steps and equal desktop panels */
.csp-sticker-builder .csp-material-heading{display:flex;align-items:center;gap:10px}
.csp-sticker-builder .csp-step-number{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;font-size:15px;font-weight:800;line-height:1;color:#101035}
.csp-sticker-builder .csp-step-1{background:#9b7bff}
.csp-sticker-builder .csp-step-2{background:#46e6c6}
.csp-sticker-builder .csp-step-3{background:#ffc83d}
.csp-sticker-builder .csp-step-4{background:#ff6aa8}
.csp-sticker-builder .csp-step-5{background:#59c7ff}
@media(min-width:768px){
 .csp-sticker-builder > .csp-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
 .csp-sticker-builder > .csp-grid > .csp-panel{min-width:0;width:100%;box-sizing:border-box}
}
@media(max-width:767px){
 .csp-sticker-builder > .csp-grid{grid-template-columns:minmax(0,1fr)}
 .csp-sticker-builder .csp-step-number{width:28px;height:28px;flex-basis:28px;font-size:14px}
}

/* 8.5.3: compact upload, optional quantities, clear purchase summary */
.csp-sticker-builder .csp-effects-toggle{grid-column:1/-1;margin:4px 0;min-height:32px}
.csp-sticker-builder .csp-more-quantities{width:100%;margin-top:9px;text-align:center;min-height:36px}
.csp-sticker-builder .csp-file-step{padding:12px}
.csp-sticker-builder .csp-file-step-head{margin-bottom:10px}
.csp-sticker-builder .csp-upload-panel,.csp-sticker-builder .csp-instructions-panel{min-height:0;padding:9px}
.csp-sticker-builder .csp-upload-empty{min-height:96px;padding:10px}
.csp-sticker-builder .csp-upload-icon{min-height:30px;font-size:28px;margin-bottom:4px}
.csp-sticker-builder .csp-upload-icon img{width:30px;height:30px}
.csp-sticker-builder .csp-instructions-input{min-height:58px;height:58px;resize:vertical}
.csp-sticker-builder .csp-upload-preview{min-height:96px}
.csp-sticker-builder .csp-shipping-note{display:block;grid-column:1/-1;margin-top:6px;font-size:12px;line-height:1.4;color:var(--csp-muted)}
.csp-sticker-builder .csp-includes-list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:767px){.csp-sticker-builder .csp-includes-list{grid-template-columns:1fr}.csp-sticker-builder .csp-shipping-note{text-align:left}}

/* 8.5.4: selected material and configuration heading */
.csp-sticker-builder .csp-material-section{padding-top:16px;margin-bottom:28px}
.csp-sticker-builder .csp-material-choice{position:relative}
.csp-sticker-builder .csp-material-choice[aria-pressed="true"]{border-color:#c4ff2a;background:#252653}
.csp-sticker-builder .csp-material-choice[aria-pressed="true"] .csp-material-icon{color:#c4ff2a}
.csp-sticker-builder .csp-material-choice[aria-pressed="true"]::after{content:"✓";position:absolute;top:7px;right:8px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#c4ff2a;color:#101035;font-size:12px;font-weight:800}
.csp-sticker-builder .csp-material-choice:focus-visible{outline-color:#c4ff2a}
.csp-sticker-builder .csp-personalize-intro{margin:0 0 16px}
.csp-sticker-builder .csp-personalize-intro h3{margin:0;color:var(--csp-text);font-size:22px;line-height:1.3;font-weight:800}
.csp-sticker-builder .csp-personalize-intro p{margin:6px 0 0;color:var(--csp-muted);font-size:14px;line-height:1.45}
.csp-sticker-builder .csp-personalize-intro .csp-current-material{display:inline;margin:0;color:#c4ff2a;font-size:inherit;line-height:inherit;font-weight:700}
@media(max-width:767px){.csp-sticker-builder .csp-personalize-intro h3{font-size:20px}}
