:root {
    --ink: #182033;
    --muted: #667085;
    --line: #d9dee8;
    --paper: #ffffff;
    --soft: #f4f6fa;
    --accent: #9b1c31;
    --accent-dark: #741426;
    --success: #17663a;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background: var(--soft);
    line-height: 1.55;
}

a { color: var(--accent); }

.wrap {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.site-header {
    background: var(--paper);
    border-bottom: 1px solid var(--line);
}

.header-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.brand {
    color: var(--ink);
    font-weight: 800;
    font-size: 1.2rem;
    text-decoration: none;
}

nav {
    display: flex;
    gap: 18px;
}

nav a {
    text-decoration: none;
    font-weight: 700;
}

main { padding: 56px 0 72px; }

.hero {
    display: grid;
    grid-template-columns: 1.35fr .85fr;
    gap: 36px;
    align-items: center;
    min-height: 560px;
}

.eyebrow {
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 800;
    font-size: .78rem;
    margin-bottom: 10px;
}

h1 {
    font-size: clamp(2.25rem, 5vw, 4.65rem);
    line-height: 1.02;
    margin: 0 0 22px;
}

h2 { margin-top: 0; }

.lead {
    font-size: 1.2rem;
    color: var(--muted);
    max-width: 680px;
}

.actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 30px 0 14px;
}

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    padding: 12px 18px;
    border-radius: 9px;
    border: 1px solid transparent;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    font-size: 1rem;
}

.primary {
    background: var(--accent);
    color: white;
}

.primary:hover { background: var(--accent-dark); }

.secondary {
    background: white;
    color: var(--ink);
    border-color: var(--line);
}

.wide { width: 100%; }

.hero-card,
.detail-card,
.form-shell,
.status-card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 12px 36px rgba(20, 28, 48, .08);
}

.hero-card { padding: 30px; }

.hero-card li { margin-bottom: 14px; }

.three-up {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.three-up article {
    padding: 24px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
}

.form-shell {
    max-width: 860px;
    margin: 0 auto;
    padding: 34px;
}

.form-shell.narrow { max-width: 560px; }

.form-heading { margin-bottom: 28px; }

.form-heading h1 {
    font-size: clamp(2rem, 4vw, 3.2rem);
}

.quote-form {
    display: grid;
    gap: 20px;
}

.grid {
    display: grid;
    gap: 18px;
}

.grid.two { grid-template-columns: 1fr 1fr; }

label {
    display: grid;
    gap: 8px;
    font-weight: 800;
}

input, select, textarea {
    width: 100%;
    border: 1px solid #bcc4d2;
    border-radius: 9px;
    padding: 12px 13px;
    font: inherit;
    color: var(--ink);
    background: white;
}

textarea { resize: vertical; }

input:focus, select:focus, textarea:focus {
    outline: 3px solid rgba(155, 28, 49, .14);
    border-color: var(--accent);
}

.help, .small-note {
    font-size: .9rem;
    color: var(--muted);
    font-weight: 400;
}

.center { text-align: center; }

.check-row {
    grid-template-columns: auto 1fr;
    align-items: start;
    font-weight: 600;
}

.check-row input {
    width: 20px;
    height: 20px;
    margin-top: 3px;
}

.alert {
    padding: 13px 15px;
    border-radius: 9px;
    margin-bottom: 20px;
}

.alert.error {
    color: #7d1425;
    background: #fdecef;
    border: 1px solid #f2bec8;
}

.alert.success {
    color: var(--success);
    background: #e9f6ee;
    border: 1px solid #b9dfc7;
}

.status-card {
    max-width: 740px;
    margin: 0 auto;
    padding: 38px;
    text-align: center;
}

.status-card.left { text-align: left; }

.status-card h1 {
    font-size: clamp(2rem, 4vw, 3rem);
}

.success-mark {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    background: #e8f6ed;
    color: var(--success);
    font-weight: 900;
    font-size: 2rem;
}

.reference-box, .message-box, .price-box {
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 16px;
    margin: 20px 0;
    overflow-wrap: anywhere;
}

.reference-box {
    display: grid;
    gap: 7px;
}

.status-pill {
    display: inline-flex;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef1f6;
    color: #313b4d;
    font-weight: 800;
    font-size: .86rem;
}

.details {
    display: grid;
    gap: 0;
    margin: 24px 0;
}

.details div {
    display: grid;
    grid-template-columns: 180px 1fr;
    border-bottom: 1px solid var(--line);
    padding: 10px 0;
}

.details dt { font-weight: 800; }
.details dd { margin: 0; color: var(--muted); }

.price-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.price-box strong { font-size: 1.8rem; }

.admin-header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 26px;
}

.admin-header h1 {
    font-size: clamp(2.1rem, 5vw, 3.6rem);
    margin-bottom: 0;
}

.admin-list {
    display: grid;
    gap: 12px;
}

.admin-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding: 18px 20px;
    background: white;
    border: 1px solid var(--line);
    border-radius: 12px;
    text-decoration: none;
    color: var(--ink);
}

.admin-row div:first-child {
    display: grid;
    gap: 4px;
}

.admin-row span { color: var(--muted); }

.admin-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: start;
}

.detail-card { padding: 26px; }

.site-footer {
    padding: 30px 0;
    color: var(--muted);
    border-top: 1px solid var(--line);
    background: white;
}

@media (max-width: 780px) {
    .hero,
    .three-up,
    .grid.two,
    .admin-grid {
        grid-template-columns: 1fr;
    }

    .hero { min-height: auto; }

    .header-inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 16px 0;
    }

    nav { flex-wrap: wrap; }

    main { padding-top: 30px; }

    .form-shell,
    .status-card { padding: 24px 18px; }

    .details div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .admin-header {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* V2 visual order builder */
.builder-shell{max-width:1050px;margin:0 auto}.builder-heading{margin-bottom:28px}.builder-heading h1{font-size:clamp(2.4rem,5vw,4.2rem)}.builder-step{display:grid;grid-template-columns:52px 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;margin-bottom:20px;box-shadow:0 8px 26px rgba(20,28,48,.06)}.step-number{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:900;font-size:1.15rem}.step-content h2{font-size:1.6rem;margin-bottom:8px}.choice-grid{display:grid;gap:14px}.choice-grid.hats{grid-template-columns:repeat(4,1fr)}.choice-card{position:relative;display:grid;gap:8px;align-content:start;padding:16px;border:2px solid var(--line);border-radius:14px;cursor:pointer;font-weight:400}.choice-card input{position:absolute;opacity:0}.choice-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 4px rgba(155,28,49,.1)}.choice-card span:last-child{color:var(--muted);font-size:.9rem}.hat-icon svg{width:100%;height:105px}.hat-fill{fill:#263247}.hat-mesh{fill:#e8ebf0}.hat-bill{fill:#1d2739}.hat-seam{fill:none;stroke:#aeb7c5;stroke-width:3}.price-table-wrap{margin-top:22px;overflow-x:auto}.price-table{width:100%;border-collapse:collapse;min-width:620px}.price-table th,.price-table td{padding:11px;text-align:center;border:1px solid var(--line)}.price-table thead th{background:#eef1f6}.price-table tbody th{text-align:left}.placement-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}.hat-preview svg{width:100%;max-height:330px}.preview-hat{fill:#24324a}.preview-bill{fill:#182238}.preview-seam{stroke:#7d899d;stroke-width:5;fill:none}.logo-zone{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.35);stroke-width:3;stroke-dasharray:8 7}.logo-zone.active{fill:rgba(255,255,255,.3);stroke:#fff;stroke-width:5}.zone-label{fill:#fff;font-size:18px;text-anchor:middle;font-weight:900;pointer-events:none}.placement-buttons{display:grid;gap:12px}.placement-card{position:relative;display:block;padding:16px;border:2px solid var(--line);border-radius:12px;cursor:pointer}.placement-card input{position:absolute;opacity:0}.placement-card:has(input:checked){border-color:var(--accent);background:#fff7f8}.addon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.addon-card{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:16px;border:2px solid var(--line);border-radius:12px;cursor:pointer}.addon-card input{width:20px;height:20px;margin-top:2px}.addon-card span{display:grid;gap:3px}.addon-card small{color:var(--muted)}.addon-card:has(input:checked){border-color:var(--accent);background:#fff7f8}.grid.three{grid-template-columns:repeat(3,1fr)}.optional-text{margin-top:18px}.puff-note{margin-top:18px;padding:15px;border-radius:10px;background:#f5f1e8;border:1px solid #e3d7bb}.estimate-bar{position:sticky;bottom:12px;z-index:10;display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:center;padding:18px 20px;border-radius:14px;background:#172033;color:#fff;box-shadow:0 16px 40px rgba(0,0,0,.28)}.estimate-bar div{display:grid}.estimate-bar span{color:#bfc7d5;font-size:.88rem}.estimate-bar strong{font-size:1.45rem}.estimate-bar .button{min-width:220px}@media(max-width:850px){.choice-grid.hats,.addon-grid{grid-template-columns:repeat(2,1fr)}.placement-layout{grid-template-columns:1fr}.estimate-bar{grid-template-columns:1fr 1fr}.estimate-bar .button{grid-column:1/-1;width:100%}}@media(max-width:580px){.builder-step{grid-template-columns:1fr;padding:18px}.choice-grid.hats,.addon-grid,.grid.three{grid-template-columns:1fr}.estimate-bar{grid-template-columns:1fr}.estimate-bar .button{grid-column:auto}}

/* V3 product catalog and separated placement cards */
.section-help { color: var(--muted); margin-top: -2px; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 18px; }
.product-card {
    position: relative;
    display: grid;
    padding: 0;
    overflow: hidden;
    border: 2px solid var(--line);
    border-radius: 15px;
    cursor: pointer;
    background: white;
    font-weight: 400;
}
.product-card > input { position: absolute; opacity: 0; pointer-events: none; }
.product-card:has(input:checked) {
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(155, 28, 49, .11);
}
.product-photo { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #edf0f4; }
.product-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-copy { display: grid; gap: 7px; padding: 15px; }
.brand-line { color: var(--accent); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.product-copy > span:not(.brand-line):not(.stock-badge) { color: var(--muted); font-size: .9rem; }
.stock-badge {
    width: fit-content;
    padding: 5px 8px;
    border-radius: 999px;
    background: #eef1f6;
    color: #354056;
    font-size: .76rem;
    font-weight: 900;
}
.lead-notice {
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid #e0c98f;
    background: #fff8e7;
    border-radius: 10px;
}

.location-grid { display: grid; gap: 15px; margin-top: 18px; }
.front-grid { grid-template-columns: repeat(3, 1fr); }
.extras-grid { grid-template-columns: repeat(3, 1fr); }
.location-card, .style-card {
    position: relative;
    display: grid;
    gap: 8px;
    padding: 15px;
    border: 2px solid var(--line);
    border-radius: 14px;
    cursor: pointer;
    background: white;
    font-weight: 400;
}
.location-card > input, .style-card > input { position: absolute; opacity: 0; pointer-events: none; }
.location-card:has(input:checked), .style-card:has(input:checked) {
    border-color: var(--accent);
    background: #fff7f8;
    box-shadow: 0 0 0 3px rgba(155, 28, 49, .09);
}
.location-card > span:last-child, .style-card > span:last-child { color: var(--muted); font-size: .9rem; }
.location-drawing {
    min-height: 150px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #edf0f5;
    overflow: hidden;
}
.mini-hat {
    position: relative;
    display: block;
    width: 210px;
    height: 112px;
    border-radius: 52% 52% 12% 12%;
    background: #27344a;
}
.mini-hat::after {
    content: "";
    position: absolute;
    left: 12px;
    right: -12px;
    bottom: -26px;
    height: 42px;
    border-radius: 50%;
    background: #1b2639;
}
.mark {
    position: absolute;
    z-index: 2;
    display: grid;
    place-items: center;
    color: white;
    border: 2px dashed rgba(255,255,255,.85);
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .05em;
}
.front-left-mark { width: 70px; height: 36px; left: 25px; top: 42px; }
.front-center-mark { width: 92px; height: 42px; left: 59px; top: 38px; }
.front-right-mark { width: 70px; height: 36px; right: 25px; top: 42px; }

.side-hat {
    position: relative;
    width: 190px;
    height: 102px;
    border-radius: 58% 42% 14% 16%;
    background: #28364c;
}
.side-hat::after {
    content: "";
    position: absolute;
    width: 78px;
    height: 28px;
    right: -38px;
    bottom: 2px;
    border-radius: 50%;
    background: #1b2639;
}
.side-mark { width: 58px; height: 30px; left: 85px; top: 34px; }
.mirrored { transform: scaleX(-1); }
.mirrored strong, .mirrored span { transform: scaleX(-1); }

.back-hat {
    position: relative;
    width: 180px;
    height: 118px;
    border-radius: 50% 50% 18% 18%;
    background: #28364c;
}
.back-hat::after {
    content: "";
    position: absolute;
    left: 55px;
    bottom: 7px;
    width: 70px;
    height: 20px;
    border-radius: 9px;
    background: #d8dde6;
}
.back-mark { width: 80px; height: 28px; left: 50px; top: 42px; }

.style-choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 18px; }
.stitch-sample {
    min-height: 112px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #26344a;
    color: white;
    font-size: 2.4rem;
    font-weight: 900;
    letter-spacing: .04em;
}
.flat-sample { text-shadow: 1px 1px 0 rgba(0,0,0,.25); }
.puff-sample { text-shadow: 2px 2px 0 #b7becb, 4px 4px 0 rgba(0,0,0,.3); transform: translate(-2px,-2px); }

@media (max-width: 900px) {
    .product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
    .front-grid, .extras-grid, .style-choice-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .product-grid { grid-template-columns: 1fr; }
}


/* V4 quantity selector */
.quantity-field {
    display: grid;
    gap: 8px;
}

.field-label {
    font-weight: 800;
}

.quantity-control {
    display: grid;
    grid-template-columns: 52px minmax(110px, 1fr) 52px;
    gap: 8px;
    align-items: stretch;
}

.quantity-control input {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 800;
    min-height: 50px;
    appearance: textfield;
    -moz-appearance: textfield;
}

.quantity-control input::-webkit-outer-spin-button,
.quantity-control input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.quantity-button {
    min-height: 50px;
    border: 1px solid #bcc4d2;
    border-radius: 9px;
    background: white;
    color: var(--ink);
    font-size: 1.7rem;
    font-weight: 900;
    cursor: pointer;
}

.quantity-button:hover {
    border-color: var(--accent);
    background: #fff7f8;
}

.quantity-button:active {
    transform: translateY(1px);
}


/* V5 homepage and Hat Inspiration */
.local-card { position: relative; overflow: hidden; }
.local-badge {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: #eef1f6;
    color: var(--accent);
    font-weight: 900;
    margin-bottom: 14px;
}
.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.check-list li { position: relative; padding-left: 28px; }
.check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--success);
    font-weight: 900;
}

.trust-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 10px 0 80px;
    background: var(--line);
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.trust-strip article {
    display: grid;
    gap: 5px;
    padding: 22px;
    background: white;
}
.trust-strip span { color: var(--muted); font-size: .94rem; }

.inspiration-section { scroll-margin-top: 20px; margin-bottom: 88px; }
.section-heading-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}
.section-heading-row h2 {
    margin: 0 0 10px;
    font-size: clamp(2rem, 4vw, 3.2rem);
}
.section-heading-row p:not(.eyebrow) {
    max-width: 720px;
    margin: 0;
    color: var(--muted);
}

