/* =====================================================================
   Mattress For Less — storefront theme ("Inspired": white canvas, the
   logo's red as the only accent, Oswald headlines). The variable names
   date from the earlier Coastal Calm theme and are kept so every page
   picks up the identity through them:
     navy  -> ink (black) surfaces/buttons     ocean -> brand red
     shell -> white page canvas                sand  -> light grey surfaces
     seafoam -> blush (soft red tint)          gold  -> light red on dark
   Loaded last in layouts/master.blade.php so it wins over the legacy
   theme files (orange.css, lastStyle.css, custom.css).
   ===================================================================== */

:root {
    --c-navy: #111111;        /* ink black: bars, buttons, footer, dark surfaces (text uses --c-ink) */
    --c-navy-2: #1f1f1f;
    --c-ocean: #b0260a;
    --c-ocean-dark: #8e1d06;
    --c-seafoam: #fbeeea;
    --c-sand: #f4f5f7;
    --c-sand-line: #e6e8eb;
    --c-shell: #ffffff;
    --c-ink: #111111;
    --c-text: #4a4a4a;
    --c-muted: #6f6f6f;
    --c-coral: #b0260a;
    --c-coral-dark: #8e1d06;
    --c-gold: #ffb3a6;
    --c-blue: #4571cb;
    --c-white: #ffffff;
    --c-serif: 'Oswald', 'Arial Narrow', Impact, sans-serif;
    --c-sans: 'Archivo', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --c-radius: 8px;
    --c-radius-sm: 6px;
    --c-shadow: 0 18px 36px -22px rgba(17, 17, 17, 0.35);

    /* Bootstrap / legacy theme variables */
    --primary-color: var(--c-ocean);
    --secondary: var(--c-coral);
    --red: var(--c-coral);
    --danger: var(--c-coral);
    --font-family-sans-serif: var(--c-sans);
}

/* ---------- Base typography ---------- */
html, body {
    background: var(--c-shell) !important;
    color: var(--c-ink);
    font-family: var(--c-sans) !important;
    -webkit-font-smoothing: antialiased;
}

body :is(p, a, span, li, td, th, label, input, select, textarea, button, small, strong, b, div, h4, h5, h6, .btn, .nav-link, .dropdown-item):not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands) {
    font-family: var(--c-sans);
}

body h1, body h2, body h3, body .c-serif {
    font-family: var(--c-serif) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: var(--c-ink);
}

a { color: var(--c-ocean); }
a:hover, a:focus { color: var(--c-coral); text-decoration: none; }

/* The catch-all sans rule above outranks any single class, so the display-face elements
   of the identity (uppercase Oswald) are listed here with !important. */
.c-btn, .c-more, .c-tabs button, .c-sale-strip, .c-hero__eyebrow, .c-hero__sub, .c-tile__big, .c-tile__label,
.c-trust__item strong, .c-pcard__btn, .c-pcard__badge, .c-cat__label small, .c-cat__label strong, .c-review__title,
.c-insta__head span, .c-brandtile__info strong, .c-brandtile__cta, .c-feel__pills a, .c-footer__phone, .c-footer__col h5, .c-footer__news button,
#main_categoryTabs .nav-link, .c-nav__extra a, .c-accent, .c-home h1 span, .c-home h2 span, .c-home h3 span {
    font-family: var(--c-serif) !important;
}


::selection { background: var(--c-seafoam); color: var(--c-ink); }

