
:root {
    --surface: #ffffff;
    --surface-soft: #f8fafc;
    --surface-muted: #f1f5f9;
    --text: #0f172a;
    --text-soft: #475569;
    --text-faint: #94a3b8;
    --border: #e2e8f0;
    --border-strong: #cbd5e1;
    --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.05);
    --shadow-sm: 0 10px 25px rgba(15, 23, 42, 0.07);
    --shadow-md: 0 20px 45px rgba(15, 23, 42, 0.08);
    --shadow-lg: 0 28px 70px rgba(15, 23, 42, 0.12);
    --success-bg: #ecfdf5;
    --success-text: #047857;
    --warning-bg: #fff7ed;
    --warning-text: #c2410c;
    --danger-bg: #fef2f2;
    --danger-text: #b91c1c;
    --radius-xs: 10px;
    --radius-sm: 12px;
    --radius-md: 16px;
    --radius-lg: 20px;
    --radius-xl: 26px;
    --content-width: 1320px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--text);
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-primary) 14%, transparent), transparent 18%),
        linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.page-shell { min-height: 100vh; display: flex; flex-direction: column; }
.container { width: min(var(--content-width), calc(100% - 32px)); margin: 0 auto; }

.utility-bar {
    border-bottom: 1px solid rgba(226, 232, 240, .92);
    background: rgba(248, 250, 252, .9);
    backdrop-filter: blur(12px);
}
.utility-bar-inner {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding: 6px 0;
    color: var(--text-soft);
    font-size: .83rem;
}
.utility-group { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.utility-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.82);
    color: var(--text-soft);
    box-shadow: var(--shadow-xs);
}
.utility-pill strong { color: var(--text); font-weight: 600; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid rgba(226, 232, 240, .92);
    backdrop-filter: blur(14px);
}
.site-header-inner {
    min-height: 78px;
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 14px 0;
}
.brand-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
.brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    color: #fff;
    font-size: .95rem;
    font-weight: 800;
    letter-spacing: .04em;
    box-shadow: 0 12px 26px color-mix(in srgb, var(--brand-primary) 26%, transparent);
}
.brand-copy { min-width: 0; }
.brand-name {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.brand-meta {
    display: block;
    margin-top: 4px;
    font-size: .81rem;
    color: var(--text-faint);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.header-search {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-self: center;
    width: 100%;
    max-width: 620px;
}
.search-shell {
    position: relative;
    width: 100%;
}
.search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    transform: translateY(-50%);
    box-shadow: inset 0 0 0 2px var(--text-faint);
}
.search-icon::after {
    content: '';
    position: absolute;
    width: 7px;
    height: 2px;
    right: -4px;
    bottom: -3px;
    transform: rotate(45deg);
    background: var(--text-faint);
    border-radius: 999px;
}
.search-input {
    width: 100%;
    min-height: 46px;
    padding: 0 16px 0 42px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: var(--surface-soft);
    color: var(--text);
    box-shadow: var(--shadow-xs);
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.search-input:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--brand-primary) 34%, var(--border));
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-primary) 12%, transparent);
    background: #fff;
}
.header-nav {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.header-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 12px;
    color: var(--text-soft);
    font-size: .95rem;
    font-weight: 600;
    transition: background .16s ease, color .16s ease, border-color .16s ease;
    border: 1px solid transparent;
}
.header-nav-link:hover,
.header-nav-link.active {
    color: var(--text);
    background: var(--surface-soft);
    border-color: var(--border);
}
.header-user {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: var(--surface);
    box-shadow: var(--shadow-xs);
}
.header-avatar {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--brand-primary) 12%, white);
    color: var(--brand-primary);
    font-size: .76rem;
    font-weight: 800;
}
.header-user strong { display: block; font-size: .88rem; }
.header-user span { display: block; font-size: .76rem; color: var(--text-faint); }

.main { flex: 1; padding: 28px 0 64px; }
.section-stack { display: grid; gap: 22px; }
.hero-banner,
.panel-card,
.content-card,
.soft-card,
.hero-card,
.card {
    border-radius: var(--radius-lg);
    border: 1px solid rgba(226, 232, 240, .9);
    background: rgba(255,255,255,.95);
    box-shadow: var(--shadow-sm);
}
.hero-banner {
    overflow: hidden;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-primary) 12%, transparent), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.95));
}
.hero-banner-inner,
.hero-card-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .9fr);
    gap: 26px;
    padding: 30px;
    align-items: center;
}
.hero-banner-copy,
.hero-side,
.account-shell { display: grid; gap: 18px; }
.eyebrow,
.kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-primary) 10%, white);
    color: var(--brand-primary);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
}
.hero-title,
.section-title {
    margin: 0;
    letter-spacing: -.03em;
}
.hero-title {
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 1.02;
}
.hero-text {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.7;
    max-width: 68ch;
}
.hero-actions,
.inline-actions,
.action-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.hero-kpi-grid,
.stats-grid,
.dashboard-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.hero-kpi,
.stat-card,
.metric-card {
    padding: 18px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    background: linear-gradient(180deg, #fff, #f8fafc);
}
.hero-kpi strong,
.stat-card strong,
.metric-card strong {
    display: block;
    margin-top: 8px;
    font-size: 1.35rem;
    letter-spacing: -.03em;
}
.hero-kpi.featured,
.metric-card.featured {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 18px 30px color-mix(in srgb, var(--brand-primary) 24%, transparent);
}
.hero-kpi.featured .muted,
.metric-card.featured .muted { color: rgba(255,255,255,.78); }

.toolbar,
.subnav,
.surface-toolbar {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 22px 24px;
}
.toolbar form,
.surface-toolbar form {
    display: flex;
    width: 100%;
    gap: 12px;
    flex-wrap: wrap;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="datetime-local"],
select,
textarea {
    width: 100%;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text);
    box-shadow: var(--shadow-xs);
    transition: border-color .16s ease, box-shadow .16s ease;
}
textarea { min-height: 112px; padding-top: 12px; padding-bottom: 12px; }
input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--brand-primary) 34%, var(--border));
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-primary) 12%, transparent);
}
.button-primary,
.button-secondary,
button[type="submit"],
.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 12px;
    border: 1px solid transparent;
    font-weight: 700;
    transition: transform .14s ease, box-shadow .14s ease, background .14s ease, color .14s ease, border-color .14s ease;
}
.button-primary,
button[type="submit"] {
    background: linear-gradient(135deg, var(--brand-primary), color-mix(in srgb, var(--brand-secondary) 78%, white));
    color: #fff;
    box-shadow: 0 16px 28px color-mix(in srgb, var(--brand-primary) 18%, transparent);
}
.button-secondary,
.button-link {
    background: #fff;
    color: var(--text);
    border-color: var(--border);
    box-shadow: var(--shadow-xs);
}
.button-primary:hover,
.button-secondary:hover,
button[type="submit"]:hover,
.button-link:hover {
    transform: translateY(-1px);
}
.button-secondary.is-muted {
    color: var(--text-soft);
}
.muted { color: var(--text-soft); }
.soft-text { color: var(--text-faint); }
.grid,
.cards-grid,
.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}
.product-card,
.category-card,
.list-card,
.table-card,
.panel-card {
    display: grid;
    gap: 14px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: var(--shadow-xs);
}
.product-card,
.category-card { padding: 0; overflow: hidden; }
.product-card-link { display: grid; gap: 0; color: inherit; }
.product-card-media,
.detail-media,
.media-box {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: linear-gradient(180deg, #f8fafc, #e2e8f0);
    border-bottom: 1px solid var(--border);
}
.product-card-media img,
.detail-media img,
.detail-thumb img { width: 100%; height: 100%; object-fit: cover; }
.placeholder-media {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    padding: 28px;
    color: var(--text-faint);
    text-align: center;
    font-weight: 700;
}
.product-card-body { display: grid; gap: 12px; padding: 18px; }
.product-card h3,
.category-card h3,
.section-title { margin: 0; }
.product-card .meta-code {
    font-size: .76rem;
    color: var(--text-faint);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.product-card-summary {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.6;
}
.product-card-footer {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: end;
}
.product-card-cta {
    min-height: 36px;
    padding: 0 12px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--brand-primary), color-mix(in srgb, var(--brand-secondary) 78%, white));
    color: #fff;
    font-size: .82rem;
    font-weight: 700;
}
.product-card:hover,
.category-card:hover,
.table-card:hover {
    border-color: color-mix(in srgb, var(--brand-primary) 28%, var(--border));
    box-shadow: var(--shadow-sm);
    transform: translateY(-2px);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.category-card { padding: 18px; }
.product-card-header,
.section-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}
.badge,
.status-badge,
.tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-primary) 10%, white);
    color: var(--brand-primary);
    font-size: .76rem;
    font-weight: 700;
    border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border));
}
.status-badge.pending,
.tag.orange { background: var(--warning-bg); color: var(--warning-text); border-color: color-mix(in srgb, var(--warning-text) 16%, white); }
.status-badge.success,
.tag.green { background: var(--success-bg); color: var(--success-text); border-color: color-mix(in srgb, var(--success-text) 18%, white); }
.status-badge.danger,
.tag.red { background: var(--danger-bg); color: var(--danger-text); border-color: color-mix(in srgb, var(--danger-text) 18%, white); }
.tag.gray { background: var(--surface-soft); color: var(--text-soft); border-color: var(--border); }
.chips,
.badge-row,
.chip-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text-soft);
    font-size: .88rem;
    box-shadow: var(--shadow-xs);
}
.chip.active {
    background: color-mix(in srgb, var(--brand-primary) 8%, white);
    color: var(--brand-primary);
    border-color: color-mix(in srgb, var(--brand-primary) 22%, var(--border));
}
.empty-state {
    padding: 28px;
    border-radius: var(--radius-lg);
    border: 1px dashed var(--border-strong);
    background: linear-gradient(180deg, rgba(248,250,252,.9), rgba(255,255,255,.92));
    color: var(--text-soft);
    text-align: center;
}
.price-block { display: grid; gap: 4px; }
.price-main { font-size: 1.4rem; font-weight: 800; letter-spacing: -.03em; }
.micro-copy { font-size: .82rem; color: var(--text-faint); }

.detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 22px;
}
.detail-media-stack,
.detail-sidebar,
.account-shell { display: grid; gap: 18px; }
.detail-media {
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    box-shadow: var(--shadow-xs);
}
.detail-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
    gap: 10px;
}
.detail-thumb {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-xs);
    background: #fff;
}
.key-list,
.spec-list,
.timeline {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.key-item,
.spec-item,
.timeline-item {
    padding: 16px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, #fff, #f8fafc);
}
.definition-list {
    display: grid;
    grid-template-columns: minmax(120px, 180px) 1fr;
    gap: 10px 16px;
}
.definition-list dt {
    margin: 0;
    color: var(--text-faint);
    font-weight: 700;
}
.definition-list dd { margin: 0; }

.account-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 22px;
}
.side-menu {
    display: grid;
    gap: 10px;
    align-content: start;
}
.side-menu a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.95);
    color: var(--text-soft);
    box-shadow: var(--shadow-xs);
}
.side-menu a:hover,
.side-menu a.active {
    color: var(--text);
    border-color: color-mix(in srgb, var(--brand-primary) 22%, var(--border));
    background: color-mix(in srgb, var(--brand-primary) 7%, white);
}
.table-wrap {
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: #fff;
}
table {
    width: 100%;
    border-collapse: collapse;
    background: transparent;
}
thead tr { background: #f8fafc; }
th, td {
    padding: 13px 14px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--border);
}
th {
    color: var(--text-faint);
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
tbody tr:hover { background: rgba(248,250,252,.82); }

.footer {
    margin-top: auto;
    background: #0f172a;
    color: #94a3b8;
}
.footer-inner {
    display: grid;
    grid-template-columns: 1.2fr .9fr .9fr .9fr;
    gap: 22px;
    padding: 36px 0 28px;
}
.footer-title {
    margin: 0 0 12px;
    font-size: .86rem;
    color: #e2e8f0;
    font-weight: 700;
}
.footer p,
.footer li,
.footer a {
    color: inherit;
    font-size: .84rem;
    line-height: 1.7;
}
.footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
}
.footer-bottom {
    border-top: 1px solid rgba(51, 65, 85, .9);
    padding: 16px 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    font-size: .8rem;
}
.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.footer-brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
}
.impersonation-bar {
    background: #0f172a;
    color: #fff;
}
.impersonation-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 12px 0;
}
.impersonation-bar form { margin: 0; }
.impersonation-bar button {
    min-height: 40px;
    padding: 0 14px;
    border: none;
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
    font-weight: 700;
}
.callout-danger {
    border-color: #fecaca !important;
    background: #fff1f2 !important;
    color: #9f1239;
}
.callout-danger strong,
.callout-danger span { color: #9f1239; }
.stack-compact { display: grid; gap: 10px; }

@media (max-width: 1180px) {
    .site-header-inner {
        grid-template-columns: 1fr;
    }
    .header-search {
        max-width: none;
        justify-self: stretch;
    }
    .header-nav { justify-content: flex-start; }
    .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
    .hero-banner-inner,
    .hero-card-inner,
    .detail-grid,
    .account-layout {
        grid-template-columns: 1fr;
    }
    .hero-kpi-grid,
    .stats-grid,
    .dashboard-stats {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .container { width: min(var(--content-width), calc(100% - 20px)); }
    .utility-bar-inner,
    .footer-bottom { flex-direction: column; align-items: flex-start; }
    .toolbar,
    .subnav,
    .surface-toolbar,
    .content-card,
    .hero-banner-inner,
    .hero-card-inner { padding-left: 18px; padding-right: 18px; }
    .footer-inner { grid-template-columns: 1fr; padding-top: 28px; }
    .definition-list { grid-template-columns: 1fr; }
    .search-input { min-height: 42px; }
}


.header-counter {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-primary) 12%, white);
    color: var(--brand-primary);
    font-size: .75rem;
    font-weight: 800;
}
.flash-banner {
    padding: 14px 18px;
    border-radius: 14px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-xs);
}
.flash-success {
    background: var(--success-bg);
    color: var(--success-text);
    border-color: color-mix(in srgb, var(--success-text) 18%, var(--border));
}
.flash-error {
    background: var(--danger-bg);
    color: var(--danger-text);
    border-color: color-mix(in srgb, var(--danger-text) 18%, var(--border));
}
.form-grid {
    display: grid;
    gap: 16px;
}
.form-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.field {
    display: grid;
    gap: 8px;
}
.field > span {
    font-size: .9rem;
    font-weight: 600;
    color: var(--text-soft);
}
.field-inline {
    display: inline-grid;
    min-width: 130px;
}
.field-span-2 {
    grid-column: 1 / -1;
}
.stack-compact {
    display: grid;
    gap: 16px;
}
.callout-warning {
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--warning-bg);
    color: var(--warning-text);
    border: 1px solid color-mix(in srgb, var(--warning-text) 14%, var(--border));
}
.product-config-form {
    margin-top: 8px;
}
.cart-list {
    display: grid;
    gap: 18px;
}
.cart-list.compact {
    gap: 12px;
}
.cart-item {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 18px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: #fff;
}
.cart-item.compact {
    grid-template-columns: 1fr;
    padding: 14px 0;
    border: none;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
}
.cart-item-media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fafc, #e2e8f0);
}
.cart-item-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cart-item-body {
    display: grid;
    gap: 12px;
}
.inline-form {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
}
.checkout-steps {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.step-chip {
    min-height: 36px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--text-soft);
    border: 1px solid var(--border);
    font-weight: 700;
}
.step-chip.active {
    background: color-mix(in srgb, var(--brand-primary) 10%, white);
    color: var(--brand-primary);
    border-color: color-mix(in srgb, var(--brand-primary) 24%, var(--border));
}
.step-chip.done {
    background: var(--success-bg);
    color: var(--success-text);
    border-color: color-mix(in srgb, var(--success-text) 18%, var(--border));
}
.shipping-options {
    display: grid;
    gap: 14px;
}
.shipping-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 18px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: var(--shadow-xs);
}
.shipping-option.is-disabled {
    opacity: .65;
}
.shipping-option input[type="radio"] {
    margin-top: 6px;
}
.shipping-option-body {
    display: grid;
    gap: 8px;
}
.checkout-summary {
    display: grid;
    gap: 18px;
}
.summary-stack {
    display: grid;
    gap: 10px;
}
.summary-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
}
.summary-line-total {
    font-size: 1.05rem;
    font-weight: 700;
}
@media (max-width: 980px) {
    .form-grid-two,
    .cart-item,
    .detail-grid {
        grid-template-columns: 1fr;
    }
}


