﻿:root {
    --ink: #172033;
    --muted: #697386;
    --line: #e5e8ee;
    --soft: #f6f7f9;
    --accent: #2f6fed;
    --accent-dark: #2257bf;
    --white: #ffffff;
    --shadow: 0 20px 60px rgba(23, 32, 51, .10);
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body {
    margin: 0;
    min-height: 100%;
    color: var(--ink);
    background: var(--soft);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button, input, select, textarea { font: inherit; }

.site-header {
    height: 72px;
    padding: 0 clamp(20px, 5vw, 72px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; color: var(--ink); text-decoration: none; }
.brand-logo { display: block; width: clamp(190px, 18vw, 265px); height: auto; max-height: 56px; }
.header-note { color: var(--muted); font-size: 14px; }

.personalize-shell {
    width: min(1180px, calc(100% - 40px));
    margin: 40px auto 64px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: var(--shadow);
}
.preview-panel { min-width: 0; padding: 46px; background: #f2f4f7; border-right: 1px solid var(--line); }
.preview-sticky { position: sticky; top: 24px; }
.preview-heading-mobile { display: none; }
.product-preview {
    position: relative;
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e1e5eb;
    border-radius: 20px;
}
.product-preview > img { width: 100%; height: 100%; object-fit: contain; }
.preview-placeholder { width: 100%; height: 100%; display: grid; place-items: center; align-content: center; gap: 22px; color: #8a93a3; font-size: 13px; }
.preview-product-shape { width: 42%; height: 70%; display: grid; place-items: center; padding: 20px; border-radius: 28px 28px 42px 42px; background: linear-gradient(145deg,#232b39,#596477); box-shadow: 0 20px 35px rgba(23,32,51,.20); }
.preview-demo-text { max-width: 100%; color: #fff; font-family: Georgia, serif; font-size: clamp(16px, 2vw, 27px); text-align: center; overflow-wrap: anywhere; }
.preview-loading { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 14px; background: rgba(255,255,255,.90); color: var(--ink); }
.spinner { width: 34px; height: 34px; border: 3px solid #dce2ec; border-top-color: var(--accent); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.preview-help { margin: 16px 4px 0; color: var(--muted); font-size: 13px; text-align: center; }

.form-panel { padding: 54px 52px; }
.eyebrow { display: block; margin-bottom: 10px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .13em; }
.form-heading h1, .preview-heading-mobile h1 { margin: 0; font-size: clamp(30px, 4vw, 43px); line-height: 1.04; letter-spacing: -.045em; }
.form-heading p { margin: 15px 0 34px; color: var(--muted); font-size: 16px; line-height: 1.55; }
.field { margin-bottom: 24px; }
.field-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 9px; }
.field label { font-size: 14px; font-weight: 750; }
.field-meta { color: #8a93a3; font-size: 12px; white-space: nowrap; }
.field input, .field select, .field textarea {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    color: var(--ink);
    background: #fff;
    border: 1px solid #cfd5df;
    border-radius: 11px;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(47,111,237,.12); }
.field-error { margin-top: 6px; color: #b42318; font-size: 12px; }
.form-status { min-height: 22px; margin: 3px 0 12px; color: var(--muted); font-size: 13px; }
.primary-button { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 12px; color: #fff; background: var(--accent); font-weight: 800; cursor: pointer; transition: background .15s, transform .15s; }
.primary-button:hover { background: var(--accent-dark); }
.primary-button:active { transform: translateY(1px); }

@media (max-width: 850px) {
    .site-header { height: 64px; }
    .header-note { display: none; }
    .personalize-shell { width: 100%; margin: 0; display: block; border: 0; border-radius: 0; box-shadow: none; }
    .preview-panel { padding: 24px 20px 26px; border-right: 0; border-bottom: 1px solid var(--line); }
    .preview-sticky { position: static; }
    .preview-heading-mobile { display: block; margin-bottom: 20px; }
    .preview-heading-mobile h1 { font-size: 28px; }
    .product-preview { width: min(100%, 500px); margin: 0 auto; }
    .form-panel { padding: 32px 20px 50px; }
    .form-heading h1 { display: none; }
    .form-heading .eyebrow { display: none; }
    .form-heading p { margin-top: 0; }
}

/* Hidden must win over the preview overlay display rule. */
.preview-loading[hidden] { display: none !important; }

/* Storefront */
.shop-shell { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding: 64px 0 80px; }
.shop-hero { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.shop-hero h1 { margin: 0; font-size: clamp(40px, 6vw, 68px); line-height: .98; letter-spacing: -.055em; }
.shop-hero p { max-width: 650px; margin: 20px auto 0; color: var(--muted); font-size: 18px; line-height: 1.6; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.shop-product-card { overflow: hidden; display: flex; flex-direction: column; min-width: 0; background: var(--white); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 10px 35px rgba(23,32,51,.07); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.shop-product-card:hover { transform: translateY(-4px); border-color: #cdd5e3; box-shadow: 0 20px 48px rgba(23,32,51,.12); }
.shop-product-image { position: relative; aspect-ratio: 1.22 / 1; overflow: hidden; background: #fff; border-bottom: 1px solid var(--line); }
.shop-product-image img { width: 100%; height: 100%; display: block; object-fit: contain; }
.premium-badge { position: absolute; z-index: 2; top: 16px; left: 16px; padding: 7px 10px; border-radius: 999px; color: #fff; background: var(--ink); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.shop-product-body { flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; padding: 24px; }
.product-kicker { display: block; margin-bottom: 7px; color: var(--accent); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.shop-product-body h2 { margin: 0; font-size: 23px; line-height: 1.12; letter-spacing: -.035em; }
.shop-product-body p { margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.product-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 18px; border-top: 1px solid var(--line); }
.product-price { font-size: 24px; letter-spacing: -.035em; }
.product-next { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); font-size: 14px; font-weight: 800; }
.shop-step-note { margin: 34px auto 0; color: #8a93a3; font-size: 13px; text-align: center; }

@media (max-width: 960px) { .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) {
    .shop-shell { width: min(100% - 28px, 520px); padding: 42px 0 56px; }
    .shop-hero { margin-bottom: 30px; }
    .shop-hero h1 { font-size: 42px; }
    .shop-hero p { font-size: 16px; }
    .product-grid { grid-template-columns: 1fr; gap: 18px; }
}

/* Product-selection flow */
.shop-product-card { color: inherit; text-decoration: none; }
.selection-shell { width: min(1080px, calc(100% - 40px)); margin: 0 auto; padding: 42px 0 80px; }
.back-link { display: inline-flex; margin-bottom: 30px; color: var(--muted); text-decoration: none; font-size: 14px; font-weight: 750; }
.back-link:hover { color: var(--accent); }
.selection-hero { max-width: 720px; margin-bottom: 34px; }
.selection-hero h1 { margin: 0; font-size: clamp(38px, 5vw, 58px); line-height: 1; letter-spacing: -.05em; }
.selection-hero p { margin: 16px 0 0; color: var(--muted); font-size: 17px; line-height: 1.55; }
.color-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.color-card { min-height: 128px; display: grid; grid-template-columns: 58px 1fr auto; align-items: center; gap: 18px; padding: 22px; color: var(--ink); text-decoration: none; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 28px rgba(23,32,51,.06); transition: transform .15s, border-color .15s, box-shadow .15s; }
.color-card:hover { transform: translateY(-3px); border-color: #c9d4e7; box-shadow: 0 14px 34px rgba(23,32,51,.10); }
.color-swatch { width: 58px; height: 58px; display: block; border-radius: 50%; background: var(--swatch); border: 1px solid rgba(23,32,51,.14); box-shadow: inset 0 0 0 5px rgba(255,255,255,.22); }
.color-label { font-size: 18px; font-weight: 800; }
.color-next, .category-next { color: var(--accent); font-size: 13px; font-weight: 800; white-space: nowrap; }
.category-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.category-card { min-height: 150px; display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 18px; padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 8px 28px rgba(23,32,51,.06); }
.category-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; color: var(--accent); background: #eef4ff; font-size: 25px; font-weight: 900; }
.category-card h2 { margin: 0; font-size: 20px; letter-spacing: -.025em; }
.category-card p { margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.category-card-pending .category-next { opacity: .55; }
@media (max-width: 820px) { .color-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .category-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .selection-shell { width: min(100% - 28px,520px); padding-top: 28px; } .color-grid { grid-template-columns: 1fr; } .color-card { min-height: 105px; } .category-card { grid-template-columns: 48px 1fr; } .category-next { grid-column: 2; } }

/* Visual theme browser */
.category-card { color: var(--ink); text-decoration: none; transition: transform .15s, border-color .15s, box-shadow .15s; }
.category-card:hover { transform: translateY(-3px); border-color: #c9d4e7; box-shadow: 0 14px 34px rgba(23,32,51,.10); }
.theme-browser-shell { width: min(1240px, calc(100% - 40px)); }
.theme-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.theme-card { overflow: hidden; color: var(--ink); text-decoration: none; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 28px rgba(23,32,51,.06); transition: transform .15s, border-color .15s, box-shadow .15s; }
.theme-card:hover { transform: translateY(-3px); border-color: #c9d4e7; box-shadow: 0 14px 34px rgba(23,32,51,.10); }
.theme-card-image { aspect-ratio: 1 / 1; display: grid; place-items: center; overflow: hidden; background: #fff; border-bottom: 1px solid var(--line); }
.theme-card-image img { width: 100%; height: 100%; display: block; object-fit: contain; }
.theme-card-body { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; }
.theme-card-body h2 { margin: 0; font-size: 16px; line-height: 1.2; letter-spacing: -.02em; }
.theme-card-body span { color: var(--accent); font-size: 12px; font-weight: 800; white-space: nowrap; }
@media (max-width: 1000px) { .theme-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 720px) { .theme-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 460px) { .theme-grid { grid-template-columns: 1fr; } }


/* Personalization storefront handoff */
.personalize-context { width: min(1180px, calc(100% - 40px)); margin: 28px auto -18px; }
.personalize-back { margin-bottom: 0; }
.personalize-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.personalize-title-row h1 { flex: 1; }
.personalize-price { flex: 0 0 auto; padding-top: 5px; font-size: 26px; letter-spacing: -.035em; }
.selection-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: -18px 0 30px; }
.selection-summary span { display: inline-flex; align-items: center; min-height: 30px; padding: 6px 11px; color: #4f5d73; background: #f2f5fa; border: 1px solid #e1e6ef; border-radius: 999px; font-size: 12px; font-weight: 750; }
@media (max-width: 850px) {
    .personalize-context { width: min(100% - 40px, 500px); margin: 20px auto 0; }
    .personalize-title-row { align-items: center; }
    .personalize-price { font-size: 22px; }
    .selection-summary { margin-top: 0; }
}

/* Update 022 - browser cart */
.header-actions { display:flex; align-items:center; gap:18px; }
.cart-link { display:inline-flex; align-items:center; gap:7px; color:var(--ink); text-decoration:none; font-size:13px; font-weight:800; }
.cart-count { min-width:22px; height:22px; padding:0 6px; display:inline-grid; place-items:center; color:#fff; background:var(--accent); border-radius:999px; font-size:11px; }
.cart-shell { width:min(1040px,calc(100% - 40px)); margin:0 auto; padding:42px 0 80px; }
.cart-hero { margin-bottom:28px; }
.cart-items { display:grid; gap:16px; }
.cart-item { display:grid; grid-template-columns:180px 1fr; gap:24px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 8px 28px rgba(23,32,51,.06); }
.cart-item-image { min-height:180px; display:grid; place-items:center; background:#fff; border-right:1px solid var(--line); }
.cart-item-image img { width:100%; height:100%; max-height:220px; object-fit:contain; }
.cart-item-main { padding:24px 24px 22px 0; }
.cart-item-title { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.cart-item-title h2 { margin:0; font-size:23px; letter-spacing:-.03em; }
.cart-item-title strong { font-size:21px; }
.cart-item-meta { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 24px; }
.cart-item-meta span { padding:6px 10px; color:#4f5d73; background:#f2f5fa; border:1px solid #e1e6ef; border-radius:999px; font-size:12px; font-weight:750; }
.cart-item-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; font-size:13px; font-weight:750; }
.cart-item-actions label { display:flex; align-items:center; gap:7px; }
.cart-qty { width:62px; padding:8px; border:1px solid var(--line); border-radius:9px; }
.cart-item-actions a,.cart-item-actions button { color:var(--accent); background:none; border:0; padding:0; font:inherit; text-decoration:none; cursor:pointer; }
.cart-item-actions button { color:#9a3f45; }
.cart-summary { width:min(440px,100%); margin:24px 0 0 auto; padding:24px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 8px 28px rgba(23,32,51,.06); }
.cart-summary>div:first-child { display:flex; align-items:center; justify-content:space-between; font-size:18px; }
.cart-summary>div:first-child strong { font-size:28px; }
.cart-summary p { margin:10px 0 20px; color:var(--muted); font-size:13px; }
.cart-summary .primary-button { width:100%; }
.cart-empty { padding:52px 30px; text-align:center; background:#fff; border:1px solid var(--line); border-radius:20px; }
.cart-empty h2 { margin:0; font-size:28px; }
.cart-empty p { color:var(--muted); }
.cart-shop-button { width:auto; display:inline-flex; text-decoration:none; margin-top:8px; }
@media(max-width:650px){.header-note{display:none}.cart-shell{width:min(100% - 28px,520px);padding-top:28px}.cart-item{grid-template-columns:1fr}.cart-item-image{border-right:0;border-bottom:1px solid var(--line)}.cart-item-main{padding:20px}.cart-item-title{align-items:center}.cart-item-actions{gap:14px}}
@media(max-width:650px){
    .cart-item-image{min-height:0;padding:14px 18px;}
    .cart-preview-button{width:min(100%,250px);height:240px;margin:0 auto;}
    .cart-preview-button img{width:100%;height:100%;max-height:240px;object-fit:contain;}
}

/* Update 023 - checkout/customer + shipping */
.checkout-shell{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:42px 0 80px}.checkout-hero{margin-bottom:28px}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:start}.checkout-card,.checkout-summary{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 28px rgba(23,32,51,.06)}.checkout-card{padding:30px}.checkout-section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}.checkout-section-heading>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:850}.checkout-section-heading h2{margin:1px 0 4px;font-size:21px}.checkout-section-heading p{margin:0;color:var(--muted);font-size:13px}.shipping-heading{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.checkout-grid{display:grid;gap:16px;margin-bottom:16px}.checkout-grid.two{grid-template-columns:1fr 1fr}.checkout-grid.city-row{grid-template-columns:1.5fr .65fr .85fr}.checkout-form label{display:grid;gap:7px;color:var(--ink);font-size:13px;font-weight:750}.checkout-form label small{color:var(--muted);font-weight:600}.checkout-form input,.checkout-form select{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;outline:none}.checkout-form input:focus,.checkout-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(72,89,214,.1)}.checkout-continue{width:100%;margin-top:8px}.checkout-summary{padding:24px;position:sticky;top:22px}.checkout-summary-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.checkout-summary-title a{font-size:12px;font-weight:800;color:var(--accent);text-decoration:none}.checkout-summary-items{display:grid;gap:16px}.checkout-summary-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center}.checkout-thumb{width:58px;height:58px;position:relative;border:1px solid var(--line);border-radius:10px;background:#fff}.checkout-thumb img{width:100%;height:100%;object-fit:contain;border-radius:9px}.checkout-thumb span{position:absolute;right:-7px;top:-7px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#596579;color:#fff;font-size:10px;font-weight:800}.checkout-summary-item strong{display:block;font-size:13px}.checkout-summary-item small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.checkout-summary-item b{font-size:13px}.checkout-total-row{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);font-size:17px}.checkout-total-row strong{font-size:24px}.checkout-summary-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}@media(max-width:850px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static;order:-1}}@media(max-width:600px){.checkout-shell{width:min(100% - 28px,520px);padding-top:28px}.checkout-card{padding:20px}.checkout-grid.two,.checkout-grid.city-row{grid-template-columns:1fr}}

/* Update 024A - guest / sign-in / account choice */
.checkout-access{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.checkout-access-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.checkout-access-option{min-height:92px;padding:16px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.checkout-access-option strong,.checkout-access-option small{display:block}.checkout-access-option strong{font-size:14px}.checkout-access-option small{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}.checkout-access-option:hover{border-color:#b9c7df}.checkout-access-option.is-selected{border-color:var(--accent);background:#f6f8ff;box-shadow:0 0 0 3px rgba(72,89,214,.09)}.checkout-account-panel{margin-top:16px;padding:18px;background:#f8fafc;border:1px solid var(--line);border-radius:14px}.checkout-account-panel .checkout-grid{margin-bottom:0}.checkout-account-note{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.customer-heading{margin-top:0}.checkout-access+.checkout-form .customer-heading{margin-top:0}@media(max-width:650px){.checkout-access-options{grid-template-columns:1fr}.checkout-access-option{min-height:72px}.checkout-account-panel .checkout-grid.two{grid-template-columns:1fr}}
.checkout-signin-button{margin-top:14px;min-width:120px}.checkout-account-panel[hidden],#customerShippingFields[hidden]{display:none!important}.checkout-signin-button:disabled,.checkout-continue:disabled{opacity:.6;cursor:wait}
.account-nav-link,.text-button{border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer;padding:6px 0}.account-nav-link{font-size:13px;font-weight:800}.account-nav-link:hover,.text-button:hover{text-decoration:underline}.checkout-access-options.two-options{grid-template-columns:repeat(2,minmax(0,1fr))}.password-wrap,.auth-password-wrap{display:flex;align-items:stretch;gap:8px}.password-wrap input,.auth-password-wrap input{flex:1;min-width:0}.show-password,.auth-show-password{border:1px solid #cbd5e1;background:#fff;color:var(--ink);border-radius:9px;padding:0 13px;cursor:pointer;font:inherit;font-size:12px;font-weight:750}.show-password:hover,.auth-show-password:hover{border-color:#94a3b8;background:#f8fafc}.auth-modal-backdrop{position:fixed;inset:0;background:rgba(12,23,42,.58);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:10000;padding:20px}.auth-modal{width:min(440px,100%);box-sizing:border-box;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:30px;box-shadow:0 28px 90px rgba(0,0,0,.28);position:relative}.auth-modal-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:850;color:var(--accent);margin-bottom:7px}.auth-modal h2{margin:0 0 7px;font-size:29px;line-height:1.12}.auth-modal-intro{margin:0 0 24px;color:#526174;font-size:14px;line-height:1.5}.auth-field{display:grid;gap:7px;margin:0 0 17px;color:var(--ink);font-size:13px;font-weight:750}.auth-field input{width:100%;box-sizing:border-box;margin:0;padding:12px 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:15px;outline:none}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(72,89,214,.12)}.auth-modal .auth-password-wrap input{margin:0}.auth-modal-note{min-height:20px;margin:2px 0 12px;font-size:13px;line-height:1.45;font-weight:650}.auth-modal-note.is-error{color:#b42318}.auth-modal-note.is-success{color:#18794e}.auth-modal-note.is-working{color:#526174}.auth-signin-button{width:100%;justify-content:center;min-height:44px}.auth-signin-button:disabled,.auth-forgot-button:disabled{opacity:.6;cursor:wait}.auth-forgot-button{display:block;margin:15px auto 0;border:0;background:none;color:var(--accent);font:inherit;font-size:13px;font-weight:750;cursor:pointer}.auth-forgot-button:hover{text-decoration:underline}.auth-close{position:absolute;right:15px;top:13px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#526174;font-size:24px;line-height:1;cursor:pointer}.auth-close:hover{background:#f1f5f9;color:var(--ink)}.yp-modal-open{overflow:hidden}@media(max-width:600px){.auth-modal{padding:25px 21px;border-radius:18px}}
.account-foundation{max-width:900px}.account-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.account-feature-grid>div{border:1px solid var(--line);border-radius:14px;padding:18px}.account-feature-grid strong,.account-feature-grid small{display:block}.account-feature-grid small{margin-top:6px;color:var(--muted);line-height:1.5}@media(max-width:700px){.account-feature-grid{grid-template-columns:1fr}.checkout-access-options.two-options{grid-template-columns:1fr}}
.reset-card{max-width:520px;margin:60px auto}.reset-card label{display:block;margin:22px 0}.reset-card label>span{display:block;margin-bottom:6px;font-weight:600}

/* 026 - Review order */
.review-card{margin-bottom:18px}
.review-items{display:grid;gap:12px;margin-top:14px}
.review-item{grid-template-columns:auto 1fr auto}
.review-shipping{display:flex;flex-direction:column;gap:5px;margin-top:14px;line-height:1.45}
.review-shipping strong{font-size:1.05rem}
.review-totals .checkout-total-row{padding:12px 0;border-bottom:1px solid #e8edf5}
.review-totals .checkout-total-row strong{text-align:right;max-width:58%}
.review-grand-total{font-size:1.12rem;border-top:2px solid #dbe3f0;margin-top:4px}
.review-grand-total strong{font-size:1.25rem}

/* 026D - reusable application alert modal */
.yp-modal[hidden]{display:none}.yp-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px}.yp-modal-backdrop{position:absolute;inset:0;background:rgba(8,20,43,.58);backdrop-filter:blur(2px)}.yp-modal-dialog{position:relative;width:min(460px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 24px 70px rgba(8,20,43,.28);z-index:1}.yp-modal-dialog h2{margin:8px 34px 8px 0;font-size:1.55rem;line-height:1.15}.yp-modal-dialog p{margin:0 0 22px;line-height:1.55;color:#42526b}.yp-modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#526174}.yp-modal-ok{width:100%;justify-content:center}.yp-modal-open{overflow:hidden}.checkout-signed-in{display:flex;flex-direction:column;gap:5px;padding:4px 0 16px}.checkout-signed-in strong{font-size:1.05rem}.checkout-signed-in small{color:#66758a}

.product-price-wrap,.personalize-price-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sale-label{font-size:12px;font-weight:700;color:#b4235a}
.regular-price{text-decoration-line:line-through;text-decoration-thickness:2px;opacity:.62;font-size:14px}
.personalize-price-wrap{justify-content:flex-end}

/* 027G - sale regular price */
.product-price-wrap .regular-price,
.personalize-price-wrap .regular-price {
    text-decoration: line-through !important;
    text-decoration-line: line-through !important;
    text-decoration-thickness: 2px !important;
    text-decoration-skip-ink: none;
}

.cart-line-price{display:flex;align-items:center;gap:8px;white-space:nowrap}
.cart-line-price .regular-price{text-decoration:line-through !important;text-decoration-thickness:2px !important;text-decoration-skip-ink:none}
.product-price-wrap .regular-price{display:inline-block;text-decoration:line-through !important;text-decoration-thickness:2px !important;text-decoration-skip-ink:none}

.cart-sale-label{font-size:12px;font-weight:700;color:#b4235a;white-space:nowrap}

.quantity-field select { width: 120px; }
.quantity-field .field-meta { color: var(--muted); }

/* Product-card color availability */
.available-colors { margin-top: 16px; }
.available-colors-label { display: block; margin-bottom: 8px; color: #8a93a3; font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.available-color-dots { display: flex; flex-wrap: wrap; gap: 7px; }
.available-color-dot { width: 18px; height: 18px; display: block; border-radius: 50%; background: var(--swatch); border: 1px solid rgba(23,32,51,.18); box-shadow: inset 0 0 0 2px rgba(255,255,255,.28); }

/* Color-selection pricing */
.color-card { grid-template-columns: 58px 1fr auto auto; }
.color-price-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; min-width: 72px; }
.color-price { font-size: 18px; letter-spacing: -.025em; }
.color-regular-price { color: #8a93a3; font-size: 12px; text-decoration: line-through; }
@media (max-width: 700px) {
    .color-card { grid-template-columns: 58px 1fr auto; }
    .color-price-wrap { grid-column: 2; grid-row: 2; align-items: flex-start; }
    .color-next { grid-column: 3; grid-row: 1 / span 2; }
}

/* USPS address confirmation */
.yp-address-confirm[hidden]{display:none!important}.yp-address-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.yp-address-confirm-actions button{width:100%;justify-content:center}.yp-address-edit{border:1px solid var(--line);background:#fff;color:var(--ink)}
@media(max-width:520px){.yp-address-confirm-actions{grid-template-columns:1fr}}


/* 036 - USPS address confirmation modal layout */
.yp-address-confirm-actions {
    display: flex;
    gap: 12px;
    margin-top: 6px;
    width: 100%;
}

.yp-address-confirm-actions button {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    white-space: nowrap;
}

.yp-modal-dialog .yp-modal-ok[hidden],
.yp-address-confirm[hidden] {
    display: none !important;
}

@media (max-width: 520px) {
    .yp-address-confirm-actions {
        flex-direction: column;
    }
}


/* Account email verification */
.account-verification-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.account-verification-card h3{margin:4px 0 5px;font-size:18px}.account-verification-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.account-verification-card .eyebrow{font-size:9px}.account-verification-card.is-verified{background:#f7faf8}.account-verification-card button{flex:0 0 auto;white-space:nowrap}@media(max-width:650px){.account-verification-card{align-items:flex-start;flex-direction:column}.account-verification-card button{width:100%}}

/* Phase 026 - Account profile and shipping */
.account-page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.account-page-heading h2{margin:4px 0 5px}.account-page-heading p{margin:0;color:var(--muted);line-height:1.5}.account-panel{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.account-panel-heading{margin-bottom:18px}.account-panel-heading h3{margin:0 0 4px;font-size:18px}.account-panel-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.account-panel label{display:block;margin-top:14px}.account-panel label>span{display:block;margin-bottom:6px;font-size:12px;font-weight:750;color:var(--ink)}.account-panel label small{font-weight:500;color:var(--muted)}.account-panel input,.account-panel select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}.account-panel input:focus,.account-panel select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(72,89,214,.11)}.account-panel input[readonly]{background:#f5f7fa;color:var(--muted)}.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.account-panel .form-status{margin-top:14px;font-size:13px;line-height:1.5;font-weight:650}.form-status.is-error{color:#b42318}.form-status.is-success{color:#18794e}.form-status.is-working{color:#526174}.account-feature-grid{margin-top:22px}.account-feature-card{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.account-feature-card:hover{border-color:#b9c7df;box-shadow:0 8px 24px rgba(15,23,42,.06);transform:translateY(-1px)}.account-feature-card-disabled{cursor:default}.account-feature-card-disabled:hover{border-color:var(--line);box-shadow:none;transform:none}.account-feature-card span{display:block;margin-top:10px;color:var(--accent);font-size:11px;font-weight:750}.security-card{max-width:900px}.security-panel{margin-top:0;margin-bottom:18px}.security-panel:last-child{margin-bottom:0}.security-verification-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.security-status-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:800}.security-status-pill.is-success{background:#ecfdf3;color:#18794e}.security-status-pill.is-warning{background:#fff7ed;color:#9a3412}.security-status-pill.is-error{background:#fef2f2;color:#b42318}.security-danger-panel{border-color:#d9dee7}.security-panel form{max-width:620px}.security-panel .account-actions{margin-top:18px}.account-feature-grid>div{background:#fff}.account-feature-grid strong{font-size:14px}.account-foundation{max-width:900px}
@media(max-width:700px){.account-panel{padding:18px}.account-page-heading{display:block}.account-actions{display:grid}.account-actions button{width:100%}}

/* Phase 027 - account registration */
.register-card{max-width:900px}.register-card form>label{display:block;margin-top:18px}.register-card form>label>span{display:block;margin-bottom:6px;font-size:12px;font-weight:750;color:var(--ink)}.register-card .checkout-account-note{margin-top:8px}.auth-create-account{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.auth-create-account .text-button{color:var(--accent);font-weight:750}.auth-create-account .text-button:hover{text-decoration:underline}


/* Phase 028 - order history and reorder */
.orders-card{max-width:1000px}.orders-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.orders-heading h2{margin:4px 0 0}.orders-list{display:grid;gap:16px}.order-history-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}.order-history-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid #e8edf5}.order-history-heading h2{margin:3px 0 4px;font-size:17px}.order-history-heading small{color:var(--muted)}.order-history-total{text-align:right}.order-history-total span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#18794e}.order-history-total strong{display:block;margin-top:4px;font-size:18px}.order-history-items{display:grid;gap:0}.order-history-item{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #eef1f5}.order-history-thumb{width:76px;height:76px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;overflow:hidden;display:grid;place-items:center}.order-history-thumb img{width:100%;height:100%;object-fit:contain}.order-history-item-main{display:grid;gap:4px}.order-history-item-main strong{font-size:14px}.order-history-item-main small{color:var(--muted);font-size:12px}.order-history-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:15px;color:var(--muted);font-size:12px}.orders-empty{text-align:center;padding:45px 20px}.orders-empty h3{margin:0 0 6px}.orders-empty p{color:var(--muted);margin:0 0 20px}.order-detail-layout{align-items:start}.order-detail-card{min-width:0}.order-detail-items{display:grid;gap:18px}.order-detail-item{border:1px solid var(--line);border-radius:15px;padding:20px}.order-detail-top{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:start}.order-detail-image{height:170px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;display:grid;place-items:center;overflow:hidden}.order-detail-image img{width:100%;height:100%;object-fit:contain}.order-detail-title h2{margin:5px 0 7px;font-size:20px}.order-detail-title p{margin:4px 0;color:var(--muted);font-size:13px}.order-personalization{margin-top:20px;padding-top:18px;border-top:1px solid #e8edf5}.order-personalization>p{color:var(--muted)}.order-personalization-row{display:grid;grid-template-columns:minmax(150px,38%) 1fr;gap:16px;padding:9px 0;border-bottom:1px solid #eef1f5;font-size:13px}.order-personalization-row span{color:var(--muted)}.order-personalization-row strong{white-space:pre-wrap;overflow-wrap:anywhere}.order-detail-actions{display:flex;justify-content:flex-end;margin-top:18px}.order-detail-summary{position:sticky;top:20px}.order-shipping-block{margin-top:20px;padding-top:18px;border-top:1px solid #e8edf5}.order-shipping-block>div{margin-top:8px;line-height:1.55;color:var(--muted);font-size:13px}@media(max-width:700px){.order-history-heading{display:block}.order-history-total{text-align:left;margin-top:10px}.order-history-item{grid-template-columns:62px 1fr}.order-history-item .order-reorder-button{grid-column:2;justify-self:start}.order-detail-top{grid-template-columns:1fr}.order-detail-image{height:220px}.order-personalization-row{grid-template-columns:1fr;gap:3px}.order-detail-summary{position:static}}


/* Admin order fulfillment grid */
.admin-fulfillment-card { padding: 0; overflow: hidden; }
.admin-fulfillment-card > .form-status { margin: 18px 22px 0; }
.admin-orders-grid { display: grid; gap: 18px; padding: 20px; }
.admin-order-card { border: 1px solid #dfe4ec; border-radius: 16px; overflow: hidden; background: #fff; }
.admin-order-header { display: grid; grid-template-columns: 1.25fr 1fr 1.25fr .65fr .85fr; gap: 18px; padding: 16px 18px; background: #f7f9fc; border-bottom: 1px solid #e4e8ef; align-items: start; }
.admin-order-header > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.admin-order-header strong { overflow-wrap: anywhere; }
.admin-order-header small { color: #667085; overflow-wrap: anywhere; }
.admin-order-label { font-size: 10px; font-weight: 800; letter-spacing: .08em; color: #667085; }
.admin-status-processing { color: #8a5700; }
.admin-status-shipped { color: #087443; }
.admin-order-items-head, .admin-order-item-row { display: grid; grid-template-columns: 52px minmax(180px,2fr) minmax(120px,1fr) minmax(100px,.8fr) 55px; gap: 12px; align-items: center; }
.admin-order-items-head { padding: 9px 18px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #667085; border-bottom: 1px solid #edf0f4; }
.admin-order-item-row { padding: 8px 18px; min-height: 54px; border-bottom: 1px solid #edf0f4; }
.admin-order-item-row:last-child { border-bottom: 0; }
.admin-item-thumb { width: 42px; height: 42px; border-radius: 7px; overflow: hidden; background: #f1f3f6; }
.admin-item-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.admin-item-product { font-weight: 700; }
.admin-item-qty { text-align: center; font-weight: 700; }
.admin-mobile-label { display: none; }
.admin-ship-row { display: grid; grid-template-columns: .8fr 1fr 1.35fr auto; gap: 14px; align-items: end; padding: 15px 18px 18px; background: #fbfcfe; border-top: 1px solid #e4e8ef; }
.admin-ship-row .field { margin: 0; }
.admin-ship-row label span { font-weight: 400; color: #667085; }
.admin-ship-action { min-width: 175px; display: flex; flex-direction: column; gap: 5px; align-items: flex-start; }
.admin-ship-action .primary-button { white-space: nowrap; }
.admin-ship-status { margin: 0; font-size: 12px; }
@media (max-width: 850px) {
  .admin-order-header { grid-template-columns: 1fr 1fr; }
  .admin-order-items-head { display: none; }
  .admin-order-item-row { grid-template-columns: 48px 1fr; }
  .admin-order-item-row > div:nth-child(n+3) { grid-column: 2; }
  .admin-item-qty { text-align: left; }
  .admin-mobile-label { display: inline-block; width: 52px; color: #667085; font-size: 11px; font-weight: 700; }
  .admin-ship-row { grid-template-columns: 1fr; }
}
.admin-history-filters { display:grid; grid-template-columns: 1fr 1fr auto; gap:14px; align-items:end; padding:20px 20px 0; }
.admin-history-filters .field { margin:0; }
.admin-history-shipping { padding:14px 18px 18px; border-top:1px solid #e4e8ef; background:#fbfcfe; }
@media (max-width: 720px) { .admin-history-filters { grid-template-columns:1fr; } }

.admin-order-shipto{margin:0 0 14px;padding:12px 14px;border:1px solid #dfe5ee;border-radius:10px;background:#f8fafc;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:.88rem}.admin-order-shipto .admin-order-label{width:100%}.admin-order-shipto strong{margin-right:4px}.admin-order-shipto span:not(.admin-order-label){color:#44536a}

/* Phase 029 - persistent product navigation and radio form controls */
.products-nav-link { display:inline-flex; align-items:center; color:var(--ink); text-decoration:none; font-size:13px; font-weight:800; }
.products-nav-link:hover { text-decoration:underline; }
.radio-options { display:grid; gap:10px; margin-top:2px; }
.radio-option { display:flex; align-items:center; gap:10px; width:fit-content; cursor:pointer; font-weight:650; }
.radio-option input[type="radio"] { width:18px; height:18px; margin:0; cursor:pointer; accent-color:var(--accent); }
.radio-option span { line-height:1.35; }
@media (max-width: 640px) { .header-note { display:none; } .header-actions { gap:12px; } }

@media (max-width: 720px) {
    .brand-logo { width: 168px; max-height: 48px; }
}


/* Phase 029 - persistent site chrome and information pages */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 12px rgba(23,32,51,.06);
}
.personalize-page { min-height: 100vh; padding-bottom: 58px; }
.site-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    min-height: 46px;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #697386;
    background: rgba(255,255,255,.97);
    border-top: 1px solid var(--line);
    box-shadow: 0 -2px 12px rgba(23,32,51,.05);
    font-size: 12px;
}
.site-footer a { color: var(--ink); text-decoration: none; font-weight: 750; }
.site-footer a:hover { color: var(--accent); text-decoration: underline; }
.info-page { min-height: 100vh; padding-bottom: 70px; }
.info-shell { width: min(900px, calc(100% - 40px)); margin: 42px auto 80px; }
.info-card { padding: clamp(28px,5vw,56px); background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); }
.info-card h1 { margin:0 0 12px; font-size:clamp(34px,5vw,48px); letter-spacing:-.04em; }
.info-card h2 { margin:32px 0 10px; font-size:21px; }
.info-card p { margin:0 0 16px; color:var(--muted); font-size:15px; line-height:1.75; }
.info-card .info-lead { color:var(--ink); font-size:18px; line-height:1.65; }
.contact-block { margin-top:28px; padding:24px; border:1px solid var(--line); border-radius:15px; background:#f8fafc; line-height:1.75; }
.contact-block strong { display:block; margin-bottom:5px; }
.contact-block a { color:var(--accent); font-weight:750; text-decoration:none; }
.contact-block a:hover { text-decoration:underline; }
.info-header-actions { display:flex; align-items:center; gap:18px; }
.info-header-actions a { color:var(--ink); text-decoration:none; font-size:13px; font-weight:800; }
.info-header-actions a:hover { text-decoration:underline; }
@media (max-width:640px) {
    .site-footer { gap:7px; padding:9px 10px; font-size:11px; flex-wrap:wrap; }
    .info-shell { width:calc(100% - 24px); margin-top:24px; }
    .info-card { padding:26px 20px; }
    .info-header-actions { gap:10px; }
}

/* Cart personalized-preview lightbox */
.cart-preview-button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}
.cart-preview-button img { display:block; width:100%; height:100%; object-fit:cover; }
.cart-preview-hint {
    position:absolute;
    left:50%; bottom:8px;
    transform:translateX(-50%);
    padding:4px 8px;
    border-radius:999px;
    background:rgba(0,0,0,.72);
    color:#fff;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
    opacity:0;
    transition:opacity .15s ease;
    pointer-events:none;
}
.cart-preview-button:hover .cart-preview-hint,
.cart-preview-button:focus-visible .cart-preview-hint { opacity:1; }
.cart-preview-modal[hidden] { display:none; }
.cart-preview-modal {
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
    background:rgba(0,0,0,.68);
}
.cart-preview-dialog { position:relative; max-width:calc(100vw - 32px); max-height:calc(100vh - 32px); }
.cart-preview-large {
    display:block;
    width:auto;
    height:auto;
    max-width:min(900px, calc(100vw - 32px));
    max-height:min(900px, calc(100vh - 32px));
    object-fit:contain;
    border-radius:12px;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.cart-preview-close {
    position:absolute;
    z-index:1;
    top:-17px;
    right:-17px;
    width:44px;
    height:44px;
    border:2px solid rgba(185, 92, 92, .45);
    border-radius:50%;
    background:#fff7f7;
    color:#b85c5c;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:35px;
    line-height:1;
    font-family:Arial, sans-serif;
    font-weight:500;
    cursor:pointer;
    box-shadow:0 3px 12px rgba(0,0,0,.22);
    transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.cart-preview-close:hover {
    transform:scale(1.04);
    background:#fdecec;
    border-color:rgba(185, 92, 92, .65);
    color:#9f4545;
}
.preview-modal-open { overflow:hidden; }
@media (hover:none) { .cart-preview-hint { opacity:.88; } }

/* Admin fulfillment: production artwork download */
.admin-production-download {
    display: block;
    margin-top: 8px;
    padding: 7px 11px;
    border: 1px solid #2563eb;
    border-radius: 7px;
    background: #fff;
    color: #1d4ed8;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    white-space: nowrap;
}
.admin-production-download:hover { background: #eff6ff; }
.admin-production-download:disabled { opacity: .55; cursor: wait; }


/* Phase 031 - cart/mobile viewport containment */
@media (max-width:650px){
    html,body{max-width:100%;overflow-x:hidden;}

    .site-header{
        width:100%;
        min-width:0;
        padding-left:12px;
        padding-right:12px;
        gap:10px;
    }
    .brand{min-width:0;flex:0 1 auto;}
    .brand-logo{width:140px;max-width:100%;height:auto;}
    .header-actions{min-width:0;gap:9px;flex:0 0 auto;}
    .header-actions a,.header-actions .account-nav-link,.cart-link{font-size:11px;white-space:nowrap;}
    .cart-count{min-width:19px;height:19px;padding:0 5px;font-size:10px;}

    .cart-shell{
        width:calc(100% - 24px);
        max-width:520px;
        min-width:0;
        overflow:visible;
    }
    .cart-hero,.cart-items,.cart-item,.cart-item-main,.cart-item-title{min-width:0;max-width:100%;}
    .cart-hero h1,.cart-hero p{max-width:100%;overflow-wrap:anywhere;}

    .cart-item{width:100%;grid-template-columns:minmax(0,1fr);gap:0;}
    .cart-item-image{
        width:100%;
        min-width:0;
        min-height:0;
        padding:14px 18px;
        overflow:hidden;
    }
    .cart-preview-button{
        width:min(250px,100%);
        height:240px;
        max-width:100%;
        margin:0 auto;
        overflow:hidden;
    }
    .cart-preview-button img{
        display:block;
        width:100%;
        height:100%;
        max-width:100%;
        max-height:240px;
        object-fit:contain;
    }

    .cart-item-main{width:100%;padding:20px;}
    .cart-item-title{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:8px;
        align-items:start;
    }
    .cart-item-title h2{min-width:0;overflow-wrap:anywhere;}
    .cart-line-price{
        min-width:0;
        max-width:100%;
        flex-wrap:wrap;
        white-space:normal;
        justify-content:flex-start;
    }
    .cart-sale-label{white-space:normal;}
    .cart-item-actions{max-width:100%;row-gap:12px;}
}


/* Phase 031 - desktop cart preview clarity only; mobile rules remain unchanged */
@media (min-width:651px){
    .cart-item{grid-template-columns:190px minmax(0,1fr);}
    .cart-item-image{width:190px;min-width:190px;}
    .cart-preview-button{width:100%;height:140px;}
    .cart-preview-button img{
        display:block;
        width:100%;
        height:100%;
        object-fit:contain;
    }
}


/* Phase 031 - compact mobile product and theme browsing only */
@media (max-width:620px){
    .shop-shell{padding-top:24px;}
    .shop-hero{margin-bottom:18px;}
    .shop-hero h1{font-size:34px;}
    .shop-hero p{margin-top:10px;font-size:14px;line-height:1.4;}

    .product-grid{gap:10px;}
    .shop-product-card{
        display:grid;
        grid-template-columns:104px minmax(0,1fr);
        min-height:112px;
        border-radius:16px;
    }
    .shop-product-image{
        width:104px;
        height:100%;
        min-height:112px;
        aspect-ratio:auto;
        border-right:1px solid var(--line);
        border-bottom:0;
    }
    .shop-product-image img{object-fit:contain;}
    .shop-product-image .premium-badge{top:7px;left:7px;padding:4px 6px;font-size:8px;}
    .shop-product-body{min-width:0;gap:8px;padding:12px 13px;}
    .product-kicker{margin-bottom:3px;font-size:8px;}
    .shop-product-body h2{font-size:16px;line-height:1.1;}
    .shop-product-body p{display:none;}
    .shop-product-body .available-colors{display:none;}
    .product-card-footer{gap:8px;padding-top:8px;}
    .product-price-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-width:0;}
    .product-price{font-size:17px;}
    .product-price-wrap .sale-label{font-size:8px;}
    .product-price-wrap .regular-price{font-size:10px;}
    .product-next{font-size:11px;white-space:nowrap;}
}

@media (max-width:460px){
    .theme-browser-shell{width:min(100% - 28px,520px);}
    .theme-grid{grid-template-columns:1fr;gap:9px;}
    .theme-card{
        display:grid;
        grid-template-columns:78px minmax(0,1fr);
        min-height:78px;
        border-radius:14px;
    }
    .theme-card-image{
        width:78px;
        height:78px;
        aspect-ratio:auto;
        border-right:1px solid var(--line);
        border-bottom:0;
    }
    .theme-card-image img{object-fit:contain;}
    .theme-card-body{
        min-width:0;
        min-height:78px;
        padding:10px 12px;
        gap:8px;
    }
    .theme-card-body h2{font-size:14px;line-height:1.15;}
    .theme-card-body span{font-size:10px;}
}


/* Phase 032 - compact option browsing and fixed personalization workspace */

/* Color selection: compact horizontal rows/cards at every viewport. */
.color-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.color-card{
    min-height:78px;
    grid-template-columns:44px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    column-gap:13px;
    row-gap:2px;
    padding:12px 14px;
    border-radius:15px;
}
.color-swatch{grid-row:1 / 3;width:44px;height:44px;}
.color-label{align-self:end;font-size:16px;}
.color-price-wrap{grid-column:2;align-self:start;display:flex;align-items:baseline;gap:7px;}
.color-next{grid-column:3;grid-row:1 / 3;align-self:center;}
.color-price{font-size:14px;}
.color-regular-price{font-size:10px;}

/* Theme categories: compact, recognizable rows/cards. */
.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.category-card{
    min-height:88px;
    grid-template-columns:50px minmax(0,1fr) auto;
    gap:14px;
    padding:14px 16px;
    border-radius:16px;
}
.category-icon{
    width:50px;height:50px;border-radius:14px;
    font-size:25px;background:#f1f5ff;
}
.category-card h2{font-size:17px;}
.category-card p{margin-top:3px;font-size:11px;line-height:1.3;}
.category-next{align-self:center;}

/* Design browser: actual black theme art, 50% larger than the compact 78px mobile thumbnail. */
.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.theme-card{
    display:grid;
    grid-template-columns:117px minmax(0,1fr);
    min-height:117px;
    border-radius:16px;
}
.theme-card-image{
    width:117px;height:117px;aspect-ratio:auto;
    border-right:1px solid var(--line);border-bottom:0;
    padding:8px;background:#fff;
}
.theme-card-image img{object-fit:contain;}
.theme-card-body{min-width:0;min-height:117px;padding:14px 16px;}
.theme-card-body h2{font-size:15px;}

/* Personalization: fixed summary/preview + fixed action; only fields scroll. */
.personalize-context{
    width:min(1180px,calc(100% - 40px));
    height:28px;
    margin:10px auto 0;
    display:flex;
    align-items:center;
}
.personalize-back{margin:0;font-size:12px;}
.personalize-shell{
    height:calc(100dvh - 72px - 46px - 48px);
    min-height:520px;
    margin:0 auto;
    grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
}
.preview-panel{
    height:100%;
    padding:18px 28px;
    overflow:hidden;
}
.preview-sticky{
    position:static;
    height:100%;
    display:flex;
    flex-direction:column;
}
.personalize-product-summary{flex:0 0 auto;margin-bottom:10px;}
.personalize-product-summary .personalize-title-row{align-items:center;gap:14px;}
.personalize-product-summary h1{
    margin:0;
    font-size:23px;
    line-height:1.05;
    letter-spacing:-.035em;
}
.personalize-product-summary p{
    margin:5px 0 7px;
    color:var(--muted);
    font-size:11px;
    line-height:1.35;
}
.personalize-product-summary .selection-summary{margin:0 0 7px;gap:6px;}
.personalize-product-summary .selection-summary span{min-height:24px;padding:4px 8px;font-size:10px;}
.personalize-product-summary .personalize-price{padding-top:0;font-size:20px;}
.personalize-product-summary .personalize-price-wrap{gap:6px;}
.product-preview{
    flex:1 1 auto;
    min-height:0;
    width:auto;
    max-width:100%;
    aspect-ratio:auto;
}
.preview-help{display:none;}
.form-panel{
    height:100%;
    min-height:0;
    padding:0;
    overflow:hidden;
}
.personalization-form{
    height:100%;
    min-height:0;
    display:flex;
    flex-direction:column;
}
.personalization-fields-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:22px 28px 12px;
}
.personalization-action{
    flex:0 0 auto;
    padding:10px 28px 12px;
    background:#fff;
    border-top:1px solid var(--line);
    box-shadow:0 -5px 18px rgba(23,32,51,.05);
}
.personalization-action .primary-button{min-height:42px;}
.personalization-fields-scroll .field{margin-bottom:16px;}
.personalization-fields-scroll .field input,
.personalization-fields-scroll .field select{min-height:44px;padding:9px 12px;}
.personalization-fields-scroll .field textarea{min-height:84px;padding:9px 12px;}

@media(max-width:820px){
    .color-grid,.category-grid{grid-template-columns:1fr;}
}
@media(max-width:850px){
    .personalize-context{
        width:calc(100% - 28px);
        height:26px;
        margin-top:6px;
    }
    .personalize-shell{
        width:100%;
        height:calc(100dvh - 64px - 46px - 32px);
        min-height:0;
        margin:0;
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows:minmax(250px,44%) minmax(0,56%);
        border:0;border-radius:0;box-shadow:none;
    }
    .preview-panel{
        padding:8px 14px 10px;
        border-right:0;
        border-bottom:1px solid var(--line);
    }
    .preview-sticky{position:static;}
    .personalize-product-summary{margin-bottom:6px;}
    .personalize-product-summary h1{font-size:19px;}
    .personalize-product-summary p{
        margin:3px 0 5px;
        font-size:10px;
        line-height:1.25;
    }
    .personalize-product-summary .selection-summary{margin-bottom:4px;}
    .personalize-product-summary .selection-summary span{min-height:20px;padding:2px 7px;font-size:9px;}
    .personalize-product-summary .personalize-price{font-size:18px;}
    .product-preview{width:100%;max-width:none;margin:0;min-height:0;}
    .form-panel{padding:0;}
    .personalization-fields-scroll{padding:14px 16px 8px;}
    .personalization-action{padding:8px 16px 9px;}
    .personalization-action .primary-button{min-height:40px;}
}
@media(max-width:560px){
    .color-card{
        min-height:68px;
        grid-template-columns:40px minmax(0,1fr) auto;
        padding:9px 12px;
        column-gap:11px;
    }
    .color-swatch{width:40px;height:40px;}
    .color-label{font-size:15px;}
    .category-card{
        min-height:76px;
        grid-template-columns:44px minmax(0,1fr) auto;
        padding:10px 12px;
        gap:11px;
    }
    .category-icon{width:44px;height:44px;font-size:22px;}
    .category-card h2{font-size:15px;}
    .category-card p{font-size:10px;}
    .category-next{grid-column:3;grid-row:1;align-self:center;}
    .theme-browser-shell{width:min(100% - 24px,520px);}
    .theme-grid{grid-template-columns:1fr;gap:8px;}
    .theme-card{grid-template-columns:117px minmax(0,1fr);min-height:117px;}
    .theme-card-image{width:117px;height:117px;padding:7px;}
    .theme-card-body{min-height:117px;padding:11px 12px;}
}

/* Phase 032 - personalization preview fit + cart-style large preview */
.personalize-preview-button{
    width:65%;height:65%;max-width:65%;max-height:65%;margin:auto;padding:0;border:0;background:transparent;
    position:relative;display:flex;align-items:center;justify-content:center;cursor:zoom-in;
}
.personalize-preview-button:disabled{cursor:default;}
.personalize-preview-button img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;}
.personalize-preview-button .preview-placeholder{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;}
.personalize-view-larger{
    position:absolute;left:50%;bottom:6px;transform:translateX(-50%);padding:4px 8px;border-radius:999px;
    background:rgba(20,25,35,.72);color:#fff;font-size:10px;font-weight:800;white-space:nowrap;pointer-events:none;
}
.product-preview{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.product-preview .preview-loading{z-index:3;}


/* Phase 032b - personalization preview/card fit + compact text entry */
.personalize-preview-button{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    margin:0;
    cursor:zoom-in;
}
.personalize-preview-button:not(:disabled):hover,
.personalize-preview-button:not(:disabled):focus-visible{cursor:zoom-in;}
.personalize-preview-button img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.personalize-preview-button .preview-placeholder:empty{display:none;}
.personalize-view-larger{bottom:8px;}
.personalization-fields-scroll{padding-top:12px;padding-bottom:8px;}
.personalization-fields-scroll .field{margin-bottom:10px;}
.personalization-fields-scroll .field input,
.personalization-fields-scroll .field select{
    min-height:38px;
    padding:7px 10px;
}
.personalization-fields-scroll .field textarea{
    min-height:58px;
    padding:7px 10px;
}
.personalization-fields-scroll .field-label-row{margin-bottom:5px;}
@media(max-width:850px){
    .personalization-fields-scroll{padding-top:10px;}
    .personalization-fields-scroll .field{margin-bottom:9px;}
    .personalization-fields-scroll .field input,
    .personalization-fields-scroll .field select{min-height:36px;}
}


/* Phase 032c - match personalization lightbox exactly to cart lightbox */
#personalizePreviewModal{
    padding:16px;
    align-items:center;
    justify-content:center;
}
#personalizePreviewModal .cart-preview-dialog{
    position:relative;
    width:fit-content;
    max-width:calc(100vw - 32px);
    max-height:calc(100vh - 32px);
    margin:auto;
}
#personalizePreviewModal .cart-preview-large{
    display:block;
    margin:0 auto;
    max-width:min(900px, calc(100vw - 32px));
    max-height:min(900px, calc(100vh - 32px));
}


/* Phase 032d - true viewport-centered personalization lightbox */
#personalizePreviewModal{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    padding:18px !important;
    box-sizing:border-box !important;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
#personalizePreviewModal[hidden]{display:none !important;}
#personalizePreviewModal .cart-preview-dialog{
    position:relative;
    box-sizing:border-box;
    width:auto;
    max-width:calc(100vw - 36px);
    max-height:calc(100dvh - 36px);
    margin:0 auto !important;
}
#personalizePreviewModal .cart-preview-large{
    display:block;
    width:auto;
    height:auto;
    max-width:calc(100vw - 36px);
    max-height:calc(100dvh - 36px);
    margin:0 auto;
}
#personalizePreviewModal .cart-preview-close{
    top:8px;
    right:8px;
    z-index:3;
}


/* Phase 032e - interactive zoom/pan inside personalization lightbox */
#personalizePreviewModal .cart-preview-dialog{
    overflow:hidden;
    touch-action:none;
}
#personalizePreviewModal .cart-preview-large{
    transform-origin:center center;
    will-change:transform;
    user-select:none;
    -webkit-user-drag:none;
    touch-action:none;
    cursor:zoom-in;
}
#personalizePreviewModal.zoomed .cart-preview-large{cursor:grab;}
#personalizePreviewModal.dragging .cart-preview-large{cursor:grabbing;}
#personalizePreviewModal .cart-preview-close{
    position:absolute;
    z-index:20;
    pointer-events:auto;
}


/* Phase 032f - full-resolution lightbox zoom */
#personalizePreviewModal .cart-preview-dialog{
    overflow:hidden;
}
#personalizePreviewModal .cart-preview-large{
    image-rendering:auto;
    transform-origin:0 0;
    flex:none;
}

/* ============================================================
   V2 dark-theme concept
   Visual-only experiment. Product/preview imagery intentionally
   remains on light surfaces so engraving artwork stays accurate.
   ============================================================ */
:root{
    --ink:#f4f7fb;
    --muted:#9ca8b8;
    --line:#2a313c;
    --soft:#090c10;
    --accent:#4f8cff;
    --accent-dark:#3976e8;
    --white:#151a21;
    --shadow:0 20px 60px rgba(0,0,0,.38);
}
html{background:#090c10;color-scheme:dark;}
body{background:radial-gradient(circle at 50% -180px,#1b222d 0,#0e1218 36%,#090c10 72%);color:var(--ink);}

/* Header / footer */
.site-header{background:rgba(9,12,16,.96);border-bottom-color:#252c36;box-shadow:0 8px 30px rgba(0,0,0,.18);}
.site-header .brand{background:#fff;border-radius:12px;padding:4px 9px;box-shadow:0 3px 14px rgba(0,0,0,.28);}
.site-header .brand-logo{max-height:48px;}
.header-note{color:#aab4c2;}
.site-footer{background:#0d1117!important;border-top-color:#252c36!important;color:#929dad!important;}
.site-footer a{color:#e7ecf3;}

/* Headings, links and general surfaces */
.shop-hero h1,.selection-hero h1,.cart-hero h1,.checkout-hero h1,.account-page-heading h2,
.form-heading h1,.preview-heading-mobile h1,.personalize-product-summary h1{color:#f8fafc;}
.back-link,.personalize-back{color:#aab4c2;}
.back-link:hover,.personalize-back:hover{color:#75a3ff;}

/* Storefront cards: dark shell, bright product photography */
.shop-product-card,.color-card,.category-card,.theme-card{
    background:#151a21;border-color:#2a313c;box-shadow:0 12px 34px rgba(0,0,0,.28);
}
.shop-product-card:hover,.color-card:hover,.category-card:hover,.theme-card:hover{
    border-color:#465264;box-shadow:0 18px 48px rgba(0,0,0,.42);
}
.shop-product-image,.theme-card-image{background:#f7f8fa;border-color:#303845;}
.shop-product-body h2,.color-label,.category-card h2,.theme-card-body h2{color:#f3f6fa;}
.shop-product-body p,.category-card p,.theme-card-body span{color:#9ca8b8;}
.product-card-footer{border-top-color:#2a313c;}
.premium-badge{background:#0a0d12;border:1px solid #343d49;}
.color-swatch{border-color:rgba(255,255,255,.24);box-shadow:inset 0 0 0 4px rgba(255,255,255,.12),0 3px 12px rgba(0,0,0,.3);}
.category-icon{background:#202731!important;border:1px solid #303a47;color:#f4f7fb;}
.selection-summary span{background:#202731!important;border-color:#303a47!important;color:#cbd4df!important;}

/* Personalization: dark controls surrounding an intentionally white proof */
.personalize-shell{background:#151a21;border-color:#2a313c;box-shadow:0 24px 70px rgba(0,0,0,.42);}
.preview-panel{background:#11161c;border-color:#2a313c;}
.product-preview{background:#fff;border-color:#303845;box-shadow:0 10px 34px rgba(0,0,0,.28);}
.form-panel,.personalization-action{background:#151a21;}
.personalization-action{border-top-color:#2a313c;box-shadow:0 -7px 22px rgba(0,0,0,.22);}
.preview-help,.form-heading p,.field-meta,.form-status{color:#9ca8b8;}
.field input,.field select,.field textarea,
.checkout-form input,.checkout-form select,.account-panel input,.account-panel select,
.auth-field input{
    background:#0f141a;color:#f2f5f9;border-color:#384250;
}
.field input:focus,.field select:focus,.field textarea:focus,
.checkout-form input:focus,.checkout-form select:focus,.account-panel input:focus,.account-panel select:focus,
.auth-field input:focus{background:#111820;border-color:#5d91f7;}
.field input::placeholder,.field textarea::placeholder,.checkout-form input::placeholder,.auth-field input::placeholder{color:#6f7b8b;}
select option{background:#11161c;color:#f2f5f9;}

/* Cart / checkout */
.cart-item,.cart-summary,.checkout-card,.checkout-summary,.checkout-access-option,.checkout-account-panel{
    background:#151a21!important;border-color:#2a313c!important;box-shadow:0 10px 30px rgba(0,0,0,.24);
}
.cart-item-image,.cart-preview-button,.checkout-thumb{background:#f7f8fa!important;border-color:#303845!important;}
.cart-item-title h2,.checkout-section-heading h2,.checkout-summary-item strong,.checkout-summary-item b{color:#f3f6fa;}
.cart-item-meta,.cart-summary p,.checkout-section-heading p,.checkout-summary-note,.checkout-account-note,.checkout-access-option small{color:#9ca8b8;}
.cart-item-actions,.checkout-access,.shipping-heading,.checkout-total-row,.review-totals .checkout-total-row{border-color:#2a313c!important;}
.checkout-access-option.is-selected{background:#17233a!important;border-color:#4f8cff!important;box-shadow:0 0 0 3px rgba(79,140,255,.12);}
.show-password,.auth-show-password{background:#1b222c;color:#e8edf4;border-color:#3a4553;}
.show-password:hover,.auth-show-password:hover{background:#232c38;border-color:#566376;}

/* Account / order history / admin */
.account-panel,.account-feature-grid>div,.order-history-card,.order-detail-item,.admin-order-card,
.admin-fulfillment-card,.admin-history-filters{
    background:#151a21!important;border-color:#2a313c!important;box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.account-panel-heading p,.account-feature-grid small,.order-history-heading small,.order-history-item-main small,
.order-history-footer,.order-detail-title p,.order-personalization>p,.order-personalization-row span,.order-shipping-block>div{color:#9ca8b8;}
.account-panel input[readonly]{background:#0c1015;color:#7f8a99;}
.account-feature-card:hover{border-color:#465264;box-shadow:0 10px 26px rgba(0,0,0,.28);}
.security-status-pill{background:#222a34;color:#c1cad6;}
.order-history-heading,.order-history-item,.order-personalization,.order-personalization-row,.order-shipping-block,
.admin-order-header,.admin-order-item-row{border-color:#2a313c!important;}
.order-history-thumb,.order-detail-image,.admin-item-thumb{background:#f7f8fa!important;border-color:#303845!important;}

/* Dialogs keep strong contrast without becoming bright white boxes */
.auth-modal,.yp-modal-dialog{background:#171d25;border-color:#343d49;color:#f4f7fb;box-shadow:0 28px 90px rgba(0,0,0,.58);}
.auth-modal-intro,.yp-modal-dialog p{color:#a5b0bf;}
.auth-close,.yp-modal-close{color:#aab4c2;}
.auth-close:hover{background:#242c37;color:#fff;}
.auth-modal-backdrop,.yp-modal-backdrop{background:rgba(0,0,0,.74);}

/* Preview lightboxes stay white: they represent the actual product proof. */
.cart-preview-dialog,#personalizePreviewModal .cart-preview-dialog{background:#fff;}

/* Buttons get a slightly brighter dark-theme treatment. */
.primary-button{background:#3f7df0;box-shadow:0 8px 20px rgba(47,111,237,.22);}
.primary-button:hover{background:#568ef4;}
.product-next,.color-next,.category-next,.product-kicker,.eyebrow{color:#6f9eff;}

@media(max-width:850px){
    .personalize-shell{background:#151a21;}
    .preview-panel{background:#10151b;border-bottom-color:#2a313c;}
}

/* ============================================================
   V2 dark/light hybrid refinement
   Keep the charcoal site shell, but return shopping choices and
   editable controls to light surfaces for stronger contrast.
   ============================================================ */
:root{
    --shop-card:#f4f6f8;
    --shop-card-hover:#ffffff;
    --shop-card-line:#d9dee5;
    --shop-card-ink:#101827;
    --shop-card-muted:#5d6978;
}

/* Shopping/selection cards */
.shop-product-card,.color-card,.category-card,.theme-card{
    background:var(--shop-card);
    border-color:var(--shop-card-line);
    box-shadow:0 10px 28px rgba(0,0,0,.24);
}
.shop-product-card:hover,.color-card:hover,.category-card:hover,.theme-card:hover{
    background:var(--shop-card-hover);
    border-color:#c7ced8;
    box-shadow:0 14px 36px rgba(0,0,0,.30);
}
.shop-product-body h2,.color-label,.category-card h2,.theme-card-body h2{
    color:var(--shop-card-ink);
}
.shop-product-body p,.category-card p,.theme-card-body span{
    color:var(--shop-card-muted);
}
.product-card-footer{border-top-color:#dce1e7;}
.shop-product-image,.theme-card-image{
    background:#fff;
    border-color:#e0e4e9;
}
.category-icon{
    background:#e9edf2!important;
    border-color:#d5dbe3!important;
    color:#172033;
}
.color-swatch{
    border-color:rgba(15,23,42,.22);
    box-shadow:inset 0 0 0 4px rgba(255,255,255,.28),0 2px 8px rgba(0,0,0,.14);
}
.premium-badge{background:#eef1f5;border-color:#d7dde5;color:#172033;}

/* Editable controls: white/light surface, dark copy */
.field input,.field select,.field textarea,
.checkout-form input,.checkout-form select,.account-panel input,.account-panel select,
.auth-field input{
    background:#fff;
    color:#172033;
    border-color:#cfd6df;
    color-scheme:light;
}
.field input:focus,.field select:focus,.field textarea:focus,
.checkout-form input:focus,.checkout-form select:focus,.account-panel input:focus,.account-panel select:focus,
.auth-field input:focus{
    background:#fff;
    color:#172033;
    border-color:#4f8cff;
    box-shadow:0 0 0 3px rgba(79,140,255,.13);
}
.field input::placeholder,.field textarea::placeholder,.checkout-form input::placeholder,.auth-field input::placeholder{
    color:#8994a3;
}
.field select option,.checkout-form select option,.account-panel select option{
    background:#fff;
    color:#172033;
}

/* Keep field labels readable on the dark personalization shell. */
.personalization-fields-scroll .field label,
.personalization-fields-scroll .field-label-row,
.form-panel .field label{color:#eef2f7;}


/* Phase 036 - keep sale pricing visible on light color-selection cards */
.color-card .color-price{
    color:#101827;
    font-weight:800;
}
.color-card .color-regular-price{
    color:#7a8492;
}


/* ============================================================
   Phase 044 - Admin Orders desktop cohesion + header alignment
   ============================================================ */
@media (min-width:851px){
    .admin-order-card{
        background:#eef1f4!important;
        border-color:#cbd3dd!important;
        color:#172033!important;
    }

    .admin-order-header,
    .admin-order-shipto,
    .admin-order-items-head,
    .admin-order-items,
    .admin-order-item-row,
    .admin-ship-row{
        background:#eef1f4!important;
        color:#172033!important;
        border-color:#cbd3dd!important;
    }

    /* Header labels and primary values share consistent rows/baselines. */
    .admin-order-header{
        align-items:stretch!important;
    }
    .admin-order-header>div{
        display:grid!important;
        grid-template-rows:16px minmax(22px,auto) 18px!important;
        align-content:start!important;
        gap:3px!important;
    }
    .admin-order-header .admin-order-label{
        align-self:start;
    }
    .admin-order-header strong{
        align-self:start;
        line-height:1.35!important;
        color:#172033!important;
    }
    .admin-order-header small{
        align-self:start;
        line-height:18px!important;
        color:#526174!important;
    }

    /* Customer email no longer pushes the column visually below Status. */
    .admin-order-header>div:nth-child(3) small{
        margin:0!important;
    }

    .admin-order-shipto strong,
    .admin-order-shipto span:not(.admin-order-label),
    .admin-item-product,
    .admin-order-item-row>div{
        color:#172033!important;
    }

    .admin-order-items-head,
    .admin-order-label{
        color:#53627a!important;
    }

    .admin-item-thumb{
        background:#fff!important;
        border:1px solid #d4dae2!important;
    }

    .admin-ship-row input,
    .admin-ship-row select{
        background:#fff!important;
        color:#172033!important;
        border-color:#c9d2dd!important;
    }
    .admin-ship-row label{
        color:#53627a!important;
    }
}


/* ============================================================
   Phase 045 - Admin Orders mobile cohesion
   Same visual card language as laptop; existing stacked mobile layout remains.
   ============================================================ */
@media (max-width:850px){
    .admin-order-card{
        background:#eef1f4!important;
        border-color:#cbd3dd!important;
        color:#172033!important;
        overflow:hidden!important;
    }

    .admin-order-header,
    .admin-order-shipto,
    .admin-order-items-head,
    .admin-order-items,
    .admin-order-item-row,
    .admin-ship-row,
    .admin-history-shipping{
        background:#eef1f4!important;
        color:#172033!important;
        border-color:#cbd3dd!important;
    }

    .admin-order-header strong,
    .admin-order-header small,
    .admin-order-shipto strong,
    .admin-order-shipto span:not(.admin-order-label),
    .admin-item-product,
    .admin-order-item-row>div{
        color:#172033!important;
    }

    .admin-order-label,
    .admin-mobile-label,
    .admin-order-items-head,
    .admin-ship-row label{
        color:#53627a!important;
    }

    .admin-item-thumb{
        background:#fff!important;
        border:1px solid #d4dae2!important;
    }

    .admin-ship-row input,
    .admin-ship-row select{
        background:#fff!important;
        color:#172033!important;
        border-color:#c9d2dd!important;
    }

    .admin-order-header{
        border-bottom:1px solid #cbd3dd!important;
    }

    .admin-order-shipto{
        border-bottom:1px solid #cbd3dd!important;
    }

    .admin-order-item-row{
        border-bottom:1px solid #d8dee6!important;
    }
}


/* Phase 045 - storefront sale pricing on light product cards */
.shop-product-card .product-price {
    color: var(--shop-card-ink);
}
.shop-product-card .regular-price {
    color: #7a8492;
}


/* Active navigation state */
.site-header .nav-active,
.site-header .nav-active:hover,
.site-footer .nav-active,
.site-footer .nav-active:hover {
    color: #E8C66A !important;
    text-decoration: underline;
    text-decoration-color: #E8C66A;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

/* Phase 046 - restore contrast on intentionally light content panels */
.info-card,
.cart-empty {
    color: var(--shop-card-ink);
}
.info-card h1,
.info-card h2,
.info-card strong,
.cart-empty h2 {
    color: var(--shop-card-ink);
}
.info-card p,
.cart-empty p {
    color: var(--shop-card-muted);
}
.info-card .info-lead {
    color: #3f4b5b;
}
.contact-block {
    color: var(--shop-card-ink);
    background: #f8fafc;
    border-color: #cfd6df;
}
.contact-block div {
    color: #4f5d6d;
}
.contact-block a {
    color: var(--accent);
}
.cart-shop-button {
    padding: 0 22px;
    min-width: max-content;
}

/* Phase 031 - keep the primary navigation visible at all times. */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 2000;
}
.personalize-page {
    padding-top: 72px;
}
@media (max-width: 700px) {
    .personalize-page {
        padding-top: 64px;
    }
}

/* Phase 047 - make struck-through regular prices as prominent as sale prices. */
.product-price-wrap .regular-price {
    font-size: 24px;
}
.personalize-price-wrap .regular-price {
    font-size: 26px;
}
.color-price-wrap .color-regular-price {
    font-size: 18px;
}
.cart-line-price .regular-price {
    font-size: inherit;
}

/* Compact storefront cards use the same 17px size for both prices. */
@media (max-width: 700px) {
    .product-price-wrap .regular-price {
        font-size: 17px;
    }
    .personalize-price-wrap .regular-price {
        font-size: 22px;
    }
}

/* The personalization summary has its own compact price sizing. */
.personalize-product-summary .personalize-price-wrap .regular-price {
    font-size: 20px;
}

@media (max-width: 700px) {
    .personalize-product-summary .personalize-price-wrap .regular-price {
        font-size: 18px;
    }
}

@media (max-width: 560px) {
    .color-price-wrap .color-regular-price {
        font-size: 14px;
    }
}