.inspiration-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.inspiration-card {
    background: white;
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(20, 28, 48, .06);
}
.inspiration-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    background: #edf0f4;
}
.inspiration-copy { padding: 18px; }
.inspiration-copy h3 { margin: 8px 0; font-size: 1.25rem; }
.inspiration-copy p { color: var(--muted); margin: 0 0 14px; }
.category-tag {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    background: #f1f3f7;
    color: #475166;
    font-size: .76rem;
    font-weight: 900;
}
.text-link { font-weight: 800; text-decoration: none; }
.callout-card {
    min-height: 100%;
    display: grid;
    background: #172033;
    color: white;
}
.callout-inner {
    padding: 28px;
    display: grid;
    align-content: center;
}
.callout-inner h3 { font-size: 1.7rem; margin: 8px 0 12px; }
.callout-inner p:not(.eyebrow) { color: #c4ccda; }
.callout-inner .button { margin-top: 12px; width: fit-content; }

.process-section { margin-bottom: 20px; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.process-grid article {
    padding: 22px;
    background: white;
    border: 1px solid var(--line);
    border-radius: 14px;
}
.process-grid article > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    font-weight: 900;
}
.process-grid h3 { margin: 16px 0 8px; }
.process-grid p { margin: 0; color: var(--muted); }

@media (max-width: 900px) {
    .inspiration-grid { grid-template-columns: repeat(2, 1fr); }
    .process-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
    .trust-strip { grid-template-columns: 1fr; }
    .section-heading-row { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
    .inspiration-grid, .process-grid { grid-template-columns: 1fr; }
}


/* V6 premium visual redesign */
body {
    background:
        radial-gradient(circle at 5% 5%, rgba(155,28,49,.08), transparent 24rem),
        radial-gradient(circle at 95% 20%, rgba(24,32,51,.07), transparent 28rem),
        #f3f5f8;
}

main { padding: 0; }
.top-banner {
    background: #9b1c31;
    color: white;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .03em;
}
.top-banner .wrap {
    min-height: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
}
.premium-header {
    background: rgba(14, 21, 36, .96);
    border: 0;
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(16px);
}
.premium-header .header-inner { min-height: 86px; }
.brand-logo img { width: min(410px, 40vw); height: 74px; object-fit: contain; object-position: left center; }
.premium-header nav a { color: #e8ebf0; }
.premium-header nav a:hover { color: white; }
.premium-header .nav-cta {
    color: white;
    background: var(--accent);
    padding: 10px 14px;
    border-radius: 9px;
}

.hero-premium {
    position: relative;
    overflow: hidden;
    color: white;
    background:
        linear-gradient(115deg, rgba(10,16,29,.98), rgba(24,35,57,.94)),
        #111a2d;
}
.hero-premium::before {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    right: -160px;
    top: -220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(155,28,49,.62), transparent 68%);
}
.hero-noise {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(30deg, rgba(255,255,255,.05) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.05) 87.5%, rgba(255,255,255,.05)),
        linear-gradient(150deg, rgba(255,255,255,.05) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.05) 87.5%, rgba(255,255,255,.05));
    background-size: 90px 156px;
}
.hero-premium-grid {
    position: relative;
    z-index: 2;
    min-height: 680px;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 60px;
    align-items: center;
    padding-top: 72px;
    padding-bottom: 82px;
}
.hero-copy h1 {
    max-width: 760px;
    font-size: clamp(3rem, 6vw, 6rem);
    letter-spacing: -.045em;
}
.light-eyebrow { color: #f0a4b1; }
.hero-lead { color: #c8cfdb; font-size: 1.2rem; max-width: 650px; }
.hero-button { box-shadow: 0 12px 30px rgba(155,28,49,.36); }
.glass-button { color: white; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); }
.glass-button:hover { background: rgba(255,255,255,.15); }
.hero-proof-row { display: flex; gap: 22px; flex-wrap: wrap; color: #d7dce6; font-size: .9rem; font-weight: 800; }

.hero-collage { position: relative; min-height: 520px; }
.hero-photo {
    position: absolute;
    margin: 0;
    overflow: hidden;
    border-radius: 20px;
    border: 5px solid rgba(255,255,255,.88);
    box-shadow: 0 24px 60px rgba(0,0,0,.38);
}
.hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-photo-main { width: 66%; height: 72%; left: 9%; top: 15%; transform: rotate(-4deg); }
.hero-photo-top { width: 42%; height: 42%; right: 0; top: 2%; transform: rotate(5deg); }
.hero-photo-bottom { width: 43%; height: 42%; right: 2%; bottom: 2%; transform: rotate(3deg); }
.floating-card {
    position: absolute;
    z-index: 5;
    display: grid;
    gap: 2px;
    min-width: 190px;
    padding: 13px 16px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 12px;
    background: rgba(15,23,39,.88);
    box-shadow: 0 15px 38px rgba(0,0,0,.28);
    backdrop-filter: blur(12px);
}
.floating-card span { color: #c4ccda; font-size: .8rem; }
.floating-card-top { left: 0; top: 2%; }
.floating-card-bottom { left: 1%; bottom: 0; }

.brand-band { background: white; border-bottom: 1px solid var(--line); }
.brand-band-inner {
    min-height: 82px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(20px,5vw,72px);
    flex-wrap: wrap;
}
.brand-band-inner span { color: var(--muted); }
.brand-band-inner strong { color: #2d374b; letter-spacing: .09em; }

.value-section { padding: 90px 0; }
.centered-heading { text-align: center; max-width: 760px; margin: 0 auto 34px; }
.centered-heading h2 { font-size: clamp(2.2rem,4vw,3.6rem); margin-bottom: 12px; }
.centered-heading p { color: var(--muted); }
.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.value-card {
    min-height: 250px;
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: white;
    box-shadow: 0 15px 38px rgba(20,28,48,.06);
}
.featured-value { transform: translateY(-14px); background: linear-gradient(145deg,#172033,#263653); color: white; border: 0; }
.featured-value p { color: #c6cedb; }
.value-icon { color: var(--accent); font-weight: 900; font-size: 1.1rem; }
.featured-value .value-icon { color: #f0a4b1; }
.value-card h3 { margin: 52px 0 10px; font-size: 1.45rem; }
.value-card p { color: var(--muted); }
.featured-value p { color: #c6cedb; }

.local-story { background: #111a2d; color: white; padding: 94px 0; position: relative; overflow: hidden; }
.local-story::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,transparent 45%,rgba(155,28,49,.16));
}
.local-story-grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.local-story-image { position: relative; }
.local-story-image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 24px 65px rgba(0,0,0,.4);
}
.image-stamp {
    position: absolute;
    right: -24px;
    bottom: -24px;
    display: grid;
    padding: 18px 22px;
    border-radius: 14px;
    background: var(--accent);
    color: white;
    transform: rotate(-3deg);
    box-shadow: 0 15px 30px rgba(0,0,0,.28);
}
.image-stamp strong { font-size: 1.3rem; }
.image-stamp span { font-size: .82rem; }
.local-story-copy h2 { font-size: clamp(2.2rem,4vw,4rem); line-height: 1.05; }
.local-story-copy > p:not(.eyebrow) { color: #c7cfdb; font-size: 1.08rem; }
.premium-check-list { list-style: none; padding: 0; display: grid; gap: 12px; margin: 25px 0 30px; }
.premium-check-list li { position: relative; padding-left: 30px; }
.premium-check-list li::before { content: "✓"; position: absolute; left: 0; color: #f0a4b1; font-weight: 900; }

.premium-inspiration { padding-top: 96px; }
.inspiration-card { transition: transform .2s ease, box-shadow .2s ease; }
.inspiration-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(20,28,48,.13); }
.inspiration-card-raised { transform: translateY(-16px); }
.inspiration-card-raised:hover { transform: translateY(-22px); }
.premium-callout {
    background:
        radial-gradient(circle at 90% 10%,rgba(155,28,49,.6),transparent 50%),
        #172033;
}

.final-cta {
    margin-top: 40px;
    margin-bottom: 90px;
    padding: 42px 46px;
    border-radius: 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    color: white;
    background:
        linear-gradient(115deg,rgba(155,28,49,.96),rgba(112,18,35,.96)),
        var(--accent);
    box-shadow: 0 20px 48px rgba(115,17,35,.25);
}
.final-cta h2 { font-size: clamp(2rem,4vw,3.2rem); margin: 5px 0 10px; }
.final-cta p:not(.eyebrow) { color: #f7dce1; max-width: 750px; margin: 0; }
.white-button { background: white; color: var(--accent); white-space: nowrap; }

.premium-footer { background: #0d1423; color: #c8cfdb; border: 0; padding: 58px 0; }
.footer-grid { display: grid; grid-template-columns: 1.6fr .7fr .7fr; gap: 45px; }
.footer-grid > div { display: grid; align-content: start; gap: 8px; }
.footer-grid a { color: #c8cfdb; text-decoration: none; }
.footer-grid strong { color: white; }
.footer-logo { width: 330px; max-width: 100%; margin-bottom: 8px; }

@media (max-width: 980px) {
    .premium-header nav a:not(.nav-cta) { display: none; }
    .brand-logo img { width: 360px; max-width: 65vw; }
    .hero-premium-grid, .local-story-grid { grid-template-columns: 1fr; }
    .hero-collage { min-height: 500px; }
    .value-grid { grid-template-columns: 1fr; }
    .featured-value { transform: none; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
    .top-banner-divider, .top-banner span:last-child { display: none; }
    .premium-header .header-inner { flex-direction: row; align-items: center; }
    .premium-header nav { margin-left: auto; }
    .hero-premium-grid { padding-top: 52px; }
    .hero-collage { min-height: 390px; }
    .floating-card { display: none; }
    .brand-band-inner { gap: 20px; padding: 20px 0; }
    .final-cta { flex-direction: column; align-items: flex-start; padding: 30px 24px; }
    .footer-grid { grid-template-columns: 1fr; }
    .image-stamp { right: 10px; bottom: -18px; }
}
@media (max-width: 520px) {
    .brand-logo img { width: 250px; max-width: 66vw; }
    .premium-header .nav-cta { font-size: .85rem; padding: 9px 10px; }
    .hero-copy h1 { font-size: 3.15rem; }
    .hero-proof-row { display: grid; gap: 8px; }
    .hero-photo-main { width: 74%; height: 70%; left: 2%; }
    .hero-photo-top { width: 44%; height: 39%; }
    .hero-photo-bottom { width: 47%; height: 40%; }
}


/* V7 official Ramsey Embroidery logo */
.brand-logo {
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 8px;
}
.brand-logo img {
    width: 360px;
    height: 76px;
    object-fit: cover;
    object-position: center 47%;
    filter: contrast(1.04);
}
.footer-logo {
    width: 390px;
    height: 118px;
    object-fit: cover;
    object-position: center 48%;
    border-radius: 10px;
}
@media (max-width: 700px) {
    .brand-logo img {
        width: 245px;
        height: 58px;
    }
}
@media (max-width: 470px) {
    .brand-logo img {
        width: 205px;
        height: 52px;
    }
}


/* V8 Sprint 1 — Guided brand and model selection */
.configurator-page {
    min-height: calc(100vh - 120px);
    padding: 54px 0 90px;
    background:
        radial-gradient(circle at 8% 0%, rgba(155,28,49,.10), transparent 25rem),
        linear-gradient(180deg, #eef1f5 0%, #f8f9fb 45%, #eef1f5 100%);
}
.configurator-wrap { max-width: 1180px; }

.configurator-progress {
    padding: 20px 24px;
    margin-bottom: 24px;
    border: 1px solid #d6dce6;
    border-radius: 16px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 32px rgba(20,28,48,.06);
}
.progress-heading { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 13px; }
.progress-heading span { color: var(--muted); font-weight: 800; }
.progress-track { display: grid; grid-template-columns: repeat(6,1fr); gap: 7px; }
.progress-segment { height: 7px; border-radius: 999px; background: #dce1e9; }
.progress-segment.active { background: linear-gradient(90deg,#9b1c31,#c34258); }
.progress-names { display: grid; grid-template-columns: repeat(6,1fr); gap: 7px; margin-top: 8px; color: #8a93a3; font-size: .76rem; font-weight: 800; text-align: center; }
.progress-names span.active { color: var(--accent); }

.wizard-panel {
    padding: 34px;
    border: 1px solid #d5dbe5;
    border-radius: 22px;
    background: white;
    box-shadow: 0 25px 65px rgba(20,28,48,.11);
}
.wizard-heading { max-width: 810px; margin-bottom: 34px; }
.wizard-heading h1 { margin-bottom: 14px; font-size: clamp(2.5rem,5vw,4.6rem); }
.wizard-heading > p:last-child { color: var(--muted); font-size: 1.08rem; }

.choice-section {
    padding: 26px;
    margin-top: 20px;
    border: 1px solid #dce1e9;
    border-radius: 18px;
    background: #f8f9fb;
    transition: opacity .2s ease, filter .2s ease;
}
.choice-section.is-disabled { opacity: .55; filter: grayscale(.4); pointer-events: none; }
.choice-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 18px; }
.choice-section-heading h2 { margin: 4px 0 0; font-size: 1.7rem; }
.section-kicker { color: var(--accent); font-size: .76rem; font-weight: 900; letter-spacing: .12em; }
.selection-status { color: var(--muted); font-size: .9rem; font-weight: 800; }

.brand-choice-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 17px; }
.brand-select-card, .model-select-card {
    position: relative;
    padding: 0;
    overflow: hidden;
    text-align: left;
    border: 2px solid #d5dbe5;
    border-radius: 16px;
    background: white;
    color: var(--ink);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.brand-select-card:hover, .model-select-card:hover { transform: translateY(-4px); border-color: #aeb7c6; box-shadow: 0 18px 38px rgba(20,28,48,.11); }
.brand-select-card.selected, .model-select-card.selected {
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(155,28,49,.12), 0 18px 42px rgba(20,28,48,.12);
}
.brand-select-card.selected::after, .model-select-card.selected::after {
    content: "✓";
    position: absolute;
    right: 14px;
    top: 14px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    font-size: 1.05rem;
    font-weight: 900;
}
.brand-image-wrap { display: block; height: 230px; overflow: hidden; background: #edf0f4; }
.brand-image-wrap img, .model-image-wrap img { width: 100%; height: 100%; object-fit: contain; display: block; }
.brand-card-copy { display: grid; gap: 7px; padding: 20px; }
.brand-name { color: var(--accent); font-size: .8rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.brand-card-copy strong { font-size: 1.25rem; }
.brand-card-copy > span:not(.brand-name):not(.browse-label) { color: var(--muted); }
.browse-label { margin-top: 8px; color: var(--accent); font-weight: 900; }

.model-choice-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 17px; }
.model-select-card { display: grid; grid-template-columns: minmax(190px, .8fr) 1.2fr; }
.model-image-wrap { position: relative; min-height: 290px; padding: 12px; background: #eef1f5; }
.model-badge {
    position: absolute;
    left: 15px;
    top: 15px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #172033;
    color: white;
    font-size: .72rem;
    font-weight: 900;
}
.model-card-copy { display: grid; align-content: center; gap: 9px; padding: 24px; }
.model-number { color: var(--accent); font-size: .8rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.model-card-copy strong { font-size: 1.45rem; }
.model-card-copy > span:not(.model-number):not(.best-for):not(.color-count) { color: var(--muted); }
.best-for { color: #3f495c; font-size: .92rem; }
.color-count { width: fit-content; padding: 5px 8px; border-radius: 999px; background: #eef1f6; color: #4a556b; font-size: .76rem; font-weight: 900; }
.empty-model-state { grid-column: 1/-1; display: grid; gap: 5px; padding: 48px 20px; text-align: center; color: var(--muted); }

.wizard-action-bar {
    position: sticky;
    bottom: 14px;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-top: 26px;
    padding: 17px 19px;
    border-radius: 14px;
    background: rgba(20,29,48,.96);
    color: white;
    box-shadow: 0 18px 45px rgba(0,0,0,.26);
    backdrop-filter: blur(12px);
}
.selection-summary { display: grid; }
.selection-summary span { color: #bfc7d5; font-size: .78rem; }
.selection-summary strong { font-size: 1.03rem; }
.wizard-continue { min-width: 260px; }
.wizard-continue:disabled { opacity: .42; cursor: not-allowed; }

.back-link { border: 0; background: transparent; color: var(--accent); font-weight: 900; cursor: pointer; padding: 0; margin-bottom: 24px; }
.selected-product-confirmation {
    display: grid;
    grid-template-columns: 260px 1fr auto;
    gap: 26px;
    align-items: center;
    padding: 24px;
    border: 2px solid var(--accent);
    border-radius: 18px;
    background: #fff8f9;
}
.selected-product-confirmation img { width: 100%; height: 210px; object-fit: contain; border-radius: 12px; background: white; }
.selected-product-confirmation span { color: var(--muted); font-size: .82rem; font-weight: 800; }
.selected-product-confirmation h2 { margin: 5px 0 8px; }
.selected-product-confirmation p { margin: 0; color: var(--muted); }
.complete-badge { padding: 9px 12px; border-radius: 999px; background: #17663a; color: white; font-size: .82rem; font-weight: 900; }
.next-sprint-preview { margin-top: 28px; padding: 26px; border: 1px dashed #abb4c3; border-radius: 16px; background: #f6f8fb; }
.variant-preview-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 10px; margin-top: 18px; }
.variant-preview-card { padding: 9px; border: 1px solid #d8dee8; border-radius: 10px; background: white; text-align: center; }
.variant-preview-card img { width: 100%; aspect-ratio: 1/1; object-fit: contain; }
.variant-preview-card strong { display: block; margin-top: 7px; font-size: .72rem; }

@media (max-width: 900px) {
    .brand-choice-grid, .model-choice-grid { grid-template-columns: 1fr; }
    .selected-product-confirmation { grid-template-columns: 190px 1fr; }
    .complete-badge { grid-column: 1/-1; width: fit-content; }
    .variant-preview-grid { grid-template-columns: repeat(4,1fr); }
}
@media (max-width: 650px) {
    .configurator-page { padding-top: 24px; }
    .wizard-panel, .choice-section { padding: 18px; }
    .progress-names { font-size: .63rem; }
    .choice-section-heading, .wizard-action-bar { align-items: flex-start; flex-direction: column; }
    .wizard-continue { width: 100%; min-width: 0; }
    .brand-image-wrap { height: 190px; }
    .model-select-card { grid-template-columns: 1fr; }
    .model-image-wrap { min-height: 220px; }
    .selected-product-confirmation { grid-template-columns: 1fr; }
    .variant-preview-grid { grid-template-columns: repeat(2,1fr); }
}


/* V8 Sprint 2 — real color selection and live quantity pricing */
.compact-confirmation {
    grid-template-columns: 190px 1fr auto;
}
.compact-confirmation img {
    height: 155px;
}
.selected-color-badge {
    max-width: 210px;
    padding: 9px 12px;
    border-radius: 999px;
    background: #eef1f6;
    color: #3d485c;
    font-size: .82rem;
    font-weight: 900;
    text-align: center;
}
.color-choice-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 14px;
}
.color-select-card {
    position: relative;
    padding: 0;
    overflow: hidden;
    text-align: left;
    border: 2px solid #d5dbe5;
    border-radius: 14px;
    background: white;
    color: var(--ink);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.color-select-card:hover {
    transform: translateY(-4px);
    border-color: #aeb7c6;
    box-shadow: 0 16px 32px rgba(20,28,48,.10);
}
.color-select-card.selected {
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(155,28,49,.12), 0 18px 38px rgba(20,28,48,.12);
}
.color-select-card.selected::after {
    content: "✓";
    position: absolute;
    right: 11px;
    top: 11px;
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    font-weight: 900;
}
.color-image-wrap {
    display: block;
    height: 190px;
    padding: 8px;
    background: #eef1f5;
}
.color-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.color-card-copy {
    display: grid;
    gap: 6px;
    padding: 13px;
}
.color-card-copy span {
    color: var(--muted);
    font-size: .76rem;
}
.quantity-pricing-layout {
    display: grid;
    grid-template-columns: 1.1fr .95fr .95fr;
    gap: 16px;
}
.quantity-card, .live-price-card {
    display: grid;
    align-content: center;
    gap: 9px;
    min-height: 170px;
    padding: 20px;
    border: 1px solid #d7dde7;
    border-radius: 14px;
    background: white;
}
.large-quantity-control {
    grid-template-columns: 58px minmax(120px,1fr) 58px;
}
.large-quantity-control input,
.large-quantity-control .quantity-button {
    min-height: 58px;
}
.live-price-card {
    color: white;
    background: linear-gradient(145deg,#1b263b,#2b3b59);
    border: 0;
}
.live-price-card span {
    color: #c8cfdb;
    font-size: .86rem;
    font-weight: 800;
}
.live-price-card strong {
    font-size: 2rem;
}
.live-price-card small {
    color: #c0c8d5;
}
.total-card {
    background: linear-gradient(145deg,#81172a,#aa243b);
}
.sprint-price-table {
    margin-top: 20px;
}
.sprint-complete-summary {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
    align-items: center;
    padding: 28px;
    border: 2px solid var(--accent);
    border-radius: 18px;
    background: #fff8f9;
}
.summary-product-view {
    border-radius: 15px;
    background: white;
    border: 1px solid #e0e4eb;
}
.summary-product-view img {
    width: 100%;
    height: 280px;
    object-fit: contain;
}
.summary-product-details h2 {
    margin: 14px 0 20px;
}
.summary-product-details dl {
    display: grid;
    gap: 0;
}
.summary-product-details dl div {
    display: grid;
    grid-template-columns: 160px 1fr;
    padding: 10px 0;
    border-bottom: 1px solid #e0d9dc;
}
.summary-product-details dt {
    font-weight: 900;
}
.summary-product-details dd {
    margin: 0;
    color: var(--muted);
}
@media (max-width: 950px) {
    .color-choice-grid { grid-template-columns: repeat(3,1fr); }
    .quantity-pricing-layout { grid-template-columns: 1fr 1fr; }
    .quantity-card { grid-column: 1/-1; }
}
@media (max-width: 700px) {
    .compact-confirmation,
    .sprint-complete-summary { grid-template-columns: 1fr; }
    .color-choice-grid { grid-template-columns: repeat(2,1fr); }
    .quantity-pricing-layout { grid-template-columns: 1fr; }
    .quantity-card { grid-column: auto; }
    .summary-product-details dl div { grid-template-columns: 1fr; gap: 3px; }
}
@media (max-width: 470px) {
    .color-choice-grid { grid-template-columns: 1fr; }
}


/* V8 Sprint 3 — multi-view embroidery configurator */
.embroidery-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 22px;
    align-items: start;
}
.hat-viewer-card,
.embroidery-options-card {
    padding: 24px;
    border: 1px solid #d8dee8;
    border-radius: 18px;
    background: #f8f9fb;
}
.hat-viewer-card {
    position: sticky;
    top: 125px;
}
.viewer-top-row {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
}
.viewer-top-row h2 {
    margin: 4px 0 0;
}
.hat-view-buttons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin: 20px 0 14px;
}
.hat-view-button {
    min-height: 43px;
    border: 1px solid #cbd2dd;
    border-radius: 9px;
    background: white;
    font-weight: 900;
    cursor: pointer;
}
.hat-view-button.active {
    border-color: var(--accent);
    background: var(--accent);
    color: white;
}
.large-hat-stage {
    position: relative;
    min-height: 445px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #dce1e9;
    border-radius: 16px;
    background:
        radial-gradient(circle at 50% 38%, white 0%, #edf0f5 72%);
}
.large-hat-stage img {
    width: 94%;
    height: 420px;
    object-fit: contain;
}
.embroidery-zone {
    position: absolute;
    display: grid;
    place-items: center;
    border: 3px dashed rgba(155,28,49,.95);
    border-radius: 8px;
    color: var(--accent);
    background: rgba(255,255,255,.72);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .06em;
    box-shadow: 0 0 0 4px rgba(255,255,255,.48);
}
.front-left-zone {
    width: 108px;
    height: 58px;
    left: 23%;
    top: 39%;
}
.front-center-zone {
    width: 150px;
    height: 72px;
    left: 50%;
    top: 38%;
    transform: translateX(-50%);
}
.front-right-zone {
    width: 108px;
    height: 58px;
    right: 23%;
    top: 39%;
}
.left-side-zone,
.right-side-zone {
    width: 92px;
    height: 48px;
    left: 55%;
    top: 40%;
}
.back-center-zone {
    width: 120px;
    height: 46px;
    left: 50%;
    top: 43%;
    transform: translateX(-50%);
}
.missing-view-message {
    color: var(--muted);
    font-weight: 900;
    text-align: center;
}
.viewer-help {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: .85rem;
}
.compact-heading {
    margin-bottom: 13px;
}
.front-location-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
}
.placement-choice-card,
.style-select-card {
    position: relative;
    display: grid;
    gap: 8px;
    padding: 13px;
    text-align: left;
    border: 2px solid #d4dae4;
    border-radius: 13px;
    background: white;
    color: var(--ink);
    cursor: pointer;
}
.placement-choice-card.selected,
.style-select-card.selected {
    border-color: var(--accent);
    background: #fff7f8;
    box-shadow: 0 0 0 3px rgba(155,28,49,.09);
}
.placement-choice-card > span:last-child,
.style-select-card > span:last-child {
    color: var(--muted);
    font-size: .78rem;
}
.placement-mini-hat {
    position: relative;
    display: block;
    height: 82px;
    border-radius: 48% 48% 15% 15%;
    background: #26344a;
}
.placement-mini-hat::after {
    content: "";
    position: absolute;
    left: 8px;
    right: -8px;
    bottom: -13px;
    height: 25px;
    border-radius: 50%;
    background: #1a2437;
}
.mini-zone {
    position: absolute;
    z-index: 2;
    display: grid;
    place-items: center;
    height: 25px;
    border: 2px dashed white;
    border-radius: 5px;
    color: white;
    font-size: .55rem;
    font-weight: 900;
}
.mini-left { width: 43px; left: 12px; top: 30px; }
.mini-center { width: 55px; left: 50%; top: 28px; transform: translateX(-50%); }
.mini-right { width: 43px; right: 12px; top: 30px; }
.choice-divider {
    height: 1px;
    margin: 24px 0;
    background: #d9dee7;
}
.extra-location-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
}
.extra-location-card {
    position: relative;
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 9px;
    padding: 13px;
    border: 2px solid #d4dae4;
    border-radius: 13px;
    background: white;
    cursor: pointer;
}
.extra-location-card:has(input:checked) {
    border-color: var(--accent);
    background: #fff7f8;
}
.extra-location-card input {
    width: 20px;
    height: 20px;
}
.extra-location-card > span:last-child {
    display: grid;
}
.extra-location-card small {
    color: var(--muted);
}
.extra-icon {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #27354c;
    color: white;
    font-weight: 900;
}
.embroidery-style-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 11px;
}
.stitch-preview {
    min-height: 82px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #26344a;
    color: white;
    font-size: 2rem;
    font-weight: 900;
}
.puff-stitch-preview {
    text-shadow: 2px 2px 0 #bec5d0, 4px 4px 0 rgba(0,0,0,.35);
}
.puff-warning {
    margin-top: 13px;
    padding: 12px 13px;
    border: 1px solid #e0c88f;
    border-radius: 9px;
    background: #fff8e7;
    color: #645223;
    font-size: .83rem;
}
.running-order-summary {
    display: grid;
    grid-template-columns: 1.4fr .65fr .75fr .9fr;
    gap: 1px;
    margin-top: 22px;
    overflow: hidden;
    border: 1px solid #d7dde7;
    border-radius: 13px;
    background: #d7dde7;
}
.running-order-summary > div {
    display: grid;
    gap: 4px;
    padding: 15px;
    background: white;
}
.running-order-summary span {
    color: var(--muted);
    font-size: .75rem;
    font-weight: 800;
}
.running-order-summary strong {
    font-size: .98rem;
}
@media (max-width: 980px) {
    .embroidery-layout { grid-template-columns: 1fr; }
    .hat-viewer-card { position: static; }
}
@media (max-width: 700px) {
    .front-location-grid,
    .extra-location-grid,
    .embroidery-style-grid {
        grid-template-columns: 1fr;
    }
    .running-order-summary {
        grid-template-columns: 1fr 1fr;
    }
    .large-hat-stage {
        min-height: 340px;
    }
    .large-hat-stage img {
        height: 320px;
    }
}
@media (max-width: 480px) {
    .hat-view-buttons {
        grid-template-columns: repeat(2,1fr);
    }
    .running-order-summary {
        grid-template-columns: 1fr;
    }
}


/* V8 Sprint 4 — artwork upload and ownership */
.artwork-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 22px;
    align-items: start;
}
.artwork-upload-card,
.artwork-rights-card {
    padding: 24px;
    border: 1px solid #d8dee8;
    border-radius: 18px;
    background: #f8f9fb;
}
.artwork-option-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 12px;
}
.artwork-option-card {
    display: grid;
    gap: 8px;
    padding: 18px;
    text-align: left;
    border: 2px solid #d4dae4;
    border-radius: 14px;
    background: white;
    color: var(--ink);
    cursor: pointer;
}
.artwork-option-card.selected {
    border-color: var(--accent);
    background: #fff7f8;
    box-shadow: 0 0 0 3px rgba(155,28,49,.09);
}
.artwork-option-card > span:last-child {
    color: var(--muted);
    font-size: .86rem;
}
.artwork-option-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #26344a;
    color: white;
    font-size: 1.35rem;
    font-weight: 900;
}
.artwork-panel {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}
.artwork-drop-zone {
    min-height: 250px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    padding: 28px;
    text-align: center;
    border: 2px dashed #aeb7c5;
    border-radius: 16px;
    background: white;
    cursor: pointer;
}
.artwork-drop-zone:hover {
    border-color: var(--accent);
    background: #fffafb;
}
.artwork-drop-zone input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.artwork-drop-zone > span:last-child {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 400;
}
.drop-zone-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eef1f6;
    color: var(--accent);
    font-size: 2rem;
}
.file-preview-card {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 14px;
    border: 1px solid #d5dbe5;
    border-radius: 13px;
    background: white;
}
.image-preview-wrap {
    width: 110px;
    height: 90px;
    overflow: hidden;
    border-radius: 9px;
    background: #eef1f5;
}
.image-preview-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.file-preview-details {
    display: grid;
    gap: 3px;
}
.file-preview-details span,
.file-preview-details small {
    color: var(--muted);
}
.remove-file-button {
    border: 1px solid #d3d9e3;
    border-radius: 9px;
    padding: 9px 11px;
    background: white;
    color: #8a1b2e;
    font-weight: 900;
    cursor: pointer;
}
.rights-intro {
    color: var(--muted);
}
.rights-choice-grid {
    display: grid;
    gap: 10px;
}
.rights-choice-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 11px;
    align-items: start;
    padding: 14px;
    border: 2px solid #d4dae4;
    border-radius: 13px;
    background: white;
    cursor: pointer;
}
.rights-choice-card.selected,
.rights-choice-card:has(input:checked) {
    border-color: var(--accent);
    background: #fff7f8;
}
.rights-choice-card input {
    width: 20px;
    height: 20px;
    margin-top: 3px;
}
.rights-choice-card > span {
    display: grid;
    gap: 3px;
}
.rights-choice-card small {
    color: var(--muted);
}
.artwork-confirmation {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #d7dde7;
    border-radius: 13px;
    background: white;
}
.artwork-confirmation input {
    width: 22px;
    height: 22px;
    margin-top: 3px;
}
.artwork-confirmation > span {
    display: grid;
    gap: 5px;
}
.artwork-confirmation small {
    color: var(--muted);
}
.artwork-protection-note {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #cbdacb;
    border-radius: 10px;
    background: #eef7f0;
    color: #31513a;
    font-size: .86rem;
}
.artwork-order-reminder {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 18px;
    align-items: center;
    margin-top: 22px;
    padding: 16px;
    border: 1px solid #d7dde7;
    border-radius: 14px;
    background: white;
}
.artwork-order-reminder img {
    width: 150px;
    height: 110px;
    object-fit: contain;
}
.artwork-order-reminder > div {
    display: grid;
    gap: 4px;
}
.artwork-order-reminder span {
    color: var(--muted);
    font-size: .8rem;
    font-weight: 800;
}
.artwork-order-reminder p {
    margin: 0;
    color: var(--muted);
}
.artwork-complete-summary {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
    align-items: center;
    padding: 28px;
    border: 2px solid var(--accent);
    border-radius: 18px;
    background: #fff8f9;
}
.final-artwork-preview {
    min-height: 280px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #dbe0e8;
    border-radius: 15px;
    background: white;
    color: #a5adba;
    font-size: 1.4rem;
    font-weight: 900;
    letter-spacing: .12em;
}
.final-artwork-preview img {
    width: 100%;
    height: 280px;
    object-fit: contain;
}
@media (max-width: 900px) {
    .artwork-layout {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    .artwork-option-grid {
        grid-template-columns: 1fr;
    }
    .file-preview-card {
        grid-template-columns: 1fr;
    }
    .artwork-order-reminder,
    .artwork-complete-summary {
        grid-template-columns: 1fr;
    }
}


/* V8 Sprint 5 — customer information and tax exemption */
.details-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 22px;
    align-items: start;
}
.customer-details-card,
.tax-details-card {
    display: grid;
    gap: 18px;
    padding: 24px;
    border: 1px solid #d8dee8;
    border-radius: 18px;
    background: #f8f9fb;
}
.contact-method-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
    margin-top: 8px;
}
.contact-method-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 9px;
    align-items: start;
    padding: 13px;
    border: 2px solid #d4dae4;
    border-radius: 13px;
    background: white;
    cursor: pointer;
}
.contact-method-card:has(input:checked),
.contact-method-card.selected {
    border-color: var(--accent);
    background: #fff7f8;
}
.contact-method-card input {
    width: 19px;
    height: 19px;
    margin-top: 3px;
}
.contact-method-card > span {
    display: grid;
    gap: 3px;
}
.contact-method-card small {
    color: var(--muted);
}
.tax-choice-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 11px;
}
.tax-choice-card {
    display: grid;
    gap: 8px;
    padding: 17px;
    text-align: left;
    border: 2px solid #d4dae4;
    border-radius: 14px;
    background: white;
    color: var(--ink);
    cursor: pointer;
}
.tax-choice-card.selected {
    border-color: var(--accent);
    background: #fff7f8;
    box-shadow: 0 0 0 3px rgba(155,28,49,.09);
}
.tax-choice-card > span:last-child {
    color: var(--muted);
    font-size: .84rem;
}
.tax-choice-icon {
    width: 41px;
    height: 41px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #26344a;
    color: white;
    font-size: 1.15rem;
    font-weight: 900;
}
.tax-exempt-panel {
    display: grid;
    gap: 15px;
    padding: 18px;
    border: 1px solid #e0c88f;
    border-radius: 14px;
    background: #fffaf0;
}
.tax-review-warning {
    padding: 13px;
    border-radius: 10px;
    background: #fff1cd;
    color: #604d1c;
    font-size: .85rem;
}
.tax-certificate-upload {
    padding: 14px;
    border: 1px dashed #b6a56e;
    border-radius: 10px;
    background: white;
}
.tax-file-preview {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 14px;
    align-items: center;
    padding: 13px;
    border: 1px solid #d8dee8;
    border-radius: 10px;
    background: white;
}
.tax-file-preview span,
.tax-file-preview small {
    color: var(--muted);
}
.tax-file-preview button {
    grid-column: 2;
    grid-row: 1 / span 3;
    border: 1px solid #d2d8e2;
    border-radius: 8px;
    padding: 8px 10px;
    background: white;
    color: #8a1b2e;
    font-weight: 900;
    cursor: pointer;
}
.tax-confirmation {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 11px;
    align-items: start;
    padding: 14px;
    border: 1px solid #d8dee8;
    border-radius: 11px;
    background: white;
}
.tax-confirmation input {
    width: 21px;
    height: 21px;
    margin-top: 3px;
}
.tax-confirmation > span {
    display: grid;
    gap: 4px;
}
.tax-confirmation small {
    color: var(--muted);
}
.turnaround-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 16px;
    border: 1px solid #cbdacb;
    border-radius: 13px;
    background: #eef7f0;
}
.turnaround-card p {
    margin: 4px 0 0;
    color: #46614c;
    font-size: .86rem;
}
.turnaround-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #17663a;
    color: white;
    font-weight: 900;
}
.details-order-reminder {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 18px;
    align-items: center;
    margin-top: 22px;
    padding: 16px;
    border: 1px solid #d7dde7;
    border-radius: 14px;
    background: white;
}
.details-order-reminder img {
    width: 150px;
    height: 110px;
    object-fit: contain;
}
.details-order-reminder > div {
    display: grid;
    gap: 4px;
}
.details-order-reminder span {
    color: var(--muted);
    font-size: .8rem;
    font-weight: 800;
}
.details-order-reminder p {
    margin: 0;
    color: var(--muted);
}
.details-complete-summary {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 22px;
}
.customer-summary-panel,
.review-next-card {
    padding: 26px;
    border: 1px solid #d8dee8;
    border-radius: 17px;
    background: white;
}
.customer-summary-panel {
    border: 2px solid var(--accent);
    background: #fff8f9;
}
.customer-summary-panel h2 {
    margin: 14px 0 3px;
}
.customer-summary-panel > p {
    margin: 0 0 20px;
    color: var(--muted);
}
.customer-summary-panel dl {
    display: grid;
    gap: 0;
}
.customer-summary-panel dl div {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #e2dadd;
}
.customer-summary-panel dt {
    font-weight: 900;
}
.customer-summary-panel dd {
    margin: 0;
    color: var(--muted);
}
@media (max-width: 950px) {
    .details-layout,
    .details-complete-summary {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    .contact-method-grid,
    .tax-choice-grid {
        grid-template-columns: 1fr;
    }
    .details-order-reminder {
        grid-template-columns: 1fr;
    }
    .customer-summary-panel dl div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}


/* Sprint 5 polish — hidden tax-exempt details */
.standard-tax-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 15px;
    border: 1px solid #d8dee8;
    border-radius: 13px;
    background: white;
}
.standard-tax-note p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: .86rem;
}
.tax-exempt-toggle {
    width: 100%;
    min-height: 47px;
    border: 2px solid #c8cfda;
    border-radius: 11px;
    background: white;
    color: var(--accent);
    font-weight: 900;
    cursor: pointer;
}
.tax-exempt-toggle:hover {
    border-color: var(--accent);
    background: #fff8f9;
}
.cancel-tax-exempt {
    justify-self: end;
    border: 0;
    background: transparent;
    color: #8a1b2e;
    font-weight: 900;
    cursor: pointer;
}

/* V8 Sprint 6 — final review and permanent submission */
.final-review-layout {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 22px;
    align-items: start;
}
.final-review-main {
    display: grid;
    gap: 15px;
}
.review-section-card {
    padding: 21px;
    border: 1px solid #d8dee8;
    border-radius: 16px;
    background: white;
}
.review-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 15px;
}
.review-section-heading h2 {
    margin: 0;
    font-size: 1.35rem;
}
.review-edit-button {
    border: 1px solid #d2d8e2;
    border-radius: 8px;
    padding: 7px 10px;
    background: white;
    color: var(--accent);
    font-weight: 900;
    cursor: pointer;
}
.review-hat-row {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 20px;
    align-items: center;
}
.review-hat-row img {
    width: 190px;
    height: 150px;
    object-fit: contain;
    border-radius: 11px;
    background: #eef1f5;
}
.review-hat-row dl,
.review-details-list {
    display: grid;
    gap: 0;
    margin: 0;
}
.review-hat-row dl div,
.review-details-list div {
    display: grid;
    grid-template-columns: 155px 1fr;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #e4e8ee;
}
.review-hat-row dt,
.review-details-list dt {
    font-weight: 900;
}
.review-hat-row dd,
.review-details-list dd {
    margin: 0;
    color: var(--muted);
}
.final-review-sidebar {
    position: sticky;
    top: 125px;
    display: grid;
    gap: 15px;
}
.review-price-card,
.final-confirmation-card {
    padding: 22px;
    border-radius: 16px;
}
.review-price-card {
    color: white;
    background: linear-gradient(145deg,#172033,#2b3b59);
    box-shadow: 0 18px 40px rgba(20,28,48,.18);
}
.review-price-card > span {
    color: #c5cdda;
    font-size: .82rem;
    font-weight: 800;
}
.review-price-card > strong {
    display: block;
    margin-top: 4px;
    font-size: 2rem;
}
.review-price-card p {
    margin: 15px 0 0;
    color: #c5cdda;
    font-size: .82rem;
}
.review-price-divider {
    height: 1px;
    margin: 17px 0;
    background: rgba(255,255,255,.18);
}
.final-confirmation-card {
    border: 1px solid #d8dee8;
    background: white;
}
.final-confirmation-card h2 {
    margin-top: 0;
}
.final-confirmation-check {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid #e5e8ee;
}
.final-confirmation-check input {
    width: 21px;
    height: 21px;
    margin-top: 2px;
}
.local-production-note {
    display: grid;
    gap: 4px;
    margin-top: 17px;
    padding: 14px;
    border-radius: 11px;
    background: #eef7f0;
    color: #31513a;
}
.local-production-note span {
    font-size: .84rem;
}
.submission-success-page {
    max-width: 850px;
    margin: 65px auto;
    padding: 42px;
    text-align: center;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: white;
    box-shadow: 0 24px 60px rgba(20,28,48,.10);
}
.success-lead {
    max-width: 650px;
    margin: 0 auto 30px;
    color: var(--muted);
    font-size: 1.08rem;
}
.what-happens-next {
    display: grid;
    gap: 12px;
    margin: 30px 0;
    text-align: left;
}
.what-happens-next h2 {
    text-align: center;
}
.what-happens-next article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 13px;
    align-items: start;
    padding: 15px;
    border: 1px solid #dce1e9;
    border-radius: 12px;
    background: #f8f9fb;
}
.what-happens-next article > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    font-weight: 900;
}
.what-happens-next p {
    margin: 4px 0 0;
    color: var(--muted);
}
@media (max-width: 950px) {
    .final-review-layout {
        grid-template-columns: 1fr;
    }
    .final-review-sidebar {
        position: static;
    }
}
@media (max-width: 650px) {
    .review-hat-row {
        grid-template-columns: 1fr;
    }
    .review-hat-row dl div,
    .review-details-list div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
    .submission-success-page {
        margin: 25px 14px;
        padding: 25px 18px;
    }
}


/* Final website polish — tax-exempt request stays invisible until selected */
.details-side-card {
    display: grid;
    align-content: start;
    gap: 18px;
    padding: 24px;
    border: 1px solid #d8dee8;
    border-radius: 18px;
    background: #f8f9fb;
}

.tax-exempt-request-wrap {
    display: grid;
    gap: 12px;
}

.tax-exempt-toggle {
    min-height: 48px;
    border: 1px solid #cbd2dd;
    border-radius: 11px;
    background: white;
    color: var(--accent);
    font-weight: 900;
    cursor: pointer;
}

.tax-exempt-toggle:hover {
    border-color: var(--accent);
    background: #fff8f9;
}

.tax-exempt-panel-heading {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 18px;
}

.tax-exempt-panel-heading h2 {
    margin: 4px 0 0;
    font-size: 1.35rem;
}

.cancel-tax-exempt {
    border: 1px solid #d4dae4;
    border-radius: 8px;
    padding: 7px 10px;
    background: white;
    color: #8a1b2e;
    font-weight: 900;
    cursor: pointer;
}

/* Hide any obsolete tax summary UI from earlier versions. */
.standard-tax-note,
.tax-choice-grid,
.tax-details-card {
    display: none !important;
}


/* UI correction: full logo visibility and modal tax-exempt workflow */
.brand-logo {
    overflow: visible !important;
    border-radius: 0 !important;
    min-width: 340px;
}
.brand-logo img {
    width: 340px !important;
    height: 78px !important;
    object-fit: contain !important;
    object-position: left center !important;
    border-radius: 0 !important;
}
.footer-logo {
    object-fit: contain !important;
    object-position: left center !important;
    height: auto !important;
    border-radius: 0 !important;
}

.tax-exempt-request-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 18px;
    border: 1px dashed #d49b36;
    border-radius: 14px;
    background: #fffaf1;
}
.tax-request-copy {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
}
.tax-request-copy p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: .86rem;
}
.tax-request-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #b98014;
    color: white;
    font-weight: 900;
}
.tax-request-button {
    white-space: nowrap;
    border-color: #d2d8e2;
    background: white;
    color: var(--accent);
}
.tax-request-saved {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border: 1px solid #b8d5bf;
    border-radius: 13px;
    background: #eef7f0;
}
.tax-request-saved > div {
    display: grid;
    gap: 3px;
}
.tax-request-saved span {
    color: #4a6550;
    font-size: .84rem;
}
.tax-request-saved button {
    border: 1px solid #bfd0c3;
    border-radius: 8px;
    padding: 7px 10px;
    background: white;
    color: #31513a;
    font-weight: 900;
    cursor: pointer;
}

.tax-modal[hidden] {
    display: none !important;
}
.tax-modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: grid;
    place-items: center;
    padding: 20px;
}
.tax-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 13, 24, .72);
    backdrop-filter: blur(4px);
}
.tax-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(680px, 100%);
    max-height: calc(100vh - 40px);
    overflow: auto;
    padding: 26px;
    border-radius: 18px;
    background: white;
    box-shadow: 0 30px 80px rgba(0,0,0,.35);
}
.tax-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 20px;
    margin-bottom: 16px;
}
.tax-modal-header h2 {
    margin: 4px 0 0;
}
.tax-modal-close {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #d5dbe5;
    border-radius: 50%;
    background: white;
    color: #7f1b2d;
    font-size: 1.4rem;
    cursor: pointer;
}
.tax-modal-fields {
    display: grid;
    gap: 14px;
    margin-top: 17px;
}
.tax-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}
body.modal-open {
    overflow: hidden;
}

@media (max-width: 700px) {
    .brand-logo {
        min-width: 220px;
    }
    .brand-logo img {
        width: 220px !important;
        height: 58px !important;
    }
    .tax-exempt-request-card {
        align-items: flex-start;
        flex-direction: column;
    }
    .tax-request-button {
        width: 100%;
    }
    .tax-modal-dialog {
        padding: 20px;
    }
}


/* Exact supplied logo with transparent background */
.brand-logo img {
    object-fit: contain !important;
    background: transparent !important;
    filter: none !important;
}
.footer-logo {
    object-fit: contain !important;
    background: transparent !important;
    filter: none !important;
}


/* Full Richardson and YP color catalog */
.color-catalog-tools {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin-bottom: 16px;
}
.color-search-box {
    width: min(520px, 100%);
}
.color-search-box span {
    display: block;
    margin-bottom: 6px;
    font-size: .8rem;
    font-weight: 900;
}
.color-search-box input {
    width: 100%;
    min-height: 46px;
}
.color-result-count {
    color: var(--muted);
    font-size: .85rem;
    font-weight: 900;
}
.no-color-results {
    padding: 32px 20px;
    text-align: center;
    border: 1px dashed #c4ccd8;
    border-radius: 12px;
    color: var(--muted);
    background: white;
}
.color-choice-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.color-select-card {
    min-width: 0;
}
.color-card-copy strong {
    min-height: 2.3em;
}
@media (min-width: 1250px) {
    .color-choice-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .color-catalog-tools {
        align-items: stretch;
        flex-direction: column;
    }
}


/* Corrected visible multi-hat order cart */
.hat-cart-section {
    margin-top: 22px;
    padding: 22px;
    border: 1px solid #d8dee8;
    border-radius: 16px;
    background: #f8f9fb;
}
.hat-cart-empty {
    padding: 24px;
    text-align: center;
    border: 1px dashed #c5ccd7;
    border-radius: 11px;
    background: white;
    color: var(--muted);
}
.hat-cart-list {
    display: grid;
    gap: 10px;
}
.hat-cart-row {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border: 1px solid #d8dee8;
    border-radius: 12px;
    background: white;
}
.hat-cart-row img {
    width: 110px;
    height: 85px;
    object-fit: contain;
}
.hat-cart-row-copy {
    display: grid;
    gap: 3px;
}
.hat-cart-row-copy span,
.hat-cart-row-copy small {
    color: var(--muted);
}
.hat-cart-row-actions button {
    border: 1px solid #d4dae4;
    border-radius: 8px;
    padding: 7px 10px;
    background: white;
    color: #8a1b2e;
    font-weight: 900;
    cursor: pointer;
}
.hat-cart-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}
.shared-order-lines {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid #d8dee8;
    border-radius: 13px;
    background: #f8f9fb;
}
.shared-order-lines > div:first-child {
    display: grid;
    gap: 3px;
}
.shared-order-lines span {
    color: var(--muted);
    font-size: .8rem;
}
.shared-order-line-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.shared-order-line-chip {
    padding: 6px 9px;
    border: 1px solid #d7dde7;
    border-radius: 999px;
    background: white;
    color: #3f4a5e !important;
    font-size: .78rem !important;
    font-weight: 900;
}
.review-order-lines {
    display: grid;
    gap: 10px;
}
.review-order-line {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 14px;
    align-items: center;
    padding: 11px;
    border: 1px solid #dce1e9;
    border-radius: 11px;
    background: #f8f9fb;
}
.review-order-line img {
    width: 130px;
    height: 95px;
    object-fit: contain;
}
.review-order-line > div {
    display: grid;
    gap: 3px;
}
.review-order-line span,
.review-order-line small {
    color: var(--muted);
}
@media (max-width: 650px) {
    .hat-cart-row {
        grid-template-columns: 85px 1fr;
    }
    .hat-cart-row img {
        width: 85px;
        height: 70px;
    }
    .hat-cart-row-actions {
        grid-column: 1 / -1;
    }
}