.inline-form { display: inline-flex; margin: 0; }
.button-link { border: none; cursor: pointer; }
.auth-shell { max-width: 760px; margin: 0 auto; width: 100%; }
.auth-card { background: var(--surface, #ffffff); border: 1px solid var(--border, #e5e7eb); border-radius: 24px; padding: 32px; box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06); }
.stack-form { display: grid; gap: 18px; }
.form-grid.two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.muted-zone { background: #f8fafc; }
@media (max-width: 860px) { .form-grid.two-columns { grid-template-columns: 1fr; } .auth-card { padding: 24px; border-radius: 18px; } }


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

.field-inline {
    display: inline-flex;
    grid-auto-flow: column;
    justify-content: start;
    align-items: center;
    gap: 12px;
}

.address-autocomplete-field {
    position: relative;
}

.address-suggestions {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 30;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 14px;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.12);
    overflow: hidden;
}

.address-suggestion-item {
    display: grid;
    gap: 2px;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.address-suggestion-item + .address-suggestion-item {
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.address-suggestion-item:hover,
.address-suggestion-item:focus {
    background: rgba(37, 99, 235, 0.06);
}

.address-suggestion-label {
    font-weight: 600;
    color: #0f172a;
}

.address-suggestion-meta {
    font-size: 0.86rem;
    color: #64748b;
}


.checkout-address-card .checkout-address-shared-note {
    padding: 14px 16px;
    border: 1px dashed rgba(15, 23, 42, 0.16);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.9);
    margin-bottom: 18px;
}

.checkout-address-preview {
    display: grid;
    gap: 4px;
    color: #334155;
    font-size: 0.95rem;
}

.checkout-address-card.is-shipping-same [data-shipping-fields] {
    display: none;
}

.checkout-address-card.is-shipping-same .checkout-address-shared-note {
    display: block;
}

.checkout-address-card .checkout-address-shared-note[hidden] {
    display: none;
}


.header-nav-item {
    position: relative;
}
.has-mega-menu {
    display: inline-flex;
    align-items: center;
}
.mega-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    width: min(1120px, calc(100vw - 40px));
    padding-top: 6px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 70;
}
.has-mega-menu:hover .mega-menu,
.has-mega-menu:focus-within .mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.mega-menu-inner {
    display: grid;
    gap: 18px;
    padding: 22px;
    border-radius: 24px;
    border: 1px solid rgba(226, 232, 240, .96);
    background: rgba(255,255,255,.98);
    box-shadow: var(--shadow-lg);
}
.mega-menu-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}
.mega-menu-title {
    margin: 10px 0 8px;
    font-size: 1.35rem;
    line-height: 1.15;
}
.mega-menu-copy,
.mega-menu-summary {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.6;
}
.mega-menu-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.mega-menu-column {
    display: grid;
    gap: 14px;
    align-content: start;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(248,250,252,.82), rgba(255,255,255,.98));
}
.mega-menu-column-header,
.department-card-head,
.department-group-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
}
.mega-menu-department {
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -.02em;
}
.mega-menu-group {
    display: grid;
    gap: 10px;
}
.mega-menu-group + .mega-menu-group {
    padding-top: 12px;
    border-top: 1px solid rgba(226, 232, 240, .9);
}
.mega-menu-group-title,
.micro-link {
    font-size: .92rem;
    font-weight: 700;
    color: var(--text);
}
.mega-menu-links,
.department-group-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.mega-menu-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text-soft);
    font-size: .83rem;
    box-shadow: var(--shadow-xs);
}
.mega-menu-link small {
    color: var(--text-faint);
    font-size: .74rem;
}
.department-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 18px;
}
.department-card {
    display: grid;
    gap: 16px;
    padding: 22px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
    box-shadow: var(--shadow-xs);
}
.department-card h3 {
    margin: 10px 0 0;
    font-size: 1.3rem;
}
.department-groups {
    display: grid;
    gap: 14px;
}
.department-groups-inline {
    margin-top: 18px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.department-group-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: var(--shadow-xs);
}
.catalog-toolbar form {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) repeat(2, minmax(180px, .8fr)) auto;
    gap: 12px;
    width: 100%;
}
.catalog-group-section + .catalog-group-section {
    margin-top: 26px;
    padding-top: 26px;
    border-top: 1px solid rgba(226, 232, 240, .9);
}
.callout-banner {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--border));
    background: color-mix(in srgb, var(--brand-primary) 7%, white);
}
.callout-banner strong {
    font-size: .86rem;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--brand-primary);
}
.callout-banner span {
    color: var(--text-soft);
}
@media (max-width: 1180px) {
    .mega-menu {
        width: min(940px, calc(100vw - 40px));
    }
    .mega-menu-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 980px) {
    .mega-menu {
        display: none;
    }
    .catalog-toolbar form {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .department-card,
    .department-group-card,
    .mega-menu-inner {
        padding: 18px;
    }
}

/* Iteration 22 — visual identity storefront refresh */
body {
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--brand-primary) 10%, transparent), transparent 26%),
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-secondary) 10%, transparent), transparent 22%),
        linear-gradient(180deg, #f8fafc 0%, #edf2f7 100%);
}

.utility-bar {
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.86));
}
.utility-pill-brand {
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 14%, white), color-mix(in srgb, var(--brand-secondary) 8%, white));
    color: var(--text);
}
.site-header {
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.04);
}
.site-header-inner {
    min-height: 84px;
    gap: 24px;
}
.brand-link {
    gap: 16px;
}
.brand-mark {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    overflow: hidden;
}
.brand-mark-logo,
.footer-brand-logo {
    background: #fff;
    border: 1px solid rgba(226, 232, 240, .9);
}
.brand-mark-logo img,
.footer-brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6px;
}
.brand-name {
    font-size: 1.05rem;
}
.brand-meta {
    font-size: .82rem;
}
.search-input {
    min-height: 50px;
    border-radius: 16px;
    background: rgba(248,250,252,.92);
}
.header-nav {
    gap: 8px;
}
.header-nav-link {
    min-height: 42px;
    border-radius: 14px;
}
.header-counter {
    display: inline-grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-primary) 14%, white);
    color: var(--brand-primary);
    font-size: .72rem;
    font-weight: 800;
}
.button-link.header-nav-link {
    border: 1px solid transparent;
    background: transparent;
}
.catalog-shortcuts {
    border-top: 1px solid rgba(226, 232, 240, .92);
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(12px);
}
.catalog-shortcuts-inner {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 54px;
    padding: 10px 0;
}
.catalog-shortcuts-label {
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--text-faint);
    flex: 0 0 auto;
}
.catalog-shortcuts-links {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
}
.catalog-shortcuts-links::-webkit-scrollbar {
    display: none;
}
.catalog-shortcut-pill,
.catalog-shortcuts-cta {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text-soft);
    font-size: .88rem;
    box-shadow: var(--shadow-xs);
    white-space: nowrap;
}
.catalog-shortcut-pill:hover,
.catalog-shortcuts-cta:hover {
    color: var(--text);
    border-color: color-mix(in srgb, var(--brand-primary) 26%, var(--border));
    background: color-mix(in srgb, var(--brand-primary) 7%, white);
}
.main {
    padding-top: 30px;
}
.hero-banner,
.content-card,
.soft-card,
.hero-card,
.card,
.auth-card,
.department-card,
.product-card,
.shipping-option,
.cart-item,
.table-wrap {
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}
.hero-banner {
    border-radius: 28px;
}
.hero-banner-inner,
.hero-card-inner {
    padding: 36px;
}
.hero-kpi.featured,
.hero-kpi:nth-child(3) {
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 12%, white), color-mix(in srgb, var(--brand-secondary) 10%, white));
}
.button-primary,
button[type="submit"] {
    border-radius: 14px;
}
.button-secondary,
.button-link {
    border-radius: 14px;
}
.product-grid {
    gap: 20px;
}
.product-card-premium {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
}
.product-card-premium .product-card-link {
    height: 100%;
}
.product-card-media {
    position: relative;
    aspect-ratio: 4 / 3.1;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-primary) 10%, transparent), transparent 26%),
        linear-gradient(180deg, #f8fafc, #e2e8f0);
}
.product-card-media-top {
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 12px;
}
.product-card-sku {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .72);
    color: #fff;
    font-size: .72rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    backdrop-filter: blur(8px);
}
.product-card-body {
    gap: 14px;
    padding: 20px;
}
.product-card-heading {
    display: grid;
    gap: 8px;
}
.product-card h3 {
    font-size: 1.08rem;
    line-height: 1.3;
}
.product-card-summary {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 4.8em;
}
.product-card-tags {
    min-height: 34px;
}
.product-card-cta {
    min-height: 40px;
    padding: 0 14px;
    border-radius: 12px;
}
.product-card:hover {
    transform: translateY(-4px);
}
.department-card,
.department-group-card {
    border-radius: 22px;
}
.department-card-head h3,
.department-card h3 {
    letter-spacing: -.03em;
}
.detail-media-hero {
    border-radius: 24px;
}
.product-detail-card {
    border-radius: 24px;
}
.product-reassurance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.product-reassurance-card {
    padding: 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248,250,252,.96), rgba(255,255,255,.96));
}
.product-reassurance-card strong {
    display: block;
    margin-bottom: 6px;
}
.product-pricing-card {
    border-radius: 18px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--brand-primary) 4%, white), #fff);
}
.auth-shell {
    max-width: 880px;
}
.auth-card {
    border-radius: 28px;
    padding: 36px;
}
.form-grid.two-columns {
    gap: 18px;
}
.footer {
    background: linear-gradient(180deg, #0f172a, #0b1220);
}
.footer-brand-mark {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    overflow: hidden;
}
.footer-inner {
    grid-template-columns: 1.4fr .8fr .8fr .8fr .8fr;
}
@media (max-width: 1180px) {
    .site-header-inner {
        grid-template-columns: 1fr;
    }
    .header-search {
        justify-self: stretch;
        max-width: none;
    }
    .header-nav {
        justify-content: flex-start;
    }
    .footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 980px) {
    .catalog-shortcuts-inner {
        align-items: flex-start;
        flex-direction: column;
    }
    .product-reassurance-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .container {
        width: min(var(--content-width), calc(100% - 24px));
    }
    .utility-bar-inner,
    .header-nav {
        gap: 10px;
    }
    .hero-banner-inner,
    .hero-card-inner,
    .auth-card {
        padding: 24px;
    }
    .brand-mark {
        width: 44px;
        height: 44px;
    }
    .footer-inner {
        grid-template-columns: 1fr;
    }
}


/* Iteration 23 — storefront structural cleanup */
:root {
    --content-width: 1280px;
}

body {
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--brand-primary) 8%, transparent), transparent 26%),
        linear-gradient(180deg, #f7f8fb 0%, #eff2f6 100%);
}

.container {
    width: min(var(--content-width), calc(100% - 40px));
}

.storefront-utility {
    background: rgba(255, 255, 255, 0.86);
    border-bottom: 1px solid rgba(226, 232, 240, 0.92);
    backdrop-filter: blur(12px);
}

.storefront-utility .utility-bar-inner {
    min-height: 34px;
    padding: 4px 0;
    font-size: 0.78rem;
}

.utility-copy {
    color: var(--text-faint);
}

.utility-copy strong {
    color: var(--text);
}

.utility-group-right {
    justify-content: flex-end;
}

.storefront-header {
    top: 0;
    z-index: 40;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.site-header-primary {
    min-height: 76px;
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto;
    align-items: center;
    gap: 24px;
    padding: 14px 0;
}

.brand-link {
    gap: 14px;
    min-width: 0;
}

.brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--brand-primary) 18%, transparent);
}

.brand-name {
    font-size: 1rem;
    line-height: 1.15;
}

.brand-meta {
    margin-top: 3px;
    font-size: 0.8rem;
}

.header-search {
    width: 100%;
    max-width: 560px;
    justify-self: center;
}

.search-input {
    min-height: 44px;
    border-radius: 14px;
    background: #f8fafc;
}

.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.header-action-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid transparent;
    color: var(--text-soft);
    font-size: 0.92rem;
    font-weight: 600;
    background: transparent;
    transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}

.header-action-link:hover,
.header-action-link.active {
    background: #f8fafc;
    color: var(--text);
    border-color: var(--border);
}

.header-account {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 0 12px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: var(--shadow-xs);
}

.header-account strong {
    display: block;
    font-size: 0.86rem;
}

.header-account span span {
    display: block;
    font-size: 0.74rem;
    color: var(--text-faint);
}

.button-link.header-action-link {
    border: 1px solid transparent;
    background: transparent;
}

.storefront-subnav {
    border-top: 1px solid rgba(226, 232, 240, 0.88);
    background: rgba(248, 250, 252, 0.82);
}

.storefront-subnav-inner {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 8px 0;
}

.storefront-subnav-label {
    flex: 0 0 auto;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-faint);
}

.storefront-subnav-links {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
}

.storefront-subnav-links::-webkit-scrollbar {
    display: none;
}

.storefront-subnav-pill,
.storefront-subnav-all {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text-soft);
    font-size: 0.84rem;
    white-space: nowrap;
    box-shadow: var(--shadow-xs);
}

.storefront-subnav-pill:hover,
.storefront-subnav-all:hover {
    color: var(--text);
    border-color: color-mix(in srgb, var(--brand-primary) 22%, var(--border));
    background: color-mix(in srgb, var(--brand-primary) 5%, white);
}

.main {
    padding: 24px 0 56px;
}

.section-stack {
    gap: 18px;
}

.catalog-hero,
.catalog-section-shell {
    border-radius: 24px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
}

.catalog-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.82fr);
    gap: 28px;
    align-items: stretch;
    padding: 28px;
}

.catalog-hero-copy {
    display: grid;
    gap: 16px;
    align-content: start;
}

.catalog-hero-title {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.catalog-hero-text {
    margin: 0;
    max-width: 66ch;
    color: var(--text-soft);
    line-height: 1.65;
}

.catalog-hero-stats {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    color: var(--text-soft);
    font-size: 0.9rem;
}

.catalog-hero-stats span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid var(--border);
}

.catalog-hero-stats strong {
    margin-right: 6px;
    color: var(--text);
}

.catalog-hero-panel {
    display: grid;
    gap: 14px;
    padding: 20px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, color-mix(in srgb, var(--brand-primary) 4%, white), #fff);
    align-content: start;
}

.catalog-hero-panel h2 {
    margin: 0;
    font-size: 1.02rem;
}

.catalog-hero-panel p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.catalog-hero-list {
    display: grid;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.catalog-hero-list li a,
.catalog-hero-list li span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text-soft);
}

.catalog-hero-list strong {
    color: var(--text);
    font-size: 0.92rem;
}

.catalog-section-shell {
    padding: 24px;
}

.catalog-section-head,
.catalog-results-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.catalog-section-head-spaced {
    align-items: center;
}

.section-kicker {
    margin: 0 0 6px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-faint);
}

.text-link {
    color: var(--brand-primary);
    font-weight: 700;
    font-size: 0.92rem;
}

.catalog-page-title {
    font-size: clamp(1.9rem, 2.4vw, 2.5rem);
}

.catalog-page-summary {
    margin: 10px 0 0;
    max-width: 72ch;
    color: var(--text-soft);
    line-height: 1.65;
}

.catalog-breadcrumb-row {
    margin-bottom: 18px;
}

.catalog-department-grid,
.catalog-family-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.catalog-department-card,
.catalog-family-card {
    display: grid;
    gap: 16px;
    align-content: start;
    padding: 20px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: var(--shadow-xs);
}

.catalog-department-copy h3 {
    margin: 0;
    font-size: 1.22rem;
    letter-spacing: -0.03em;
}

.catalog-department-copy p {
    margin: 8px 0 0;
    color: var(--text-soft);
    line-height: 1.6;
    font-size: 0.94rem;
}

.catalog-department-links,
.catalog-family-links {
    display: grid;
    gap: 12px;
}

.catalog-department-link-group {
    display: grid;
    gap: 8px;
}

.catalog-department-link-group strong {
    font-size: 0.92rem;
    color: var(--text);
}

.catalog-department-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.catalog-department-link-list a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid var(--border);
    color: var(--text-soft);
    font-size: 0.83rem;
}

.catalog-department-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    width: fit-content;
    padding: 0 14px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid var(--border);
    color: var(--text);
    font-weight: 700;
}

.catalog-filter-panel {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: #f8fafc;
    margin-bottom: 20px;
}

.catalog-filter-form {
    display: grid;
    grid-template-columns: minmax(280px, 1.4fr) repeat(2, minmax(180px, 0.85fr)) auto;
    gap: 12px;
    align-items: center;
}

.catalog-filter-form-category {
    grid-template-columns: minmax(280px, 1.4fr) minmax(200px, 0.9fr) auto;
}

.catalog-active-filters {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.storefront-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.product-card-clean {
    border-radius: 20px;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.product-card-clean:hover {
    transform: translateY(-3px);
}

.product-card-clean .product-card-link {
    height: 100%;
}

.product-card-clean .product-card-media {
    aspect-ratio: 4 / 2.5;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, #f8fafc, #edf2f7);
}

.product-card-clean .product-card-body {
    gap: 12px;
    padding: 18px;
}

.product-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

.product-card-clean .product-card-heading {
    display: grid;
    gap: 6px;
}

.product-card-clean .product-card-summary {
    margin: 0;
    min-height: auto;
    line-height: 1.55;
    -webkit-line-clamp: 2;
}

.product-card-clean .price-main {
    font-size: 1.22rem;
}

.product-card-clean .product-card-footer {
    align-items: center;
    margin-top: auto;
}

.product-card-clean .product-card-cta {
    min-height: 38px;
    padding: 0 12px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--brand-primary), color-mix(in srgb, var(--brand-secondary) 74%, white));
    font-size: 0.82rem;
}

.catalog-group-shell + .catalog-group-shell {
    margin-top: 26px;
    padding-top: 26px;
    border-top: 1px solid rgba(226, 232, 240, 0.92);
}

.product-detail-grid .detail-media {
    aspect-ratio: 1 / 0.92;
}

.mega-menu {
    top: calc(100% + 8px);
}

.mega-menu-inner {
    border-radius: 22px;
    padding: 20px;
}

.mega-menu-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mega-menu-column {
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
}

.footer-inner {
    grid-template-columns: 1.2fr 0.85fr 0.85fr 0.85fr 0.85fr;
}

@media (max-width: 1180px) {
    .site-header-primary {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }

    .header-search {
        max-width: none;
        justify-self: stretch;
    }

    .header-actions {
        justify-content: flex-start;
    }

    .catalog-hero-inner,
    .catalog-department-grid,
    .catalog-family-grid,
    .storefront-product-grid,
    .mega-menu-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .container {
        width: min(var(--content-width), calc(100% - 28px));
    }

    .utility-group-right {
        justify-content: flex-start;
    }

    .catalog-hero-inner,
    .catalog-department-grid,
    .catalog-family-grid,
    .storefront-product-grid,
    .catalog-filter-form,
    .catalog-filter-form-category,
    .mega-menu-grid {
        grid-template-columns: 1fr;
    }

    .catalog-section-head,
    .catalog-results-head,
    .storefront-subnav-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .mega-menu {
        display: none;
    }
}

