/* Public storefront. Loaded last; dashboard styles retain their own palette. */
.public-shell {
    --ink: #172d42;
    --night: #172d42;
    --muted: #5e6c79;
    --slate: #495b6a;
    --line: #e3e8ec;
    --bg: #fff;
    --paper: #fff;
    --blue: #a64b00;
    --blue-dark: #853c00;
    --sky: #fff5eb;
    background: var(--bg);
    color: var(--ink);
    color-scheme: light;
    font-size: 15px;
}
.public-shell header { background: #fff; border-color: var(--line); box-shadow: none; }
.public-shell .header { min-height: 94px; gap: 36px; }
.public-shell header .logo { color: var(--ink); }
.public-shell .header-actions a { color: var(--ink); }
.public-shell .search { background: #f7f8fa; border: 1px solid var(--line); border-radius: 12px; padding: 5px; }
.public-shell .search input:not([type=checkbox]) { background: transparent; color: var(--ink); min-height: 44px; }
.public-shell .search input::placeholder { color: var(--muted); opacity: 1; }
.public-shell .search button { background: #ff8a32; color: #172d42; border-radius: 8px; min-height: 44px; }
.public-shell .search button:hover { background: #ff9c51; }
.public-shell .navigation { background: #fff; gap: 30px; min-height: 50px; }
.public-shell .navigation a { color: #526271; font-size: 13px; }
.public-shell .navigation .category-link { color: var(--ink); border-color: var(--line); }
.public-shell .navigation a:hover,.public-shell .navigation a[aria-current] { color: #a64b00; }
.public-shell .demo-bar { background: #fff8ee; color: #735125; border-color: #f2e5d2; }
.public-shell .main { padding-top: 30px; padding-bottom: 72px; }
.public-shell :is(h1,h2,h3,.page-heading h1,.reading h1,.product-detail h1,.product-info h3,.product-card .price) { color: var(--ink); }
.public-shell :is(p,.muted,.breadcrumbs,.eyebrow,.product-info>small,.product-card .offer-count,.card-top .eyebrow,.product-scroll-hint) { color: var(--muted); }
.public-shell .main label { color: var(--slate); }
.public-shell :is(input:not([type=checkbox]),select,textarea) { color: var(--ink); background: #fff; border-color: #ccd5dd; }
.public-shell input[type=checkbox] { accent-color: #a64b00; }
.public-shell .main :is(.panel,.filters,.empty,.offer-row,.product-detail,.article-card,.coupon-card,.product-card,.hero-spotlight,.auth-card) { background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: 16px; box-shadow: none; }
.public-shell .main :is(.plain,.auth-links,.article-card strong,.filters a,.reading a,.pagination a) { color: #a64b00; }
.public-shell .main a:hover { color: #853c00; }
.public-shell .button,.public-shell .main .button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: #ff8a32; border-color: #ff8a32; color: #172d42; min-height: 46px; padding: 12px 20px; border-radius: 10px; box-shadow: none; font-size: 14px; font-weight: 650; }
.public-shell .button:hover,.public-shell .main .button:hover { color: #172d42; background: #ff9c51; border-color: #ff9c51; transform: none; }
.public-shell .main .button.secondary { color: var(--ink); border-color: #ccd5dd; background: #fff; }
.public-shell .main .button.secondary:hover { background: #f7f8fa; border-color: #9baab7; }
.public-shell .main .pill { background: #fff4e9; border-color: #f3dcc7; color: #8d420a; }
.public-shell :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #a64b00; outline-offset: 4px; }
.public-shell .main .product-card { border-radius: 16px; transition: border-color .18s,box-shadow .18s; }
.public-shell .main .product-card:hover { border-color: #bcc9d3; box-shadow: 0 8px 28px #172d4209; }
.public-shell .card-top { padding: 14px 16px 8px; }
.public-shell .card-top .eyebrow { font-size: 11px; }
.public-shell .product-card .favorite { color: #607180; background: transparent; border: 0; width: 34px; height: 34px; }
.public-shell .product-card .favorite:hover { color: #a64b00; background: #fff4e9; }
.public-shell .product-image,.public-shell .storefront .product-image { background: #fff; height: 210px; padding: 22px; margin: 0 12px; }
.public-shell .product-info,.public-shell .storefront .product-info { padding: 18px; }
.public-shell .product-info h3,.public-shell .storefront .product-info h3 { font-size: 15px; line-height: 1.5; font-weight: 550; min-height: 45px; }
.public-shell .product-info>small { color: var(--muted); font-size: 11px; }
.public-shell .product-info>.muted { font-size: 11px; }
.public-shell .product-card .price,.public-shell .storefront .product-card .price { color: var(--ink); font-size: 28px; letter-spacing: -.9px; }
.public-shell .product-card .offer-action,.public-shell .product-card .offer-action span,.public-shell .product-card .offer-link:hover .offer-action { color: #a64b00; font-size: 12px; background: transparent; }
.public-shell .product-card .compare-check { color: var(--muted); border-color: var(--line); font-size: 11px; }
.public-shell .home-sponsored-label { background: #fff4e9; color: #8d420a; border-color: #f3dcc7; }
.public-shell .section-heading>a { color: #a64b00; font-size: 13px; }
.public-shell .article-card strong { color: #a64b00; }
.public-shell .promo-banner,.public-shell .closing-banner { background: #f5f7f9; border-color: var(--line); box-shadow: none; }
.public-shell .promo-banner h3,.public-shell .closing-banner h2 { color: var(--ink); }
.public-shell .promo-banner p,.public-shell .closing-banner p { color: var(--muted); }
.public-shell .main .notice { background: #f2f6fa; color: #334e67; border-color: #d8e2ec; }
.public-shell .pagination .active { background: #172d42; color: #fff; border-color: #172d42; }
.public-shell .pagination-compact a { color: var(--ink); border-color: var(--line); }
.public-shell .pagination-position { color: var(--muted); }
.public-shell :is(.legal-index,.legal-identity,.legal-related) { background: #f7f8fa; }
.public-shell .legal-page th { background: #f0f4f7; }
.public-shell .reading .prose { color: var(--slate); }
.public-shell .answer-block { border-color: var(--line); }
.public-shell .shop-monogram { color: #8d420a; background: #fff4e9; }
.public-shell :is(.partner-heading>p,.partner-story p,.partner-story li,.partner-form>p) { color: var(--muted); }
.public-shell .partner-story strong { color: var(--ink); }
.public-shell .partner-page .eyebrow,.public-shell .partner-heading h1 span,.public-shell .partner-form a { color: #a64b00; }
.public-shell .partner-badges span { color: var(--slate); border-color: var(--line); }
.public-shell :is(.partner-feed,.partner-form) { background: #f7f9fb; border-color: var(--line); }
.public-shell .partner-form input:not([type=checkbox]) { background: #fff; color: var(--ink); border-color: #ccd5dd; }
.public-shell .partner-form input::placeholder { color: var(--muted); }
.public-shell .partner-acceptances { border-color: var(--line); }
.public-shell .price-history-plot { background: #f1f5f8; color: var(--ink); }
.public-shell .price-history-plot text { fill: #526271; }
.public-shell .price-chart-grid { stroke: #d5dee6; }
.public-shell :is(.price-history-axis,.price-history-reading,.price-history-inspector) { color: var(--ink); }
.public-shell .search-suggestions { background: #fff; border-color: #d5dee6; box-shadow: 0 12px 32px #172d4214; }
.public-shell .search-suggestions a { color: var(--ink); }
.public-shell .search-suggestions a small,.public-shell .search-suggestions-empty { color: var(--muted); }
.public-shell .search-suggestions a:hover,.public-shell .search-suggestions a[aria-selected=true] { background: #f1f5f8; color: var(--ink); }
.public-shell .compare-tray { background: #fff; color: var(--ink); border-color: #ff8a32; box-shadow: 0 -8px 32px #172d4212; }
.public-shell .compare-tray .plain { color: #a64b00; }
.public-shell .skip { background: #fff; color: var(--ink); }
.public-shell footer { background: #13283b; border-top: 0; padding-top: 52px; }
.public-shell footer .logo { color: #fff; }
.public-shell footer p { color: #c7d4e4; }

/* Homepage: spacious opening, one clear action, quiet product surfaces. */
.public-shell .home-redesign { --home-border: #e3e8ec; --home-accent: #a64b00; }
.public-shell .storefront.home-redesign .hero.hero-banner { grid-template-columns: minmax(0,1.35fr) minmax(260px,.8fr); align-items: center; gap: 70px; min-height: 410px; margin: 0; padding: 48px 44px; background: #f6f8fa; border: 0; border-radius: 24px; }
.public-shell .home-redesign .hero-banner::before,.public-shell .home-redesign .hero-banner::after { display: none; }
.public-shell .home-redesign .home-kicker { color: #667786; font-size: 10px; font-weight: 600; letter-spacing: 1.7px; margin-bottom: 22px; }
.public-shell .home-kicker>span { background: #ff8a32; box-shadow: none; }
.public-shell .storefront.home-redesign .hero-banner h1 { color: #172d42; max-width: 620px; font-size: clamp(38px,4.2vw,58px); line-height: 1.08; letter-spacing: -2.4px; font-weight: 650; margin: 0 0 20px; text-wrap: balance; }
.public-shell .storefront.home-redesign .hero-banner p { color: #5e6c79; max-width: 490px; font-size: 16px; line-height: 1.75; margin: 0 0 28px; }
.public-shell .home-redesign .home-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; }
.public-shell .home-redesign .home-primary { padding: 13px 20px; min-height: 48px; }
.public-shell .home-redesign .home-how { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #40586c; font-size: 13px; }
.public-shell .home-redesign .home-hero-note { color: #5e6c79; font-size: 11px; margin-top: 20px; gap: 8px; line-height: 1.6; }
.public-shell .home-hero-note>span:first-child { color: #427055; }
.public-shell .home-redesign .home-showcase { width: 100%; max-width: 330px; justify-self: center; padding: 0; }
.public-shell .home-redesign .home-showcase-label { color: #667786; padding-left: 0; margin-bottom: 12px; font-size: 9px; letter-spacing: 1.5px; }
.public-shell .home-redesign .home-featured { background: #fff; color: #172d42; border: 1px solid #e3e8ec; border-radius: 18px; padding: 20px; transform: none; box-shadow: 0 12px 32px #172d4207; }
.public-shell .home-redesign .home-featured:hover { color: #172d42; transform: none; border-color: #bcc9d3; }
.public-shell .home-redesign .home-featured-category { color: #5e6c79; font-size: 11px; }
.public-shell .home-redesign .home-featured>img { height: 140px; margin: 14px 0; padding: 10px; }
.public-shell .home-redesign .home-featured-name { font-size: 14px; font-weight: 550; line-height: 1.5; min-height: 0; }
.public-shell .home-redesign .home-featured-bottom { margin-top: 14px; }
.public-shell .home-redesign .home-featured-bottom strong { font-size: 30px; letter-spacing: -1px; }
.public-shell .home-redesign :is(.home-featured-bottom small,.home-featured-caveat) { color: #5e6c79; font-size: 11px; }
.public-shell .home-redesign .home-featured-arrow { width: 36px; height: 36px; background: #fff0e2; color: #a64b00; }
.public-shell .home-redesign .home-custom-art { height: 300px; border-radius: 18px; }
.public-shell .home-redesign .home-fallback-caption { color: #5e6c79; }
.public-shell .home-redesign .home-fallback-caption strong { color: #172d42; }
.public-shell .home-redesign .home-query-prompts { flex-wrap: wrap; overflow: visible; gap: 8px; margin: 18px 0 8px; }
.public-shell .home-query-prompts a { background: #fff; color: #526271; border: 1px solid #e3e8ec; border-radius: 8px; font-size: 12px; padding: 8px 12px; white-space: normal; }
.public-shell .home-query-prompts a:hover { color: #172d42; background: #f6f8fa; border-color: #bcc9d3; }
.public-shell .home-redesign .home-shortcuts { margin: 8px 0 40px; padding: 20px 0; border-color: #e3e8ec; }
.public-shell .home-shortcuts>a { gap: 14px; padding: 8px 24px; border-color: #e3e8ec; }
.public-shell .home-shortcuts>a:first-child { padding-left: 0; }
.public-shell .home-shortcuts>a:last-child { padding-right: 0; }
.public-shell .home-shortcuts strong { color: #172d42; font-size: 13px; font-weight: 550; }
.public-shell .home-shortcuts small { color: #5e6c79; font-size: 11px; }
.public-shell .home-shortcut-icon { color: #a64b00; background: #fff5eb; border: 0; border-radius: 12px; width: 42px; height: 42px; }
.public-shell .home-shortcuts>a>.ui-icon { color: #758694; }
.public-shell .storefront.home-redesign .home-section { margin-top: 56px; }
.public-shell .storefront.home-redesign .home-section-categories { margin-top: 0; }
.public-shell .storefront.home-redesign .section-heading { margin-bottom: 24px; gap: 16px; }
.public-shell .storefront.home-redesign .section-heading .eyebrow { color: #667786; font-size: 10px; letter-spacing: 1.5px; margin-bottom: 8px; }
.public-shell .storefront.home-redesign .section-heading h2 { font-size: clamp(26px,2.6vw,34px); line-height: 1.2; font-weight: 600; letter-spacing: -1px; }
.public-shell .storefront.home-redesign .section-heading>a { color: #a64b00; font-size: 13px; }
.public-shell .storefront.home-redesign .category-card { min-height: 94px; padding: 20px; border: 1px solid #e3e8ec; background: #fff; border-radius: 14px; gap: 14px; }
.public-shell .storefront.home-redesign .category-card>div { color: #526b7d; background: #f1f5f8; border: 0; border-radius: 10px; width: 40px; height: 40px; }
.public-shell .storefront.home-redesign .category-card strong { color: #172d42; font-size: 13px; font-weight: 550; }
.public-shell .storefront.home-redesign .category-card:hover { background: #f9fafb; border-color: #bcc9d3; }
.public-shell .home-redesign .home-status-badge { color: #526271; border-color: #dce4eb; background: #f7f9fb; font-size: 11px; padding: 5px 9px; }
.public-shell .home-redesign .home-selection-note { color: #5e6c79; font-size: 13px; }
.public-shell .home-redesign .closing-banner { margin-top: 64px; padding: 40px; background: #f1f5f8; border: 0; border-radius: 20px; }
.public-shell .home-redesign .closing-banner .eyebrow { color: #667786; }
.public-shell .home-redesign .closing-banner h2 { color: #172d42; font-size: 32px; letter-spacing: -1px; }
.public-shell .home-redesign .closing-banner p { color: #5e6c79; max-width: 580px; }
.public-shell .home-redesign .closing-banner .button { background: #ff8a32; color: #172d42; border-color: #ff8a32; }
@media(max-width:1100px) {
    .public-shell .header { gap: 22px; }
    .public-shell .navigation { gap: 22px; }
    .public-shell .storefront.home-redesign .hero.hero-banner { grid-template-columns: minmax(0,1.2fr) minmax(240px,.8fr); gap: 32px; padding: 36px 30px; }
    .public-shell .storefront.home-redesign .hero-banner h1 { font-size: 44px; letter-spacing: -1.8px; }
    .public-shell .home-shortcuts>a { padding: 8px 14px; }
}
@media(max-width:760px) {
    .public-shell .header { min-height: 78px; gap: 16px; }
    .public-shell .header-actions { gap: 14px; }
    .public-shell .navigation { gap: 22px; min-height: 46px; }
    .public-shell .navigation a { font-size: 12px; }
    .public-shell .main { padding-top: 20px; padding-bottom: 44px; }
    .public-shell .search { padding: 4px; }
    .public-shell .search button { padding: 10px 12px; }
    .public-shell .storefront.home-redesign .hero.hero-banner { grid-template-columns: 1fr; min-height: 0; padding: 30px 24px; border-radius: 18px; gap: 0; }
    .public-shell .home-redesign .home-kicker { font-size: 9px; letter-spacing: 1.2px; margin-bottom: 18px; }
    .public-shell .storefront.home-redesign .hero-banner h1 { font-size: clamp(34px,7.8vw,44px); letter-spacing: -1.5px; margin-bottom: 16px; }
    .public-shell .storefront.home-redesign .hero-banner p { font-size: 14px; line-height: 1.7; margin-bottom: 22px; }
    .public-shell .home-redesign .home-hero-actions { gap: 8px 18px; }
    .public-shell .home-redesign .home-primary { font-size: 13px; padding: 12px 16px; }
    .public-shell .home-redesign .home-hero-note { font-size: 10px; margin-top: 16px; }
    .public-shell .home-redesign .home-showcase { display: none; }
    .public-shell .home-redesign .home-query-prompts { margin-top: 14px; gap: 6px; }
    .public-shell .home-query-prompts a { font-size: 11px; padding: 7px 10px; }
    .public-shell .home-redesign .home-shortcuts { grid-template-columns: 1fr; margin: 10px 0 30px; padding: 0; }
    .public-shell .home-shortcuts>a,.public-shell .home-shortcuts>a:first-child,.public-shell .home-shortcuts>a:last-child { flex-direction: row; align-items: center; gap: 14px; padding: 14px 0; border-right: 0; border-bottom: 1px solid #e3e8ec; }
    .public-shell .home-shortcuts>a:last-child { border-bottom: 0; }
    .public-shell .home-shortcuts strong { font-size: 12px; }
    .public-shell .home-shortcuts small { display: block; font-size: 11px; }
    .public-shell .home-shortcuts>a>.ui-icon { display: block; width: 16px; }
    .public-shell .storefront.home-redesign .home-section { margin-top: 36px; }
    .public-shell .storefront.home-redesign .home-section-categories { margin-top: 0; }
    .public-shell .storefront.home-redesign .section-heading { margin-bottom: 18px; }
    .public-shell .storefront.home-redesign .section-heading h2 { font-size: 26px; letter-spacing: -.8px; }
    .public-shell .storefront.home-redesign .section-heading>a { font-size: 12px; }
    .public-shell .storefront.home-redesign .category-card { padding: 16px; min-height: 118px; }
    .public-shell .storefront.home-redesign .category-card strong { font-size: 12px; }
    .public-shell .product-image,.public-shell .storefront .product-image { height: 150px; padding: 12px; margin: 0 6px; }
    .public-shell .product-info,.public-shell .storefront .product-info { padding: 12px; }
    .public-shell .product-info h3,.public-shell .storefront .product-info h3 { font-size: 12px; min-height: 36px; }
    .public-shell .product-card .price,.public-shell .storefront .product-card .price { font-size: 24px; }
    .public-shell .product-card .offer-link { flex-direction: column; align-items: flex-start; }
    .public-shell .product-card .offer-action { font-size: 11px; }
    .public-shell .home-redesign .closing-banner { margin-top: 40px; padding: 28px 24px; }
    .public-shell .home-redesign .closing-banner h2 { font-size: 26px; }
}
/* Soft section colours separate the catalogue groups without tinting product photos. */
.public-shell .storefront.home-redesign .home-section:is(.home-section-products,.home-section-categories) {
    --section-tint: #f0f5fa;
    --section-border: #e1e9f1;
    background: var(--section-tint);
    border: 1px solid var(--section-border);
    border-radius: 22px;
    padding: 30px;
}
.public-shell .storefront.home-redesign .home-section-products:nth-of-type(3n) {
    --section-tint: #fff5ec;
    --section-border: #f3e5d8;
}
.public-shell .storefront.home-redesign .home-section-products:nth-of-type(3n + 1) {
    --section-tint: #f0f6f2;
    --section-border: #dfeae3;
}
.public-shell .storefront.home-redesign .home-section .home-status-badge {
    background: #ffffffb3;
    border-color: var(--section-border, #dce4eb);
}
.public-shell .storefront.home-redesign .category-card {
    --category-accent: #416786;
    --category-tint: #eaf1f8;
    background: #ffffffd9;
}
.public-shell .storefront.home-redesign .category-card:nth-child(4n + 2) {
    --category-accent: #9b542b;
    --category-tint: #fff0e4;
}
.public-shell .storefront.home-redesign .category-card:nth-child(4n + 3) {
    --category-accent: #426d57;
    --category-tint: #e8f3ec;
}
.public-shell .storefront.home-redesign .category-card:nth-child(4n + 4) {
    --category-accent: #70608a;
    --category-tint: #f0ebf7;
}
.public-shell .storefront.home-redesign .category-card>div {
    background: var(--category-tint);
    color: var(--category-accent);
}
@media(max-width:760px) {
    .public-shell .storefront.home-redesign .home-section:is(.home-section-products,.home-section-categories) {
        padding: 22px 14px;
        border-radius: 18px;
    }
}
@media(prefers-reduced-motion:reduce) {
    .public-shell .main .product-card { transition: none; }
}