/* V9 customer accounts */
.account-page {
    min-height: calc(100vh - 180px);
    display: grid;
    place-items: center;
    padding: 60px 18px;
    background:
        radial-gradient(circle at 12% 0%, rgba(155,28,49,.11), transparent 28rem),
        linear-gradient(180deg,#eef1f5,#f8f9fb);
}
.account-card {
    width: min(540px,100%);
    padding: 34px;
    border: 1px solid #d6dce6;
    border-radius: 20px;
    background: white;
    box-shadow: 0 24px 60px rgba(20,28,48,.12);
}
.account-card h1 {
    margin-bottom: 10px;
}
.account-card > p:not(.eyebrow) {
    color: var(--muted);
}
.account-card form {
    display: grid;
    gap: 17px;
    margin-top: 24px;
}
.remember-device {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 11px;
    align-items: start;
    padding: 14px;
    border: 1px solid #d8dee8;
    border-radius: 12px;
    background: #f8f9fb;
}
.remember-device input {
    width: 21px;
    height: 21px;
    margin-top: 3px;
}
.remember-device span {
    display: grid;
    gap: 3px;
}
.remember-device small,
.account-help {
    color: var(--muted);
}
.account-submit {
    width: 100%;
}
.account-next-step {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin: 26px 0;
    padding: 18px;
    border: 1px solid #b8d5bf;
    border-radius: 14px;
    background: #eef7f0;
    text-align: left;
}
.account-next-step > div {
    display: grid;
    gap: 4px;
}
.account-next-step span {
    color: #4b6651;
    font-size: .88rem;
}

.portal-page {
    padding: 56px 0 90px;
    background: linear-gradient(180deg,#eef1f5,#f8f9fb);
}
.portal-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    margin-bottom: 26px;
}
.portal-heading h1 {
    margin-bottom: 8px;
}
.portal-heading p:last-child {
    color: var(--muted);
}
.portal-stat-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 15px;
    margin-bottom: 24px;
}
.portal-stat-grid article {
    display: grid;
    gap: 6px;
    padding: 20px;
    border: 1px solid #d8dee8;
    border-radius: 15px;
    background: white;
}
.portal-stat-grid span {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 800;
}
.portal-stat-grid strong {
    font-size: 2rem;
}
.portal-section {
    margin-top: 20px;
    padding: 24px;
    border: 1px solid #d8dee8;
    border-radius: 18px;
    background: white;
}
.portal-section-heading h2 {
    margin-top: 0;
}
.portal-empty {
    display: grid;
    gap: 5px;
    padding: 30px;
    text-align: center;
    border: 1px dashed #c6ceda;
    border-radius: 12px;
    color: var(--muted);
    background: #f8f9fb;
}
.portal-order-list {
    display: grid;
    gap: 12px;
}
.portal-order-card {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 20px;
    align-items: center;
    padding: 17px;
    border: 1px solid #dce1e9;
    border-radius: 13px;
    background: #f8f9fb;
}
.portal-order-card h3 {
    margin: 6px 0 4px;
}
.portal-order-card p {
    margin: 0;
    color: var(--muted);
}
.portal-status {
    width: fit-content;
    padding: 5px 8px;
    border-radius: 999px;
    background: #172033;
    color: white;
    font-size: .72rem;
    font-weight: 900;
}
.portal-order-money {
    display: grid;
    gap: 4px;
    text-align: right;
}
.portal-order-money span {
    color: var(--muted);
    font-size: .78rem;
}
.portal-order-actions {
    display: flex;
    gap: 8px;
}
.receipt-list {
    display: grid;
    gap: 10px;
}
.receipt-list article {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 14px;
    border: 1px solid #dce1e9;
    border-radius: 11px;
    background: #f8f9fb;
}
.receipt-list article > div {
    display: grid;
    gap: 3px;
}
.receipt-list span {
    color: var(--muted);
    font-size: .82rem;
}
.reorder-loading-card {
    text-align: center;
}
.loading-ring {
    width: 56px;
    height: 56px;
    margin: 0 auto 20px;
    border: 6px solid #e2e6ed;
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: ramseySpin .8s linear infinite;
}
@keyframes ramseySpin {
    to { transform: rotate(360deg); }
}
@media (max-width: 800px) {
    .portal-heading {
        align-items: stretch;
        flex-direction: column;
    }
    .portal-stat-grid {
        grid-template-columns: 1fr;
    }
    .portal-order-card {
        grid-template-columns: 1fr;
    }
    .portal-order-money {
        text-align: left;
    }
}
@media (max-width: 620px) {
    .account-next-step {
        align-items: stretch;
        flex-direction: column;
    }
    .portal-order-actions {
        flex-direction: column;
    }
}