@media (max-width: 720px) {
    .site-header-primary {
        gap: 16px;
        padding: 12px 0;
    }

    .header-actions {
        gap: 6px;
    }

    .header-action-link,
    .header-account {
        min-height: 38px;
    }

    .catalog-hero-inner,
    .catalog-section-shell {
        padding: 20px;
    }

    .catalog-hero-title {
        font-size: 1.9rem;
    }

    .product-card-clean .product-card-media {
        aspect-ratio: 4 / 2.7;
    }

    .footer-inner {
        grid-template-columns: 1fr;
    }
}


/* Iteration 25 — burger catalog navigation */
.catalog-burger {
    position: relative;
    margin: 0;
}

.catalog-burger > summary {
    list-style: none;
}

.catalog-burger > summary::-webkit-details-marker {
    display: none;
}

.catalog-burger-trigger {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}

.catalog-burger.is-active .catalog-burger-trigger,
.catalog-burger[open] .catalog-burger-trigger,
.catalog-burger:hover .catalog-burger-trigger {
    background: #f8fafc;
    color: var(--text);
    border-color: var(--border);
}

.burger-icon {
    width: 16px;
    display: inline-grid;
    gap: 3px;
}

.burger-icon span {
    display: block;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.catalog-drawer {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    width: min(1180px, calc(100vw - 40px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 90;
}

.catalog-burger:hover .catalog-drawer,
.catalog-burger:focus-within .catalog-drawer,
.catalog-burger[open] .catalog-drawer {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.catalog-drawer-inner {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 18px;
    padding: 20px;
    border-radius: 24px;
    border: 1px solid rgba(226, 232, 240, 0.96);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.14);
}

.catalog-drawer-aside {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--brand-primary) 6%, white), #fff);
    border: 1px solid var(--border);
}

.catalog-drawer-title {
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.catalog-drawer-copy {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.catalog-drawer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.catalog-drawer-column {
    display: grid;
    gap: 12px;
    align-content: start;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.86), rgba(255, 255, 255, 0.98));
}

.catalog-drawer-column-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.catalog-drawer-department {
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--text);
}

.catalog-drawer-summary {
    margin: 0;
    color: var(--text-soft);
    font-size: 0.88rem;
    line-height: 1.55;
}

.catalog-drawer-group {
    display: grid;
    gap: 8px;
}

.catalog-drawer-group + .catalog-drawer-group {
    padding-top: 10px;
    border-top: 1px solid rgba(226, 232, 240, 0.92);
}

.catalog-drawer-group-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text);
}

.catalog-drawer-links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.catalog-drawer-link {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text-soft);
    font-size: 0.82rem;
    box-shadow: var(--shadow-xs);
}

.catalog-drawer-link:hover,
.catalog-drawer-department:hover,
.catalog-drawer-group-title:hover {
    color: var(--brand-primary);
}

.storefront-subnav {
    display: none;
}

@media (max-width: 1180px) {
    .catalog-drawer {
        width: min(980px, calc(100vw - 32px));
    }

    .catalog-drawer-inner {
        grid-template-columns: 1fr;
    }

    .catalog-drawer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .catalog-burger {
        position: static;
    }

    .catalog-drawer {
        left: 0;
        right: 0;
        width: 100%;
        top: calc(100% + 8px);
    }

    .catalog-burger:hover .catalog-drawer {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(8px);
    }

    .catalog-burger[open] .catalog-drawer,
    .catalog-burger:focus-within .catalog-drawer {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .catalog-drawer-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .catalog-drawer-inner {
        padding: 16px;
    }

    .catalog-drawer-aside,
    .catalog-drawer-column {
        padding: 14px;
    }
}


/* Iteration 26 — storefront refinement */
:root {
    --content-width: 1260px;
    --surface-elevated: rgba(255, 255, 255, 0.92);
    --shadow-card: 0 12px 28px rgba(15, 23, 42, 0.05);
    --shadow-card-hover: 0 18px 34px rgba(15, 23, 42, 0.08);
}

body {
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--brand-primary) 6%, transparent), transparent 24%),
        linear-gradient(180deg, #f8f9fb 0%, #eff2f6 100%);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-primary) 14%, transparent);
}

.storefront-utility .utility-bar-inner {
    min-height: 34px;
    gap: 10px;
    padding: 4px 0;
}

.utility-pill-brand {
    min-height: 24px;
    padding: 0 10px;
    font-size: 0.72rem;
}

.utility-copy {
    font-size: 0.78rem;
}

.storefront-header {
    background: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid rgba(226, 232, 240, 0.88);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.site-header-primary {
    min-height: 74px;
    gap: 20px;
    padding: 12px 0;
}

.brand-meta {
    color: var(--text-faint);
}

.header-search {
    max-width: 520px;
}

.search-input {
    min-height: 46px;
    background: rgba(248, 250, 252, 0.9);
    box-shadow: none;
}

.header-actions {
    gap: 6px;
}

.header-action-link,
.catalog-burger-trigger {
    min-height: 40px;
    padding: 0 13px;
    border-radius: 999px;
    color: var(--text-soft);
}

.header-action-link:hover,
.header-action-link.active,
.catalog-burger.is-active .catalog-burger-trigger,
.catalog-burger[open] .catalog-burger-trigger,
.catalog-burger:hover .catalog-burger-trigger {
    background: #fff;
    border-color: rgba(203, 213, 225, 0.94);
    box-shadow: var(--shadow-xs);
}

.header-account {
    min-height: 42px;
    border-radius: 999px;
    padding: 0 14px 0 10px;
    box-shadow: none;
}

.header-account.active {
    border-color: color-mix(in srgb, var(--brand-primary) 18%, var(--border));
    background: color-mix(in srgb, var(--brand-primary) 5%, white);
}

.header-avatar {
    box-shadow: none;
}

.footer-brand-title {
    margin: 0 0 4px;
}

.footer-brand-copy {
    margin: 0;
}

.hero-banner,
.content-card,
.soft-card,
.panel-card,
.auth-card,
.shipping-option,
.cart-item,
.table-wrap,
.catalog-hero,
.catalog-section-shell {
    border: 1px solid rgba(226, 232, 240, 0.9);
    box-shadow: var(--shadow-card);
}

.hero-banner,
.catalog-hero,
.catalog-section-shell,
.auth-card {
    border-radius: 22px;
}

.content-card,
.soft-card,
.panel-card,
.shipping-option,
.cart-item,
.table-wrap {
    border-radius: 18px;
}

.hero-banner-inner,
.hero-card-inner {
    padding: 28px;
}

.hero-title {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.hero-text,
.catalog-page-summary,
.catalog-hero-text,
.product-card-summary {
    color: var(--text-soft);
}

.hero-kpi,
.metric-strip-card {
    padding: 16px 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, #fff, #f8fafc);
    border: 1px solid rgba(226, 232, 240, 0.94);
}

.metric-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.metric-strip-card {
    display: grid;
    gap: 8px;
}

.metric-strip-card strong {
    display: block;
    font-size: 1.24rem;
    letter-spacing: -0.03em;
}

.metric-strip-card.featured {
    background: linear-gradient(180deg, color-mix(in srgb, var(--brand-primary) 6%, white), #fff);
}

.page-intro {
    display: grid;
    gap: 16px;
    padding: 22px 0 4px;
}

.page-intro-compact {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    align-items: start;
    gap: 20px;
}

.page-intro-copy {
    display: grid;
    gap: 12px;
}

.page-intro-title {
    font-size: clamp(1.8rem, 2.6vw, 2.3rem);
}

.page-intro-text {
    margin: 0;
    max-width: 66ch;
    color: var(--text-soft);
    line-height: 1.6;
}

.section-heading-eyebrow {
    display: grid;
    gap: 6px;
    margin-bottom: 18px;
}

.section-heading-eyebrow .muted {
    margin: 0;
}

.section-title-sm {
    font-size: 1.1rem;
}

.section-header-tight {
    margin-bottom: 18px;
}

.section-header-compact {
    margin-bottom: 10px;
}

.section-block-offset {
    margin-top: 16px;
}

.badge,
.status-badge,
.tag {
    min-height: 24px;
    padding: 0 9px;
    font-size: 0.72rem;
    letter-spacing: 0.01em;
}

.chip {
    min-height: 30px;
    padding: 0 11px;
    font-size: 0.82rem;
    box-shadow: none;
}

.catalog-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    color: var(--text-faint);
    font-size: 0.86rem;
}

.catalog-breadcrumb a {
    color: var(--text-soft);
}

.catalog-breadcrumb a:hover {
    color: var(--text);
}

.catalog-category-nav,
.catalog-filter-links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.catalog-category-nav {
    margin-top: 20px;
}

.catalog-category-nav-link,
.catalog-filter-link {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(248, 250, 252, 0.88);
    color: var(--text-soft);
    font-size: 0.84rem;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.catalog-category-nav-link:hover,
.catalog-category-nav-link.active,
.catalog-filter-link:hover,
.catalog-filter-link.active {
    background: #fff;
    color: var(--text);
    border-color: color-mix(in srgb, var(--brand-primary) 20%, var(--border));
}

.catalog-filter-link.static {
    cursor: default;
}

.catalog-filter-panel {
    padding: 16px;
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.9);
}

.catalog-filter-form {
    gap: 10px;
}

.catalog-hero-inner {
    gap: 24px;
    padding: 24px;
}

.catalog-hero-panel {
    padding: 18px;
    gap: 12px;
    background: rgba(255, 255, 255, 0.9);
}

.catalog-department-card,
.catalog-family-card {
    gap: 14px;
    padding: 18px;
    border-radius: 18px;
}

.catalog-department-copy h3 {
    font-size: 1.12rem;
}

.storefront-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.product-card-clean {
    border-radius: 18px;
    box-shadow: none;
    border-color: rgba(226, 232, 240, 0.9);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.product-card-clean:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--brand-primary) 22%, var(--border));
    box-shadow: var(--shadow-card-hover);
}

.product-card-clean .product-card-media {
    aspect-ratio: 4 / 2.65;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.product-card-clean .product-card-body {
    padding: 16px;
    gap: 10px;
}

.product-card-overline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.product-card-category {
    color: var(--text-faint);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.product-card-flag {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--text-soft);
    font-size: 0.72rem;
    font-weight: 700;
}

.product-card-clean .product-card-heading {
    gap: 4px;
}

.product-card-clean h3 {
    font-size: 1rem;
    line-height: 1.35;
}

.product-card-clean .product-card-summary {
    display: -webkit-box;
    overflow: hidden;
    min-height: auto;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 0.9rem;
    line-height: 1.55;
}

.product-card-clean .price-main {
    font-size: 1.12rem;
}

.product-card-clean .product-card-footer {
    align-items: center;
    gap: 10px;
    margin-top: auto;
}

.product-card-clean .product-card-cta {
    min-height: 34px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--brand-primary);
    font-weight: 700;
    font-size: 0.84rem;
}

.product-detail-shell {
    padding: 24px;
}

.product-detail-grid {
    align-items: start;
}

.product-detail-grid .detail-sidebar {
    position: sticky;
    top: 104px;
    align-self: start;
}

.product-detail-card {
    padding: 22px;
}

.product-detail-buy-card {
    gap: 16px;
}

.product-detail-overline,
.product-detail-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.product-detail-overline {
    color: var(--text-faint);
    font-size: 0.8rem;
}

.product-detail-category {
    color: var(--text);
    font-weight: 700;
}

.product-detail-title {
    margin: 0;
    font-size: clamp(1.85rem, 2.6vw, 2.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.product-detail-description {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.65;
}

.product-reassurance-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-reassurance-list li {
    position: relative;
    padding-left: 18px;
    color: var(--text-soft);
    line-height: 1.55;
}

.product-reassurance-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-primary) 70%, white);
}

.product-pricing-card-compact {
    padding: 18px;
    gap: 12px;
}

.product-quantity-field {
    max-width: 220px;
}

.cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 380px);
    gap: 22px;
    align-items: start;
}

.cart-summary-card {
    position: sticky;
    top: 104px;
    align-self: start;
}

.cart-item {
    padding: 18px;
}

.cart-item-title {
    margin: 6px 0 0;
    font-size: 1.02rem;
}

.cart-item-controls {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.price-block-right {
    text-align: right;
}

.checkout-shell {
    display: grid;
    gap: 18px;
}

.checkout-topbar {
    display: grid;
    gap: 16px;
}

.checkout-intro {
    display: grid;
    gap: 10px;
}

.checkout-intro .section-title {
    font-size: clamp(1.8rem, 2.6vw, 2.3rem);
}

.checkout-intro .hero-text {
    max-width: 68ch;
}

.checkout-form-stack {
    display: grid;
    gap: 18px;
}

.checkout-toggle-list {
    gap: 10px;
}

.checkout-address-grid,
.checkout-review-grid {
    display: grid;
    gap: 18px;
}

.checkout-address-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-review-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 380px);
    align-items: start;
}

.checkout-sidebar-stack {
    display: grid;
    gap: 18px;
}

.checkout-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.checkout-validation-form,
.checkout-terms {
    width: 100%;
}

.checkout-terms {
    align-items: flex-start;
}

.checkout-subtitle {
    margin: 0 0 12px;
    font-size: 1rem;
}

.checkout-address-card-static {
    padding: 18px;
}

.checkout-address-preview {
    margin: 10px 0 0;
    display: grid;
    gap: 4px;
    color: var(--text-soft);
}

.auth-card-clean {
    padding: 32px;
    border-radius: 22px;
}

.auth-intro-copy {
    margin-bottom: 8px;
}

.auth-note {
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.82);
}

.auth-note p {
    margin: 0;
}

.side-menu {
    position: sticky;
    top: 104px;
}

.side-menu a {
    min-height: 44px;
    box-shadow: none;
    background: rgba(255, 255, 255, 0.78);
}

.account-layout .content-card,
.account-layout .panel-card,
.account-layout .soft-card,
.account-layout .hero-banner {
    box-shadow: var(--shadow-card);
}

.account-layout .hero-banner-inner,
.account-shell .hero-banner-inner {
    padding: 24px;
}

.account-layout .hero-title,
.account-shell .hero-title {
    font-size: clamp(1.6rem, 2.4vw, 2.1rem);
}

.account-layout .hero-kpi-grid,
.account-shell .hero-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.catalog-drawer {
    width: min(1100px, calc(100vw - 36px));
}

.catalog-drawer-inner {
    gap: 16px;
    padding: 18px;
    border-radius: 22px;
}

.catalog-drawer-aside,
.catalog-drawer-column {
    padding: 16px;
    border-radius: 18px;
}

.catalog-drawer-grid {
    gap: 12px;
}

.catalog-drawer-link {
    box-shadow: none;
    background: rgba(255, 255, 255, 0.92);
}

.catalog-drawer-summary {
    font-size: 0.84rem;
}

@media (max-width: 1180px) {
    .storefront-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cart-layout,
    .checkout-review-grid,
    .page-intro-compact {
        grid-template-columns: 1fr;
    }

    .product-detail-grid .detail-sidebar,
    .cart-summary-card,
    .side-menu {
        position: static;
    }

    .account-layout .hero-kpi-grid,
    .account-shell .hero-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .checkout-address-grid,
    .metric-strip,
    .catalog-hero-inner,
    .catalog-department-grid,
    .catalog-family-grid {
        grid-template-columns: 1fr;
    }

    .storefront-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .header-actions {
        justify-content: flex-start;
    }

    .catalog-drawer {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .container {
        width: min(var(--content-width), calc(100% - 24px));
    }

    .storefront-product-grid,
    .form-grid.two-columns {
        grid-template-columns: 1fr;
    }

    .product-detail-shell,
    .content-card,
    .auth-card-clean,
    .catalog-section-shell,
    .catalog-hero-inner,
    .catalog-drawer-inner {
        padding-left: 18px;
        padding-right: 18px;
    }

    .header-action-link,
    .catalog-burger-trigger,
    .header-account {
        width: fit-content;
    }

    .utility-group-right {
        justify-content: flex-start;
    }

    .catalog-drawer-aside,
    .catalog-drawer-column {
        padding: 14px;
    }
}

/* Iteration 27 — storefront homepage segmentation and media placeholders */
.storefront-header-segmented {
    position: sticky;
    top: 0;
    z-index: 80;
    backdrop-filter: blur(12px);
}

.storefront-header-segmented .site-header-primary {
    grid-template-columns: auto minmax(280px, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding-top: 18px;
    padding-bottom: 16px;
}

.site-header-secondary {
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.94);
    overflow: visible;
}

.site-header-secondary-inner {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 58px;
    position: relative;
    overflow: visible;
}

.storefront-shortcuts {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
    scrollbar-width: none;
    position: static;
}

.storefront-shortcuts::-webkit-scrollbar {
    display: none;
}

.storefront-shortcut-link {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    color: var(--text-soft);
    font-size: 0.93rem;
    font-weight: 600;
    white-space: nowrap;
    transition: background .18s ease, color .18s ease;
}

.storefront-shortcut-link:hover,
.storefront-shortcut-link:focus-visible {
    background: rgba(226, 232, 240, 0.55);
    color: var(--text);
}

.storefront-shortcut {
    position: static;
    display: inline-flex;
    align-items: center;
}

.storefront-shortcut-panel {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    width: min(1040px, calc(100vw - 40px));
    max-width: calc(100vw - 40px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 95;
}

.storefront-shortcut-panel .catalog-drawer-inner {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border-radius: 20px;
}

.storefront-shortcut-panel .catalog-drawer-aside,
.storefront-shortcut-panel .catalog-drawer-column {
    padding: 14px;
    border-radius: 16px;
}

.storefront-shortcut-panel .catalog-drawer-title {
    font-size: 1.1rem;
}

.storefront-shortcut-panel .catalog-drawer-copy {
    font-size: 0.88rem;
    line-height: 1.5;
}

.storefront-shortcut-panel .catalog-drawer-grid {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 10px;
    align-items: start;
}

.storefront-shortcut-panel .catalog-drawer-column {
    gap: 10px;
    align-self: start;
}

.storefront-shortcut-panel .catalog-drawer-links {
    gap: 6px;
}

.storefront-shortcut-panel .catalog-drawer-link {
    min-height: 29px;
    padding: 0 9px;
    font-size: 0.8rem;
}

.storefront-shortcut-panel .button-secondary {
    min-height: 38px;
    justify-content: center;
}

.storefront-shortcut:hover .storefront-shortcut-link,
.storefront-shortcut:focus-within .storefront-shortcut-link,
.storefront-shortcut.is-open .storefront-shortcut-link {
    background: #fff;
    color: var(--text);
    box-shadow: var(--shadow-xs);
}

.storefront-shortcut:hover .storefront-shortcut-panel,
.storefront-shortcut:focus-within .storefront-shortcut-panel,
.storefront-shortcut.is-open .storefront-shortcut-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.catalog-burger {
    position: relative;
}

.catalog-drawer {
    top: calc(100% + 12px);
    left: 0;
    width: min(1240px, calc(100vw - 40px));
    max-width: calc(100vw - 40px);
}

.catalog-home-hero-shell {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 12px clamp(18px, 3vw, 34px) 4px;
}

.catalog-home-hero {
    max-width: 1480px;
    margin: 0 auto;
}

.catalog-carousel {
    position: relative;
    overflow: hidden;
    min-height: clamp(360px, 48vw, 560px);
    border-radius: 30px;
    border: 1px solid rgba(226, 232, 240, 0.75);
    background: #0f172a;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.18);
}

.catalog-carousel-track {
    position: relative;
    min-height: inherit;
}

.catalog-carousel-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .38s ease;
}

.catalog-carousel-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.catalog-carousel-image,
.catalog-carousel-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.catalog-carousel-image {
    object-fit: cover;
}

.catalog-carousel-overlay {
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.78) 0%, rgba(15, 23, 42, 0.5) 42%, rgba(15, 23, 42, 0.16) 100%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.12) 0%, rgba(15, 23, 42, 0.38) 100%);
}

