/* Respect HTML hidden on labels and panels; base stylesheet defines label display:block. */
[hidden]{display:none!important}
/* Kemzy V8.1: deliberately compact NFC checkout. Brand tokens from style.css remain authoritative. */
.flow-intro{padding:18px 0 22px;max-width:800px}
.flow-intro h1{font-size:clamp(32px,6vw,62px);line-height:1.05;letter-spacing:-2px}
.flow-intro p:not(.eyebrow){font-size:15px;line-height:1.55;max-width:600px}
.flow-panel{background:linear-gradient(145deg,rgba(255,122,24,.04),rgba(239,48,56,.045)),#171416;border-color:rgba(255,255,255,.13)}
.flow-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:8px;padding:0 0 16px}
.flow-tabs button{min-width:0!important;white-space:nowrap;padding:12px 5px;background:#231e20;border:1px solid #443638;color:#c4b8b8;font-size:13px}
.flow-tabs button span{margin-right:4px}
.flow-tabs button.complete{color:#fff;border-color:rgba(239,48,56,.42)}
.flow-tabs button.complete span{background:#70332e;color:#fff}
.flow-screen{min-height:0!important;background:linear-gradient(160deg,#211a1d,#1c191b);border:1px solid #5e3c3b}
.flow-screen-head{margin-bottom:14px}
.flow-screen-head h2{font-size:clamp(28px,5vw,42px);letter-spacing:-1.4px}
.flow-screen-head p:not(.eyebrow){margin-top:9px;line-height:1.5}
.template-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.template-showcase-grid{gap:10px}
.template-card>span{min-height:0;padding:10px;border-radius:15px}
.template-card .mini-card{border-radius:11px;margin-bottom:8px;padding:10px}
.template-card b{font-size:12px}.template-card small{font-size:10px}
.nfc-more-designs{margin-top:13px}.nfc-more-designs summary,.nfc-more-details summary{cursor:pointer;color:#ffb084;font-size:13px;font-weight:800;padding:12px 0;list-style:none}
.nfc-more-designs summary::-webkit-details-marker,.nfc-more-details summary::-webkit-details-marker{display:none}
.nfc-more-designs summary span{float:right;font-size:21px;line-height:15px}
.nfc-more-designs[open] summary span{transform:rotate(45deg)}
.nfc-more-designs > .template-showcase-grid{margin:12px 0}
.nfc-more-details{border-top:1px solid rgba(255,255,255,.1);margin:15px 0 2px}
.nfc-flow-subsection{margin-top:26px;padding-top:21px;border-top:1px solid rgba(255,122,24,.3)}
.nfc-flow-subsection .flow-screen-head h2{font-size:clamp(25px,4.5vw,34px)}
.nfc-use-contact{display:flex;align-items:center;gap:9px;color:#fff;font-size:13px;padding:12px;border-radius:14px;background:#282124;border:1px solid #674340}
.nfc-use-contact input{width:19px;height:19px;margin:0;accent-color:#ef3038;flex:none}
.nfc-use-contact span{flex:1}
.flow-actions{grid-template-columns:1fr 2fr}.flow-actions .secondary{background:#30282b}
.flow-actions .submit-button{background:linear-gradient(100deg,#ff3540,#ca0015);font-size:15px}
.shipping-zone{background:linear-gradient(135deg,#392628,#342426);border-color:#795048}
@media(max-width:700px){
 .flow-app{width:calc(100% - 24px)}.flow-intro{padding-top:14px;padding-bottom:18px}
 .flow-intro h1{font-size:37px;letter-spacing:-1.8px}
 .flow-intro p:not(.eyebrow){font-size:14px;margin-top:12px}
 .flow-panel{border-radius:22px;padding:10px}.flow-screen{padding:16px;border-radius:18px}
 .flow-tabs{gap:6px;padding:0 0 12px}.flow-tabs button{padding:11px 1px;font-size:12px;border-radius:12px}
 .flow-tabs button span{width:19px;height:19px;font-size:10px}
 .template-primary-grid,.nfc-more-designs .template-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .template-card .mini-card{padding:8px;border-radius:9px}.template-card span{min-height:0!important}
 .template-card .mini-card strong{font-size:9px}.template-card .mini-card small{font-size:6px}
 .template-card .mini-card .logo-mark{height:25px;width:25px;font-size:11px;margin-bottom:6px}
 .flow-actions{grid-template-columns:1fr 1.55fr}.flow-actions button{min-height:52px;padding:8px 11px}
 .built-preview{grid-template-columns:1fr 1fr;gap:8px}.built-card{padding:10px;border-radius:13px}.built-card strong{font-size:11px}.built-card small{font-size:9px}.built-card em{height:28px;width:28px;margin-bottom:6px}.built-back strong{font-size:12px}.built-back b{font-size:16px}.built-back i{width:8px;height:8px}
}
@media(max-width:360px){.flow-tabs button{font-size:11px}.template-primary-grid{grid-template-columns:1fr 1fr}.built-preview{grid-template-columns:1fr}.flow-actions{grid-template-columns:1fr 1.5fr}}

/* V8.2.4 image editor */
.artwork-crop-backdrop[hidden]{display:none!important}
.artwork-crop-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.86);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.artwork-crop-panel{width:min(620px,100%);max-height:94vh;overflow:auto;padding:22px;background:#211b1d;border:1px solid #6a3735;border-radius:18px;color:#fff;box-shadow:0 20px 70px #000}
.artwork-crop-panel h2{margin:5px 0 8px}.artwork-crop-panel p{color:#ddd}
#artworkCropPreview{display:block;width:100%;height:auto;aspect-ratio:85.6/54;cursor:grab;border:2px solid #fa4a39;border-radius:12px;touch-action:none}
#artworkCropPreview:active{cursor:grabbing}
.artwork-fit-modes,.artwork-crop-actions,.artwork-zoom-head,.artwork-current-actions{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.artwork-crop-actions{justify-content:flex-end}.artwork-zoom-head{justify-content:space-between}
#artworkCropZoom{width:100%;accent-color:#f43b34}
.artwork-fit-modes button[aria-pressed=true]{border-color:#ff5b45;color:#fff;background:#7d2525}
.artwork-small-button{cursor:pointer}
