.fc-designer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start;margin:32px 0 8px}
.fc-designer__stage{position:sticky;top:24px}
.fc-stage-inner{background:#0A3161;border-radius:6px;padding:clamp(20px,3vw,40px);display:flex;flex-direction:column;align-items:center;gap:18px}
#fc-canvas{width:100%;max-width:380px;height:auto;display:block;border-radius:6px;box-shadow:0 24px 48px -20px rgba(0,0,0,.6)}
.fc-face-switch{display:inline-flex;border:1px solid #1B3B66;border-radius:3px;overflow:hidden}
.fc-face-switch button{background:transparent;border:0;color:#B9C4D4;padding:9px 22px;font:600 .86rem/1 'Instrument Sans',sans-serif;cursor:pointer}
.fc-face-switch button.is-active{background:#B31942;color:#fff}
.fc-face-switch button:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.fc-stage-note{color:#B9C4D4;font-size:.82rem;margin:0;text-align:center;min-height:1.2em}
.fc-stage-note[data-tone=warn]{color:#F2A38F}
.fc-stage-note[data-tone=good]{color:#8FD6B4}

.fc-progress{display:flex;flex-wrap:wrap;gap:2px;list-style:none;margin:0 0 22px;padding:0;border-bottom:1px solid #DFE3E9}
.fc-progress li button{background:none;border:0;border-bottom:2px solid transparent;padding:9px 12px 11px;font:600 .82rem/1 'Instrument Sans',sans-serif;color:#5B6472;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.fc-progress li button span{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:999px;background:#DFE3E9;color:#5B6472;font-size:.7rem}
.fc-progress li.is-current button{color:#101B2D;border-bottom-color:#B31942}
.fc-progress li.is-current button span{background:#B31942;color:#fff}
.fc-progress li.is-done button span{background:#101B2D;color:#fff}
.fc-progress li[aria-disabled=true] button{opacity:.45;cursor:not-allowed}

.fc-step h2{font-size:clamp(1.3rem,2.2vw,1.75rem);margin:0 0 8px}
.fc-step-lede{color:#5B6472;font-size:.94rem;margin:0 0 20px;max-width:56ch}
.fc-step[hidden]{display:none}
.fc-alert{background:#F9E9ED;border-left:3px solid #8E1435;color:#7A1030;padding:12px 16px;border-radius:3px;margin-bottom:18px;font-size:.9rem}

.fc-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.fc-filters button,.fc-chiprow button{background:#fff;border:1px solid #DFE3E9;border-radius:999px;padding:7px 15px;font:500 .84rem/1 'Instrument Sans',sans-serif;color:#101B2D;cursor:pointer}
.fc-filters button[aria-pressed=true],.fc-chiprow button[aria-checked=true]{background:#101B2D;color:#fff;border-color:#101B2D}
.fc-chiprow{display:flex;gap:8px}

.fc-design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px;max-height:430px;overflow-y:auto;padding:2px}
.fc-design-grid button{background:#fff;border:1px solid #DFE3E9;border-radius:6px;padding:0;overflow:hidden;cursor:pointer;text-align:left;display:block}
.fc-design-grid button[aria-checked=true]{border-color:#B31942;box-shadow:0 0 0 2px rgba(217,58,33,.22)}
.fc-design-grid .sw{aspect-ratio:5/7;display:block;width:100%;object-fit:cover}
.fc-design-grid .nm{display:block;padding:9px 10px 11px;font:600 .8rem/1.25 'Instrument Sans',sans-serif}

.fc-drop{border:1px dashed #C3CBD8;border-radius:6px;padding:28px 22px;text-align:center;background:#fff;transition:border-color .15s,background .15s}
.fc-drop.is-over{border-color:#B31942;background:#F9E9ED}
.fc-drop-label{cursor:pointer;display:block}
.fc-drop-label strong{display:block;font:700 1.02rem/1.2 'Archivo',sans-serif;margin-bottom:5px}
.fc-drop-label span{color:#5B6472;font-size:.85rem}
#fc-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
#fc-file:focus-visible+.fc-upload-state,#fc-file:focus-visible~*{outline:none}
.fc-drop:focus-within{border-color:#B31942;box-shadow:0 0 0 3px rgba(217,58,33,.18)}
.fc-upload-state{margin:12px 0 0;font-size:.86rem;color:#5B6472;min-height:1.2em}

.fc-adjust{margin-top:22px;display:grid;gap:14px}
.fc-field label{display:block;font:600 .84rem/1.3 'Instrument Sans',sans-serif;margin-bottom:6px}
.fc-field input[type=range]{width:100%;accent-color:#B31942}
.fc-btnrow{display:flex;flex-wrap:wrap;gap:8px}
.fc-mini{background:#fff;border:1px solid #DFE3E9;border-radius:3px;padding:8px 13px;font:500 .82rem/1 'Instrument Sans',sans-serif;cursor:pointer;color:#101B2D}
.fc-mini:hover{border-color:#101B2D}
.fc-check{display:flex;gap:10px;align-items:flex-start;font-size:.87rem;line-height:1.5;cursor:pointer}
.fc-check input{margin-top:3px;accent-color:#B31942;width:17px;height:17px;flex:none}

.fc-fields{display:grid;gap:16px}
.fc-fields .fc-count{font-size:.76rem;color:#5B6472;float:right;font-weight:400}
.fc-stats-row{display:grid;grid-template-columns:1fr 100px auto;gap:8px;align-items:end;margin-bottom:8px}
.fc-swatches{display:flex;gap:9px;flex-wrap:wrap}
.fc-swatches button{width:34px;height:34px;border-radius:999px;border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.fc-swatches button[aria-checked=true]{border-color:#101B2D}
fieldset{border:0;padding:0;margin:22px 0 0}
legend{font:600 .84rem/1 'Instrument Sans',sans-serif;padding:0;margin-bottom:10px}

.fc-optlist{display:grid;gap:9px}
.fc-optlist button{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;text-align:left;
  background:#fff;border:1px solid #DFE3E9;border-radius:3px;padding:14px 16px;cursor:pointer;font-family:'Instrument Sans',sans-serif}
.fc-optlist button[aria-checked=true]{border-color:#B31942;box-shadow:inset 0 0 0 1px #B31942}
.fc-optlist .t{font-weight:600;font-size:.94rem;display:block}
.fc-optlist .d{font-size:.82rem;color:#5B6472;display:block;margin-top:2px}
.fc-optlist .p{font-family:'Archivo',sans-serif;font-weight:700;white-space:nowrap}
.fc-qty input{max-width:110px}
.fc-hint{font-size:.82rem;color:#5B6472;margin:7px 0 0}

.fc-review dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 20px;font-size:.9rem}
.fc-review dt{color:#5B6472}
.fc-review dd{margin:0;font-weight:600}
.fc-review-faces{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.fc-review-faces figure{margin:0}
.fc-review-faces img{width:100%;border-radius:6px;background:#0A3161;display:block}
.fc-review-faces figcaption{font-size:.78rem;color:#5B6472;margin-top:6px;text-align:center}
.fc-rights{border-top:1px solid #DFE3E9;padding-top:18px;margin-top:6px}

.fc-bar{position:sticky;bottom:0;background:#fff;border-top:1px solid #DFE3E9;margin-top:26px;padding:16px 0;
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;z-index:5}
.fc-bar__price strong{font:700 1.5rem/1 'Archivo',sans-serif;display:block;margin-top:2px}
.fc-bar__note{font-size:.78rem;color:#B31942;display:block;margin-top:3px;font-weight:600}
.fc-bar__nav{display:flex;gap:10px}

.fc-standalone{margin:0}
@media (max-width:960px){
  .fc-designer{grid-template-columns:1fr}
  .fc-designer__stage{position:static;order:-1}
  #fc-canvas{max-width:280px}
  .fc-progress{overflow-x:auto;flex-wrap:nowrap}
  .fc-progress li button{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){.fc-drop{transition:none}}