.catalog-carousel-copy {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: 16px;
    min-height: inherit;
    max-width: 640px;
    padding: clamp(34px, 6vw, 64px);
    color: #fff;
}

.catalog-carousel-copy .eyebrow {
    width: fit-content;
    color: #fff;
    background: rgba(255, 255, 255, 0.14);
}

.catalog-carousel-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.catalog-carousel-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

.catalog-carousel-title {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.6rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
    color: #fff;
}

.catalog-carousel-text {
    margin: 0;
    max-width: 52ch;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.03rem;
}

.button-secondary-light {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.3);
    color: #fff;
}

.button-secondary-light:hover,
.button-secondary-light:focus-visible {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.5);
}

.catalog-carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(15, 23, 42, 0.28);
    color: #fff;
    font-size: 1.8rem;
    line-height: 1;
}

.catalog-carousel-nav.prev { left: 24px; }
.catalog-carousel-nav.next { right: 24px; }

.catalog-carousel-dots {
    position: absolute;
    left: 50%;
    bottom: 22px;
    z-index: 2;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
}

.catalog-carousel-dot {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    border: 0;
    background: rgba(255, 255, 255, 0.42);
}

.catalog-carousel-dot.is-active {
    background: #fff;
}

.catalog-quick-links-shell {
    padding-top: 10px;
}

.catalog-quick-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.catalog-quick-link {
    display: grid;
    gap: 4px;
    min-width: 170px;
    padding: 14px 18px;
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.catalog-quick-link span {
    font-weight: 700;
    color: var(--text);
}

.catalog-quick-link small {
    color: var(--text-soft);
    font-size: 0.82rem;
}

.catalog-filter-panel-storefront {
    display: grid;
    gap: 18px;
}

.catalog-filter-form-storefront {
    grid-template-columns: minmax(260px, 1.4fr) repeat(2, minmax(180px, 0.7fr)) auto;
    align-items: center;
}

.catalog-results-head-spaced {
    margin-top: 18px;
}

.storefront-product-grid-featured {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.catalog-feed {
    display: grid;
    gap: 12px;
}

.catalog-feed-footer {
    position: relative;
    min-height: 48px;
    display: grid;
    place-items: center;
}

.catalog-feed-loader,
.catalog-feed-end {
    color: var(--text-soft);
    font-size: 0.92rem;
}

.catalog-feed-loader.is-hidden,
.catalog-feed-end {
    display: none;
}

.catalog-feed-end.is-visible {
    display: block;
}

.catalog-feed-sentinel {
    width: 100%;
    height: 1px;
}

.product-card-media img,
.detail-media img,
.detail-thumb img,
.cart-item-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cart-item-media {
    overflow: hidden;
}

@media (max-width: 1180px) {
    .site-header-secondary-inner {
        flex-wrap: wrap;
        align-items: flex-start;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .catalog-drawer {
        width: min(1000px, calc(100vw - 32px));
    }

    .storefront-product-grid-featured {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .storefront-header-segmented .site-header-primary {
        grid-template-columns: 1fr;
    }

    .header-actions {
        flex-wrap: wrap;
    }

    .storefront-shortcuts {
        display: none;
    }

    .storefront-shortcut-panel {
        display: none;
    }

    .catalog-drawer {
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
        left: 0;
    }

    .catalog-carousel {
        min-height: 420px;
    }

    .catalog-carousel-copy {
        max-width: 100%;
        padding-right: 88px;
    }

    .catalog-filter-form-storefront {
        grid-template-columns: 1fr;
    }

    .storefront-product-grid-featured {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .site-header-secondary {
        overflow: visible;
    }

    .catalog-home-hero-shell {
        padding-left: 12px;
        padding-right: 12px;
    }

    .catalog-carousel {
        min-height: 400px;
        border-radius: 22px;
    }

    .catalog-carousel-copy {
        padding: 24px 24px 72px;
    }

    .catalog-carousel-nav {
        top: auto;
        bottom: 18px;
        transform: none;
        width: 40px;
        height: 40px;
    }

    .catalog-carousel-nav.prev {
        left: 18px;
    }

    .catalog-carousel-nav.next {
        right: 18px;
    }

    .catalog-carousel-dots {
        bottom: 30px;
    }

    .catalog-quick-links {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
    }

    .catalog-quick-link {
        min-width: 200px;
    }

    .storefront-product-grid-featured {
        grid-template-columns: 1fr;
    }
}


/* Iteration 28 — carousel drag, arrow alignment and search placeholder spacing */
.search-icon {
    left: 18px;
    pointer-events: none;
}

.search-input {
    padding-left: 56px;
}

.search-input::placeholder {
    color: #64748b;
}

.catalog-carousel {
    touch-action: pan-y;
    user-select: none;
}

.catalog-carousel.is-dragging {
    cursor: grabbing;
}

.catalog-carousel-nav {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}

.catalog-carousel-nav.prev {
    left: 24px;
}

.catalog-carousel-nav.next {
    right: 24px;
}

@media (max-width: 720px) {
    .catalog-carousel-nav {
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
        width: 42px;
        height: 42px;
    }

    .catalog-carousel-nav.prev {
        left: 14px;
    }

    .catalog-carousel-nav.next {
        right: 14px;
    }

    .catalog-carousel-copy {
        padding-bottom: 82px;
    }
}


/* Iteration 30 — search field fix and secondary pages UI pass */
.search-shell {
    --search-icon-left: 18px;
}

.search-icon {
    left: var(--search-icon-left);
    width: 16px;
    height: 16px;
    pointer-events: none;
    z-index: 1;
}

.search-input {
    padding-left: 68px;
}

.search-input::placeholder {
    opacity: 1;
}

.auth-shell {
    max-width: 880px;
}

.auth-card-clean {
    padding: 40px;
    border-radius: 28px;
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.08);
}

.auth-card-clean .section-title {
    font-size: clamp(1.9rem, 3vw, 2.5rem);
}

.auth-card-clean .stack-form {
    gap: 22px;
}

.auth-card-clean .form-grid.two-columns {
    gap: 18px 20px;
}

.auth-note {
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
}

.account-layout {
    align-items: start;
    gap: 24px;
}

.side-menu {
    padding: 8px;
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.05);
}

.side-menu a {
    min-height: 52px;
    border-radius: 16px;
}

.account-shell {
    gap: 22px;
}

.account-shell .hero-banner,
.account-shell .content-card,
.account-shell .panel-card,
.account-shell .soft-card {
    border-radius: 26px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.account-shell .hero-banner-inner,
.account-layout .hero-banner-inner {
    padding: 28px;
}

.account-shell .section-title,
.account-layout .section-title {
    letter-spacing: -0.03em;
}

.account-shell .hero-kpi-grid,
.account-layout .hero-kpi-grid {
    gap: 14px;
}

.account-shell .hero-kpi,
.account-layout .hero-kpi {
    min-height: 118px;
}

.checkout-shell {
    gap: 22px;
}

.checkout-topbar {
    padding: 24px 26px;
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.05);
}

.checkout-steps {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.checkout-form-stack,
.checkout-address-grid,
.checkout-review-grid,
.checkout-sidebar-stack {
    gap: 20px;
}

.checkout-form-stack > .content-card,
.checkout-review-grid > .content-card,
.checkout-review-grid > aside.content-card,
.checkout-shell > .content-card {
    border-radius: 24px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06);
}

.shipping-option,
.checkout-address-card-static {
    border-radius: 20px;
}

.checkout-summary .stack-compact,
.checkout-actions {
    gap: 12px;
}

.checkout-summary .button-primary,
.checkout-summary .button-secondary {
    justify-content: center;
}

.cart-layout > .content-card,
.cart-summary-card {
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.cart-item {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 18px;
    padding: 20px 0;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.cart-item:first-child {
    padding-top: 0;
    border-top: 0;
}

.cart-item-media {
    border-radius: 18px;
}

.cart-item-title {
    font-size: 1.08rem;
    letter-spacing: -0.02em;
}

@media (max-width: 980px) {
    .search-input {
        padding-left: 64px;
    }

    .account-layout {
        grid-template-columns: 1fr;
    }

    .side-menu {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cart-item {
        grid-template-columns: 96px minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .search-shell {
        --search-icon-left: 16px;
    }

    .search-input {
        padding-left: 62px;
    }

    .auth-card-clean,
    .checkout-topbar,
    .account-shell .hero-banner-inner,
    .account-layout .hero-banner-inner {
        padding: 22px;
    }

    .side-menu {
        grid-template-columns: 1fr;
    }

    .cart-item {
        grid-template-columns: 1fr;
    }

    .cart-item-media {
        max-width: 140px;
    }
}

/* Iteration 31 — product page gallery and UI refinement */
.product-detail-shell-refined {
    padding: 18px 18px 22px;
}

.product-detail-grid-refined {
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 440px);
    gap: 24px;
}

.product-gallery-block {
    gap: 0;
}

.product-gallery-layout {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.product-gallery-thumbs {
    display: grid;
    gap: 12px;
    align-content: start;
}

.product-gallery-thumb {
    display: block;
    padding: 0;
    border-radius: 18px;
    border: 1px solid rgba(203, 213, 225, 0.95);
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.product-gallery-thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.product-gallery-thumb:hover,
.product-gallery-thumb:focus-visible,
.product-gallery-thumb.is-active {
    border-color: color-mix(in srgb, var(--brand-primary) 42%, white);
    box-shadow: 0 18px 32px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.product-gallery-stage {
    min-width: 0;
}

.product-gallery-hero {
    aspect-ratio: 1 / 1;
    border-radius: 26px;
    border: 1px solid rgba(226, 232, 240, 0.94);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.88), rgba(255, 255, 255, 0.96));
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
}

.product-gallery-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-detail-sidebar-refined {
    gap: 16px;
}

.product-detail-buy-card-refined,
.product-reference-card-refined,
.product-content-section {
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.product-detail-buy-card-refined {
    gap: 18px;
}

.product-detail-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.product-detail-heading-block {
    display: grid;
    gap: 10px;
}

.product-reassurance-inline {
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.72);
}

.product-config-form-refined {
    gap: 16px;
}

.product-pricing-card-refined {
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248,250,252,.88), rgba(255,255,255,.98));
}

.product-config-grid {
    gap: 14px 16px;
}

.product-detail-actions {
    gap: 12px;
}

.product-detail-actions .button-primary,
.product-detail-actions .button-secondary {
    min-height: 46px;
}

.product-detail-actions [hidden] {
    display: none !important;
}

.product-reference-card-refined .definition-list {
    row-gap: 10px;
}

.product-spec-list-refined {
    gap: 14px;
}

.product-spec-item-refined {
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(255, 255, 255, 0.92);
}

@media (max-width: 1180px) {
    .product-detail-grid-refined {
        grid-template-columns: 1fr;
    }

    .product-detail-grid-refined .detail-sidebar {
        position: static;
    }
}

@media (max-width: 720px) {
    .product-detail-shell-refined {
        padding: 14px;
    }

    .product-gallery-layout {
        grid-template-columns: 1fr;
    }

    .product-gallery-thumbs {
        order: 2;
        grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
    }

    .product-detail-topline {
        flex-direction: column;
        align-items: flex-start;
    }

    .product-detail-actions {
        flex-direction: column;
    }

    .product-detail-actions .button-primary,
    .product-detail-actions .button-secondary {
        width: 100%;
        justify-content: center;
    }
}


/* Iteration 32 — robust product media and catalog grid/card refinement */
.product-card-clean {
    display: flex;
    height: 100%;
    border-radius: 22px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.05);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.product-card-clean:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--brand-primary) 22%, var(--border));
    box-shadow: 0 22px 44px rgba(15, 23, 42, 0.08);
}

.product-card-clean .product-card-link {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.product-card-clean .product-card-media {
    aspect-ratio: 4 / 3;
    border-bottom: 1px solid rgba(226, 232, 240, 0.92);
    background: linear-gradient(180deg, rgba(248,250,252,.96), rgba(241,245,249,.96));
}

.product-card-clean .product-card-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
    padding: 18px 18px 16px;
}

.product-card-clean .product-card-overline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

.product-card-clean .product-card-category {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.96);
    border: 1px solid rgba(226, 232, 240, 0.95);
    color: var(--text-soft);
    font-size: 0.77rem;
    font-weight: 700;
}

.product-card-clean .product-card-flag {
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
}

.product-card-clean .meta-code {
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-faint);
}

.product-card-clean .product-card-heading {
    gap: 5px;
}

.product-card-clean .product-card-heading h3 {
    font-size: 1.08rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.product-card-clean .product-card-summary {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.1em;
    color: var(--text-soft);
    font-size: 0.92rem;
    line-height: 1.55;
}

.product-card-clean .product-card-footer {
    margin-top: auto;
    align-items: end;
    gap: 10px;
}

.product-card-clean .price-block {
    gap: 2px;
}

.product-card-clean .price-main {
    font-size: 1.12rem;
    line-height: 1.1;
}

.product-card-clean .product-card-cta {
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--brand-primary);
    font-size: 0.84rem;
    font-weight: 700;
    white-space: nowrap;
}

.catalog-filter-panel,
.catalog-filter-panel-storefront {
    padding: 18px 20px;
    border-radius: 22px;
    border: 1px solid rgba(226, 232, 240, 0.94);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.04);
}

.catalog-results-head {
    align-items: end;
    gap: 16px;
}

.storefront-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.catalog-category-nav {
    margin-top: 18px;
    gap: 8px;
}

.catalog-page-shell.is-focused {
    gap: 18px;
}

.catalog-page-head-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.catalog-category-nav-link,
.catalog-filter-link {
    min-height: 36px;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.92);
    color: var(--text-soft);
    font-size: 0.83rem;
    font-weight: 600;
}

.catalog-family-grid {
    gap: 16px;
}

.catalog-family-card {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(226, 232, 240, 0.94);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.04);
}

.catalog-group-shell + .catalog-group-shell {
    margin-top: 30px;
    padding-top: 30px;
}