/* V11 reorder memory */
.saved-artwork-panel {
    margin-top: 18px;
}
.saved-artwork-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 17px;
    border: 1px solid #b8d5bf;
    border-radius: 13px;
    background: #eef7f0;
}
.saved-artwork-card > div {
    display: grid;
    gap: 4px;
}
.saved-artwork-card p {
    margin: 0;
    color: #4d6653;
    font-size: .86rem;
}
@media (max-width: 650px) {
    .saved-artwork-card {
        align-items: stretch;
        flex-direction: column;
    }
}


/* V12 order tracking and mockup approval */
.order-status-page {
    padding: 54px 0 90px;
    background: linear-gradient(180deg,#eef1f5,#f8f9fb);
}
.order-status-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 22px;
    margin-bottom: 24px;
}
.order-status-heading h1 {
    margin-bottom: 7px;
}
.order-status-heading p:last-child {
    color: var(--muted);
}
.order-status-layout {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 22px;
    align-items: start;
}
.order-status-main {
    display: grid;
    gap: 18px;
}
.tracking-card,
.order-summary-card,
.order-payment-card {
    padding: 24px;
    border: 1px solid #d8dee8;
    border-radius: 17px;
    background: white;
}
.tracking-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin-bottom: 20px;
}
.tracking-heading h2 {
    margin: 4px 0 0;
}
.tracking-current,
.mockup-status {
    padding: 6px 10px;
    border-radius: 999px;
    background: #172033;
    color: white;
    font-size: .76rem;
    font-weight: 900;
}
.mockup-status.approved {
    background: #17663a;
}
.mockup-status.changes-requested {
    background: #9a6214;
}
.mockup-status.waiting-for-approval {
    background: var(--accent);
}
.customer-order-timeline {
    display: grid;
}
.timeline-step {
    position: relative;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    min-height: 92px;
}
.timeline-step:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 21px;
    top: 43px;
    bottom: 0;
    width: 2px;
    background: #d9dee7;
}
.timeline-step.complete:not(:last-child)::after {
    background: #267447;
}
.timeline-dot {
    position: relative;
    z-index: 1;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 2px solid #cfd6e1;
    border-radius: 50%;
    background: white;
    color: #7a8495;
    font-weight: 900;
}
.timeline-step.complete .timeline-dot {
    border-color: #267447;
    background: #267447;
    color: white;
}
.timeline-step.current .timeline-dot {
    border-color: var(--accent);
    box-shadow: 0 0 0 5px rgba(155,28,49,.12);
    color: var(--accent);
}
.timeline-step p {
    margin: 4px 0;
    color: var(--muted);
}
.timeline-step small {
    color: #6d7788;
}
.mockup-review-layout {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 22px;
}
.mockup-image-panel {
    display: grid;
    place-items: center;
    min-height: 380px;
    overflow: hidden;
    border: 1px solid #dce1e9;
    border-radius: 14px;
    background: #eef1f5;
}
.mockup-image-panel img {
    width: 100%;
    max-height: 520px;
    object-fit: contain;
}
.mockup-review-actions {
    display: grid;
    align-content: start;
    gap: 14px;
}
.mockup-review-actions h3 {
    margin: 0;
}
.change-request-form {
    display: grid;
    gap: 12px;
    padding-top: 10px;
    border-top: 1px solid #e0e4eb;
}
.mockup-approved-message {
    display: grid;
    gap: 5px;
    padding: 17px;
    border: 1px solid #b8d5bf;
    border-radius: 12px;
    background: #eef7f0;
    color: #31513a;
}
.order-status-sidebar {
    position: sticky;
    top: 125px;
    display: grid;
    gap: 16px;
}
.order-summary-card h2 {
    margin-top: 0;
}
.order-summary-card dl {
    display: grid;
    gap: 0;
}
.order-summary-card dl div {
    display: grid;
    grid-template-columns: 115px 1fr;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid #e4e8ee;
}
.order-summary-card dt {
    font-weight: 900;
}
.order-summary-card dd {
    margin: 0;
    color: var(--muted);
}
.order-payment-card {
    color: white;
    background: linear-gradient(145deg,#172033,#2b3b59);
}
.order-payment-card > span,
.order-payment-card p {
    color: #c5cdda;
}
.order-payment-card > strong {
    display: block;
    margin: 4px 0 18px;
    font-size: 1.45rem;
}
.payment-line {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    border-top: 1px solid rgba(255,255,255,.15);
}
.balance-line {
    margin-bottom: 16px;
    font-size: 1.08rem;
}
.portal-action-needed {
    display: inline-block;
    margin-left: 7px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #fff0f2;
    color: var(--accent);
    font-size: .72rem;
    font-weight: 900;
}
@media (max-width: 950px) {
    .order-status-layout,
    .mockup-review-layout {
        grid-template-columns: 1fr;
    }
    .order-status-sidebar {
        position: static;
    }
}
@media (max-width: 650px) {
    .order-status-heading,
    .tracking-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .order-summary-card dl div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}


/* V14 Stripe payments */
.stripe-note {
    display: block;
    margin-top: 10px;
    color: #c5cdda;
    font-size: .76rem;
    line-height: 1.4;
}


/* V16 customer password and login fixes */
.validation-summary:empty,
.field-validation-error:empty {
    display: none;
}
.validation-summary ul {
    margin: 0;
    padding-left: 20px;
}
.field-validation-error {
    display: block;
    margin-top: 6px;
    color: #9b1c31;
    font-size: .82rem;
    font-weight: 800;
}
.field-help {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: .8rem;
}
.password-input-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: stretch;
}
.password-input-row input {
    min-width: 0;
}
.show-password-button {
    min-width: 66px;
    border: 1px solid #cbd2dd;
    border-radius: 9px;
    background: white;
    color: var(--accent);
    font-weight: 900;
    cursor: pointer;
}



