/* Custom single-artwork coaster builder */
.cb-main{overflow:hidden;padding-bottom:40px}
.cb-back{width:min(1240px,calc(100% - 40px));margin:24px auto 0}
.cb-back a{display:inline-flex;align-items:center;gap:9px;color:var(--coaster-muted,#93a4ba);font-size:.78rem;font-weight:900;text-decoration:none}
.cb-back a:hover{color:#fff}
.cb-builder{width:min(1240px,calc(100% - 40px));margin:18px auto 70px;border-radius:32px;overflow:hidden;background:#0c1729;border:1px solid rgba(148,163,184,.17);box-shadow:0 30px 80px rgba(2,6,23,.30)}
.cb-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:48px;padding:42px 46px 36px;border-bottom:1px solid rgba(148,163,184,.16);background:linear-gradient(135deg,rgba(22,119,196,.16),transparent 45%)}
.cb-head h1{margin:12px 0 0;color:#f7fbff;font-size:clamp(3rem,6vw,5.8rem);line-height:.89;letter-spacing:-.065em;font-weight:950}.cb-head h1 em{font-style:normal;color:#72b7ea}
.cb-head p{align-self:end;margin:0;color:#aec0d7;line-height:1.72;font-size:.96rem;max-width:540px}.cb-head p strong{color:#fff}
.cb-workspace{display:grid;grid-template-columns:minmax(470px,1.05fr) minmax(410px,.95fr);gap:0;align-items:stretch}
.cb-preview-panel{padding:34px 34px 42px;background:radial-gradient(circle at 48% 35%,rgba(22,119,196,.15),transparent 36%),#081220;border-right:1px solid rgba(148,163,184,.15)}
.cb-preview-head{display:flex;justify-content:center;align-items:center;text-align:center;margin-bottom:16px;color:#8197b2;font-size:.80rem;letter-spacing:.14em;font-weight:950}
.cb-coaster-wrap{display:grid;place-items:center;min-height:570px}
.cb-coaster{--field:#f26a21;--accent:#2447b8;--ring:#f5f5f2;--ring-text:#2447b8;--outline:#111317;width:min(96%,560px);filter:drop-shadow(0 28px 34px rgba(0,0,0,.48))}
.cb-outer{fill:var(--ring);stroke:var(--outline);stroke-width:18}.cb-rim{fill:none;stroke:var(--accent);stroke-width:13}.cb-field{fill:var(--field);stroke:var(--accent);stroke-width:16}.cb-inner{fill:none;stroke:var(--outline);stroke-width:4;opacity:.7}.cb-ring-text{fill:var(--ring-text);font-family:"Copperplate Gothic Bold","Copperplate Gothic",Copperplate,serif;font-weight:700}.cb-art{pointer-events:none}.cb-art-fallback{font-family:Inter,Arial,sans-serif;font-size:94px;font-weight:950;fill:var(--ring-text);letter-spacing:-.05em}
.cb-preview-note{margin:10px auto 0;max-width:560px;text-align:center;color:#7f91aa;font-size:.7rem;line-height:1.55}.cb-preview-note strong{color:#cbd8e8}
.cb-controls{padding:30px 32px 36px;background:#0d192b}
.cb-step{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid rgba(148,163,184,.16)}.cb-step:last-of-type{margin-bottom:18px}
.cb-step-head{display:flex;gap:12px;align-items:center;margin-bottom:16px}.cb-step-no{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#1677c4;color:#fff;font-size:.7rem;font-weight:950}.cb-step-head span{display:grid;gap:2px}.cb-step-head small{font-size:.56rem;letter-spacing:.15em;color:#70b3e6;font-weight:950}.cb-step-head strong{color:#f3f7fd;font-size:.94rem}
.cb-upload{position:relative;border:1px dashed #48627f;border-radius:17px;background:#101f34;padding:20px;display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;cursor:pointer}.cb-upload:hover{border-color:#6eb5ea;background:#11243d}.cb-upload-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:#1677c4;color:#fff;font-size:1.45rem;font-weight:950}.cb-upload-copy strong{display:block;color:#fff;font-size:.88rem}.cb-upload-copy span{display:block;margin-top:4px;color:#8fa3bc;font-size:.68rem;line-height:1.4}.cb-upload-action{font-size:.68rem;font-weight:950;color:#d8e9f8;border:1px solid #45617f;border-radius:9px;padding:8px 10px}.cb-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.cb-file-status{margin:10px 2px 0;color:#8ca0b9;font-size:.66rem}.cb-file-status.is-loaded{color:#9dd6a9}
.cb-rights-check{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:14px 2px 0;padding:13px 14px;border-radius:12px;background:#0a1424;border:1px solid rgba(148,163,184,.16);color:#c5d3e5;font-size:.7rem;line-height:1.5}.cb-rights-check input{margin-top:3px;width:17px;height:17px;accent-color:#1677c4}.cb-rights-check a{color:#79bdf0;font-weight:850}.cb-rights-check.needs-attention{outline:3px solid rgba(217,119,6,.28);outline-offset:2px}.cb-rights-check.needs-attention input{outline:2px solid #f59e0b;outline-offset:2px}
.cb-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cb-field-control{display:grid;gap:6px}.cb-field-control span,.cb-colors label>span,.cb-project label>span{color:#9fb1c8;font-size:.61rem;font-weight:950;letter-spacing:.07em}.cb-field-control input,.cb-field-control textarea,.cb-project input,.cb-project textarea,.cb-colors select{width:100%;border:1px solid #334a66;border-radius:10px;background:#0b1627;color:#eef4fc;padding:11px 12px;font:inherit;font-size:.78rem;outline:none}.cb-field-control input:focus,.cb-field-control textarea:focus,.cb-project input:focus,.cb-project textarea:focus,.cb-colors select:focus{border-color:#5baae4;box-shadow:0 0 0 3px rgba(22,119,196,.12)}
.cb-colors{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cb-colors label{display:grid;gap:6px}.cb-color-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center}.cb-color-dot{width:28px;height:28px;border-radius:8px;border:2px solid rgba(255,255,255,.72);box-shadow:0 0 0 1px rgba(0,0,0,.5)}.cb-color-note{margin:12px 2px 0;color:#7f93ad;font-size:.65rem;line-height:1.55}.cb-color-note strong{color:#c7d6e8}
.cb-project{display:grid;grid-template-columns:120px 1fr;gap:12px}.cb-project label{display:grid;gap:6px}.cb-project textarea{min-height:84px;resize:vertical}
.cb-submit{display:grid;gap:10px}.cb-submit .coaster-btn{width:100%;justify-content:center;border:0}.cb-submit .coaster-btn[disabled]{opacity:.42;cursor:not-allowed;filter:grayscale(.35)}.cb-submit .coaster-btn[disabled].needs-rights{opacity:.78;filter:none}.cb-submit-note{color:#7f93ad;font-size:.65rem;line-height:1.5;text-align:center}.cb-message{padding:11px 12px;border-radius:10px;background:#10233a;border:1px solid #2e5277;color:#b9d8ef;font-size:.7rem;line-height:1.5;text-align:center}.cb-message[hidden]{display:none}
@media(max-width:980px){.cb-head{grid-template-columns:1fr;gap:20px}.cb-head p{align-self:auto}.cb-workspace{grid-template-columns:1fr}.cb-preview-panel{border-right:0;border-bottom:1px solid rgba(148,163,184,.15)}.cb-coaster-wrap{min-height:500px}.cb-coaster{width:min(80%,520px)}}
@media(max-width:640px){.cb-builder,.cb-back{width:calc(100% - 20px)}.cb-head{padding:34px 24px 28px}.cb-head h1{font-size:clamp(3rem,15vw,4.7rem)}.cb-preview-panel{padding:28px 18px 32px}.cb-controls{padding:26px 20px 30px}.cb-coaster-wrap{min-height:400px}.cb-coaster{width:min(94%,430px)}.cb-fields,.cb-colors{grid-template-columns:1fr}.cb-project{grid-template-columns:1fr}.cb-upload{grid-template-columns:50px 1fr}.cb-upload-action{grid-column:1/-1;text-align:center}.cb-upload-icon{width:48px;height:48px}.cb-preview-head{align-items:center}}

.cb-set-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cb-set-option{position:relative;display:block;cursor:pointer}.cb-set-option input{position:absolute;opacity:0;pointer-events:none}.cb-set-card{display:grid;gap:5px;min-height:94px;padding:17px 18px;border:1px solid #334a66;border-radius:14px;background:#0b1627;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.cb-set-card strong{color:#f3f7fd;font-size:.9rem}.cb-set-card small{color:#8fa3bc;font-size:.67rem;line-height:1.45}.cb-set-option input:checked+.cb-set-card{border-color:#66b5ec;background:#10243b;box-shadow:0 0 0 3px rgba(22,119,196,.13)}.cb-set-option input:focus-visible+.cb-set-card{outline:2px solid #79bdf0;outline-offset:2px}.cb-set-note{margin:11px 2px 0;color:#7f93ad;font-size:.65rem;line-height:1.5}
.cb-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cb-contact-notes{grid-column:1/-1}.cb-field-control textarea{min-height:92px;resize:vertical}.cb-field-control span small{font-weight:700;color:#71869f;letter-spacing:0}.cb-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.cb-message.is-error{background:#33161b;border-color:#7d313d;color:#ffd3d9}.cb-message.is-success{background:#102c22;border-color:#2f6d56;color:#c9f0df}
@media(max-width:640px){.cb-set-options,.cb-contact-grid{grid-template-columns:1fr}.cb-contact-notes{grid-column:auto}}