.catalog-group-shell.is-focused {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.catalog-group-summary {
    margin: 8px 0 0;
    color: var(--text-soft);
    line-height: 1.55;
}

.catalog-page-summary {
    max-width: 72ch;
    color: var(--text-soft);
}

.product-gallery-hero img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-gallery-thumb {
    background: linear-gradient(180deg, rgba(248,250,252,.96), rgba(241,245,249,.96));
}

@media (max-width: 1180px) {
    .storefront-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .storefront-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .storefront-product-grid {
        grid-template-columns: 1fr;
    }

    .catalog-filter-panel,
    .catalog-filter-panel-storefront {
        padding: 16px;
    }

    .product-card-clean .product-card-body {
        padding: 16px;
    }
}

/* Iteration 32 — cart, checkout, account and orders refinement */
.section-kicker-inline {
    margin: 0 0 6px;
}

.section-title-spaced {
    margin-top: 10px;
}

.section-text-spaced {
    margin-top: 10px;
}

.section-text-spaced-sm {
    margin-top: 8px;
}

.account-section-head {
    margin-bottom: 18px;
    align-items: end;
}

.account-subsection-head {
    margin-bottom: 8px;
}

.account-chip-row {
    margin-top: 18px;
}

.empty-state-compact {
    padding: 18px 12px;
}

.account-hero-banner .hero-banner-inner {
    align-items: start;
    gap: 24px;
}

.account-hero-banner .chips {
    margin-top: 14px;
}

.account-section-card {
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.account-address-book-grid {
    gap: 22px;
}

.account-address-book-column {
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.94);
    background: rgba(248, 250, 252, 0.72);
}

.order-list-card {
    padding: 18px;
    border-radius: 20px;
    box-shadow: none;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(255, 255, 255, 0.92);
}

.order-list-card-title {
    margin: 6px 0 0;
    font-size: 1.04rem;
    letter-spacing: -0.02em;
}

.order-list-card-meta {
    margin-top: 6px;
}

.order-list-card-aside {
    align-items: flex-end;
    gap: 8px;
}

.order-list-card-definitions {
    margin-top: 14px;
}

.order-list-card-message {
    margin: 16px 0 0;
}

.order-detail-title {
    margin-top: 10px;
    font-size: 2rem;
}

.order-detail-soft-card {
    padding: 18px;
    margin-top: 18px;
    border-radius: 20px;
    background: rgba(248, 250, 252, 0.74);
}

.order-alert-list {
    margin: 14px 0 0 18px;
}

.order-address-grid {
    margin-top: 18px;
}

.order-address-card {
    padding: 18px;
    border-radius: 20px;
}

.address-block-copy {
    margin: 10px 0 0;
}

.order-detail-definitions {
    margin-top: 18px;
}

.order-subsection-head {
    margin-bottom: 10px;
}

.cell-code {
    font-size: 0.85rem;
}

.order-line-card {
    padding: 18px;
    border-radius: 18px;
}

.order-config-json {
    white-space: pre-wrap;
    margin: 0;
    font: inherit;
    color: #334155;
}

.credit-movement-card {
    padding: 16px;
    border-radius: 18px;
}

.checkout-shell-refined {
    gap: 20px;
}

.checkout-topbar-refined {
    gap: 18px;
    align-items: start;
}

.checkout-section-card {
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.checkout-shell-refined .checkout-form-stack > .content-card,
.checkout-shell-refined .checkout-review-grid > .content-card,
.checkout-shell-refined .checkout-review-grid > .checkout-sidebar-stack > .content-card {
    background: rgba(255, 255, 255, 0.95);
}

.checkout-shell-refined .checkout-address-card .stack-form,
.checkout-shell-refined .checkout-address-card [data-billing-fields] {
    gap: 16px;
}

.checkout-shell-refined .inline-check-list {
    padding: 14px 16px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.74);
}

.checkout-line-list {
    gap: 14px;
}

.checkout-line-card {
    padding: 16px 0;
}

.checkout-address-grid-refined {
    gap: 24px;
    align-items: start;
}

.checkout-summary-card-refined .summary-line-total strong {
    font-size: 1.1rem;
}

.checkout-summary-card-refined .button-primary {
    min-height: 48px;
}

@media (min-width: 981px) {
    .checkout-shell-refined .checkout-sidebar-stack {
        position: sticky;
        top: 104px;
        align-self: start;
    }
}

@media (max-width: 980px) {
    .order-list-card-aside {
        align-items: flex-start;
    }

    .checkout-shell-refined .checkout-sidebar-stack {
        position: static;
    }
}


/* Iteration 32 — product page image fix and display pass */
.product-detail-shell-refined {
    padding: 20px;
}

.product-detail-grid-refined {
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, 430px);
    gap: 26px;
}

.product-gallery-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.product-gallery-layout {
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 28px;
    padding: 16px;
}

.product-gallery-thumbs {
    width: 88px;
}

.product-gallery-thumb {
    background: linear-gradient(180deg, rgba(248,250,252,.96), rgba(255,255,255,.98));
}

.product-gallery-stage {
    min-width: 0;
}

.product-gallery-hero {
    min-height: min(720px, 52vw);
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-primary) 16%, transparent), transparent 24%),
        linear-gradient(180deg, rgba(248,250,252,.88), rgba(255,255,255,.96));
}

.product-gallery-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-detail-buy-card-refined {
    padding: 24px;
}

.product-detail-heading-block {
    gap: 12px;
}

.product-detail-description {
    max-width: 52ch;
}

.product-reassurance-inline {
    margin: 0;
}

.product-pricing-card-refined {
    padding: 18px;
}

.product-detail-actions {
    align-items: stretch;
}

.product-content-section {
    padding: 22px;
}

.product-spec-item-refined {
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

@media (max-width: 1180px) {
    .product-detail-grid-refined {
        grid-template-columns: 1fr;
    }

    .product-gallery-hero {
        min-height: 460px;
    }
}

@media (max-width: 720px) {
    .product-detail-shell-refined,
    .product-content-section {
        padding: 16px;
    }

    .product-gallery-layout {
        padding: 12px;
        border-radius: 22px;
    }

    .product-gallery-thumbs {
        width: 100%;
    }

    .product-gallery-hero {
        min-height: 320px;
        border-radius: 20px;
    }

    .product-detail-buy-card-refined {
        padding: 20px;
    }
}


/* Iteration 32 — account, orders, cart and checkout refinement */
.account-card-head,
.account-card-head-sm {
    margin-bottom: 18px;
}

.account-card-head-sm {
    margin-bottom: 12px;
}

.account-card-kicker {
    margin: 0 0 6px;
}

.account-column-title {
    margin: 0;
    font-size: 1.02rem;
    letter-spacing: -0.02em;
}

.dashboard-action-grid,
.dashboard-order-grid {
    gap: 18px;
}

.dashboard-action-card,
.dashboard-order-card {
    padding: 20px;
    border-radius: 22px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.dashboard-action-head {
    margin-bottom: 12px;
}

.dashboard-action-label {
    margin: 0 0 6px;
}

.dashboard-action-count {
    font-size: clamp(1.9rem, 2.4vw, 2.3rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.dashboard-action-description,
.dashboard-order-message {
    margin: 0 0 16px;
}

.dashboard-profile-chips {
    margin-top: 18px;
}

.dashboard-quick-links .button-secondary {
    justify-content: flex-start;
}

.dashboard-order-title {
    margin: 6px 0 0;
    font-size: 1.08rem;
    letter-spacing: -0.03em;
}

.dashboard-order-definitions {
    margin-top: 14px;
}

.account-address-card,
.account-address-summary-card {
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: none;
}

.account-address-card-head {
    margin-bottom: 12px;
}

.account-address-card-title {
    display: grid;
    gap: 8px;
}

.account-address-copy {
    margin: 10px 0 0;
    line-height: 1.65;
    color: var(--text-soft);
}

.account-empty-state-compact {
    padding: 18px 14px;
}

.account-address-form-card .stack-form {
    gap: 20px;
}

.account-address-form-card .form-grid {
    gap: 18px 20px;
}

.order-detail-title {
    line-height: 1.05;
}

.order-detail-soft-card,
.credit-movement-card,
.order-line-card,
.order-address-card {
    border: 1px solid rgba(226, 232, 240, 0.94);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.order-detail-definitions {
    gap: 12px 18px;
}

.order-address-grid {
    gap: 18px;
}

.order-config-json {
    padding: 14px;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.86);
    border: 1px solid rgba(226, 232, 240, 0.86);
}

.order-alert-list li + li {
    margin-top: 6px;
}

.cart-layout-refined {
    gap: 24px;
}

.cart-lines-card {
    border-radius: 26px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.cart-item-refined {
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 20px;
    padding: 22px 0;
    border-top: 1px solid rgba(226, 232, 240, 0.88);
}

.cart-item-refined:first-child {
    padding-top: 0;
    border-top: 0;
}

.cart-item-refined .cart-item-media {
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.86);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.cart-item-refined .cart-item-title {
    font-size: 1.08rem;
    line-height: 1.35;
}

.cart-item-options {
    margin-top: 10px;
}

.cart-summary-card-refined {
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.94));
}

.cart-summary-note {
    padding: 14px 16px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.8);
    color: var(--text-soft);
    line-height: 1.55;
}

.checkout-panel-card {
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.checkout-panel-card .form-grid {
    gap: 18px 20px;
}

.shipping-option-refined {
    border-radius: 20px;
    border-color: rgba(226, 232, 240, 0.94);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.shipping-option-refined:hover {
    border-color: color-mix(in srgb, var(--brand-primary) 18%, var(--border));
    box-shadow: 0 20px 34px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.shipping-option-refined:has(input:checked) {
    border-color: color-mix(in srgb, var(--brand-primary) 34%, var(--border));
    box-shadow: 0 22px 38px color-mix(in srgb, var(--brand-primary) 10%, rgba(15, 23, 42, 0.08));
}

.checkout-sidebar-card {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
}

.checkout-review-grid .cart-item.compact {
    padding: 16px 0;
}

.checkout-review-grid .cart-item.compact + .cart-item.compact {
    border-top: 1px solid rgba(226, 232, 240, 0.88);
}

.checkout-address-card-static {
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(255, 255, 255, 0.94);
}

.checkout-summary-card-refined .summary-stack {
    gap: 8px;
}

.checkout-summary-card-refined .summary-line {
    padding: 10px 0;
}

.checkout-validation-form .button-primary {
    min-height: 50px;
}

@media (max-width: 1180px) {
    .cart-item-refined {
        grid-template-columns: 112px minmax(0, 1fr);
    }
}

@media (max-width: 980px) {
    .dashboard-action-grid,
    .dashboard-order-grid {
        grid-template-columns: 1fr;
    }

    .cart-layout-refined {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .dashboard-action-card,
    .dashboard-order-card,
    .account-address-card,
    .account-address-summary-card {
        padding: 16px;
    }

    .cart-item-refined {
        grid-template-columns: 1fr;
    }

    .cart-item-refined .cart-item-media {
        max-width: 156px;
    }
}


/* Iteration 11 — product page alignment and chip configurator */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.product-detail-shell-refined {
    padding: 18px;
}

.product-detail-grid-refined {
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, 430px);
    gap: 22px;
    align-items: start;
}

.product-gallery-block,
.product-gallery-stage,
.product-gallery-layout {
    min-width: 0;
}

.product-gallery-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.product-gallery-layout {
    grid-template-columns: minmax(0, 1fr) 76px;
    gap: 14px;
    align-items: start;
}

.product-gallery-stage {
    display: grid;
}

.product-gallery-hero {
    width: 100%;
    max-width: 760px;
    margin: 0;
    aspect-ratio: 4 / 3;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(255, 255, 255, 0.98));
    justify-self: start;
}

.product-gallery-hero img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.product-gallery-thumbs {
    gap: 10px;
}

.product-gallery-thumb {
    margin: 0;
    border-radius: 16px;
}

.product-gallery-thumb img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: #fff;
}

.product-detail-sidebar-refined {
    gap: 0;
}

.product-detail-buy-card-refined {
    padding: 22px;
    gap: 18px;
}

.product-detail-heading-block {
    gap: 8px;
}

.product-detail-description {
    font-size: 1rem;
    line-height: 1.6;
}

.product-pricing-card-refined {
    padding: 16px;
}

.product-configurator-card {
    display: grid;
    gap: 16px;
    padding-top: 4px;
}

.product-option-groups {
    display: grid;
    gap: 14px;
}

.product-option-group {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(226, 232, 240, 0.94);
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.74);
}

.product-option-group-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.product-option-group-head strong {
    display: block;
    margin: 0;
    font-size: 0.95rem;
    color: var(--text);
}

.product-option-choices {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.product-option-choice {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(203, 213, 225, 0.95);
    background: #fff;
    color: var(--text-soft);
    font-size: 0.88rem;
    font-weight: 600;
    transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.product-option-choice:hover,
.product-option-choice:focus-visible {
    border-color: color-mix(in srgb, var(--brand-primary) 35%, white);
    color: var(--text);
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.06);
}

.product-option-choice.is-active {
    border-color: color-mix(in srgb, var(--brand-primary) 52%, white);
    background: color-mix(in srgb, var(--brand-primary) 10%, white);
    color: var(--brand-secondary);
}

.product-option-swatch {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.42);
    background: var(--option-swatch);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.48);
    flex: none;
}

.product-option-group .field {
    margin: 0;
}

.product-option-group .field input {
    background: #fff;
}

.product-quantity-field {
    max-width: 180px;
}

.product-detail-actions {
    padding-top: 4px;
}

.product-content-section {
    padding: 22px;
}

@media (max-width: 1180px) {
    .product-detail-grid-refined {
        grid-template-columns: 1fr;
    }

    .product-gallery-hero {
        max-width: none;
    }
}

@media (max-width: 720px) {
    .product-detail-shell-refined {
        padding: 14px;
    }

    .product-gallery-layout {
        grid-template-columns: 1fr;
    }

    .product-gallery-stage {
        order: 1;
    }

    .product-gallery-thumbs {
        order: 2;
        grid-template-columns: repeat(auto-fit, minmax(64px, 1fr));
    }

    .product-option-choice {
        width: 100%;
        justify-content: center;
    }

    .product-quantity-field {
        max-width: 100%;
    }
}


/* Iteration 34 — product page image/frame alignment and pricing order */
.product-detail-grid-refined {
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 420px);
    gap: 22px;
}

.product-gallery-layout-overlay {
    display: block;
}

.product-gallery-stage {
    position: relative;
    max-width: 760px;
}

.product-gallery-hero {
    aspect-ratio: 4 / 3;
    max-width: 760px;
    margin: 0;
    border-radius: 24px;
}

.product-gallery-hero img {
    object-fit: contain;
    padding: 18px;
    background: linear-gradient(180deg, rgba(248,250,252,.94), rgba(255,255,255,.98));
}

.product-gallery-thumbs-overlay {
    position: absolute;
    top: 16px;
    right: 16px;
    display: grid;
    gap: 10px;
    width: 76px;
    z-index: 2;
}

.product-gallery-thumbs-overlay .product-gallery-thumb {
    border-radius: 16px;
    backdrop-filter: blur(8px);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.10);
}

.product-gallery-thumbs-overlay .product-gallery-thumb img {
    aspect-ratio: 1 / 1;
}

.product-gallery-head {
    margin-bottom: 12px;
}

.product-detail-buy-card-refined {
    gap: 16px;
}

.product-configurator-card {
    order: 1;
}

.product-pricing-card-bottom {
    order: 2;
    padding: 18px;
}

.product-detail-actions {
    order: 3;
}

.product-pricing-card-bottom .price-main {
    font-size: clamp(1.8rem, 2vw, 2.2rem);
}

.product-pricing-card-bottom .price-block {
    gap: 6px;
}

.product-pricing-card-bottom[data-quote-mode="request"] {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(var(--brand-primary-rgb), 0.06));
    border: 1px solid rgba(var(--brand-primary-rgb), 0.14);
}

.product-pricing-card-bottom[data-quote-mode="request"] .price-block {
    gap: 10px;
}

.product-pricing-card-bottom[data-quote-mode="request"] [data-product-quote-state] {
    color: rgba(var(--brand-primary-rgb), 0.9);
    font-weight: 700;
}

.product-pricing-card-bottom[data-quote-mode="request"] [data-product-quote-total] {
    line-height: 1.05;
}

.product-pricing-card-bottom[data-quote-mode="request"] [data-product-quote-unit] {
    font-size: 0.98rem;
    color: var(--text-color);
}

.product-pricing-card-bottom[data-quote-mode="request"] [data-product-quote-quantity],
.product-pricing-card-bottom[data-quote-mode="request"] [data-product-shipping-state],
.product-pricing-card-bottom[data-quote-mode="request"] [data-product-shipping-amount] {
    color: var(--text-soft);
}

.product-detail-actions.is-request-mode {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.product-detail-actions.is-request-mode .button-primary[data-product-request-cta] {
    min-width: 220px;
}

@media (max-width: 1180px) {
    .product-gallery-stage,
    .product-gallery-hero {
        max-width: 100%;
    }
}

@media (max-width: 720px) {
    .product-gallery-hero {
        aspect-ratio: 1 / 1;
    }

    .product-gallery-hero img {
        padding: 12px;
    }

    .product-gallery-thumbs-overlay {
        top: auto;
        right: 12px;
        bottom: 12px;
        width: auto;
        grid-auto-flow: column;
        grid-auto-columns: 64px;
        overflow-x: auto;
        max-width: calc(100% - 24px);
        padding-bottom: 2px;
    }
}


/* Iteration 35 — product page panel balance */
.product-detail-grid-refined {
    grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr);
    gap: 26px;
}

.product-gallery-block {
    max-width: 660px;
}

.product-gallery-layout,
.product-gallery-layout-overlay {
    max-width: 660px;
}

.product-gallery-stage {
    max-width: 600px;
}

.product-gallery-hero {
    max-width: 600px;
    min-height: min(520px, 36vw);
    margin: 0 auto 0 0;
}

.product-detail-sidebar-refined,
.product-detail-buy-card-refined,
.product-reference-card-refined {
    max-width: none;
    width: 100%;
}

.product-config-form-refined,
.product-option-choice-group {
    width: 100%;
}

@media (max-width: 1360px) {
    .product-detail-grid-refined {
        grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
    }

    .product-gallery-block,
    .product-gallery-layout,
    .product-gallery-layout-overlay,
    .product-gallery-stage,
    .product-gallery-hero {
        max-width: 560px;
    }
}

@media (max-width: 1180px) {
    .product-detail-grid-refined {
        grid-template-columns: 1fr;
    }

    .product-gallery-block,
    .product-gallery-layout,
    .product-gallery-layout-overlay,
    .product-gallery-stage,
    .product-gallery-hero {
        max-width: none;
    }
}


/* Iteration 36 — sticky centered product visual */
.product-detail-grid-refined .detail-sidebar {
    position: static;
    top: auto;
}

.product-gallery-block {
    position: sticky;
    top: 118px;
    align-self: start;
}

.product-gallery-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.product-gallery-layout-overlay {
    min-height: calc(100vh - 170px);
    display: flex;
    align-items: center;
}

.product-gallery-stage {
    width: 100%;
    margin: 0 auto;
}

.product-gallery-hero {
    margin: 0 auto;
}

.product-gallery-thumbs-overlay {
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
}

@media (max-width: 1180px) {
    .product-gallery-block {
        position: static;
        top: auto;
    }

    .product-gallery-layout-overlay {
        min-height: auto;
        display: block;
    }

    .product-gallery-thumbs-overlay {
        top: auto;
        right: 16px;
        transform: none;
    }
}

@media (max-width: 720px) {
    .product-gallery-thumbs-overlay {
        right: 12px;
    }
}