/* Customer self-mockup designer — full-width studio */
.customer-designer-panel {
    margin: 1.5rem 0 2rem;
    padding: clamp(1rem, 2.2vw, 1.75rem);
    border: 1px solid #cfd6e1;
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(177, 28, 45, .08), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
    box-shadow: 0 18px 45px rgba(15, 28, 52, .10);
}
.customer-designer-panel .choice-section-heading {
    margin-bottom: .4rem;
}
.customer-designer-panel h2 {
    font-size: clamp(1.65rem, 2.6vw, 2.4rem);
    line-height: 1.08;
}
.designer-intro {
    max-width: 850px;
    margin: 0 0 1.15rem;
    color: #596273;
    font-size: 1rem;
}
.customer-designer-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: stretch;
}
.designer-canvas-wrap {
    min-width: 0;
    background:
        linear-gradient(45deg, #f8fafc 25%, transparent 25%),
        linear-gradient(-45deg, #f8fafc 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #f8fafc 75%),
        linear-gradient(-45deg, transparent 75%, #f8fafc 75%),
        #ffffff;
    background-size: 28px 28px;
    background-position: 0 0, 0 14px, 14px -14px, -14px 0;
    border: 1px solid #d4dae4;
    border-radius: 18px;
    padding: clamp(.55rem, 1vw, 1rem);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}
#customerMockupCanvas {
    display: block;
    width: 100%;
    height: auto;
    min-height: 480px;
    max-height: 720px;
    touch-action: none;
    cursor: move;
    border-radius: 13px;
    background: #fff;
}
.designer-hint {
    margin-top: .65rem;
    padding: .55rem .75rem;
    font-size: .9rem;
    font-weight: 700;
    color: #536176;
    text-align: center;
    background: rgba(255,255,255,.88);
    border-radius: 10px;
}
.designer-controls {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #d6dce5;
}
.designer-controls label {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .45rem .75rem;
    align-items: center;
    font-weight: 800;
    color: #142038;
}
.designer-controls input[type="range"] {
    grid-column: 1 / -1;
    width: 100%;
    accent-color: #b11c2d;
}
.designer-controls label span {
    color: #b11c2d;
    font-variant-numeric: tabular-nums;
}
.designer-button-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
}
.designer-button-grid .button {
    min-height: 46px;
}
.designer-button-grid .primary {
    grid-column: 1 / -1;
    min-height: 52px;
}
.designer-saved-message {
    padding: 1rem;
    border-radius: 13px;
    background: #eaf7ee;
    color: #176b35;
    display: grid;
    gap: .25rem;
    border: 1px solid #b9dfc6;
}
.designer-disclaimer {
    margin: auto 0 0;
    padding: .95rem;
    border-radius: 13px;
    background: #fff7e5;
    color: #765313;
    font-size: .87rem;
    border: 1px solid #ead59d;
}
#artworkStep {
    padding-bottom: 8.5rem;
}
#artworkStep .wizard-action-bar {
    z-index: 20;
}
@media (max-width: 1000px) {
    .customer-designer-layout {
        grid-template-columns: 1fr;
    }
    .designer-controls {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .designer-button-grid,
    .designer-saved-message,
    .designer-disclaimer {
        grid-column: 1 / -1;
    }
}
@media (max-width: 700px) {
    .customer-designer-panel {
        margin-left: -.25rem;
        margin-right: -.25rem;
        border-radius: 16px;
    }
    #customerMockupCanvas {
        min-height: 330px;
    }
    .designer-controls {
        grid-template-columns: 1fr;
    }
    .designer-button-grid,
    .designer-saved-message,
    .designer-disclaimer {
        grid-column: auto;
    }
}