/* ---------- Buttons ---------- */
.btn { border-radius: 4px !important; font-weight: 600 !important; letter-spacing: 0; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.btn-primary, .btn-secondary, .btn-dark, .btn-success, .swipe-to-top.btn-secondary {
    background: var(--c-navy) !important;
    border-color: var(--c-navy) !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-secondary:hover, .btn-dark:hover, .btn-success:hover {
    background: var(--c-ocean) !important;
    border-color: var(--c-ocean) !important;
    color: #fff !important;
}
.btn-outline-primary, .btn-outline-secondary, .btn-light {
    background: transparent !important;
    border: 1.5px solid var(--c-navy) !important;
    color: var(--c-ink) !important;
}
.btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-light:hover {
    background: var(--c-navy) !important;
    color: #fff !important;
}
.btn-danger { background: var(--c-coral) !important; border-color: var(--c-coral) !important; }
.btn-link { color: var(--c-ocean) !important; }

.c-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    padding: 0 30px; height: 54px; border-radius: 4px; font-weight: 600; font-size: 17px;
    font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .08em;
    line-height: 1.2; border: 1.5px solid transparent; transition: background .2s, color .2s, border-color .2s, transform .2s;
    cursor: pointer; text-decoration: none !important;
}
.c-btn:hover { transform: translateY(-1px); }
.c-btn--dark { background: var(--c-navy); color: #fff !important; }
.c-btn--dark:hover { background: var(--c-ocean); color: #fff !important; }
.c-btn--ocean { background: var(--c-ocean); color: #fff !important; }
.c-btn--ocean:hover { background: var(--c-navy); color: #fff !important; }
.c-btn--ghost { border-color: var(--c-navy); color: var(--c-navy) !important; background: transparent; }
.c-btn--ghost:hover { background: var(--c-navy); color: #fff !important; }
.c-btn--light { background: #fff; color: var(--c-ink) !important; }
.c-btn--light:hover { background: var(--c-sand); }
.c-btn--link { padding-left: 6px; padding-right: 6px; color: var(--c-ink) !important; }

/* ---------- Forms ---------- */
.form-control, select.form-control, .custom-select {
    border: 1px solid var(--c-sand-line) !important;
    border-radius: var(--c-radius-sm) !important;
    min-height: 46px;
    color: var(--c-ink);
    background-color: #fff;
    box-shadow: none !important;
}
.form-control:focus, .custom-select:focus {
    border-color: var(--c-ocean) !important;
    box-shadow: 0 0 0 3px rgba(176, 38, 10, 0.15) !important;
}
.custom-control-input:checked ~ .custom-control-label::before { background-color: var(--c-ocean) !important; border-color: var(--c-ocean) !important; }

/* ---------- Badges ---------- */
.badge { border-radius: 999px !important; font-weight: 700 !important; padding: 6px 11px !important; letter-spacing: .02em; }
.badge-brown, .badge-danger, .custom-badge { background: var(--c-coral) !important; color: #fff !important; }
.badge-main { background: var(--c-navy) !important; color: #fff !important; }
.badge-info { background: var(--c-ocean) !important; color: #fff !important; }

/* ---------- Layout helpers ---------- */
.c-wrap { max-width: 1280px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }
.c-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-ocean); }
.c-eyebrow--line::before { content: ''; width: 28px; height: 2px; background: currentColor; }
.c-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 36px; }
.c-section-head h2 { font-size: 42px; margin: 0; line-height: 1.1; }
.c-section-head a { font-weight: 600; font-size: 15px; }
@media (max-width: 991px) { .c-wrap { padding-left: 20px; padding-right: 20px; } .c-section-head h2 { font-size: 30px; } }
@media (max-width: 575px) { .c-wrap { padding-left: 16px; padding-right: 16px; } }

/* =====================================================================
   HEADER
   ===================================================================== */
.c-header .c-wrap { max-width: 1440px; }

/* Utility bar */
.c-topbar { background: var(--c-navy); color: #fff; font-size: 13px; font-weight: 500; letter-spacing: .01em; }
.c-topbar .c-wrap { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 40px; }
.c-topbar__locator { display: inline-flex; align-items: center; gap: 8px; color: #fff !important; cursor: pointer; white-space: nowrap; }
.c-topbar__locator:hover { color: var(--c-gold) !important; }
.c-topbar__offer { display: flex; align-items: center; gap: 10px; min-width: 0; overflow: hidden; }
.c-topbar__star { color: var(--c-coral); font-size: 15px; line-height: 1; }
.c-topbar__rotator { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-topbar__links { display: flex; gap: 22px; align-items: center; flex-shrink: 0; }
.c-topbar__links a { color: #fff !important; cursor: pointer; }
.c-topbar__links a:hover { color: var(--c-gold) !important; }
.c-topbar__links a.c-topbar__phone { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; }

/* Main row */
#headerOne.c-header {
    position: sticky; top: 0; z-index: 1030;
    background: #fff !important;
    border-bottom: 0; box-shadow: none; padding: 0 !important;
    transition: box-shadow .25s;
}
#headerOne.c-header.header-scrolled { box-shadow: 0 10px 30px -20px rgba(17, 17, 17, .45); }
.c-header .header-navbar { border-bottom: 1px solid var(--c-sand-line); }
.c-header__main { display: flex; align-items: center; gap: 20px; padding-top: 14px; padding-bottom: 14px; flex-wrap: wrap; }
.c-header__logo { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
.c-header__logo img { height: 42px !important; width: auto !important; max-height: none !important; display: block; }

/* Category navigation, inline with the logo */
/* orange.css sets `.header-one .header-navbar nav { width: 100% }`, which would push the nav onto its own line. */
.c-header .header-navbar nav.c-nav { border-top: 0; display: flex; align-items: center; gap: 4px; flex: 1 1 auto; width: auto; min-width: 0; padding: 0; }
#main_categoryTabs {
    display: flex; flex-wrap: nowrap; gap: 2px; border: 0 !important; margin: 0; padding: 0;
    background: transparent !important;
}
#main_categoryTabs .nav-item { margin: 0 !important; }
#main_categoryTabs .nav-link {
    border: 0 !important; background: transparent !important; color: var(--c-ink) !important;
    font-family: var(--c-serif) !important; text-transform: uppercase; letter-spacing: .03em;
    font-size: 14px !important; font-weight: 600 !important; padding: 10px 8px !important; white-space: nowrap;
    border-radius: 0 !important; position: relative; transform: none !important; box-shadow: none !important;
}
#main_categoryTabs .nav-link::before { display: none !important; }
#main_categoryTabs .nav-link::after {
    content: ''; position: absolute; left: 8px; right: 8px; bottom: 4px; height: 2px;
    background: var(--c-coral); transform: scaleX(0); transform-origin: left; transition: transform .25s;
}
#main_categoryTabs .nav-link:hover::after, #main_categoryTabs .nav-link.selected-tab::after { transform: scaleX(1); }
#main_categoryTabs .nav-link.selected-tab { color: var(--c-coral) !important; }
.c-nav__extra { display: flex; gap: 2px; }
.c-nav__extra a {
    font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .03em; font-size: 14px; font-weight: 600;
    color: var(--c-ink); padding: 10px 8px; white-space: nowrap;
}
.c-nav__extra a:hover { color: var(--c-coral); }
.c-nav__extra a.c-nav__sale { color: var(--c-coral); }
@media (max-width: 1399px) {
    .c-header .header-navbar nav.c-nav { order: 3; flex-basis: 100%; margin-top: -6px; }
}

/* Search pill: compact, grows while typing */
.c-header__search { width: 190px !important; margin: 0; flex-shrink: 0; transition: width .25s; }
.c-header__search:focus-within { width: 320px !important; }
.c-header__search .search-field-wrap {
    display: flex; align-items: center; gap: 4px;
    background: var(--c-sand); border: 1px solid transparent; border-radius: 999px;
    padding: 3px 4px 3px 16px; transform: none !important; box-shadow: none !important;
}
.c-header__search .search-field-wrap:focus-within { border-color: var(--c-navy); background: #fff; }
.c-header__search .search-input {
    border: 0 !important; background: transparent !important; box-shadow: none !important;
    min-height: 38px; padding: 0 !important; font-size: 14px; color: var(--c-ink); flex-grow: 1; min-width: 0;
}
.c-header__search .search-input::placeholder { color: #6f6f6f; }
.c-header__search .search_button {
    position: static !important; order: 2; width: 36px; height: 36px; padding: 0 !important;
    background: transparent !important; color: var(--c-ink) !important; border-radius: 999px !important;
    display: flex; align-items: center; justify-content: center; border: 0 !important;
}
.c-header__search .search_button i { color: var(--c-ink) !important; font-size: 15px; }

/* Account + cart */
.c-header__actions { display: flex; align-items: center; gap: 14px; margin: 0; padding: 0; list-style: none; flex-shrink: 0; }
.c-header__action {
    display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
    color: var(--c-ink) !important; background: transparent !important; border: 0 !important; padding: 6px !important;
    box-shadow: none !important; cursor: pointer; position: relative;
}
.c-header__action:hover { color: var(--c-coral) !important; }
.c-header__action svg { flex-shrink: 0; }
.c-header__cart { width: 46px; height: 46px; border-radius: 999px !important; background: var(--c-coral) !important; color: #fff !important; padding: 0 !important; }
.c-header__cart:hover { background: var(--c-coral-dark) !important; color: #fff !important; }
.c-header__cart .total-menu-cart-product-count {
    position: absolute !important; top: -4px; right: -4px; border: 2px solid #fff;
    background: var(--c-navy) !important; color: #fff !important; font-size: 11px !important;
    border-radius: 999px !important; min-width: 20px; height: 20px; padding: 0 5px !important;
    display: inline-flex !important; align-items: center; justify-content: center;
}
.c-header .shopping .dropdown-menu {
    border: 1px solid var(--c-sand-line) !important; border-radius: var(--c-radius) !important;
    box-shadow: var(--c-shadow) !important; padding: 16px !important; min-width: 340px; margin-top: 12px;
}
.c-header .shopping-cart-items { list-style: none; padding: 0; margin: 0; }
.c-header .shopping-cart-items li { border-bottom: 1px solid var(--c-sand-line) !important; padding: 10px 0; gap: 12px; }
.c-header .shopping-cart-items li:last-child { border-bottom: 0 !important; }
.c-header .shopping-cart-items .item-thumb { width: 72px !important; height: 72px !important; border-radius: 6px; overflow: hidden; background: var(--c-sand); flex-shrink: 0; }
.c-header .shopping-cart-items .item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.c-header .shopping-cart-items h3 { font-family: var(--c-sans) !important; text-transform: none; font-size: 14px !important; font-weight: 600 !important; color: var(--c-ink); }

/* Sale strip */
.c-sale-strip {
    display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 8px 20px;
    background: var(--c-coral); color: #fff !important; text-align: center;
    font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .06em; font-size: 18px; font-weight: 600;
    transition: background .2s;
}
.c-sale-strip:hover { background: var(--c-coral-dark); color: #fff !important; }

/* Mega menu panes (categoriesHeader + mattressHeader) */
#headerOne #categoryTabContent { margin: 0 !important; background: #fff; position: absolute; left: 0; right: 0; top: 100%; z-index: 5; }
#headerOne #categoryTabContent:has(> .tab-pane.active) { box-shadow: 0 30px 40px -30px rgba(17, 17, 17, .35); border-bottom: 1px solid var(--c-sand-line); }
#headerOne #categoryTabContent > .tab-pane:not(.active) { display: none; }
#headerOne #categoryTabContent > .tab-pane.active {
    border-top: 1px solid var(--c-sand-line);
    padding: 28px 40px 32px; max-width: 1280px; margin: 0 auto;
}
#headerOne #categoryTabContent .card {
    border: 1px solid var(--c-sand-line) !important; border-radius: var(--c-radius) !important;
    background: #fff !important; transition: border-color .2s, transform .2s; overflow: hidden;
}
#headerOne #categoryTabContent .card:hover { border-color: var(--c-navy) !important; transform: translateY(-2px); }
#headerOne #categoryTabContent .card img { object-fit: contain; height: 120px !important; }
#headerOne #categoryTabContent h6 { font-weight: 600; color: var(--c-ink); margin: 0; font-size: 14px; }
#headerOne #categoryTabContent .nav-tabs { border: 0 !important; gap: 8px; margin-bottom: 18px; }
#headerOne #categoryTabContent .nav-child {
    background: #fff !important; border: 1px solid var(--c-sand-line) !important; border-radius: 999px !important;
    color: var(--c-ink) !important; font-weight: 600; padding: 8px 18px !important;
}
#headerOne #categoryTabContent .nav-child.active { background: var(--c-navy) !important; color: #fff !important; border-color: var(--c-navy) !important; }
#headerOne #categoryTabContent .data-box {
    border: 1px solid var(--c-sand-line) !important; border-radius: var(--c-radius) !important; background: #fff !important;
    padding: 10px !important; text-align: center;
}
#headerOne #categoryTabContent .data-box:hover { border-color: var(--c-coral) !important; }
#headerOne #categoryTabContent .container { max-width: 100%; margin-top: 0 !important; padding: 0; }
#headerOne #categoryTabContent .tab-content .tab-content { background: transparent !important; padding: 0 !important; }
#headerOne #categoryTabContent .tab-content .row { margin: 0 -6px; }
#headerOne #categoryTabContent .data-box a, #headerOne #categoryTabContent .data-box { color: var(--c-ink) !important; font-weight: 600; }

/* Search results dropdown */
#headerOne #searchModal { position: absolute; left: 0; right: 0; top: auto; z-index: 1040; }
#headerOne #searchModalDialog {
    max-width: 1200px !important; width: calc(100% - 80px); margin: 0 auto !important;
    background: #fff !important; box-shadow: var(--c-shadow) !important; border-radius: 0 0 var(--c-radius) var(--c-radius) !important;
    border: 1px solid var(--c-sand-line); border-top: 0; max-height: 70vh; overflow-y: auto;
}
#headerOne #searchModalContent { position: static !important; top: auto !important; width: 100%; padding: 12px 24px 20px; }
#headerOne .search-results img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px !important; background: var(--c-sand); }
#headerOne .search-results .search_link { color: var(--c-ink) !important; font-weight: 600; }
#headerOne .search-results h4 { font-family: var(--c-sans) !important; text-transform: none; font-weight: 600 !important; color: var(--c-ink) !important; font-size: 18px !important; }

/* Mobile header */
#mobileStickyHeader, #headerMobile .header-maxi, #headerMobile .bg-header-bar { background: #fff !important; }
#headerMobile { background: #fff !important; border-bottom: 1px solid var(--c-sand-line); }
#headerMobile .header-navbar { background: #fff !important; padding: 0 0 12px; }
#headerMobile .search-field-wrap {
    display: flex; align-items: center; background: var(--c-sand); border: 1px solid transparent; border-radius: 999px; padding: 4px 6px 4px 16px;
}
#headerMobile .search-field-wrap .search-input { border: 0 !important; background: transparent !important; min-height: 40px; flex-grow: 1; box-shadow: none !important; }
#headerMobile .search-field-wrap .search_button { order: 2; background: var(--c-navy) !important; color: #fff !important; width: 40px; height: 40px; border-radius: 999px !important; display: flex; align-items: center; justify-content: center; padding: 0 !important; }
#headerMobile .search-field-wrap .search_button i { color: #fff !important; }
#navigation-mobile { border: 0 !important; background: #fff !important; }
#navigation-mobile a, #navigation-mobile .main-manu { color: var(--c-ink) !important; }
#headerMobile .cart-btn .total-menu-cart-product-count { background: var(--c-coral) !important; color: #fff !important; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.c-footer { position: relative; background: var(--c-navy); color: #c9c9c9; margin-top: 90px; }
.c-footer a { color: #c9c9c9; }
.c-footer a:hover { color: #fff; }
.c-footer__grid { display: grid; grid-template-columns: 4fr 2fr 2fr 2fr 3fr; gap: 40px; padding: 56px 0 48px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.c-footer__brand { display: flex; flex-direction: column; gap: 18px; }
.c-footer__logo { align-self: flex-start; }
.c-footer__logo img { height: 40px; width: auto; display: block; filter: brightness(0) invert(1); }
/* orange.css sets a global `p { color: #000 }`, which beats the light colour the footer
   inherits - every paragraph on the dark footer needs its own rule or it renders black. */
.c-footer p { color: #c9c9c9; }
.c-footer__brand p { font-size: 15px; line-height: 1.65; max-width: 320px; margin: 0; color: #c9c9c9; }
.c-footer__phone { color: #fff !important; font-family: var(--c-serif); font-weight: 600; font-size: 22px; letter-spacing: .02em; }
.c-footer__col { display: flex; flex-direction: column; gap: 12px; font-size: 14.5px; }
.c-footer__col h5 { font-family: var(--c-serif) !important; text-transform: uppercase; letter-spacing: .06em; color: #fff; font-size: 16px; font-weight: 600; margin: 0 0 4px; }
.c-footer__social { display: flex; gap: 10px; }
.c-footer__social a { width: 40px; height: 40px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .25); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 15px; }
.c-footer__social a:hover { background: var(--c-coral); border-color: var(--c-coral); color: #fff; }
.c-footer__news { display: flex; flex-direction: column; gap: 10px; }
.c-footer__news .form-control { background: #fff !important; border-color: #fff !important; color: var(--c-ink) !important; border-radius: 4px !important; padding-left: 14px; }
.c-footer__news .form-control::placeholder { color: #8a8a8a; }
.c-footer__news button {
    background: var(--c-coral) !important; color: #fff !important; border: 0 !important; border-radius: 4px !important;
    font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; font-size: 16px; padding: 10px 22px; align-self: flex-start;
}
.c-footer__news button:hover { background: var(--c-coral-dark) !important; }
.c-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0 28px; font-size: 13px; color: #8a8a8a; flex-wrap: wrap; }
.c-footer__bottom a { color: #8a8a8a; }
.c-footer__legal { display: flex; gap: 24px; }
.c-footer__pay { display: flex; gap: 8px; flex-wrap: wrap; }
.c-footer__pay span { border: 1px solid rgba(255, 255, 255, .25); border-radius: 4px; padding: 5px 9px; font-size: 12px; font-weight: 700; color: #c9c9c9; }
@media (max-width: 991px) {
    .c-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .c-footer__brand, .c-footer__news-col { grid-column: 1 / -1; }
}
@media (max-width: 575px) {
    .c-footer { margin-top: 60px; }
    .c-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* Floating chat + back to top */
#chat_icon {
    background: var(--c-navy) !important; border-radius: 999px !important; padding: 12px 20px !important;
    box-shadow: var(--c-shadow) !important; border: 0 !important;
}
#chat_icon span { color: #fff !important; text-decoration: none !important; font-size: 14px !important; font-weight: 600 !important; }
#back-to-top { background: var(--c-coral) !important; border-color: var(--c-coral) !important; border-radius: 999px !important; }

/* =====================================================================
   HOMEPAGE ("Inspired" layout: sale hero, trust numbers, statement,
   best-seller tabs, quiz block, collections, category tiles, gallery,
   reviews, brands + Instagram, showrooms, promos, FAQ)
   ===================================================================== */
.c-home { background: #fff; }
.c-home .c-wrap { max-width: 1400px; }
.c-h2 { font-size: 52px; line-height: 1; margin: 0; }
.c-accent { color: var(--c-coral); }
.c-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 32px; }
.c-section-head--center { flex-direction: column; align-items: center; text-align: center; gap: 10px; }
.c-section-head h2 { font-size: 52px; line-height: 1; margin: 0; }
.c-section-head p { margin: 0; font-size: 16px; color: var(--c-muted); }
.c-more { display: inline-flex; align-items: center; gap: 8px; font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .06em; font-size: 16px; font-weight: 600; color: var(--c-ink); white-space: nowrap; }
.c-more:hover { color: var(--c-coral); }
.c-btn--black { background: var(--c-navy); color: #fff !important; }
.c-btn--black:hover { background: var(--c-coral); color: #fff !important; }
.c-btn--red { background: var(--c-coral); color: #fff !important; }
.c-btn--red:hover { background: var(--c-coral-dark); color: #fff !important; }
.c-btn--full { width: 100%; height: 48px; font-size: 16px; }

/* Sale hero */
.c-hero { position: relative; min-height: 640px; overflow: hidden; background: var(--c-navy); color: #fff; display: flex; align-items: center; }
.c-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.c-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17, 17, 17, .82) 0%, rgba(17, 17, 17, .55) 40%, rgba(17, 17, 17, .25) 60%, rgba(17, 17, 17, .7) 100%); }
.c-hero__grid { position: relative; display: grid; grid-template-columns: 1fr 560px; gap: 48px; align-items: center; padding-top: 56px; padding-bottom: 56px; width: 100%; }
.c-hero__copy { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.c-hero__eyebrow { font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .2em; font-size: 17px; font-weight: 600; color: #fff; }
.c-hero h1 { font-size: clamp(72px, 9.5vw, 140px); line-height: .9; margin: 0; color: #ff3b1f; text-shadow: 0 10px 40px rgba(0, 0, 0, .35); }
.c-hero__sub { font-family: var(--c-serif); text-transform: uppercase; font-size: 30px; line-height: 1.15; font-weight: 500; max-width: 560px; margin: 0; color: #fff; }
.c-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 12px; }
.c-hero__ctas .c-btn { height: 60px; font-size: 20px; padding: 0 40px; }
.c-hero__tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.c-tile { display: flex; flex-direction: column; gap: 4px; padding: 26px 24px; background: rgba(17, 17, 17, .55); border: 1px solid rgba(255, 255, 255, .18); color: #fff !important; min-width: 0; }
a.c-tile:hover { border-color: rgba(255, 255, 255, .5); }
.c-tile--sale { background: var(--c-coral); border-color: var(--c-coral); }
a.c-tile--sale:hover { background: var(--c-coral-dark); }
.c-tile__kicker { font-size: 15px; font-weight: 600; opacity: .85; }
.c-tile__big { font-family: var(--c-serif); text-transform: uppercase; font-size: 48px; line-height: 1; font-weight: 700; white-space: nowrap; }
.c-tile__label { font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .04em; font-size: 18px; font-weight: 500; }

/* Trust numbers */
.c-trust { border-bottom: 1px solid var(--c-sand-line); }
.c-trust__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.c-trust__item { padding: 34px 24px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; border-right: 1px solid var(--c-sand-line); color: var(--c-ink) !important; }
.c-trust__item:last-child { border-right: 0; }
a.c-trust__item:hover strong { color: var(--c-coral); }
.c-trust__item strong { font-family: var(--c-serif); text-transform: uppercase; font-size: 32px; font-weight: 700; line-height: 1; color: var(--c-ink); transition: color .2s; }
.c-trust__item small { font-size: 14px; color: var(--c-muted); }

/* Statement */
.c-statement { padding: 96px 0 72px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px; }
.c-statement h2 { font-size: 72px; line-height: 1; margin: 0; }
.c-statement p { margin: 0; font-size: 18px; line-height: 1.65; color: var(--c-text); max-width: 820px; }

/* Current offers (admin sliders) */
.c-offers { padding-top: 24px; padding-bottom: 24px; }
.c-offers__track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.c-offers__track::-webkit-scrollbar { display: none; }
.c-offer { scroll-snap-align: start; display: block; overflow: hidden; background: var(--c-sand); aspect-ratio: 1600 / 420; }
.c-offer img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
a.c-offer:hover img { transform: scale(1.02); }
.c-offers__arrow { width: 44px; height: 44px; border-radius: 999px; border: 1.5px solid #dcdcdc; background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.c-offers__arrow:hover { border-color: var(--c-navy); }

/* Best sellers with tabs */
.c-products { padding-top: 24px; padding-bottom: 96px; }
.c-tabs { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.c-tabs button {
    font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .06em; font-size: 16px; font-weight: 600;
    padding: 12px 26px; border-radius: 999px; border: 1.5px solid #dcdcdc; background: #fff; color: var(--c-ink); cursor: pointer; transition: background .2s, color .2s, border-color .2s;
}
.c-tabs button:hover { border-color: var(--c-navy); }
.c-tabs button.is-active { background: var(--c-navy); color: #fff; border-color: var(--c-navy); }
.c-products__body { position: relative; }
.c-products__nav button {
    position: absolute; top: 150px; width: 44px; height: 44px; border-radius: 999px; border: 1.5px solid #dcdcdc; background: #fff;
    display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; transition: background .2s, border-color .2s;
}
.c-products__nav button:hover { background: var(--c-navy); border-color: var(--c-navy); }
.c-products__nav button:hover svg { stroke: #fff; }
.c-products__nav button[data-dir="-1"] { left: -58px; }
.c-products__nav button[data-dir="1"] { right: -58px; }
.c-products__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 72px) / 4); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
.c-products__track::-webkit-scrollbar { display: none; }
.c-products__empty { grid-column: 1 / -1; padding: 40px; text-align: center; color: var(--c-muted); }
.c-pcard { scroll-snap-align: start; display: flex; flex-direction: column; color: inherit !important; transition: box-shadow .2s; }
.c-pcard:hover { box-shadow: 0 18px 36px -22px rgba(17, 17, 17, .45); }
.c-pcard__img { position: relative; height: 300px; background: var(--c-sand); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.c-pcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.c-pcard:hover .c-pcard__img img { transform: scale(1.04); }
.c-pcard__badge { position: absolute; top: 12px; left: 12px; z-index: 1; background: var(--c-coral); color: #fff; font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .06em; font-size: 14px; font-weight: 600; padding: 6px 10px; }
.c-pcard__body { padding: 18px 4px 0; display: flex; flex-direction: column; gap: 6px; flex-grow: 1; }
.c-pcard__name { font-weight: 700; font-size: 17px; line-height: 1.3; color: var(--c-ink); min-height: 44px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.c-pcard__pricelabel { font-size: 13px; color: var(--c-muted); }
.c-pcard__price { display: flex; gap: 8px; align-items: baseline; margin-top: auto; }
.c-pcard__price strong { font-family: var(--c-sans) !important; font-weight: 700; font-size: 20px; color: var(--c-ink); }
.c-pcard__price strong.is-sale { color: var(--c-coral); }
.c-pcard__price del { font-size: 14px; color: #9a9a9a; }
.c-pcard__btn { margin-top: 12px; display: flex; align-items: center; justify-content: center; height: 48px; background: var(--c-navy); color: #fff; font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .08em; font-size: 16px; font-weight: 600; transition: background .2s; }
.c-pcard:hover .c-pcard__btn { background: var(--c-coral); }
.c-pcard--skeleton .c-pcard__img, .c-pcard--skeleton .c-pcard__body > * { animation: cPulse 1.4s ease-in-out infinite; }
.c-pcard--skeleton .c-pcard__body > * { background: var(--c-sand); border-radius: 4px; min-height: 14px; }
@keyframes cPulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }

/* Quiz block */
.c-feel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--c-sand); }
.c-feel__copy { display: flex; flex-direction: column; justify-content: center; gap: 22px; padding: 96px 72px; }
.c-feel__copy h2 { font-size: 64px; line-height: 1; margin: 0; }
.c-feel__copy p { font-size: 18px; line-height: 1.65; color: var(--c-text); max-width: 520px; margin: 0; }
.c-feel__ctas { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-top: 6px; }
.c-feel__pills { display: flex; gap: 8px; flex-wrap: wrap; }
.c-feel__pills a { font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .06em; font-size: 14px; font-weight: 600; padding: 9px 16px; border-radius: 999px; border: 1.5px solid #dcdcdc; background: #fff; color: var(--c-ink) !important; }
.c-feel__pills a:hover { border-color: var(--c-navy); }
.c-feel__photo { min-height: 560px; overflow: hidden; }
.c-feel__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Collections */
.c-cols { padding-top: 96px; padding-bottom: 96px; }
.c-cols__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.c-col { display: flex; flex-direction: column; border: 1px solid var(--c-sand-line); color: inherit !important; transition: box-shadow .2s; background: #fff; }
.c-col:hover { box-shadow: 0 18px 36px -22px rgba(17, 17, 17, .45); }
.c-col__img { height: 320px; background: var(--c-sand); overflow: hidden; }
.c-col__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.c-col:hover .c-col__img img { transform: scale(1.04); }
.c-col__body { padding: 24px 24px 28px; display: flex; flex-direction: column; gap: 14px; flex-grow: 1; }
.c-col__body h3 { font-size: 28px; line-height: 1; margin: 0; }
.c-col__from { font-size: 15px; color: var(--c-muted); }
.c-col__from strong { color: var(--c-coral); }
.c-col__text { font-size: 15px; line-height: 1.55; color: var(--c-text); }
.c-col__feats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; font-size: 14px; font-weight: 600; margin: 0; padding: 0; list-style: none; }
.c-col__feats li { display: flex; align-items: center; gap: 8px; }
.c-col__feats svg { flex-shrink: 0; }
.c-col .c-pcard__btn { margin-top: auto; }

/* Category tiles */
.c-cats { padding-bottom: 96px; }
.c-cats__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.c-cat { position: relative; display: block; height: 380px; overflow: hidden; background: var(--c-navy); color: #fff !important; }
.c-cat img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.c-cat:hover img { transform: scale(1.05); }
.c-cat::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17, 17, 17, 0) 45%, rgba(17, 17, 17, .85) 100%); }
.c-cat__label { position: absolute; left: 20px; right: 20px; bottom: 20px; z-index: 1; display: flex; flex-direction: column; gap: 4px; }
.c-cat__label small { font-family: var(--c-serif); text-transform: uppercase; letter-spacing: .08em; font-size: 13px; font-weight: 600; color: var(--c-gold); }
.c-cat__label strong { font-family: var(--c-serif); text-transform: uppercase; font-size: 30px; font-weight: 600; line-height: 1; color: #fff; }

/* Gallery */
.c-gallery { padding-bottom: 96px; }
.c-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.c-gallery__item { position: relative; height: 420px; overflow: hidden; background: var(--c-sand); display: block; color: inherit !important; }
.c-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.c-gallery__item:hover img { transform: scale(1.04); }
.c-gallery__tag { position: absolute; left: 14px; bottom: 14px; background: #fff; padding: 10px 14px; display: flex; flex-direction: column; gap: 2px; box-shadow: 0 8px 20px -12px rgba(0, 0, 0, .4); }
.c-gallery__tag strong { font-size: 13px; color: var(--c-ink); }
.c-gallery__tag span { font-size: 13px; color: var(--c-coral); font-weight: 700; }

/* Reviews */
.c-reviews { padding-bottom: 96px; }
.c-reviews__rating { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--c-text); }
.c-reviews__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.c-review { border: 1px solid var(--c-sand-line); display: flex; flex-direction: column; background: #fff; }
.c-review__body { padding: 24px 22px; display: flex; flex-direction: column; gap: 12px; flex-grow: 1; }
.c-review__stars { display: flex; gap: 2px; }
.c-review__title { font-family: var(--c-serif); text-transform: uppercase; font-size: 20px; font-weight: 600; line-height: 1.1; color: var(--c-ink); }
.c-review__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--c-text); display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.c-review__who { font-size: 13px; font-weight: 700; margin-top: auto; color: var(--c-ink); }
.c-review__who span { color: var(--c-muted); font-weight: 500; }
.c-review__product { border-top: 1px solid var(--c-sand-line); padding: 14px 22px; display: flex; align-items: center; gap: 14px; color: inherit !important; }
.c-review__product img { width: 64px; height: 64px; object-fit: cover; background: var(--c-sand); flex-shrink: 0; }
.c-review__product strong { font-size: 13px; color: var(--c-ink); display: block; }
.c-review__product span { font-size: 13px; color: var(--c-coral); font-weight: 700; }

/* Brands + Instagram */
/* Premium brands: square picture tiles (each brand's main gallery image) on a soft grey panel;
   hovering a tile reveals the brand, its live product count and a Show button. The column
   count comes from --tile-cols, so the breakpoints only change that number. */
.c-brands { padding-bottom: 96px; display: flex; flex-direction: column; gap: 56px; }
.c-brandtiles { background: var(--c-sand); border-radius: 40px 40px 20px 20px; padding: 48px 32px 44px; }
.c-brandtiles__head { text-align: center; margin-bottom: 40px; }
.c-brandtiles__badge { display: inline-block; background: var(--c-ocean); color: #fff; padding: 7px 20px; border-radius: 30px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 18px; box-shadow: 0 8px 18px -6px rgba(176, 38, 10, .55); animation: c-brandtiles-float 3s ease-in-out infinite; }
@keyframes c-brandtiles-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.c-brandtiles__head h2 { font-size: 42px; margin: 0; line-height: 1.1; }
.c-brandtiles__sub { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 18px 0 0; color: var(--c-muted); font-size: 16px; letter-spacing: .04em; }
.c-brandtiles__sub::before, .c-brandtiles__sub::after { content: ''; width: 50px; height: 2px; background: linear-gradient(90deg, transparent, var(--c-ocean), transparent); }
.c-brandtiles__grid { --tile-cols: 6; --tile-gap: 24px; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--tile-gap); }
.c-brandtile { position: relative; display: block; flex: 0 0 calc((100% - var(--tile-gap) * (var(--tile-cols) - 1)) / var(--tile-cols)); aspect-ratio: 1 / 1; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 15px 30px -12px rgba(17, 17, 17, .28); transition: transform .4s cubic-bezier(.175, .885, .32, 1.275), box-shadow .4s, border-radius .4s; }
.c-brandtile:hover, .c-brandtile:focus-visible { transform: scale(1.05); box-shadow: 0 25px 40px -14px rgba(176, 38, 10, .45); border-radius: 30px; z-index: 1; }
.c-brandtile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.c-brandtile--logo img { object-fit: contain; padding: 18%; }
.c-brandtile:hover img { transform: scale(1.1); }
.c-brandtile__name { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; font-family: var(--c-serif) !important; font-size: 20px; text-transform: uppercase; color: var(--c-ink); }
.c-brandtile__info { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 16px; text-align: center; color: #fff; background: linear-gradient(135deg, rgba(176, 38, 10, .9), rgba(17, 17, 17, .82)); opacity: 0; transition: opacity .4s; backdrop-filter: blur(3px); }
.c-brandtile:hover .c-brandtile__info, .c-brandtile:focus-visible .c-brandtile__info { opacity: 1; }
.c-brandtile__info > * { transform: translateY(16px); transition: transform .4s ease .1s; }
.c-brandtile__info > :nth-child(2) { transition-delay: .2s; }
.c-brandtile__info > :nth-child(3) { transition-delay: .3s; }
.c-brandtile:hover .c-brandtile__info > *, .c-brandtile:focus-visible .c-brandtile__info > * { transform: translateY(0); }
.c-brandtile__info strong { max-width: 100%; font-size: 20px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 2px 4px rgba(0, 0, 0, .3); }
.c-brandtile__count { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; padding: 5px 14px; border-radius: 30px; background: rgba(255, 255, 255, .2); border: 1px solid rgba(255, 255, 255, .35); color: #fff; }
.c-brandtile__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; background: #fff; color: var(--c-ocean); padding: 8px 20px; border-radius: 30px; box-shadow: 0 5px 15px rgba(0, 0, 0, .2); }
@media (prefers-reduced-motion: reduce) {
    .c-brandtiles__badge { animation: none; }
    .c-brandtile, .c-brandtile img, .c-brandtile__info, .c-brandtile__info > * { transition: none; }
}
.c-insta { display: flex; flex-direction: column; gap: 22px; }
.c-insta__head { display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--c-ink) !important; }
.c-insta__head span { font-family: var(--c-serif); text-transform: uppercase; font-size: 30px; font-weight: 600; }
.c-insta__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.c-insta__grid a, .c-insta__grid div { height: 208px; overflow: hidden; background: var(--c-sand); display: block; }
.c-insta__grid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.c-insta__grid a:hover img { transform: scale(1.05); }

/* Showrooms */
.c-stores { padding-bottom: 96px; }
.c-stores__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.c-store { border: 1px solid var(--c-sand-line); border-top: 4px solid var(--c-coral); padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 10px; background: #fff; }
.c-store h3 { font-size: 26px; line-height: 1; margin: 0; }
.c-store address { font-size: 15px; line-height: 1.5; color: var(--c-text); margin: 0; font-style: normal; }
.c-store__phone { font-weight: 700; font-size: 16px; color: var(--c-ink) !important; }
.c-store__links { display: flex; gap: 16px; margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 600; }
.c-store__links a { color: var(--c-coral) !important; cursor: pointer; }

/* Delivery + financing */
.c-promos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-bottom: 96px; }
.c-promo { overflow: hidden; position: relative; min-height: 380px; }
.c-promo--photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.c-promo--photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17, 17, 17, 0) 30%, rgba(17, 17, 17, .88) 100%); }
.c-promo__text { position: absolute; left: 36px; right: 36px; bottom: 34px; display: flex; flex-direction: column; gap: 10px; color: #fff; z-index: 1; }
.c-promo__text h3 { color: #fff; font-size: 34px; line-height: 1; margin: 0; }
.c-promo__text p { font-size: 16px; line-height: 1.55; color: #e6e6e6; margin: 0; }
.c-promo__text a { color: var(--c-gold) !important; font-weight: 600; font-size: 15px; }
.c-promo--fin { background: var(--c-sand); color: var(--c-ink); padding: 44px; display: flex; flex-direction: column; gap: 18px; }
.c-promo--fin .c-eyebrow { color: var(--c-coral); }
.c-promo--fin h3 { font-size: 38px; line-height: 1; margin: 0; }
.c-promo--fin p { font-size: 16.5px; line-height: 1.6; color: var(--c-text); max-width: 460px; margin: 0; }
.c-promo--fin .c-btn { margin-top: auto; align-self: flex-start; }

/* FAQ (existing markup, restyled) */
.c-home .faq-section { background: transparent !important; padding-top: 0 !important; padding-bottom: 40px !important; }
.c-home .faq-section-badge { background: var(--c-seafoam) !important; color: var(--c-coral) !important; }
.c-home .faq-section-title { font-family: var(--c-serif) !important; text-transform: uppercase; font-weight: 700 !important; font-size: 52px !important; color: var(--c-ink) !important; }
.c-home .faq-outer-card { border-radius: 0 !important; border: 1px solid var(--c-sand-line) !important; box-shadow: none !important; }
.c-home .faq-categories-panel { background: var(--c-navy) !important; }
.c-home .faq-cat-btn.active { border-left-color: var(--c-coral) !important; }
.c-home .faq-cat-btn.active .faq-cat-count { background: var(--c-coral) !important; color: #fff !important; }
.c-home .faq-answers-header { color: var(--c-coral) !important; border-bottom-color: var(--c-sand-line) !important; }
.c-home .faq-item { border-radius: 4px !important; border-color: var(--c-sand-line) !important; }
.c-home .faq-item.open { border-color: #d9b4ac !important; box-shadow: 0 4px 18px rgba(176, 38, 10, .1) !important; }
.c-home .faq-item:hover { box-shadow: 0 4px 16px rgba(17, 17, 17, .08) !important; }
.c-home .faq-question { color: var(--c-ink) !important; }
.c-home .faq-question:hover, .c-home .faq-item.open .faq-question { background: var(--c-seafoam) !important; color: var(--c-coral) !important; }
.c-home .faq-q-num { background: var(--c-seafoam) !important; color: var(--c-coral) !important; }
.c-home .faq-item.open .faq-q-num { background: var(--c-coral) !important; color: #fff !important; }
.c-home .faq-item.open .faq-chevron { fill: var(--c-coral) !important; }

/* Homepage responsive */
@media (max-width: 1199px) {
    .c-hero__grid { grid-template-columns: 1fr 440px; }
    .c-tile__big { font-size: 42px; }
    .c-products__track { grid-auto-columns: calc((100% - 48px) / 3); }
    .c-products__nav { display: none; }
    .c-cols__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .c-cats__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .c-gallery__grid, .c-reviews__grid, .c-stores__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .c-insta__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .c-brandtiles__grid { --tile-cols: 5; }
}
@media (max-width: 991px) {
    .c-hero { min-height: 0; }
    .c-hero__grid { grid-template-columns: 1fr; gap: 28px; padding-top: 40px; padding-bottom: 40px; }
    .c-hero h1 { font-size: 88px; }
    .c-hero__sub { font-size: 22px; }
    .c-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .c-trust__item { border-bottom: 1px solid var(--c-sand-line); }
    .c-trust__item:nth-child(2n) { border-right: 0; }
    .c-statement { padding: 64px 0 48px; }
    .c-statement h2, .c-section-head h2, .c-feel__copy h2 { font-size: 44px; }
    .c-products__track { grid-auto-columns: calc((100% - 24px) / 2); }
    .c-feel { grid-template-columns: 1fr; }
    .c-feel__copy { padding: 56px 24px; }
    .c-feel__photo { min-height: 320px; max-height: 420px; }
    .c-cols__grid { grid-template-columns: 1fr; }
    .c-cats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .c-cat { height: 260px; }
    .c-cols, .c-products, .c-cats, .c-gallery, .c-reviews, .c-brands, .c-stores, .c-promos { padding-bottom: 56px; }
    .c-cols { padding-top: 56px; }
    .c-promos { grid-template-columns: 1fr; }
    .c-brandtiles__grid { --tile-cols: 4; --tile-gap: 18px; }
    .c-brandtiles__head h2 { font-size: 30px; }
}
@media (max-width: 767px) {
    .c-brandtiles__grid { --tile-cols: 3; --tile-gap: 16px; }
}
@media (max-width: 575px) {
    .c-hero h1 { font-size: 64px; }
    .c-hero__ctas .c-btn { width: 100%; }
    .c-hero__tiles { gap: 10px; }
    .c-tile { padding: 16px 14px; }
    .c-tile__big { font-size: 30px; }
    .c-tile__label { font-size: 15px; }
    .c-trust__item { padding: 20px 12px; }
    .c-trust__item strong { font-size: 22px; }
    .c-statement h2, .c-section-head h2, .c-feel__copy h2, .c-home .faq-section-title { font-size: 34px !important; }
    .c-tabs button { font-size: 14px; padding: 9px 16px; }
    .c-products__track { grid-auto-columns: 82%; }
    .c-cats__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .c-cat { height: 200px; }
    .c-cat__label strong { font-size: 22px; }
    .c-gallery__grid, .c-reviews__grid, .c-stores__list { grid-template-columns: 1fr; }
    .c-gallery__item { height: 300px; }
    .c-insta__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .c-insta__grid a, .c-insta__grid div { height: 160px; }
    .c-promo--fin { padding: 28px 22px; }
    .c-promo__text { left: 22px; right: 22px; }
}

/* =====================================================================
   SHARED STOREFRONT COMPONENTS (shop, product, cart, account pages)
   ===================================================================== */

/* Legacy product cards (product_card_style*.blade.php) */
.product article, .product-home article {
    background: #fff; border: 1px solid var(--c-sand-line) !important; border-radius: var(--c-radius) !important; overflow: hidden;
    box-shadow: none !important; transition: transform .2s, box-shadow .2s;
}
.product article:hover { transform: translateY(-3px); box-shadow: var(--c-shadow) !important; }
.product article .thumb { background: var(--c-sand); border-radius: 0 !important; }
.product article .thumb img { mix-blend-mode: multiply; }
.product article .content { padding: 18px !important; }
.product article .title, .product article .title a, .product-card-name { font-family: var(--c-sans) !important; color: var(--c-ink) !important; font-weight: 600 !important; font-size: 15.5px !important; line-height: 1.35 !important; }
.product article .tag, .product-card-category { color: var(--c-ocean) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; }
.product article .price, .product-card-price { font-family: var(--c-sans) !important; font-weight: 700 !important; color: var(--c-ink) !important; font-size: 24px !important; font-weight: 400 !important; }
.product article .price span, .product-card-price span { font-family: var(--c-sans) !important; color: var(--c-muted) !important; text-decoration: line-through; margin-left: 6px; }
.product article .para { color: var(--c-text) !important; }

/* Page titles & breadcrumbs */
.breadcrumb, .breadcrumb-area, .page-heading-title { background: transparent !important; }
.breadcrumb-item a { color: var(--c-ocean) !important; }
.breadcrumb-item.active { color: var(--c-muted) !important; }
.pro-heading-title h2, .page-title h1, .page-heading-title h2 { font-family: var(--c-serif) !important; font-weight: 700 !important; text-transform: uppercase; color: var(--c-ink) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }

/* Pagination */
.pagination .page-link { border-radius: 4px !important; margin: 0 3px; border: 1px solid var(--c-sand-line) !important; color: var(--c-ink) !important; min-width: 40px; text-align: center; }
.pagination .page-item.active .page-link, .pagination .page-link:hover { background: var(--c-navy) !important; color: #fff !important; border-color: var(--c-navy) !important; }

/* Tables (cart, orders) */
.table thead th { background: var(--c-sand) !important; color: var(--c-ink) !important; border: 0 !important; font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.table td { border-color: var(--c-sand-line) !important; vertical-align: middle !important; }

/* Cards & panels */
.card { border-color: var(--c-sand-line) !important; border-radius: var(--c-radius) !important; }
.card-header { background: var(--c-sand) !important; border-color: var(--c-sand-line) !important; }
.modal-content { border: 0 !important; border-radius: var(--c-radius) !important; box-shadow: var(--c-shadow) !important; }
.modal-header { border-bottom-color: var(--c-sand-line) !important; }
.modal-footer { border-top-color: var(--c-sand-line) !important; }

/* Tabs */
.nav-tabs .nav-link.active { color: var(--c-ocean) !important; border-bottom-color: var(--c-ocean) !important; }

/* Toastr */
#toast-container > .toast-success { background-color: var(--c-ocean) !important; }
#toast-container > .toast-error { background-color: var(--c-coral) !important; }