/* Iteration 37 — flatter 2026 storefront surfaces */
.section-stack > .content-card,
.section-stack > .panel-card,
.section-stack > .soft-card,
.section-stack > .hero-banner,
.section-stack > .card {
    border-color: rgba(226, 232, 240, 0.82);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.content-card .content-card,
.content-card .soft-card,
.panel-card .content-card,
.panel-card .soft-card,
.soft-card .soft-card,
.soft-card .content-card {
    box-shadow: none;
    border-color: rgba(226, 232, 240, 0.72);
    background: rgba(255, 255, 255, 0.68);
}

.product-page-shell {
    display: grid;
    gap: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.product-detail-shell-refined {
    padding: 0;
}

.product-detail-grid-refined {
    gap: 32px;
    align-items: start;
}

.product-gallery-head {
    padding: 0 4px;
}

.product-gallery-stage {
    padding: 18px;
    border: 1px solid rgba(226, 232, 240, 0.78);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.03);
}

.product-gallery-hero {
    border: 0;
    box-shadow: none;
    background: transparent;
    min-height: min(460px, 33vw);
}

.product-gallery-hero img {
    background: transparent;
}

.product-detail-buy-panel {
    display: grid;
    gap: 20px;
    padding: 8px 0 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.product-detail-buy-card-refined {
    gap: 18px;
}

.product-detail-topline {
    padding-bottom: 2px;
}

.product-detail-heading-block {
    gap: 12px;
}

.product-detail-description {
    max-width: 54ch;
}

.product-reassurance-inline {
    padding: 0;
    border: 0;
    background: transparent;
    gap: 8px;
}

.product-reassurance-inline li {
    color: var(--text-soft);
}

.product-configurator-card {
    display: grid;
    gap: 18px;
    padding-top: 20px;
    border-top: 1px solid rgba(226, 232, 240, 0.88);
}

.product-option-groups {
    gap: 0;
}

.product-option-group {
    gap: 10px;
    padding: 16px 0;
    border: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.86);
    border-radius: 0;
    background: transparent;
}

.product-option-group:first-child {
    padding-top: 0;
    border-top: 0;
}

.product-option-group .field input {
    background: rgba(255, 255, 255, 0.86);
}

.product-option-choice {
    background: rgba(255, 255, 255, 0.88);
    box-shadow: none;
}

.product-option-choice:hover,
.product-option-choice:focus-visible {
    box-shadow: none;
}

.product-pricing-card-bottom {
    padding: 18px 0 0;
    border: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.product-pricing-card-bottom .price-main {
    font-size: clamp(1.7rem, 2vw, 2.15rem);
}

.product-detail-actions {
    padding-top: 4px;
}

.product-content-section-minimal {
    padding: 24px 0 0;
    border: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.product-content-section-minimal .section-heading-eyebrow {
    margin-bottom: 2px;
}

@media (max-width: 1180px) {
    .product-detail-grid-refined {
        gap: 22px;
    }

    .product-gallery-stage {
        padding: 14px;
    }

    .product-detail-buy-panel {
        padding-top: 0;
    }

    .product-configurator-card,
    .product-pricing-card-bottom,
    .product-content-section-minimal {
        padding-top: 18px;
    }
}

@media (max-width: 720px) {
    .product-gallery-stage {
        padding: 10px;
        border-radius: 20px;
    }

    .product-configurator-card,
    .product-pricing-card-bottom,
    .product-content-section-minimal {
        padding-top: 16px;
    }
}


/* Iteration 16 — cart and checkout flattening pass */
.cart-page-intro {
    align-items: end;
    gap: 20px;
}

.cart-metrics-strip {
    gap: 12px;
}

.cart-metrics-strip .metric-strip-card {
    min-height: 112px;
    border-radius: 22px;
    border: 1px solid rgba(226, 232, 240, 0.88);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.cart-lines-card-flat,
.cart-summary-card-flat,
.checkout-topbar-flat,
.checkout-lines-panel,
.checkout-panel-card {
    box-shadow: none;
}

.cart-lines-card-flat {
    border-radius: 26px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(255, 255, 255, 0.96);
}

.cart-lines-card-flat .section-header {
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(226, 232, 240, 0.88);
}

.cart-lines-card-flat .cart-list {
    display: grid;
    gap: 0;
}

.cart-item-refined {
    align-items: start;
}

.cart-item-refined .cart-item-media {
    aspect-ratio: 1 / 1;
}

.cart-item-refined .cart-item-body {
    display: grid;
    gap: 12px;
}

.cart-item-refined .cart-item-controls {
    padding-top: 6px;
    border-top: 1px dashed rgba(226, 232, 240, 0.86);
}

.cart-item-refined .field-inline input[type="number"] {
    width: 96px;
}

.cart-summary-card-flat {
    position: sticky;
    top: 108px;
    align-self: start;
    border-radius: 26px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
}

.cart-summary-card-flat .checkout-summary {
    display: grid;
    gap: 18px;
}

.cart-summary-card-flat .summary-stack {
    padding: 6px 0;
    border-top: 1px solid rgba(226, 232, 240, 0.88);
    border-bottom: 1px solid rgba(226, 232, 240, 0.88);
}

.cart-summary-card-flat .summary-line {
    padding: 10px 0;
}

.cart-summary-actions {
    gap: 12px;
}

.cart-summary-actions .button-primary,
.cart-summary-actions .button-secondary {
    justify-content: center;
}

.checkout-topbar-flat {
    padding: 0;
    border: 0;
    background: transparent;
}

.checkout-topbar-flat .checkout-steps {
    gap: 10px;
}

.checkout-topbar-flat .step-chip {
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.9);
}

.checkout-topbar-flat .step-chip.active {
    border-color: color-mix(in srgb, var(--brand-primary) 24%, var(--border));
    background: color-mix(in srgb, var(--brand-primary) 8%, white);
}

.checkout-topbar-flat .step-chip.done {
    background: rgba(248, 250, 252, 0.95);
}

.checkout-panel-card {
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(255, 255, 255, 0.96);
}

.checkout-panel-card .section-heading-eyebrow {
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(226, 232, 240, 0.88);
}

.shipping-options-flat {
    display: grid;
    gap: 14px;
}

.shipping-option-refined {
    box-shadow: none;
}

.shipping-option-refined:hover {
    transform: none;
}

.shipping-option-refined .shipping-option-body {
    display: grid;
    gap: 10px;
}

.checkout-actions-spread {
    justify-content: space-between;
    padding-top: 6px;
}

.checkout-review-grid-flat .checkout-sidebar-stack {
    position: sticky;
    top: 108px;
    align-self: start;
}

.checkout-review-grid-flat .checkout-line-list {
    display: grid;
    gap: 0;
}

.checkout-review-grid-flat .checkout-line-card {
    padding: 18px 0;
}

.checkout-review-grid-flat .checkout-line-card + .checkout-line-card {
    border-top: 1px solid rgba(226, 232, 240, 0.88);
}

.checkout-address-grid-flat .checkout-address-card-static {
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(248, 250, 252, 0.62);
    box-shadow: none;
}

@media (max-width: 1180px) {
    .cart-summary-card-flat,
    .checkout-review-grid-flat .checkout-sidebar-stack {
        position: static;
    }
}

@media (max-width: 720px) {
    .cart-metrics-strip {
        grid-template-columns: 1fr;
    }

    .checkout-actions-spread {
        flex-direction: column;
        align-items: stretch;
    }

    .checkout-actions-spread .button-primary,
    .checkout-actions-spread .button-secondary {
        width: 100%;
        justify-content: center;
    }
}


/* Iteration 32 — logo only clickable */
.brand-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.brand-logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}


/* Iteration 29 */

.price-strike {
    display: inline-flex;
    margin-top: 2px;
    color: var(--text-faint);
    text-decoration: line-through;
    font-size: 0.88rem;
}
.product-card-flag-sale {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
    border-color: rgba(248, 113, 113, 0.24);
}

.product-card-flag-personalization {
    background: color-mix(in srgb, var(--brand-primary) 12%, #fff);
    color: var(--brand-primary);
    border-color: color-mix(in srgb, var(--brand-primary) 20%, #fff);
}

.product-card-personalization-fields,
.product-detail-personalization-fields,
.catalog-carousel-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.product-card-personalization-fields {
    margin-top: 0.75rem;
}

.product-card-personalization-chip,
.product-detail-personalization-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(248, 250, 252, 0.9);
    color: #334155;
    padding: 0.35rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 650;
}

.product-detail-personalization-card {
    display: grid;
    gap: 0.85rem;
}

.product-detail-personalization-chip.is-required::after,
.product-card-personalization-chip.is-required::after {
    content: "*";
    color: #b91c1c;
    font-weight: 800;
}


/* Personnalisation checkout */
.personalization-line-card {
    display: grid;
    gap: 1rem;
}

.personalization-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.25rem;
}

.personalization-tab-button {
    appearance: none;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    color: #0f172a;
    border-radius: 999px;
    padding: 0.6rem 0.95rem;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.personalization-tab-button:hover,
.personalization-tab-button:focus-visible {
    border-color: rgba(14, 116, 144, 0.4);
    box-shadow: 0 0 0 3px rgba(14, 116, 144, 0.12);
    outline: none;
}

.personalization-tab-button.is-active {
    background: linear-gradient(135deg, rgba(14, 116, 144, 0.12), rgba(37, 99, 235, 0.12));
    border-color: rgba(14, 116, 144, 0.35);
    color: #0c4a6e;
}

.personalization-visual-panel[hidden] {
    display: none !important;
}

.personalization-editor-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 1.25rem;
    align-items: start;
}

.personalization-stage-card,
.personalization-field-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1rem;
    background: #fff;
}

.personalization-stage-card {
    padding: 1rem;
    position: sticky;
    top: 1rem;
}

.personalization-stage-shell {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(148, 163, 184, 0.15), rgba(226, 232, 240, 0.8)),
        repeating-linear-gradient(
            45deg,
            rgba(148, 163, 184, 0.08) 0,
            rgba(148, 163, 184, 0.08) 10px,
            rgba(255, 255, 255, 0.7) 10px,
            rgba(255, 255, 255, 0.7) 20px
        );
    min-height: 520px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65);
}

.personalization-stage-image {
    display: block;
    width: 100%;
    height: auto;
    min-height: 520px;
    object-fit: contain;
    object-position: top center;
    user-select: none;
    pointer-events: none;
}

.personalization-field-marker {
    position: absolute;
    transform: none;
    min-width: 40px;
    max-width: 95%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #0f172a;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
    z-index: 2;
}

.personalization-field-marker.is-photo {
    font-style: italic;
}

.personalization-field-marker.has-value {
    border: 0;
    background: transparent;
}

.personalization-fields-stack {
    display: grid;
    gap: 1rem;
}

.personalization-field-card {
    padding: 1rem;
}

.personalization-placement-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}

.personalization-placement-grid .field-inline {
    align-items: stretch;
}

.personalization-placement-grid .field-inline span {
    display: block;
    margin-bottom: 0.4rem;
    color: #475569;
    font-size: 0.84rem;
    font-weight: 600;
}

.personalization-textarea {
    min-height: 140px;
    resize: vertical;
}

@media (max-width: 980px) {
    .personalization-editor-grid {
        grid-template-columns: 1fr;
    }

    .personalization-stage-card {
        position: static;
    }

    .personalization-stage-shell,
    .personalization-stage-image {
        min-height: 360px;
    }
}

@media (max-width: 640px) {
    .personalization-placement-grid {
        grid-template-columns: 1fr;
    }

    .personalization-tab-button {
        width: 100%;
        justify-content: center;
    }

    .personalization-stage-shell,
    .personalization-stage-image {
        min-height: 280px;
    }
}


/* Iteration 15 — visual polish + collapsible order/personalization lines */
:root {
    --shadow-glow: 0 22px 60px rgba(15, 23, 42, .08);
    --shadow-card: 0 12px 34px rgba(15, 23, 42, .06);
}

body {
    background:
        radial-gradient(circle at 85% -8%, color-mix(in srgb, var(--brand-secondary) 14%, transparent), transparent 28%),
        radial-gradient(circle at 5% 8%, color-mix(in srgb, var(--brand-primary) 10%, transparent), transparent 24%),
        linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%);
}

.site-header {
    box-shadow: 0 1px 0 rgba(15, 23, 42, .04), 0 14px 34px rgba(15, 23, 42, .05);
}

.brand-mark {
    border-radius: 13px;
}

.content-card,
.panel-card,
.soft-card,
.hero-banner,
.metric-card,
.side-menu a {
    border-color: rgba(203, 213, 225, .72);
}

.content-card,
.panel-card,
.hero-banner {
    background: rgba(255, 255, 255, .9);
    box-shadow: var(--shadow-card);
    backdrop-filter: blur(10px);
}

.hero-banner {
    overflow: visible;
}

.account-layout {
    grid-template-columns: minmax(210px, 250px) minmax(0, 1040px);
    gap: 24px;
    align-items: start;
    justify-content: center;
}

.side-menu {
    position: sticky;
    top: 118px;
    padding: 10px;
    border: 1px solid rgba(203, 213, 225, .76);
    border-radius: 22px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
    backdrop-filter: blur(12px);
}

.side-menu a {
    min-height: 46px;
    border-radius: 14px;
    background: rgba(255,255,255,.82);
}

.side-menu a.active {
    background: #fff;
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--brand-primary) 72%, #111827);
}

.account-shell {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.account-hero-banner .hero-banner-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    align-items: start;
}

.account-hero-banner .hero-title {
    max-width: 780px;
    font-size: clamp(1.9rem, 3.1vw, 3rem);
}

.account-hero-banner .hero-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.account-hero-banner .hero-kpi,
.dashboard-stats .metric-card {
    min-width: 0;
    padding: 16px;
    border-radius: 18px;
    box-shadow: none;
}

.account-hero-banner .hero-kpi strong,
.dashboard-stats .metric-card strong {
    font-size: 1.45rem;
}

.account-section-card {
    padding: 22px;
}

.product-grid:has(.order-list-card) {
    grid-template-columns: 1fr;
    gap: 12px;
}

.order-list-card {
    padding: 0;
    overflow: hidden;
}

.front-disclosure {
    border: 1px solid rgba(203, 213, 225, .76);
    background: rgba(255,255,255,.92);
}

.front-disclosure[open] {
    box-shadow: 0 16px 38px rgba(15, 23, 42, .07);
}

.front-disclosure-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    list-style: none;
    cursor: pointer;
    border-radius: inherit;
}

.front-disclosure-summary::-webkit-details-marker {
    display: none;
}

.front-disclosure-summary::before {
    content: "›";
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    border: 1px solid rgba(203, 213, 225, .82);
    background: rgba(248,250,252,.95);
    color: var(--text-soft);
    font-weight: 800;
    transition: transform .16s ease, background .16s ease, color .16s ease;
}

.front-disclosure[open] > .front-disclosure-summary::before {
    transform: rotate(90deg);
    background: color-mix(in srgb, var(--brand-primary) 10%, #fff);
    color: var(--brand-primary);
}

.front-disclosure-summary > span:first-child {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.front-disclosure-summary strong {
    color: var(--text);
    line-height: 1.2;
}

.front-disclosure-summary small,
.front-disclosure-meta {
    color: var(--text-soft);
    font-size: .83rem;
}

.front-disclosure-meta {
    margin-left: auto;
    white-space: nowrap;
    font-weight: 700;
}

.front-disclosure-body {
    padding: 0 18px 18px;
}

.front-disclosure-summary.compact {
    padding: 12px 14px;
}

.front-disclosure-summary.compact::before {
    width: 22px;
    height: 22px;
}

.order-list-disclosure-body > .section-header {
    margin-top: 4px;
}

.order-line-disclosure,
.personalization-order-disclosure,
.personalization-visual-disclosure,
.personalization-line-disclosure,
.personalization-field-disclosure {
    border-radius: 20px;
}

.personalization-line-card {
    padding: 0;
}

.personalization-line-body > .section-header {
    margin-top: 2px;
}

.personalization-field-disclosure {
    padding: 0;
}

.personalization-field-disclosure .front-disclosure-body {
    padding-top: 2px;
}

.personalization-tabs {
    padding-top: 2px;
}

.personalization-tab-button {
    min-height: 40px;
}

.form-grid,
.dashboard-stats {
    min-width: 0;
}

@media (max-width: 1080px) {
    .account-layout {
        grid-template-columns: 1fr;
    }

    .side-menu {
        position: static;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }

    .account-hero-banner .hero-banner-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .account-section-card {
        padding: 18px;
    }

    .front-disclosure-summary {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .front-disclosure-meta {
        width: 100%;
        margin-left: 42px;
    }

    .account-hero-banner .hero-kpi-grid {
        grid-template-columns: 1fr;
    }
}


/* Iteration 16 — front personalization multipage/image preview */
.personalization-page-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 14px;
}

.personalization-field-marker.is-image,
.personalization-field-marker.is-photo {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.personalization-field-marker.is-image img,
.personalization-field-marker.is-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: center;
    pointer-events: none;
}

.personalization-field-marker[hidden],
.personalization-field-disclosure[hidden] {
    display: none !important;
}


/* Iteration 17 — checkout spacing and front image crop controls */
.page-intro-compact,
.checkout-shell-refined {
    padding-inline: clamp(8px, 1.8vw, 24px);
}

.page-intro-compact {
    align-items: stretch;
    gap: clamp(18px, 2.6vw, 34px);
    margin-bottom: 24px;
}

.cart-metrics-strip {
    align-self: stretch;
}

.cart-layout-refined {
    gap: clamp(22px, 3vw, 34px);
    align-items: start;
}

.cart-lines-card,
.cart-summary-card-refined,
.checkout-section-card,
.checkout-panel-card {
    overflow: hidden;
    border-radius: 28px;
    border-color: rgba(203, 213, 225, 0.9);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.94));
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
}

.cart-lines-card,
.checkout-section-card {
    padding: clamp(22px, 2.7vw, 34px);
}

.cart-lines-card .section-header,
.checkout-section-card .section-heading-eyebrow {
    margin-bottom: 22px;
}