/* v19.2 simplified artwork and checkout flow */
#artworkStep .artwork-layout {
    grid-template-columns: 1fr;
}

#artworkStep .artwork-upload-card,
#artworkStep .artwork-rights-card-full {
    width: 100%;
}

#artworkStep .customer-designer-panel {
    margin-top: 1.25rem;
}

#artworkStep .artwork-rights-card-full {
    margin-top: 1.25rem;
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid #d6dce5;
    border-radius: 18px;
    background: #fff;
}

#artworkStep .artwork-rights-card-full .rights-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

#artworkStep .designer-button-grid {
    grid-template-columns: 1fr 1fr;
}

#artworkStep .designer-saved-message {
    display: grid;
}

.final-confirmation-single {
    align-items: flex-start;
    padding: 1rem;
}

.final-confirmation-single span {
    display: grid;
    gap: .35rem;
}

.final-confirmation-single small {
    color: #5b6473;
    line-height: 1.45;
}

@media (max-width: 760px) {
    #artworkStep .artwork-rights-card-full .rights-choice-grid {
        grid-template-columns: 1fr;
    }
}


/* v19.3 exact artwork flow: choice, hat preview, one permission */
.artwork-simple-flow {
    display: grid;
    gap: 1.25rem;
}

.artwork-simple-flow > section {
    width: 100%;
}

.create-artwork-preview {
    display: grid;
    grid-template-columns: minmax(180px, 340px) 1fr;
    align-items: center;
    gap: 1.5rem;
    padding: 1.25rem;
    border: 1px solid #d7dde7;
    border-radius: 18px;
    background: #fff;
}

.create-artwork-preview[hidden] {
    display: none;
}

.create-artwork-preview img {
    width: 100%;
    max-height: 280px;
    object-fit: contain;
}

.create-artwork-preview div {
    display: grid;
    gap: .5rem;
}

.create-artwork-preview strong {
    font-size: 1.2rem;
}

.create-artwork-preview span {
    color: #596577;
    line-height: 1.5;
}

.artwork-permission-card {
    padding: 1.25rem;
    border: 2px solid #d7dde7;
    border-radius: 18px;
    background: #fff;
}

.artwork-permission-card .artwork-confirmation {
    margin: 0;
}

.artwork-permission-card .artwork-confirmation input {
    width: 24px;
    height: 24px;
}

.artwork-permission-card .artwork-confirmation span {
    display: grid;
    gap: .35rem;
}

.artwork-permission-card .artwork-confirmation strong {
    font-size: 1.08rem;
}

.artwork-permission-card .artwork-confirmation small {
    color: #596577;
    line-height: 1.45;
}

.artwork-permission-card .artwork-protection-note {
    margin-top: 1rem;
}

@media (max-width: 760px) {
    .create-artwork-preview {
        grid-template-columns: 1fr;
    }
}


/* v20 combined multi-location hat designer */
.multi-location-designer {
    margin-top: 1.5rem;
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid #d6dce5;
    border-radius: 20px;
    background: #fff;
}

.multi-location-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin: 1rem 0;
}

.multi-location-tab {
    min-height: 48px;
    border: 1px solid #cfd7e4;
    border-radius: 12px;
    background: #fff;
    font-weight: 700;
    cursor: pointer;
}

.multi-location-tab.selected {
    border-color: #b21f32;
    background: #fff2f3;
    color: #a7192d;
    box-shadow: 0 0 0 2px rgba(178,31,50,.12);
}

.multi-designer-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
    gap: 1.25rem;
    align-items: start;
}

.multi-designer-controls {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #d6dce5;
    border-radius: 16px;
    background: #f8fafc;
}

.design-source-grid {
    display: grid;
    gap: 1rem;
}

.design-upload-box,
.design-text-box {
    display: grid;
    gap: .65rem;
    padding: 1rem;
    border: 1px solid #d6dce5;
    border-radius: 14px;
    background: #fff;
}

.design-upload-box span,
.design-text-box > label {
    font-weight: 700;
}

.location-object-chooser {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .6rem;
}

.object-select {
    min-height: 42px;
    border: 1px solid #cfd7e4;
    border-radius: 10px;
    background: #fff;
    font-weight: 700;
}

.object-select.selected {
    border-color: #b21f32;
    background: #fff2f3;
    color: #a7192d;
}

.location-design-summary {
    display: grid;
    gap: .3rem;
    padding: .9rem;
    border-radius: 12px;
    background: #eaf6ee;
}

.location-design-summary span {
    color: #42604d;
}

.multi-permission-confirmation {
    margin-top: 1.15rem;
    padding: 1rem;
    border: 2px solid #d6dce5;
    border-radius: 14px;
    background: #fff;
}

@media (max-width: 900px) {
    .multi-designer-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .multi-location-tabs {
        grid-template-columns: 1fr 1fr;
    }
}


/* v20.1 designer visibility and removal fixes */
.multi-designer-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
    overflow: hidden;
}

.multi-designer-layout .designer-canvas-wrap {
    min-width: 0;
    overflow: hidden;
}

#multiLocationCanvas {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    min-height: 440px;
    max-height: 680px;
    touch-action: none;
    cursor: move;
    border-radius: 13px;
    background: #fff;
}

.multi-designer-controls {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: 300px;
    box-sizing: border-box;
}

.multi-remove-grid {
    grid-template-columns: 1fr;
}

.multi-remove-grid .button {
    width: 100%;
}

@media (max-width: 1180px) {
    .multi-designer-layout {
        grid-template-columns: 1fr;
    }

    .multi-designer-controls {
        max-width: none;
    }

    #multiLocationCanvas {
        min-height: 380px;
    }
}


/* v20.3 pickup and shipping checkout */
.fulfillment-card {
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid #d6dce5;
    border-radius: 18px;
    background: #fff;
}

.fulfillment-choice-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .85rem;
}

.fulfillment-choice {
    display: flex;
    gap: .8rem;
    align-items: flex-start;
    min-height: 92px;
    padding: 1rem;
    border: 1px solid #cfd7e4;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
}

.fulfillment-choice.selected {
    border-color: #b21f32;
    background: #fff2f3;
    box-shadow: 0 0 0 2px rgba(178,31,50,.10);
}

.fulfillment-choice input {
    margin-top: .2rem;
    width: 20px;
    height: 20px;
}

.fulfillment-choice span {
    display: grid;
    gap: .3rem;
}

.fulfillment-choice small {
    color: #596577;
    line-height: 1.4;
}

.shipping-address-panel {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 14px;
    background: #f7f9fc;
}

.shipping-address-panel[hidden] {
    display: none;
}

.shipping-estimate-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .8rem;
}

.shipping-estimate-card > div {
    display: grid;
    gap: .3rem;
    padding: .9rem;
    border: 1px solid #d6dce5;
    border-radius: 12px;
    background: #fff;
}

.shipping-estimate-card span {
    color: #596577;
    font-size: .9rem;
}

.shipping-estimate-note {
    margin: 0;
    color: #596577;
    font-size: .9rem;
    line-height: 1.45;
}

@media (max-width: 720px) {
    .fulfillment-choice-grid,
    .shipping-estimate-card {
        grid-template-columns: 1fr;
    }
}