.checkout-section-card .section-heading-eyebrow .muted,
.cart-lines-card .section-heading-eyebrow .muted,
.cart-summary-card .section-heading-eyebrow .muted {
    margin: 0 0 8px;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #64748b;
}

.checkout-section-card .section-title,
.cart-lines-card .section-title,
.cart-summary-card .section-title {
    line-height: 1.12;
}

.form-grid {
    gap: 18px 20px;
}

.field span,
.field-inline span {
    display: inline-block;
    margin-bottom: 8px;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 800;
}

input,
select,
textarea {
    border-radius: 16px;
}

.checkout-actions-spread,
.checkout-actions {
    margin-top: 10px;
}

.checkout-actions-spread {
    justify-content: space-between;
}

.cart-item-refined {
    gap: 22px;
    border-radius: 24px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.92);
}

.cart-item-media {
    flex: 0 0 132px;
}

.cart-item-media img {
    width: 132px;
    height: 132px;
    object-fit: cover;
    border-radius: 22px;
}

.cart-item-controls {
    padding-top: 16px;
    border-top: 1px dashed rgba(203, 213, 225, 0.9);
}

.cart-summary-card-refined {
    padding: 0;
}

.cart-summary-card-refined .checkout-summary {
    padding: clamp(22px, 2.6vw, 30px);
}

.cart-summary-card-refined .summary-stack {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.95);
}

.cart-summary-card-refined .summary-line {
    padding: 16px 18px;
}

.cart-summary-actions .button-primary,
.cart-summary-actions .button-secondary,
.checkout-actions .button-primary,
.checkout-actions .button-secondary {
    min-height: 48px;
    border-radius: 16px;
}

.personalization-editor-grid {
    gap: clamp(18px, 2vw, 28px);
}

.personalization-stage-card,
.personalization-field-card {
    border-radius: 24px;
}

.personalization-stage-card {
    padding: clamp(14px, 1.8vw, 22px);
}

.personalization-stage-shell {
    border-radius: 22px;
}

.personalization-field-marker.is-image,
.personalization-field-marker.is-photo {
    pointer-events: auto;
    cursor: grab;
    touch-action: none;
}

.personalization-field-marker.is-image:active,
.personalization-field-marker.is-photo:active {
    cursor: grabbing;
}

.personalization-field-marker.is-cropping-image::after {
    content: 'Glisser · molette';
    position: absolute;
    right: 6px;
    bottom: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.72);
    color: #fff;
    font-size: 0.64rem;
    font-weight: 800;
    pointer-events: none;
}

.personalization-field-marker img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: center center;
    user-select: none;
    pointer-events: none;
}

@media (max-width: 980px) {
    .cart-layout-refined,
    .checkout-review-grid {
        grid-template-columns: 1fr;
    }

    .cart-item-refined {
        grid-template-columns: 1fr;
    }

    .cart-item-media {
        width: 100%;
        flex-basis: auto;
    }

    .cart-item-media img {
        width: 100%;
        height: min(52vw, 260px);
    }

    .checkout-actions-spread,
    .checkout-actions {
        align-items: stretch;
    }

    .checkout-actions-spread > *,
    .checkout-actions > * {
        width: 100%;
        justify-content: center;
    }
}


/* Iteration 18 — theme accents + photo drag/drop */
:root {
    --brand-primary: #27306f;
    --brand-primary-rgb: 39, 48, 111;
    --brand-secondary: #7068ee;
    --brand-secondary-rgb: 112, 104, 238;
    --brand-accent: #0ea5e9;
    --brand-warm: #f59e0b;
    --brand-gradient: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    --brand-gradient-soft: linear-gradient(135deg, rgba(var(--brand-primary-rgb), .10), rgba(var(--brand-secondary-rgb), .14));
}

body {
    background:
        radial-gradient(circle at 88% -8%, rgba(var(--brand-secondary-rgb), .18), transparent 30%),
        radial-gradient(circle at 0% 18%, rgba(14, 165, 233, .10), transparent 26%),
        linear-gradient(180deg, #f7f9ff 0%, #edf2f8 100%);
}

.site-header,
.utility-bar {
    border-color: rgba(var(--brand-primary-rgb), .10);
}

.brand-mark,
button[type="submit"],
.button-primary,
.hero-banner .button-primary,
.checkout-actions .button-primary,
.checkout-actions-spread .button-primary,
.account-section-card .button-primary {
    background: var(--brand-gradient);
    color: #fff;
    box-shadow: 0 18px 38px rgba(var(--brand-primary-rgb), .20);
}

.button-secondary,
button.secondary,
.checkout-step-pill,
.front-disclosure-meta,
.tag {
    border-color: rgba(var(--brand-secondary-rgb), .24);
    background: rgba(var(--brand-secondary-rgb), .08);
    color: var(--brand-primary);
}

.content-card,
.panel-card,
.soft-card,
.hero-banner,
.summary-card,
.checkout-card,
.personalization-stage-card,
.personalization-field-card,
.front-disclosure {
    border: 1px solid rgba(var(--brand-primary-rgb), .10);
    box-shadow: 0 16px 42px rgba(var(--brand-primary-rgb), .075);
}

.content-card::before,
.panel-card::before,
.hero-banner::before,
.summary-card::before,
.checkout-card::before {
    background: linear-gradient(90deg, rgba(var(--brand-primary-rgb), .38), rgba(var(--brand-secondary-rgb), .30), rgba(14, 165, 233, .24));
}

.checkout-progress,
.checkout-steps,
.order-progress {
    gap: 10px;
    padding: 8px;
    border: 1px solid rgba(var(--brand-primary-rgb), .10);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 10px 30px rgba(var(--brand-primary-rgb), .06);
    backdrop-filter: blur(10px);
}

.checkout-step-pill,
.checkout-steps a,
.checkout-steps span {
    min-height: 38px;
    padding: 0 18px;
    border-radius: 999px;
}

.checkout-step-pill.is-active,
.checkout-steps .is-active,
.checkout-steps a.active {
    background: var(--brand-gradient);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 12px 26px rgba(var(--brand-primary-rgb), .18);
}

.checkout-form-card,
.checkout-info-card,
.cart-lines-card,
.cart-summary-card,
.personalization-line-card {
    padding: clamp(20px, 2.2vw, 32px);
}

.personalization-dropzone {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-height: 96px;
    padding: 16px;
    border: 1.5px dashed rgba(var(--brand-secondary-rgb), .42);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(var(--brand-secondary-rgb), .08), rgba(14, 165, 233, .07)),
        rgba(255,255,255,.88);
    color: var(--text);
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.personalization-dropzone:hover,
.personalization-dropzone.is-drag-over {
    border-color: var(--brand-secondary);
    background:
        linear-gradient(135deg, rgba(var(--brand-secondary-rgb), .16), rgba(14, 165, 233, .12)),
        #fff;
    box-shadow: 0 16px 34px rgba(var(--brand-primary-rgb), .12);
    transform: translateY(-1px);
}

.personalization-dropzone.has-file {
    border-style: solid;
    border-color: rgba(16, 185, 129, .55);
    background:
        linear-gradient(135deg, rgba(16, 185, 129, .10), rgba(var(--brand-secondary-rgb), .08)),
        #fff;
}

.personalization-dropzone input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.dropzone-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: var(--brand-gradient);
    color: #fff;
    font-size: 1.35rem;
    font-weight: 900;
    box-shadow: 0 12px 26px rgba(var(--brand-primary-rgb), .18);
}

.personalization-dropzone strong {
    display: block;
    font-weight: 850;
}

.personalization-dropzone small {
    display: block;
    margin-top: 3px;
    color: var(--text-soft);
}

.personalization-field-marker.is-drag-over {
    outline: 2px dashed var(--brand-secondary);
    outline-offset: 6px;
    background: rgba(var(--brand-secondary-rgb), .08);
}

.personalization-field-marker.is-cropping-image {
    outline: 2px solid rgba(var(--brand-secondary-rgb), .8);
    outline-offset: 5px;
}


/* Iteration 19 — photo crop keeps BO-defined independent radii */
.personalization-field-marker.is-image,
.personalization-field-marker.is-photo {
    overflow: hidden;
}

.personalization-field-marker img {
    border-radius: inherit;
}


.checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    cursor: pointer;
}

.checkbox-row input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.15rem;
    accent-color: var(--theme-primary, #2f3b82);
}

.checkbox-row strong {
    display: block;
    color: var(--ink, #111827);
}

.checkbox-row small {
    display: block;
    margin-top: 0.15rem;
    color: var(--muted, #64748b);
    line-height: 1.5;
}

.personalization-profile-save-card {
    border-color: color-mix(in srgb, var(--theme-primary, #2f3b82) 24%, #dbe4f0);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--theme-primary, #2f3b82) 7%, transparent), transparent 65%),
        var(--surface, #fff);
}

.personalization-profile-save-row {
    margin: 0;
}


.product-detail-secondary-section {
    margin-top: 1.5rem;
}

.product-detail-secondary-grid,
.product-source-preview-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.product-detail-secondary-card,
.product-source-preview-card,
.product-source-preview-stage {
    display: grid;
    gap: 0.9rem;
}

.product-source-preview-shell {
    display: grid;
    gap: 1rem;
}

.product-source-preview-stage {
    align-items: center;
    justify-items: center;
    min-height: 420px;
    background:
        linear-gradient(135deg, rgba(148, 163, 184, 0.14), rgba(255, 255, 255, 0.95)),
        repeating-linear-gradient(
            45deg,
            rgba(226, 232, 240, 0.65) 0,
            rgba(226, 232, 240, 0.65) 12px,
            rgba(255, 255, 255, 0.92) 12px,
            rgba(255, 255, 255, 0.92) 24px
        );
}

.product-source-preview-stage img {
    display: block;
    width: 100%;
    max-width: 960px;
    height: auto;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
}


/* Iteration 31 — flat brand colors, stronger CTA readability, lighter product cards */
:root {
    --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
    --shadow-sm: 0 8px 18px rgba(15, 23, 42, 0.05);
    --shadow-md: 0 14px 30px rgba(15, 23, 42, 0.06);
    --shadow-lg: 0 24px 56px rgba(15, 23, 42, 0.10);
    --radius-xs: 8px;
    --radius-sm: 10px;
    --radius-md: 14px;
    --radius-lg: 18px;
    --radius-xl: 22px;
}

body {
    background: #f6f8fb;
}

.site-header {
    background: var(--brand-primary);
    border-bottom-color: color-mix(in srgb, var(--brand-primary-contrast) 14%, transparent);
    box-shadow: none;
}

.site-header .brand-name,
.site-header .brand-meta,
.site-header .header-action-link,
.site-header .header-account,
.site-header .header-account strong,
.site-header .header-account span span,
.site-header .header-counter {
    color: var(--brand-primary-contrast);
}

.site-header .brand-meta,
.site-header .header-action-link {
    opacity: .86;
}

.brand-mark {
    background: color-mix(in srgb, var(--brand-primary-contrast) 12%, var(--brand-primary));
    color: var(--brand-primary-contrast);
    box-shadow: none;
}

.search-shell {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.38);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: none;
}

.search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    opacity: 1;
    pointer-events: none;
}

.site-header .search-shell .search-input {
    display: block;
    width: 100%;
    height: 44px;
    min-height: 44px;
    padding: 0 16px 0 48px;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #0f172a;
    appearance: none;
    -webkit-appearance: none;
}

.site-header .search-shell .search-input::placeholder {
    color: #64748b;
    opacity: 1;
}

.site-header .search-shell .search-input::-webkit-search-decoration,
.site-header .search-shell .search-input::-webkit-search-cancel-button,
.site-header .search-shell .search-input::-webkit-search-results-button,
.site-header .search-shell .search-input::-webkit-search-results-decoration {
    appearance: none;
    -webkit-appearance: none;
}

.header-action-link:hover,
.header-action-link.active,
.header-account {
    background: color-mix(in srgb, var(--brand-primary-contrast) 10%, var(--brand-primary));
    border-color: color-mix(in srgb, var(--brand-primary-contrast) 14%, transparent);
    box-shadow: none;
}

.header-avatar {
    background: color-mix(in srgb, var(--brand-primary-contrast) 14%, var(--brand-primary));
    color: var(--brand-primary-contrast);
}

.button-primary,
button[type="submit"],
.product-card-cta,
.button-primary:hover,
button[type="submit"]:hover,
.product-card-cta:hover {
    background: var(--brand-secondary);
    color: var(--brand-secondary-contrast);
    border-color: transparent;
    box-shadow: none;
}

.button-secondary,
.button-link,
.button-secondary:hover,
.button-link:hover {
    background: #fff;
    color: var(--text);
    border-color: var(--border);
    box-shadow: none;
}

.button-secondary.is-muted {
    background: #ffffff;
    color: var(--text);
    border-color: var(--border);
}

.text-link,
.section-kicker,
.product-card-special-text,
.price-strike,
.price-block .micro-copy strong {
    color: var(--brand-secondary);
}

.page-intro,
.hero-kpi.featured,
.metric-card.featured,
.metric-strip-card.featured {
    background: var(--brand-primary);
    color: var(--brand-primary-contrast);
    border-color: transparent;
    box-shadow: none;
}

.page-intro .muted,
.page-intro .hero-text,
.page-intro .page-intro-text,
.hero-kpi.featured .muted,
.metric-card.featured .muted,
.metric-strip-card.featured .muted {
    color: color-mix(in srgb, var(--brand-primary-contrast) 78%, transparent);
}

.catalog-carousel {
    border-radius: 18px;
    box-shadow: none;
    border-color: color-mix(in srgb, var(--brand-primary) 12%, var(--border));
}

.catalog-carousel-overlay {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--brand-primary) 92%, #000) 0%, color-mix(in srgb, var(--brand-primary) 70%, transparent) 50%, rgba(15, 23, 42, 0.14) 100%);
}

.button-secondary-light,
.button-secondary-light:hover,
.button-secondary-light:focus-visible {
    background: color-mix(in srgb, var(--brand-primary-contrast) 12%, transparent);
    border-color: color-mix(in srgb, var(--brand-primary-contrast) 24%, transparent);
    color: var(--brand-primary-contrast);
    box-shadow: none;
}

.catalog-carousel-nav {
    display: grid;
    place-items: center;
    padding: 0;
    background: color-mix(in srgb, var(--brand-primary) 72%, #000);
    border-color: color-mix(in srgb, var(--brand-primary-contrast) 20%, transparent);
    box-shadow: none;
}

.catalog-carousel-nav:hover {
    background: color-mix(in srgb, var(--brand-primary) 82%, #000);
}

.product-card,
.category-card,
.list-card,
.table-card,
.panel-card,
.content-card,
.checkout-panel-card,
.cart-summary-card-refined,
.cart-lines-card,
.shipping-option-refined {
    box-shadow: none;
}

.product-card,
.content-card,
.cart-summary-card-refined,
.cart-lines-card,
.checkout-panel-card,
.shipping-option-refined {
    border-radius: 16px;
}

.product-card-minimal .product-card-body {
    gap: 16px;
}

.product-card-minimal .product-card-heading h3 {
    font-size: 1rem;
    line-height: 1.35;
}

.product-card-clean .product-card-summary,
.product-card-overline,
.product-card .meta-code {
    display: none;
}

.product-card-personalization-fields {
    margin-top: 0;
}

.product-card-personalization-chip {
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-primary) 6%, white);
    border-color: color-mix(in srgb, var(--brand-primary) 10%, var(--border));
    color: var(--text-soft);
}

.product-card-clean .product-card-footer {
    align-items: center;
    gap: 12px;
    padding-top: 2px;
}

.product-card-clean .product-card-cta,
.product-card-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    font-size: 0.86rem;
    line-height: 1;
    white-space: nowrap;
}

.product-card .price-main {
    color: var(--text);
}

.product-card .price-strike {
    font-size: 0.82rem;
}

.cart-layout-refined .button-secondary.is-muted,
.cart-layout-refined .button-secondary.is-muted:hover {
    background: #fff;
    color: var(--text);
    border-color: var(--border);
}

.cart-layout-refined .button-primary,
.cart-layout-refined button[type="submit"],
.checkout-shell .button-primary,
.checkout-shell button[type="submit"] {
    color: var(--brand-secondary-contrast);
}

.empty-state,
.catalog-quick-link,
.hero-kpi,
.stat-card,
.metric-card {
    box-shadow: none;
}

.catalog-quick-link,
.hero-kpi,
.stat-card,
.metric-card {
    border-radius: 16px;
}

@media (max-width: 900px) {
    .site-header-primary {
        gap: 14px;
    }

    .header-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .product-card-clean .product-card-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .product-card-clean .product-card-cta {
        width: 100%;
    }
}

/* Incremental B2B front tightening */
:root {
    --brand-gradient: linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 96%, #ffffff), var(--brand-primary));
    --brand-gradient-soft: linear-gradient(135deg, rgba(var(--brand-primary-rgb), .08), rgba(var(--brand-primary-rgb), .13));
    --front-page-bg: color-mix(in srgb, var(--brand-primary) 4%, #f7f8fb);
}

body {
    background: var(--front-page-bg);
}

.hero-banner .button-primary,
.checkout-actions .button-primary,
.checkout-actions-spread .button-primary,
.account-section-card .button-primary,
.button-primary,
button[type="submit"],
.product-card-cta {
    background: var(--brand-secondary);
    color: var(--brand-secondary-contrast);
    border-color: transparent;
    box-shadow: none;
}

.checkout-step-pill.is-active,
.checkout-steps .is-active,
.checkout-steps a.active,
.hero-kpi.featured,
.metric-card.featured,
.metric-strip-card.featured {
    background: var(--brand-primary);
    color: var(--brand-primary-contrast);
}

.header-credit-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid color-mix(in srgb, var(--brand-primary-contrast) 14%, transparent);
    border-radius: 10px;
    background: color-mix(in srgb, var(--brand-primary-contrast) 8%, var(--brand-primary));
    color: var(--brand-primary-contrast);
    font-size: .84rem;
    font-weight: 700;
}

.header-credit-pill strong {
    font-size: .82rem;
    font-weight: 800;
}

.product-card,
.content-card,
.cart-summary-card-refined,
.cart-lines-card,
.checkout-panel-card,
.shipping-option-refined,
.product-detail-card,
.product-configurator-card,
.product-pricing-card {
    border-radius: 10px;
    box-shadow: none;
}

.product-card-clean .product-card-media {
    aspect-ratio: 4 / 2.75;
}

.product-card-clean .product-card-body {
    display: flex;
    min-height: 196px;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
}

.product-card-personalization-chip {
    border-radius: 6px;
}

.product-card-clean .product-card-footer {
    margin-top: auto;
    align-items: flex-end;
}

.field-inline {
    align-items: center;
    gap: 10px;
}

.field-inline span {
    margin-bottom: 0;
}

.field-inline input[type="checkbox"],
.shipping-option input[type="radio"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--brand-secondary);
}

.checkout-toggle-list .field-inline {
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
}

@media (max-width: 900px) {
    .header-credit-pill {
        min-height: 38px;
    }
}

/* Front polish + address save follow-up */
.header-account-copy,
.header-credit-copy {
    display: grid;
    gap: 2px;
    line-height: 1.05;
}

.header-credit-pill {
    gap: 10px;
    min-height: 42px;
    padding: 0 14px 0 10px;
    border-radius: 999px;
    white-space: nowrap;
}

.header-credit-pill .header-credit-copy > span {
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.72;
}

.header-credit-pill strong {
    font-size: 0.88rem;
    line-height: 1;
}

.header-credit-icon {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-primary-contrast) 16%, var(--brand-primary));
    color: var(--brand-primary-contrast);
    font-size: 0.82rem;
    font-weight: 900;
    flex: 0 0 auto;
}

.header-credit-pill.is-empty {
    opacity: 0.92;
}

.header-credit-pill:hover,
.header-credit-pill.active {
    background: color-mix(in srgb, var(--brand-primary-contrast) 12%, var(--brand-primary));
    border-color: color-mix(in srgb, var(--brand-primary-contrast) 20%, transparent);
}

.product-detail-secondary-grid,
.product-source-preview-layout {
    align-items: start;
}

.product-detail-secondary-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: clamp(16px, 2vw, 24px);
}

.product-detail-secondary-card,
.product-source-preview-card,
.product-source-preview-stage {
    align-content: start;
    gap: 14px;
    padding: clamp(18px, 2vw, 24px);
}

.product-detail-secondary-card .section-title,
.product-source-preview-card .section-title {
    font-size: clamp(1.2rem, 1.6vw, 1.6rem);
    line-height: 1.15;
}

.product-detail-secondary-card .micro-copy,
.product-source-preview-card .micro-copy {
    margin: 0;
    line-height: 1.6;
}

.product-detail-secondary-card-source,
.product-source-preview-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(var(--brand-primary-rgb), 0.03));
}

.product-detail-secondary-actions,
.product-source-preview-actions {
    margin-top: auto;
}

.quote-request-shell {
    display: grid;
    gap: 18px;
}

.quote-request-intro {
    padding: clamp(20px, 3vw, 28px);
}

.quote-request-intro .hero-text {
    max-width: 58ch;
    margin: 10px 0 0;
}

.quote-request-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(18px, 2vw, 26px);
    align-items: start;
}

.quote-request-summary-card,
.quote-request-form-card {
    display: grid;
    gap: 18px;
    padding: clamp(20px, 2.4vw, 28px);
}

.quote-request-summary-card {
    position: sticky;
    top: 104px;
    align-self: start;
}

.quote-request-product-card {
    display: grid;
    gap: 14px;
}

.quote-request-product-media {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.92));
}

.quote-request-product-media img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}

.quote-request-product-copy {
    display: grid;
    gap: 8px;
}

.quote-request-product-copy h2 {
    margin: 0;
    font-size: clamp(1.2rem, 1.8vw, 1.5rem);
    line-height: 1.2;
}

.quote-request-product-copy .micro-copy {
    margin: 0;
}

.quote-request-summary-block {
    display: grid;
    gap: 14px;
    padding-top: 2px;
}

.quote-request-selection-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.quote-request-selection-item {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(248, 250, 252, 0.9);
}

.quote-request-selection-item strong {
    font-size: 0.92rem;
}

.quote-request-selection-item span {
    color: var(--text-soft);
    font-size: 0.92rem;
}

.quote-request-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.quote-request-metrics .stat-tile {
    min-height: 88px;
    justify-content: space-between;
}

.quote-request-kind-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.quote-request-kind-option {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.92);
    background: rgba(248, 250, 252, 0.72);
    cursor: pointer;
}

.quote-request-kind-option:has(input[type="radio"]:checked) {
    border-color: rgba(var(--brand-primary-rgb), 0.26);
    background: rgba(var(--brand-primary-rgb), 0.08);
    box-shadow: inset 0 0 0 1px rgba(var(--brand-primary-rgb), 0.12);
}

.quote-request-kind-option input[type="radio"] {
    margin-top: 3px;
}

.quote-request-kind-option span {
    display: grid;
    gap: 4px;
}

.quote-request-kind-option strong {
    font-size: 0.95rem;
}

.quote-request-kind-option small {
    color: var(--text-soft);
    line-height: 1.5;
}

.quote-request-form-card textarea {
    min-height: 140px;
    resize: vertical;
}

.product-detail-personalization-fields {
    gap: 8px;
}

.product-detail-personalization-chip {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    border-color: rgba(var(--brand-primary-rgb), 0.12);
    background: #fff;
    color: var(--text);
}

.product-source-preview-layout {
    grid-template-columns: minmax(320px, 0.86fr) minmax(0, 1.14fr);
    gap: clamp(18px, 2vw, 28px);
}

.product-source-preview-stage {
    min-height: min(68vh, 760px);
    align-self: start;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(var(--brand-primary-rgb), 0.03)),
        repeating-linear-gradient(
            45deg,
            rgba(226, 232, 240, 0.52) 0,
            rgba(226, 232, 240, 0.52) 12px,
            rgba(255, 255, 255, 0.96) 12px,
            rgba(255, 255, 255, 0.96) 24px
        );
}

.cart-page-intro {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);
    align-items: center;
    gap: clamp(18px, 2.4vw, 28px);
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid rgba(var(--brand-primary-rgb), 0.1);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(var(--brand-primary-rgb), 0.035));
    color: var(--text);
}

.cart-page-intro .eyebrow {
    background: rgba(var(--brand-primary-rgb), 0.08);
    color: var(--brand-primary);
}

.cart-page-intro .page-intro-title {
    color: var(--text);
    font-size: clamp(1.85rem, 3vw, 2.8rem);
}

.cart-page-intro .page-intro-text {
    max-width: 56ch;
    color: var(--text-soft);
}

.cart-metrics-strip {
    gap: 10px;
}

.cart-metrics-strip .metric-strip-card {
    min-height: 0;
    padding: 16px 18px;
    border-radius: 10px;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.08);
    background: #fff;
    box-shadow: none;
}

.cart-metrics-strip .metric-strip-card .muted {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #64748b;
}

.cart-metrics-strip .metric-strip-card strong {
    color: var(--text);
    font-size: 1.38rem;
}

.cart-metrics-strip .metric-strip-card.featured {
    border-color: rgba(var(--brand-primary-rgb), 0.14);
    background: color-mix(in srgb, var(--brand-primary) 7%, white);
    color: var(--text);
}

.cart-metrics-strip .metric-strip-card.featured .muted {
    color: var(--brand-primary);
}

.promotion-code-card {
    gap: 14px;
    padding: 18px;
    border-radius: 10px;
    border: 1px dashed rgba(var(--brand-primary-rgb), 0.18);
    background: color-mix(in srgb, var(--brand-primary) 3%, #fff);
}

.promotion-code-card .field span {
    margin-bottom: 6px;
}

.promotion-code-card input[type="text"] {
    background: #fff;
}

.promotion-code-card .inline-actions {
    justify-content: flex-start;
}

button.promotion-code-submit,
button.promotion-code-submit:hover,
button.promotion-code-submit:focus-visible {
    background: #fff;
    color: var(--brand-primary);
    border-color: rgba(var(--brand-primary-rgb), 0.14);
    box-shadow: none;
}

.cart-summary-note {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-soft);
}

@media (max-width: 1024px) {
    .product-detail-secondary-grid,
    .product-source-preview-layout,
    .cart-page-intro,
    .quote-request-layout {
        grid-template-columns: 1fr;
    }

    .quote-request-summary-card {
        position: static;
    }
}

@media (max-width: 900px) {
    .header-credit-pill {
        padding-right: 12px;
    }

    .header-credit-pill .header-credit-copy > span {
        display: none;
    }

    .quote-request-selection-list,
    .quote-request-kind-grid,
    .quote-request-metrics {
        grid-template-columns: 1fr;
    }
}

/* Iteration 44 - tighter front spacing, cleaner quote state and full-bleed product media */
.site-header-secondary {
    position: relative;
    z-index: 8;
}

.site-header-secondary-inner {
    gap: 12px;
    min-height: 54px;
    padding: 6px 0;
}

.site-header-secondary .header-action-link,
.site-header-secondary .catalog-burger-trigger,
.site-header-secondary .storefront-shortcut-link {
    color: var(--text-soft);
    opacity: 1;
}

.site-header-secondary .catalog-burger.is-active .catalog-burger-trigger,
.site-header-secondary .catalog-burger[open] .catalog-burger-trigger,
.site-header-secondary .catalog-burger:hover .catalog-burger-trigger,
.site-header-secondary .header-action-link:hover,
.site-header-secondary .header-action-link.active,
.site-header-secondary .storefront-shortcut:hover .storefront-shortcut-link,
.site-header-secondary .storefront-shortcut:focus-within .storefront-shortcut-link,
.site-header-secondary .storefront-shortcut.is-open .storefront-shortcut-link {
    background: #fff;
    border-color: rgba(203, 213, 225, 0.94);
    box-shadow: var(--shadow-xs);
    color: var(--text);
}

.storefront-shortcuts {
    gap: 6px;
}

.catalog-burger-trigger,
.storefront-shortcut-link {
    min-height: 38px;
    padding: 0 12px;
}

.product-page-shell {
    gap: 20px;
}

.product-detail-shell {
    padding: 18px 20px 0;
}

.product-detail-grid-refined {
    gap: 24px;
}

.product-detail-buy-panel {
    gap: 16px;
    padding-top: 0;
}

.product-configurator-card {
    gap: 16px;
    padding-top: 16px;
}

.product-option-group {
    padding: 14px 0;
}

.product-pricing-card-bottom {
    padding-top: 14px;
}

.product-pricing-card-bottom .price-block,
.product-pricing-card-bottom[data-quote-mode="request"] .price-block {
    gap: 8px;
}

.product-pricing-card-bottom[data-quote-mode="request"] .price-main {
    margin: 6px 0 2px;
}

.product-detail-actions {
    gap: 10px;
    padding-top: 14px;
}

.product-detail-actions.is-request-mode {
    align-items: stretch;
    padding-top: 16px;
    border-top: 1px solid rgba(226, 232, 240, 0.88);
}

.product-detail-actions .button-primary,
.product-detail-actions .button-secondary {
    min-height: 44px;
}

.product-detail-actions.is-request-mode .button-primary[data-product-request-cta],
.product-detail-actions.is-request-mode .button-secondary {
    min-width: 0;
}

.product-gallery-layout,
.product-gallery-layout-overlay {
    display: block;
    width: 100%;
    max-width: none;
    min-height: 0;
    background: transparent;
}

.product-gallery-stage {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    align-self: flex-start;
}

.product-gallery-hero {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    border-radius: 24px;
    overflow: hidden;
    background: transparent;
}

.product-gallery-hero img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding: 0;
    background: transparent;
}

.product-gallery-thumbs-overlay {
    top: 16px;
    right: 16px;
    transform: none;
}

.product-gallery-thumbs-overlay .product-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: transparent;
}

@media (max-width: 1180px) {
    .product-detail-shell {
        padding: 16px 18px 0;
    }

    .product-gallery-layout-overlay {
        min-height: 0;
    }
}

@media (max-width: 720px) {
    .product-detail-shell {
        padding: 14px 14px 0;
    }

    .site-header-secondary-inner {
        gap: 10px;
    }

    .product-detail-actions,
    .product-detail-actions.is-request-mode {
        padding-top: 12px;
    }
}

/* Iteration 45 - clearer product recap and cart readability */
.catalog-carousel-nav {
    display: none !important;
}

.product-detail-backbar {
    margin-top: 2px;
}

.product-back-button {
    min-height: 42px;
    padding-inline: 18px;
    border-radius: 999px;
    background: rgba(var(--brand-primary-rgb), 0.06);
    border-color: rgba(var(--brand-primary-rgb), 0.1);
    color: var(--text);
}

.product-back-button:hover,
.product-back-button:focus-visible {
    background: rgba(var(--brand-primary-rgb), 0.1);
    border-color: rgba(var(--brand-primary-rgb), 0.18);
}

.product-pricing-selection-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.product-selection-chip {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding: 10px 12px;
    border-radius: 16px;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.12);
    background: rgba(var(--brand-primary-rgb), 0.05);
}

.product-selection-chip strong {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}

.product-selection-chip span {
    color: var(--text);
    font-weight: 700;
    line-height: 1.35;
}

.product-selection-empty {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px dashed rgba(var(--brand-primary-rgb), 0.18);
    color: var(--text-soft);
    background: rgba(255, 255, 255, 0.7);
}

.product-pricing-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.product-pricing-fact {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.84);
}

.product-pricing-fact.is-highlight {
    border-color: rgba(var(--brand-primary-rgb), 0.18);
    background: linear-gradient(180deg, rgba(var(--brand-primary-rgb), 0.08), rgba(255, 255, 255, 0.98));
}

.product-pricing-fact strong {
    font-size: 1.18rem;
    line-height: 1.15;
    color: var(--text);
}

.product-pricing-fact small {
    color: var(--text-soft);
    line-height: 1.4;
}

.product-pricing-card-bottom .price-block,
.product-pricing-card-bottom[data-quote-mode="request"] .price-block {
    padding: 18px;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.1);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
}

.product-pricing-card-bottom .price-main {
    font-size: clamp(1.9rem, 3vw, 2.55rem);
}

.product-pricing-card-bottom .micro-copy {
    line-height: 1.45;
}

.product-pricing-card-bottom {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}

.product-pricing-selection-summary {
    justify-content: center;
}

.product-pricing-facts {
    margin-top: 4px;
}

.product-pricing-card-bottom .price-block,
.product-pricing-card-bottom[data-quote-mode="request"] .price-block {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 8px;
}

.cart-page-intro {
    border-color: rgba(var(--brand-primary-rgb), 0.16);
    background:
        radial-gradient(circle at top right, rgba(var(--brand-primary-rgb), 0.12), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(var(--brand-primary-rgb), 0.08));
}

.cart-page-intro .page-intro-title,
.cart-page-intro .page-intro-text {
    max-width: 32rem;
}

.cart-metrics-strip .metric-strip-card {
    min-height: 136px;
    display: grid;
    align-content: space-between;
}

.cart-lines-card-flat,
.cart-summary-card-flat {
    border: 1px solid rgba(226, 232, 240, 0.9);
    box-shadow: 0 22px 46px rgba(15, 23, 42, 0.07);
}

.cart-item-refined {
    align-items: start;
    gap: 24px;
}

.cart-item-refined .cart-item-media {
    display: block;
    width: 132px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.cart-item-refined .cart-item-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-item-refined .cart-item-body {
    display: grid;
    gap: 16px;
    align-content: start;
}

.cart-item-refined .section-header-compact {
    align-items: start;
    gap: 18px;
}

.cart-item-heading {
    display: grid;
    gap: 6px;
}

.price-block-right {
    min-width: 176px;
    align-items: end;
    text-align: right;
}

.cart-item-options {
    gap: 10px;
}

.cart-item-controls {
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cart-item-controls .inline-form {
    align-items: end;
    gap: 12px;
}

.cart-item-controls .field-inline {
    align-items: center;
    gap: 12px;
}

.cart-item-controls .field-inline span {
    min-width: 78px;
}

.cart-quantity-panel {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.cart-quantity-label {
    font-size: 0.95rem;
    font-weight: 700;
    color: #334155;
}

.cart-quantity-choices {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.cart-quantity-choices .product-option-choice {
    min-width: 5.5rem;
    justify-content: center;
}

.cart-quantity-choices .product-option-choice.is-loading {
    opacity: 0.65;
    pointer-events: none;
}

.promotion-code-card {
    border-style: solid;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(var(--brand-primary-rgb), 0.06));
}

.promotion-code-card input[type="text"] {
    border-color: rgba(var(--brand-primary-rgb), 0.12);
}

button.promotion-code-submit,
button.promotion-code-submit:hover,
button.promotion-code-submit:focus-visible {
    min-height: 46px;
    padding-inline: 18px;
    background: var(--brand-primary);
    color: var(--brand-primary-contrast);
    border-color: transparent;
    box-shadow: 0 12px 24px rgba(var(--brand-primary-rgb), 0.2);
}

.cart-summary-note {
    color: #475569;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .product-pricing-facts {
        grid-template-columns: 1fr;
    }

    .price-block-right {
        min-width: 0;
        align-items: start;
        text-align: left;
    }
}

/* Iteration 46 - clearer account pill contrast in cart/header context */
.site-header .header-account {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.22);
}

.site-header .header-account:hover,
.site-header .header-account.active {
    background: rgba(255, 255, 255, 0.24);
    border-color: rgba(255, 255, 255, 0.3);
}

.site-header .header-account .header-account-copy strong,
.site-header .header-account .header-account-copy > span:last-child {
    color: var(--brand-primary-contrast);
}

.site-header .header-account .header-account-copy > span:last-child {
    opacity: 0.8;
}