/* Unified v1.0.1: keep the approved v20.5 public look while using the unified backend. */
.public-order-form{display:grid;gap:28px}.builder-product-card{display:grid;grid-template-columns:1fr 300px;gap:24px;background:#fff;border:1px solid #d9dee8;border-radius:18px;padding:24px;box-shadow:0 12px 36px rgba(20,28,48,.08)}.builder-product-fields{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px}.builder-price-box{background:#101827;color:#fff;border-radius:14px;padding:20px;display:flex;flex-direction:column;justify-content:center}.builder-price-box span,.builder-price-box small{color:#cdd5e4}.builder-price-box strong{font-size:1.65rem;margin:3px 0}.front-position-controls{margin-bottom:18px}.compact-front-grid{grid-template-columns:repeat(3,1fr);gap:8px}.compact-front-grid .placement-choice-card{padding:10px;min-height:108px}.compact-front-grid .placement-choice-card>strong{font-size:.85rem}.location-upload-stack{margin:10px 0}.location-object-chooser{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.object-choice.selected{border-color:#9b1c31;background:#fdecef;color:#741426}.multi-designer-controls label>span{font-weight:700}.embroidery-style-inline{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center;margin-top:22px;padding-top:22px;border-top:1px solid #d9dee8}.embroidery-style-inline>div:first-child{display:grid;gap:5px}.embroidery-style-inline>div:first-child span{color:#667085}.compact-style-grid{grid-template-columns:1fr 1fr}.compact-style-grid .style-select-card{min-height:105px}.designed-location-summary{margin-top:18px;background:#f4f6fa;border-radius:10px;padding:12px 14px}.order-details-shell{background:#fff;border:1px solid #d9dee8;border-radius:18px;padding:28px;box-shadow:0 12px 36px rgba(20,28,48,.08)}.fulfillment-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fulfillment-options .extra-location-card{min-height:76px}.shipping-address-panel{margin-top:16px;padding-top:8px}.public-rights{margin-top:18px}.final-order-bar{position:sticky;bottom:12px;z-index:10;box-shadow:0 15px 45px rgba(14,23,41,.22)}.premium-footer a{color:#dce3ef}.premium-footer span{display:block}.public-status-shell{width:min(820px,calc(100% - 32px));margin:60px auto}.public-status-card{background:#fff;padding:36px;border-radius:18px;border:1px solid #d9dee8;box-shadow:0 12px 36px rgba(20,28,48,.08)}
@media(max-width:850px){.builder-product-card,.embroidery-style-inline{grid-template-columns:1fr}.builder-product-fields{grid-template-columns:1fr 1fr}.multi-designer-layout{grid-template-columns:1fr}.multi-designer-controls{position:static}.final-order-bar{position:static}.fulfillment-options{grid-template-columns:1fr}}
@media(max-width:560px){.builder-product-fields{grid-template-columns:1fr}.multi-location-tabs{grid-template-columns:1fr 1fr}.compact-front-grid{grid-template-columns:1fr 1fr 1fr}.compact-front-grid .placement-mini-hat{display:none}.compact-front-grid .placement-choice-card{min-height:58px}.grid.two{grid-template-columns:1fr}.configurator-wrap{width:min(100% - 20px,1180px)}}
.public-summary-list{margin:24px 0}.public-summary-list>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e2e6ee}.public-notice{padding:14px;border-radius:10px;background:#fff5dc;border:1px solid #e9c56e;margin:18px 0}.public-mockup-preview{display:block;width:min(100%,760px);margin:18px auto;border:1px solid #d9dee8;border-radius:12px}.center{text-align:center}
.customer-order-timeline{list-style:none;margin:28px 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.customer-order-timeline li{position:relative;display:grid;grid-template-columns:38px 1fr;gap:10px;padding-right:16px}.customer-order-timeline li:not(:last-child)::after{content:"";position:absolute;left:19px;top:19px;width:calc(100% - 4px);height:3px;background:#d9dee8;z-index:0}.timeline-marker{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e8ebf0;color:#657084;font-weight:800}.customer-order-timeline li.complete .timeline-marker{background:#176b4d;color:#fff}.customer-order-timeline li.current .timeline-marker{background:#a91830;color:#fff;box-shadow:0 0 0 5px #f8dce1}.customer-order-timeline li strong{display:block;color:#131d31;margin:7px 0 6px}.customer-order-timeline li p{font-size:.9rem;line-height:1.45;color:#657084;margin:0}.customer-tracking{background:#eff8f3;border:1px solid #bcdcca;border-radius:12px;padding:16px 18px;margin:22px 0}.customer-tracking h2{font-size:1rem;margin:0 0 8px}.customer-tracking p{margin:6px 0}.payment-success-check{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:50%;background:#176b4d;color:#fff;font-size:2rem;font-weight:900}
@media (max-width:700px){.public-status-shell{width:min(100% - 20px,820px);margin:24px auto}.public-status-card{padding:24px 18px}.customer-order-timeline{grid-template-columns:1fr;gap:0}.customer-order-timeline li{grid-template-columns:38px 1fr;padding:0 0 24px}.customer-order-timeline li:not(:last-child)::after{width:3px;height:100%;left:18px;top:19px}.customer-order-timeline li strong{margin-top:7px}.public-status-card .actions{display:grid}.public-status-card .actions a{width:100%}}
.location-file-row[hidden]{display:none!important}

/* Unified v1.0.2: production-safe cap designer. */
.safe-area-readout{margin-top:8px;padding:8px 12px;border:1px solid #f1a6b4;border-radius:9px;background:#fff3f5;color:#76182b;font-size:.9rem;font-weight:800;text-align:center}.designer-limit-note{display:block;margin-top:5px;color:#667085;font-weight:500;font-size:.82rem}.final-order-bar{position:static!important;bottom:auto!important;margin-top:6px}.designer-canvas-wrap{position:relative}

/* v1.1 customer account */
.account-page{max-width:620px;margin:56px auto;padding:0 20px}.account-card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 16px 50px rgba(15,23,42,.12)}.account-card form{display:grid;gap:16px}.account-card label{display:grid;gap:7px;font-weight:700}.account-card input{padding:12px;border:1px solid #cbd5e1;border-radius:10px}.account-submit{margin-top:6px}.account-dashboard{padding:48px 0 72px;background:#f6f7f9;min-height:70vh}.account-header{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.account-section{background:#fff;border-radius:18px;padding:24px;margin-top:20px;box-shadow:0 8px 30px rgba(15,23,42,.06)}.saved-design-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.saved-design-card{border:1px solid #e2e8f0;border-radius:14px;padding:16px;display:grid;gap:12px}.saved-design-card>div:nth-child(2){display:grid;gap:4px}.saved-design-card span{color:#64748b;font-size:.9rem}.saved-design-icon{height:72px;border-radius:10px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:.12em}.public-table table{width:100%;border-collapse:collapse}.public-table th,.public-table td{padding:12px;border-bottom:1px solid #e2e8f0;text-align:left}.empty-state{padding:18px;color:#64748b;background:#f8fafc;border-radius:12px}@media(max-width:720px){.account-header{display:grid;align-items:start}.account-section{padding:16px}.public-table{overflow:auto}}
.organization-membership-grid{display:grid;gap:14px;margin-top:18px}.organization-membership-card{display:grid;grid-template-columns:150px minmax(180px,1fr) auto;gap:20px;align-items:center;padding:18px;border:1px solid #dbe3dd;border-radius:16px;background:#fbfcfb}.organization-membership-logo{height:88px;display:grid;place-items:center;padding:10px;border-radius:12px;background:#fff;border:1px solid #e2e8e3}.organization-membership-logo img{display:block;max-width:100%;max-height:68px;object-fit:contain}.organization-membership-logo span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#153c2d;color:#fff;font-weight:900}.organization-membership-details h3{margin:0 0 5px}.organization-membership-details p{margin:0;color:#56675e}.organization-membership-details small{display:block;margin-top:5px;color:#718078}.organization-membership-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.organization-membership-actions .button{white-space:nowrap}@media(max-width:760px){.organization-membership-card{grid-template-columns:92px 1fr}.organization-membership-logo{height:72px}.organization-membership-actions{grid-column:1/-1;justify-content:stretch}.organization-membership-actions .button{flex:1;text-align:center}.organization-access-section .section-heading-row h2{font-size:1.7rem}}

.volume-pricing{display:grid;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(148,163,184,.35);font-size:.82rem}.volume-pricing b{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.volume-pricing span{color:#475569}

/* v1.2.0 customer self-registration */
.account-card-wide{max-width:760px}.account-switch{margin-top:18px;text-align:center}.account-switch a{font-weight:800}.returning-customer{margin:18px 0;border:1px solid rgba(15,23,42,.14);border-radius:14px;background:#f8fafc}.returning-customer summary{cursor:pointer;font-weight:800;padding:14px 16px}.returning-customer-inner{padding:0 16px 16px}.returning-customer-inner p{margin-top:0;color:#5b6472}.returning-customer-inner label{display:block}.returning-customer-inner input{width:100%}

/* v1.2.1: finish the design before choosing quantity and reviewing the total */
.builder-product-card-simple{grid-template-columns:1fr}.builder-product-fields-simple{grid-template-columns:1fr 1fr}
.order-total-shell{background:#fff;border:1px solid #d9dee8;border-radius:18px;padding:28px;box-shadow:0 12px 36px rgba(20,28,48,.08)}
.order-total-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}.quantity-price-panel{display:grid;grid-template-columns:minmax(160px,.65fr) 1fr;gap:16px;align-content:start}.final-quantity-label input{font-size:1.3rem;font-weight:800}.final-unit-price{border:1px solid #d9dee8;border-radius:14px;padding:18px;display:flex;flex-direction:column;justify-content:center}.final-unit-price span{font-weight:700;color:#475467}.final-unit-price strong{font-size:1.9rem;color:#101827;margin:3px 0}.final-unit-price small{color:#667085}.final-volume-pricing{grid-column:1/-1;background:#f5f7fb;border-radius:12px;padding:15px 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px 14px}.final-volume-pricing b{grid-column:1/-1;text-transform:uppercase;font-size:.82rem;letter-spacing:.06em}.checkout-total-card{background:#101827;color:#fff;border-radius:15px;padding:22px;display:grid;gap:13px}.checkout-total-card>div{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:11px}.checkout-total-card span,.checkout-total-card small{color:#d6deeb}.checkout-total-card strong{font-size:1.08rem}.checkout-total-card .estimated-total-row{border-bottom:0;padding-top:5px;padding-bottom:0}.checkout-total-card .estimated-total-row span{font-weight:800;color:#fff}.checkout-total-card .estimated-total-row strong{font-size:1.8rem;color:#fff}.estimate-note{line-height:1.45}.checkout-total-card #taxRateLabel{font-size:.76rem}
@media(max-width:850px){.builder-product-fields-simple,.order-total-grid,.quantity-price-panel{grid-template-columns:1fr}.final-volume-pricing{grid-template-columns:1fr 1fr}}


/* v1.2.2 simple embroidery thread choices */
.thread-color-field{display:flex;flex-direction:column;gap:.45rem}.field-label{font-weight:800;color:#111827}.selected-thread-color{min-height:46px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;padding:.75rem .9rem;font-weight:800;display:flex;align-items:center}.thread-color-picker{margin-top:.8rem}.thread-color-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.thread-swatch{appearance:none;border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:.55rem .3rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;font:inherit;font-size:.78rem;font-weight:700;color:#172033;cursor:pointer;min-height:72px}.thread-swatch:hover{border-color:#a91d32}.thread-swatch.selected{border:2px solid #b21f35;background:#fff5f6;box-shadow:0 0 0 2px rgba(178,31,53,.09)}.thread-swatch-dot{display:block;width:30px;height:30px;border-radius:50%;background:var(--thread-swatch);border:1px solid rgba(15,23,42,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.more-thread-colors{margin-top:.65rem}.more-thread-colors summary{cursor:pointer;font-weight:800;color:#a91d32;padding:.45rem 0}.more-thread-colors[open] summary{margin-bottom:.5rem}@media(max-width:700px){.thread-color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v1.2.3: compact two-row quantity/price table */
.final-volume-pricing{grid-column:1/-1;background:#f5f7fb;border:1px solid #e2e7ef;border-radius:12px;padding:14px 16px;overflow-x:auto}
.final-volume-pricing>b{display:block;margin-bottom:9px;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;color:#344054}
.price-break-table{display:grid;gap:0;min-width:560px;border:1px solid #d9dee8;border-radius:9px;overflow:hidden;background:#fff}
.price-break-row{display:grid;grid-template-columns:90px repeat(7,minmax(58px,1fr));align-items:stretch}
.price-break-row+ .price-break-row{border-top:1px solid #d9dee8}
.price-break-row>span,.price-break-row>strong{display:flex;align-items:center;justify-content:center;min-height:42px;padding:7px 6px;border-right:1px solid #e5e9f0;text-align:center}
.price-break-row>*:last-child{border-right:0}
.price-break-row>span{justify-content:flex-start;padding-left:12px;background:#eef1f5;color:#1f2937;font-weight:800}
.price-break-row>strong{font-size:.95rem;color:#111827}
.price-break-qty>strong{background:#f8fafc}
@media(max-width:650px){.final-volume-pricing{padding:12px}.price-break-table{min-width:520px}}

/* v1.2.4 launch polish: visual hat styles, obvious bulk pricing, mobile-safe quantity feedback */
.product-choice-shell{display:grid;grid-template-columns:1fr;gap:18px}.hat-style-heading{display:flex;justify-content:space-between;gap:16px;align-items:end}.hat-style-heading>div{display:grid;gap:4px}.hat-style-heading strong{font-size:1.12rem}.hat-style-heading span{color:#667085}.hat-style-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.hat-style-card{position:relative;display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;padding:12px;border:1px solid #d9dee8;border-radius:14px;background:#fff;color:#111827;text-decoration:none;transition:.15s ease}.hat-style-card:hover{border-color:#b21f35;box-shadow:0 8px 24px rgba(15,23,42,.08);transform:translateY(-1px)}.hat-style-card.selected{border:2px solid #b21f35;background:#fff7f8;box-shadow:0 0 0 3px rgba(178,31,53,.08)}.hat-style-card img{width:92px;height:78px;object-fit:contain;border-radius:10px;background:#f7f8fa}.hat-style-card-copy{display:grid;gap:3px;min-width:0}.hat-style-card-copy>strong{font-size:.82rem;color:#a91d32;text-transform:uppercase;letter-spacing:.04em}.hat-style-card-copy>b{font-size:1rem}.hat-style-card-copy small{color:#596577;line-height:1.35}.hat-selected-badge{position:absolute;right:9px;top:9px;padding:3px 7px;border-radius:999px;background:#b21f35;color:#fff;font-size:.68rem;font-weight:800}.visually-supported-fields{padding-top:2px}.selected-hat-details{display:flex;flex-wrap:wrap;gap:6px 14px;padding:13px 15px;border-radius:11px;background:#f7f9fc;border:1px solid #e2e7ef}.selected-hat-details strong{width:100%}.selected-hat-details span{font-weight:700;color:#344054}.selected-hat-details small{width:100%;color:#667085;line-height:1.4}.bulk-pricing-callout{display:grid;gap:4px;padding:14px 16px;border-radius:12px;background:#101827;color:#fff}.bulk-pricing-callout strong{font-size:1rem}.bulk-pricing-callout span{color:#fff;font-weight:700;line-height:1.5}.bulk-pricing-callout small{color:#cbd5e1}.volume-pricing-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.volume-pricing-title b{text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;color:#344054}.volume-pricing-title span{font-size:.9rem;font-weight:800;color:#a91d32}.price-break-row>strong.active-tier{background:#fff0f2;color:#a91d32;box-shadow:inset 0 0 0 2px #c33a50}.inspiration-card img,.hero-photo img,.local-story-image img{object-fit:cover}.inspiration-card img{aspect-ratio:4/3}.hero-photo img{width:100%;height:100%}
@media(max-width:700px){.hat-style-card-grid{grid-template-columns:1fr}.hat-style-card{grid-template-columns:82px 1fr}.hat-style-card img{width:82px;height:72px}.bulk-pricing-callout span{font-size:.88rem}.volume-pricing-title{align-items:flex-start;flex-direction:column;gap:4px}.price-break-table{min-width:490px}.price-break-row{grid-template-columns:72px repeat(7,minmax(54px,1fr))}.order-total-shell{padding:20px 14px}.final-unit-price strong{font-size:1.65rem}}

/* v1.2.7 preferred customer contact method */
.preferred-contact-fieldset{border:0;padding:0;margin:18px 0 6px;min-width:0}.preferred-contact-fieldset legend{font-weight:800;font-size:1rem;margin-bottom:10px}.preferred-contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.contact-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid #d7dde5;border-radius:12px;padding:12px 14px;background:#fff;cursor:pointer}.contact-choice:has(input:checked){border-color:#b11f35;background:#fff5f6;box-shadow:0 0 0 1px #b11f35}.contact-choice input{width:22px;height:22px;min-width:22px;flex:0 0 22px;margin:2px 0 0;padding:0;accent-color:#b11f35}.contact-choice span{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:2px;overflow-wrap:anywhere}.contact-choice strong{font-size:.95rem}.contact-choice small{color:#657080;line-height:1.25}@media(max-width:680px){.preferred-contact-options{grid-template-columns:1fr}.contact-choice{padding:13px 14px}}

/* v1.2.9 customer checkout/account launch cleanup */
.checkout-account-callout{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff7f8;border:1px solid #e6b7c0;border-radius:16px;padding:18px 20px}.checkout-account-callout>div:first-child{display:grid;gap:4px}.checkout-account-callout p{margin:0;color:#667085}.checkout-account-actions{display:flex;gap:10px;flex-wrap:wrap}.checkout-login-required{display:grid;gap:8px;justify-items:end}.checkout-login-required>div{display:flex;gap:8px;flex-wrap:wrap}.premium-header .nav-account{font-weight:900}.premium-header .nav-account{border:1px solid rgba(255,255,255,.45);border-radius:9px;padding:8px 11px}
@media(max-width:980px){.premium-header nav a.nav-account{display:inline-flex!important}.premium-header nav{display:flex;align-items:center;gap:8px}.premium-header .nav-account{font-size:.88rem;padding:8px 10px}.premium-header .nav-cta{margin-left:0}}
@media(max-width:650px){.checkout-account-callout{display:grid;padding:16px}.checkout-account-actions,.checkout-account-actions .button{width:100%}.checkout-login-required{justify-items:stretch;width:100%}.checkout-login-required>div{display:grid}.checkout-login-required .button{width:100%;text-align:center}.premium-header .nav-account{font-size:.8rem;padding:8px}.premium-header .nav-cta{font-size:.8rem;padding:8px}.premium-header nav{gap:5px}}


/* v1.2.10 mobile header: customer sign-in is the primary action */
.premium-header .nav-account.nav-cta{border-color:var(--accent);font-weight:900}

/* v1.2.13 selected-hat photo views: replace the duplicate detail panel with useful visual angles. */
.selected-hat-preview{display:grid;gap:10px;padding:14px;border:1px solid #e2e7ef;border-radius:14px;background:#f8fafc}
.selected-hat-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.selected-hat-preview-head strong{font-size:1rem}.selected-hat-preview-head span{font-size:.82rem;color:#667085;font-weight:700}
.selected-hat-preview-stage{display:grid;place-items:center;min-height:210px;border-radius:12px;background:#fff;overflow:hidden}.selected-hat-preview-stage img{display:block;width:100%;height:230px;object-fit:contain;transform:scaleX(1);transition:transform .15s ease}.selected-hat-preview-stage img.mirror-hat-photo{transform:scaleX(-1)}
.selected-hat-view-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hat-view-button{appearance:none;border:1px solid #cfd6e1;border-radius:10px;background:#fff;color:#182033;font-weight:800;padding:10px 7px;cursor:pointer}.hat-view-button.selected{border-color:#b21f35;background:#fff1f3;color:#a91d32;box-shadow:inset 0 0 0 1px #b21f35}.hat-view-button:disabled{opacity:.42;cursor:not-allowed}.hat-view-note{color:#667085;line-height:1.4}
@media(max-width:700px){.selected-hat-preview{padding:12px}.selected-hat-preview-stage{min-height:180px}.selected-hat-preview-stage img{height:200px}.selected-hat-view-buttons{gap:6px}.hat-view-button{padding:9px 4px;font-size:.85rem}.selected-hat-preview-head{align-items:flex-start}.selected-hat-preview-head span{text-align:right}}

/* v2.1.18 interactive hat rotation */
.interactive-hat-viewer{position:relative;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none}.interactive-hat-viewer:focus-visible{box-shadow:0 0 0 3px rgba(178,31,53,.24);border-color:#b21f35}.interactive-hat-viewer.is-dragging{cursor:grabbing}.hat-rotate-cue{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);z-index:2;padding:5px 9px;border-radius:999px;background:rgba(16,24,39,.82);color:#fff;font-size:.72rem;font-weight:800;white-space:nowrap;pointer-events:none}.interactive-hat-viewer:hover .hat-rotate-cue,.interactive-hat-viewer:focus .hat-rotate-cue{background:#a91d32}@media(max-width:700px){.hat-rotate-cue{bottom:7px;font-size:.68rem}}

/* v1.3.9 public policy and SMS compliance */
.policy-page{padding:64px 0 80px;background:#f7f5ef}.policy-wrap{max-width:920px}.policy-wrap h1{font-size:clamp(2.2rem,5vw,4rem);margin:.1em 0 .15em;color:#12291f}.policy-effective{color:#68736e;margin:0 0 2rem}.policy-wrap h2{margin:2rem 0 .6rem;color:#173629;font-size:1.4rem}.policy-wrap p{line-height:1.75;color:#36423d}.policy-wrap a{color:#1f6b4b;font-weight:700}.policy-wrap strong{color:#172b22}

/* v1.5.3 brand-organized public hat selector */
.hat-brand-groups{display:grid;gap:20px}.hat-brand-group{display:grid;gap:10px}.hat-brand-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 8px;border-bottom:1px solid #e3e7ee}.hat-brand-heading strong{font-size:1rem;color:#182033}.hat-brand-heading span{font-size:.8rem;font-weight:700;color:#667085}.hat-brand-group .hat-style-card-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.hat-brand-group .hat-style-card{min-height:132px}
@media(max-width:700px){.hat-brand-groups{gap:16px}.hat-brand-heading{padding-bottom:6px}.hat-brand-group .hat-style-card{min-height:auto}}

/* v1.7.1 guided Build Your Hat journey */
.builder-journey .progress-track{grid-template-columns:repeat(4,1fr)}
.builder-journey .progress-names{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.builder-journey .progress-names a{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 7px;border-radius:9px;color:#667085;text-decoration:none;font-weight:800}.builder-journey .progress-names a b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e7eaf0;color:#526071;font-size:.78rem}.builder-journey .progress-names a.active{background:#fff0f2;color:#8e172a}.builder-journey .progress-names a.active b{background:#aa1e34;color:#fff}.builder-step-kicker{color:#a91d32!important;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem!important;font-weight:900}.builder-step-action{display:flex;justify-content:flex-end;padding-top:4px}.multi-location-tab small{display:block;font-size:.68rem;line-height:1;color:#697586;margin-top:3px}.multi-location-tab.selected small{color:inherit}.product-choice-shell,.multi-location-designer,.order-details-shell,.order-total-shell{scroll-margin-top:94px}
@media(max-width:700px){.builder-journey{padding:12px!important}.builder-journey .progress-heading{display:none}.builder-journey .progress-names{gap:3px}.builder-journey .progress-names a{display:grid;justify-items:center;gap:3px;padding:7px 3px;font-size:.7rem;text-align:center}.builder-journey .progress-names a b{width:22px;height:22px}.builder-step-action{display:grid}.builder-step-action .button{width:100%;text-align:center}.multi-location-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.multi-location-tab{padding:9px 4px;font-size:.78rem}.multi-location-designer,.order-details-shell,.builder-product-card{padding:18px 14px}.designer-intro{font-size:.93rem}}

/* v1.7.4 — pictured color selection for the main hat builder */
.builder-native-color-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
.builder-color-catalog{display:grid;gap:13px;padding:16px;border:1px solid #dbe1e9;border-radius:15px;background:#f8fafc}
.builder-color-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.builder-color-heading>div{display:grid;gap:3px}.builder-color-heading strong{font-size:1.05rem}.builder-color-heading span{color:#667085;font-size:.87rem}.builder-color-heading>span{text-align:right}.builder-color-heading>span b{color:#182033}
.builder-color-search{display:grid;gap:5px}.builder-color-search>span{font-size:.78rem;font-weight:900;color:#344054}.builder-color-search input{min-height:44px;background:#fff}
.builder-color-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-height:470px;padding:2px 7px 2px 2px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.builder-color-card{position:relative;display:grid;grid-template-rows:105px auto;gap:7px;min-width:0;padding:8px;border:1px solid #d6dde6;border-radius:12px;background:#fff;color:#182033;cursor:pointer;text-align:center;font:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.builder-color-card:hover{border-color:#b21f35;box-shadow:0 8px 20px rgba(15,23,42,.08);transform:translateY(-1px)}.builder-color-card.selected{border:2px solid #b21f35;background:#fff5f7;box-shadow:0 0 0 3px rgba(178,31,53,.10)}.builder-color-card.selected::after{content:"✓";position:absolute;right:7px;top:7px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#b21f35;color:#fff;font-size:.78rem;font-weight:900}.builder-color-card img{display:block;width:100%;height:105px;object-fit:contain;border-radius:8px;background:#f6f7f9}.builder-color-card span{align-self:center;min-height:2.5em;font-size:.78rem;line-height:1.25;font-weight:800;overflow-wrap:anywhere}.builder-color-card[hidden]{display:none}.builder-color-empty{padding:24px;margin:0;border:1px dashed #c5cdd8;border-radius:10px;background:#fff;color:#667085;text-align:center}
@media(max-width:900px){.builder-color-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.builder-color-catalog{padding:12px}.builder-color-heading{align-items:flex-start;flex-direction:column;gap:7px}.builder-color-heading>span{text-align:left}.builder-color-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:520px;gap:8px}.builder-color-card{grid-template-rows:92px auto;padding:7px}.builder-color-card img{height:92px}.builder-color-card span{font-size:.75rem}}

/* v1.7.2 public help, trust, and Organization Stores information */
.info-hero{padding:64px 0;background:linear-gradient(125deg,#10281f,#1e4936);color:#fff}.info-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.info-hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1;margin:.12em 0 .2em;max-width:900px}.info-hero p{max-width:760px;color:#dce9e1;font-size:1.08rem;line-height:1.65}.info-hero .button{margin-top:12px}.info-page{padding:54px 0 82px;background:#f6f4ee}.info-narrow{max-width:900px}.info-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-card{padding:26px;border:1px solid #d9ded9;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(15,35,27,.07)}.info-card h2{font-size:1.75rem;margin:.25rem 0 1rem}.info-contact-line{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid #e7e9e6;color:#172b22;text-decoration:none}.info-contact-line span{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:#68766e}.info-action-list{display:grid;gap:10px}.info-action-list a{display:grid;gap:3px;padding:14px;border:1px solid #dde2de;border-radius:12px;color:#172b22;text-decoration:none}.info-action-list a:hover{border-color:#1f6b4b;background:#f4f9f5}.info-action-list span{color:#637068;font-size:.9rem;line-height:1.45}.faq-list{display:grid;gap:11px}.faq-list details{border:1px solid #d9ded9;border-radius:14px;background:#fff;padding:0 18px}.faq-list summary{padding:18px 0;font-weight:900;cursor:pointer;color:#172b22}.faq-list p{margin:0 0 18px;color:#4f5e55;line-height:1.65}.info-final-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:26px;padding:24px;border-radius:17px;background:#152c22;color:#fff}.info-final-cta h2{margin:0 0 5px}.info-final-cta p{margin:0;color:#d8e5dd}.guide-step-grid,.organization-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.guide-step-grid article,.organization-benefit-grid article{padding:21px;border:1px solid #d9ded9;border-radius:16px;background:#fff}.guide-step-grid article>span,.organization-benefit-grid article>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#a91d32;color:#fff;font-weight:900}.guide-step-grid h2,.organization-benefit-grid h2{font-size:1.2rem;margin:.8rem 0 .45rem}.guide-step-grid p,.organization-benefit-grid p{color:#5f6d65;line-height:1.55;margin:0}.artwork-help-card{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:20px;padding:26px;border-radius:18px;background:#fff;border:1px solid #d9ded9}.artwork-help-card h2{margin:.25rem 0}.artwork-help-card p,.artwork-help-card li{color:#56645c;line-height:1.6}.organization-request-layout{margin-top:24px}.dark-list li{color:#263c32}.request-form-card form{display:grid;gap:2px}.request-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:800px){.info-two-column,.artwork-help-card{grid-template-columns:1fr}.guide-step-grid,.organization-benefit-grid{grid-template-columns:1fr 1fr}.info-final-cta{align-items:flex-start;flex-direction:column}.info-hero{padding:46px 0}}
@media(max-width:560px){.guide-step-grid,.organization-benefit-grid{grid-template-columns:1fr}.info-page{padding:36px 0 58px}.info-card{padding:20px}.info-final-cta .actions{display:grid;width:100%}.info-final-cta .button{width:100%;text-align:center}}

/* v1.9.0 public multi-hat cart and complete mobile navigation */
.public-desktop-nav{align-items:center;gap:14px}.public-desktop-nav a{white-space:nowrap}.premium-header .brand-logo img{width:230px;max-width:24vw}
@media(max-width:1150px){.public-desktop-nav{display:none!important}.public-mobile-menu{display:block!important;position:relative;margin-left:auto;color:#fff}.public-mobile-menu summary{cursor:pointer;list-style:none;padding:.7rem .85rem;border:1px solid rgba(255,255,255,.45);border-radius:.65rem;font-weight:900}.public-mobile-menu summary::-webkit-details-marker{display:none}.public-mobile-menu>div{position:absolute;right:0;top:calc(100% + .5rem);z-index:100;display:grid;min-width:235px;padding:.6rem;border-radius:.8rem;background:#101827;box-shadow:0 18px 45px rgba(0,0,0,.28)}.public-mobile-menu a{padding:.72rem .8rem;border-radius:.5rem;color:#fff;text-decoration:none;font-weight:800}.premium-header .brand-logo img{width:170px;max-width:45vw}}
.public-mobile-menu{display:none}.public-cart-nav{display:inline-flex!important;align-items:center;gap:.35rem}.public-cart-nav span{display:grid;place-items:center;min-width:1.45rem;height:1.45rem;padding:0 .3rem;border-radius:999px;background:#a91d32;color:#fff;font-size:.75rem}.website-cart-page{padding:52px 0 84px;background:#f5f4ef;min-height:70vh}.website-cart-wrap{max-width:1180px}.website-cart-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.website-cart-heading h1{font-size:clamp(2.4rem,5vw,4rem);margin:.12em 0}.website-cart-heading p{margin:0;color:#627068}.website-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.website-cart-items{display:grid;gap:14px}.website-cart-item{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:18px;padding:18px;border:1px solid #d9ded9;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,35,27,.06)}.website-cart-thumb{display:grid;place-items:center;min-height:125px;border-radius:13px;background:#f4f7f4;overflow:hidden}.website-cart-thumb img{width:100%;height:140px;object-fit:contain}.website-cart-copy>span{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#a15c1a}.website-cart-copy h2{margin:.2rem 0 .55rem;font-size:1.3rem}.website-cart-copy p{color:#59665f;line-height:1.5}.website-cart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.website-cart-actions form{margin:0}.website-cart-price{display:grid;justify-items:end;align-content:start;gap:4px}.website-cart-price>strong{font-size:1.35rem}.website-cart-price>small{color:#66736c}.website-cart-price form{display:grid;justify-items:end;gap:4px;margin-top:10px}.website-cart-price label{display:flex;align-items:center;gap:8px;font-size:.8rem}.website-cart-price input{width:70px;padding:.55rem}.danger-text{color:#9d1a30!important}.website-cart-summary{position:sticky;top:100px;display:grid;gap:8px;padding:22px;border-radius:17px;background:#102c21;color:#fff}.website-cart-summary>span,.website-cart-summary>small{color:#d6e4dc}.website-cart-summary>strong{font-size:2rem}.website-cart-summary .button{margin-top:10px}.website-cart-checkout{display:grid;gap:18px;margin-top:26px;padding:26px;border:1px solid #d9ded9;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(15,35,27,.07)}.website-checkout-title h2{margin:.2rem 0}.website-checkout-title p{color:#627068}.website-cart-checkout label{display:grid;gap:6px;font-weight:800}.website-cart-checkout .confirmation-check{display:flex}.website-fulfillment{border:0;padding:0;margin:0}.website-fulfillment legend{font-weight:900;margin-bottom:10px}.shipping-fields{padding:18px;border:1px solid #d9ded9;border-radius:15px;background:#f7f9f7}.shipping-rate-list{display:grid;gap:8px;margin-top:12px}.website-pay-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border-radius:16px;background:#102c21;color:#fff}.website-pay-bar>div{display:grid;gap:3px}.website-pay-bar span,.website-pay-bar small{color:#d6e4dc}.website-pay-bar strong{font-size:1.7rem}
@media(max-width:850px){.website-cart-layout{grid-template-columns:1fr}.website-cart-summary{position:static}.website-cart-item{grid-template-columns:110px minmax(0,1fr)}.website-cart-price{grid-column:2;justify-items:start}.website-cart-price form{justify-items:start}.website-pay-bar{display:grid}.website-pay-bar .button{width:100%}}
@media(max-width:700px){.public-desktop-nav{display:none!important}.public-mobile-menu{display:block;position:relative;margin-left:auto;color:#fff}.public-mobile-menu summary{cursor:pointer;list-style:none;padding:.7rem .85rem;border:1px solid rgba(255,255,255,.45);border-radius:.65rem;font-weight:900}.public-mobile-menu summary::-webkit-details-marker{display:none}.public-mobile-menu>div{position:absolute;right:0;top:calc(100% + .5rem);z-index:100;display:grid;min-width:235px;padding:.6rem;border-radius:.8rem;background:#101827;box-shadow:0 18px 45px rgba(0,0,0,.28)}.public-mobile-menu a{padding:.72rem .8rem;border-radius:.5rem;color:#fff;text-decoration:none;font-weight:800}.public-mobile-menu a:hover{background:#253045}.website-cart-page{padding:28px 0 56px}.website-cart-heading{display:grid;align-items:start}.website-cart-heading .button{width:100%;text-align:center}.website-cart-item{grid-template-columns:82px minmax(0,1fr);padding:14px;gap:12px}.website-cart-thumb{min-height:82px}.website-cart-thumb img{height:90px}.website-cart-price{grid-column:1/-1;justify-items:stretch}.website-cart-price form{display:flex;align-items:end;justify-content:space-between}.website-cart-actions{display:grid}.website-cart-actions .button,.website-cart-actions form,.website-cart-actions button{width:100%;text-align:center}.website-cart-checkout{padding:18px 14px}.website-pay-bar{padding:17px}.premium-header .header-inner{flex-direction:row!important}.premium-header .brand-logo img{max-width:170px}}

/* v1.6.0 reusable organization stores */
.organization-store-hero{padding:64px 0 52px;background:linear-gradient(135deg,#10281f,#193c2d);color:#fff}.organization-store-hero h1{font-size:clamp(2.5rem,7vw,5.5rem);margin:.08em 0}.organization-store-hero p{max-width:720px;color:#dbe9e1;font-size:1.1rem}.organization-store-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.organization-store-trust span{padding:8px 12px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-weight:800}.organization-store-main{padding:46px 0 80px;background:#f5f4ef}.organization-product{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:34px;background:#fff;border:1px solid #dce1dc;border-radius:24px;padding:28px;box-shadow:0 18px 50px rgba(15,35,27,.09)}.organization-product-image{align-self:start;position:sticky;top:100px}.organization-product-image img{width:100%;max-height:620px;object-fit:contain;border-radius:18px;background:#f5f6f3}.organization-product-copy h2{font-size:clamp(1.8rem,4vw,3rem);margin:.18em 0}.locked-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.locked-details>div{background:#f0f5f1;border-radius:12px;padding:13px}.locked-details span,.locked-details strong{display:block}.locked-details span{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#607066}.organization-price{display:flex;gap:10px;align-items:baseline;margin:16px 0}.organization-price strong{font-size:2rem}.personalization-box,.organization-fulfillment{border:1px solid #d8ded9;border-radius:14px;padding:16px;margin:18px 0}.personalization-box legend,.organization-fulfillment legend{font-weight:900;padding:0 6px}.personalization-review{padding:12px;border-radius:9px;background:#172b22;color:#fff;font-weight:900}.confirmation-check,.organization-fulfillment label{display:flex;flex-direction:row;align-items:flex-start;gap:10px}.confirmation-check input,.organization-fulfillment input{min-width:auto;width:20px;height:20px}.organization-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.organization-shipping{padding:16px;background:#f7f8f6;border-radius:14px}.organization-checkout{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:22px;padding:20px;border-radius:15px;background:#111f19;color:#fff}.organization-checkout div{display:grid}.organization-checkout span,.organization-checkout small{color:#cbd8d0}.organization-checkout strong{font-size:1.65rem}@media(max-width:850px){.organization-product{grid-template-columns:1fr;padding:18px}.organization-product-image{position:static}.locked-details{grid-template-columns:1fr}.organization-checkout{display:grid}.organization-checkout .button{width:100%}}@media(max-width:560px){.organization-order-grid{grid-template-columns:1fr}.organization-store-hero{padding:44px 0}.organization-product{border-radius:16px}}
.organization-artwork-card{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;margin:14px 0;padding:12px;border:1px solid #d8ded9;border-radius:13px;background:#fbfcfa}.organization-artwork-card img{width:96px;height:80px;object-fit:contain;background:#fff;border-radius:8px}.organization-artwork-card div{display:grid;gap:3px}.organization-artwork-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#607066}.organization-artwork-card small{color:#607066}@media(max-width:560px){.organization-artwork-card{grid-template-columns:72px 1fr}.organization-artwork-card img{width:72px;height:65px}}
.remember-me{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;margin:10px 0!important;font-weight:700}.remember-me input{width:20px!important;min-width:20px!important;height:20px!important;margin:0!important}
