/* =========================================================================
   FashionKart v2 — Storefront skin
   Loaded on customer-facing pages. Includes header (Aurora), footer,
   home, listing, PDP, cart, checkout, user dashboard.
   ========================================================================= */

body[data-fkv2="1"] {
    background: var(--fk-bg);
    color: var(--fk-text);
}

/* ---------- Aurora Header ---------- */
.fk-aurora {
    background: var(--fk-bg);
    position: sticky; top: 0;
    z-index: var(--fk-z-header);
    transition: box-shadow var(--fk-dur) var(--fk-ease), background var(--fk-dur) var(--fk-ease);
}
.fk-aurora.is-scrolled { box-shadow: var(--fk-shadow-sm); }

.fk-aurora__announce {
    background: var(--fk-onyx);
    color: var(--fk-ivory);
    min-height: var(--fk-header-h-top);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; letter-spacing: var(--fk-tracking-wide);
    text-align: center;
    overflow: hidden;
    position: relative;
    padding: 0 var(--fk-gutter);
}
.fk-aurora__announce-inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 20px;
    max-width: 100%;
}
.fk-aurora__announce-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    flex-shrink: 0;
}
.fk-aurora__announce a { color: var(--fk-ivory); text-decoration: none; }
.fk-aurora__announce a:hover { color: var(--fk-gold); }
.fk-aurora__announce-track {
    display: flex; gap: 64px;
    animation: fkMarquee 32s linear infinite;
    white-space: nowrap;
    will-change: transform;
}
.fk-aurora__announce-marquee {
    width: 100%;
    overflow: hidden;
}
.fk-aurora__announce-marquee .fk-aurora__announce-track {
    gap: 48px;
}

.fk-aurora__main-wrap { padding-top: 2px; padding-bottom: 2px; }
.fk-aurora__main {
    min-height: var(--fk-header-h-main);
    display: flex;
    align-items: center;
    gap: clamp(12px, 2vw, 28px);
}
.fk-aurora__left {
    display: flex;
    align-items: center;
    gap: var(--fk-sp-2);
    flex: 0 0 auto;
    min-width: 0;
    max-width: 240px;
}
.fk-aurora__center {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
}
.fk-aurora__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    flex: 0 0 auto;
}
.fk-aurora__right .fk-aurora__pill + .fk-aurora__pill {
    margin-left: 2px;
}

.fk-aurora__logo a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.fk-aurora__logo .fk-logo-text {
    font: 700 22px/1 var(--fk-font-display);
    letter-spacing: var(--fk-tracking-tight);
    color: var(--fk-onyx);
}
.fk-aurora__logo img { height: 34px; max-width: 210px; width: auto; object-fit: contain; object-position: left center; }

/* Search */
.fk-aurora__search {
    width: 100%;
    max-width: min(520px, 100%);
    position: relative;
    display: flex; align-items: center;
    height: 42px;
    background: var(--fk-surface);
    border: 1px solid var(--fk-border);
    border-radius: var(--fk-radius-pill);
    transition: border-color var(--fk-dur), box-shadow var(--fk-dur);
}
.fk-aurora__search:focus-within { border-color: var(--fk-onyx); box-shadow: 0 0 0 3px rgba(15, 15, 18, 0.08); }
.fk-aurora__search-cat {
    padding: 0 10px 0 14px; height: 100%;
    border: 0; background: transparent;
    font-size: 12px; color: var(--fk-text-muted);
    border-right: 1px solid var(--fk-border);
    cursor: pointer; outline: 0;
    appearance: none; -webkit-appearance: none;
    padding-right: 22px;
    max-width: 88px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%236B6C73' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>");
    background-repeat: no-repeat;
    background-position: right 8px center;
}
.fk-aurora__search-input {
    flex: 1; height: 100%; min-width: 0;
    border: 0; outline: 0; background: transparent;
    padding: 0 12px;
    font-size: 14px;
    color: var(--fk-text);
}
.fk-aurora__search-input::placeholder { color: var(--fk-text-soft); }
.fk-aurora__search-btn {
    width: 42px; height: 100%;
    border: 0; background: var(--fk-onyx); color: var(--fk-ivory);
    border-radius: 0 var(--fk-radius-pill) var(--fk-radius-pill) 0;
    cursor: pointer; display: grid; place-items: center;
    transition: background var(--fk-dur);
    flex-shrink: 0;
}
.fk-aurora__search-btn:hover { background: #000; }

/* Account / Wishlist / Cart pills */
.fk-aurora__pill {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 0 10px; height: 38px;
    border: 0; background: transparent;
    border-radius: var(--fk-radius-pill);
    color: var(--fk-text); text-decoration: none;
    font-size: 13px; font-weight: 500;
    transition: background var(--fk-dur), color var(--fk-dur);
    position: relative;
    white-space: nowrap;
    cursor: pointer;
}
.fk-aurora__pill:hover { background: var(--fk-cream); color: var(--fk-onyx); }
.fk-aurora__pill i { font-size: 20px; line-height: 1; }
.fk-aurora__pill--icon {
    width: 38px;
    padding: 0;
}
.fk-aurora__pill--compact span {
    font-size: 13px;
    font-weight: 600;
    color: var(--fk-onyx);
    max-width: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fk-aurora__pill--cart span { max-width: 84px; }
.fk-aurora__pill .fk-aurora__pill-meta { display: flex; flex-direction: column; line-height: 1.1; }
.fk-aurora__pill-meta small { font-size: 10px; color: var(--fk-text-muted); letter-spacing: var(--fk-tracking-wide); text-transform: uppercase; }
.fk-aurora__pill-meta strong { font-size: 13px; font-weight: 600; color: var(--fk-onyx); }
.fk-aurora__count {
    position: absolute; top: 2px; right: 2px;
    min-width: 16px; height: 16px; padding: 0 3px;
    background: var(--fk-sale); color: #fff;
    font-size: 9px; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px;
    border: 2px solid var(--fk-bg);
}

/* Sub nav (mega menu trigger) */
.fk-aurora__nav {
    min-height: var(--fk-header-h-nav);
    border-top: 1px solid var(--fk-border);
    border-bottom: 1px solid var(--fk-border);
}
.fk-aurora__nav-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 16px), transparent);
}
.fk-aurora__nav-scroll::-webkit-scrollbar { display: none; }
.fk-aurora__nav-list {
    display: flex; align-items: center; justify-content: center; gap: clamp(14px, 2.2vw, 28px);
    list-style: none; margin: 0; padding: 0 8px;
    min-height: var(--fk-header-h-nav);
    width: max-content;
    min-width: 100%;
}
.fk-aurora__nav-link {
    display: inline-flex; align-items: center;
    height: var(--fk-header-h-nav);
    color: var(--fk-text); text-decoration: none;
    font-size: 12px; font-weight: 500;
    letter-spacing: 0.06em; text-transform: uppercase;
    position: relative;
    transition: color var(--fk-dur) var(--fk-ease);
    white-space: nowrap;
    padding: 0 2px;
}
.fk-aurora__nav-link::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0;
    height: 2px; background: var(--fk-onyx);
    transform: scaleX(0); transform-origin: center;
    transition: transform var(--fk-dur) var(--fk-ease);
}
.fk-aurora__nav-link:hover { color: var(--fk-onyx); }
.fk-aurora__nav-link:hover::after { transform: scaleX(1); }
.fk-aurora__nav-link.is-sale { color: var(--fk-sale); }

/* Mega menu */
.fk-mega {
    position: absolute; left: 0; right: 0; top: 100%;
    background: var(--fk-bg);
    border-top: 1px solid var(--fk-border);
    border-bottom: 1px solid var(--fk-border);
    padding: var(--fk-sp-8) 0 var(--fk-sp-10);
    box-shadow: var(--fk-shadow-md);
    opacity: 0; visibility: hidden;
    transform: translateY(-8px);
    transition: opacity var(--fk-dur) var(--fk-ease), transform var(--fk-dur) var(--fk-ease), visibility var(--fk-dur);
    z-index: var(--fk-z-header);
}
.fk-aurora__nav-item:hover .fk-mega { opacity: 1; visibility: visible; transform: translateY(0); }
.fk-mega__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--fk-sp-6); }
.fk-mega__col h4 { font: 600 11px/1 var(--fk-font-body); letter-spacing: var(--fk-tracking-wider); text-transform: uppercase; color: var(--fk-text-muted); margin: 0 0 var(--fk-sp-3); }
.fk-mega__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.fk-mega__col a { color: var(--fk-text); text-decoration: none; font-size: var(--fk-fs-sm); transition: color var(--fk-dur); }
.fk-mega__col a:hover { color: var(--fk-gold-700); }
.fk-mega__feature { grid-column: span 2; padding: 0; }
.fk-mega__feature-card {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--fk-radius-md);
    background: var(--fk-cream);
}
.fk-mega__feature-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fk-mega__feature-overlay {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: var(--fk-sp-4) var(--fk-sp-5);
    background: linear-gradient(transparent, rgba(15, 15, 18, 0.85));
    color: #fff;
}

/* Mobile header */
.fk-aurora__mobile-toggle {
    width: 40px; height: 40px;
    border: 0; background: transparent;
    display: none;
    align-items: center; justify-content: center;
    cursor: pointer; color: var(--fk-onyx);
}

@media (max-width: 1199.98px) {
    .fk-aurora__left { max-width: 180px; }
    .fk-aurora__logo img { height: 30px; max-width: 170px; }
    .fk-aurora__search { max-width: min(440px, 100%); }
    .fk-aurora__pill--compact span { display: none; }
    .fk-aurora__pill--compact { width: 38px; padding: 0; }
}
@media (max-width: 991.98px) {
    .fk-aurora__nav { display: none; }
    .fk-aurora__search-desktop { display: none !important; }
    .fk-aurora__pill--desktop,
    #lang-currency-pill { display: none !important; }
    .fk-aurora__main {
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 10px;
        min-height: 56px;
    }
    .fk-aurora__left {
        flex: 1 1 auto;
        min-width: 0;
        max-width: none;
    }
    .fk-aurora__logo {
        flex: 0 1 auto;
        min-width: 0;
    }
    .fk-aurora__logo a { max-width: 100%; }
    .fk-aurora__logo img {
        height: 24px;
        max-width: min(145px, 42vw);
    }
    .fk-aurora__right {
        flex: 0 0 auto;
        gap: 0;
    }
    .fk-aurora__pill--cart span { display: none; }
    .fk-aurora__pill--cart {
        width: 40px;
        padding: 0;
    }
    .fk-aurora__mobile-toggle { display: inline-flex; }
    .fk-aurora__main-wrap { padding-top: 6px; padding-bottom: 6px; }
}
@media (max-width: 767.98px) {
    .fk-aurora__announce-inner { display: none !important; }
    .fk-aurora__announce-marquee { display: block; }
    .fk-aurora__announce { font-size: 10px; min-height: 32px; }
}

/* ---------- Mobile bottom nav ---------- */
.fk-bottom-nav {
    position: fixed; left: 0; right: 0; bottom: 0;
    height: var(--fk-bottom-nav-h);
    background: var(--fk-surface);
    border-top: 1px solid var(--fk-border);
    display: none;
    z-index: var(--fk-z-sticky);
    padding-bottom: env(safe-area-inset-bottom);
}
.fk-bottom-nav__inner { display: grid; grid-template-columns: repeat(5, 1fr); height: 100%; }
.fk-bottom-nav__item {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    color: var(--fk-text-muted); text-decoration: none;
    font-size: 10px; font-weight: 500; letter-spacing: var(--fk-tracking-wide); text-transform: uppercase;
    transition: color var(--fk-dur);
}
.fk-bottom-nav__item i { font-size: 22px; }
.fk-bottom-nav__item.is-active, .fk-bottom-nav__item:hover { color: var(--fk-onyx); }
.fk-bottom-nav__item--cta { background: var(--fk-onyx); color: var(--fk-ivory); margin: 8px; border-radius: 50%; height: calc(100% - 16px); }
.fk-bottom-nav__item--cta:hover { color: var(--fk-ivory); background: #000; }
@media (max-width: 991.98px) {
    .fk-bottom-nav { display: block; }
    body[data-fkv2="1"] { padding-bottom: var(--fk-bottom-nav-h); }
}

/* ---------- Footer ---------- */
.fk-footer {
    background: var(--fk-onyx);
    color: var(--fk-onyx-100);
    padding: var(--fk-sp-16) 0 var(--fk-sp-6);
    margin-top: var(--fk-sp-16);
}
.fk-footer__top,
.fk-footer__row {
    display: grid;
    gap: var(--fk-sp-8);
}
.fk-footer__row--brand {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    align-items: end;
    padding-bottom: var(--fk-sp-8);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.fk-footer__row--links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: var(--fk-sp-8) 0 var(--fk-sp-2);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
@media (max-width: 991.98px) {
    .fk-footer__row--brand { grid-template-columns: 1fr; align-items: start; }
    .fk-footer__row--links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .fk-footer { padding-top: var(--fk-sp-10); }
    .fk-footer__row--links { grid-template-columns: 1fr 1fr; gap: var(--fk-sp-6) var(--fk-sp-4); }
}
.fk-footer__brand h3 { font: 700 28px/1 var(--fk-font-display); color: var(--fk-ivory); margin: 0 0 var(--fk-sp-3); }
.fk-footer__logo {
    height: 40px;
    width: auto;
    max-width: min(240px, 100%);
    object-fit: contain;
    object-position: left center;
    margin-bottom: var(--fk-sp-4);
}
.fk-footer__brand p {
    color: var(--fk-onyx-200);
    line-height: var(--fk-lh-base);
    max-width: 560px;
    margin: 0;
    font-size: var(--fk-fs-sm);
}
.fk-footer__news {
    display: flex; gap: 8px; margin-top: var(--fk-sp-5);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: var(--fk-radius-pill);
    padding: 4px;
    max-width: 380px;
    background: rgba(255,255,255,0.04);
}
.fk-footer__news input {
    flex: 1; height: 40px; border: 0; outline: 0;
    background: transparent; color: var(--fk-ivory);
    padding: 0 16px; font-size: var(--fk-fs-sm);
}
.fk-footer__news input::placeholder { color: var(--fk-onyx-200); }
.fk-footer__news button {
    height: 40px; padding: 0 18px;
    background: var(--fk-ivory); color: var(--fk-onyx);
    border: 0; border-radius: var(--fk-radius-pill);
    font-size: 11px; font-weight: 600; letter-spacing: var(--fk-tracking-wide); text-transform: uppercase;
    cursor: pointer; transition: background var(--fk-dur);
}
.fk-footer__news button:hover { background: var(--fk-gold); color: #fff; }

.fk-footer__meta-card {
    display: grid;
    gap: var(--fk-sp-5);
    padding: var(--fk-sp-5);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--fk-radius-md);
    background: rgba(255,255,255,0.035);
}
.fk-footer__meta-card h4,
.fk-footer__col h4 {
    font: 600 11px/1 var(--fk-font-body);
    letter-spacing: var(--fk-tracking-wider);
    text-transform: uppercase;
    color: var(--fk-ivory);
    margin: 0 0 var(--fk-sp-4);
}
.fk-footer__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.fk-footer__col a,
.fk-footer__legal a { color: var(--fk-onyx-100); text-decoration: none; font-size: var(--fk-fs-sm); transition: color var(--fk-dur); }
.fk-footer__col a:hover,
.fk-footer__legal a:hover { color: var(--fk-gold); }

.fk-footer__bottom {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--fk-sp-4);
    padding-top: var(--fk-sp-6);
    font-size: 12px; color: var(--fk-onyx-200);
}
.fk-footer__social { display: flex; gap: 12px; }
.fk-footer__social a {
    width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.16);
    color: var(--fk-onyx-100);
    display: inline-flex; align-items: center; justify-content: center;
    transition: all var(--fk-dur);
    text-decoration: none;
}
.fk-footer__social a:hover { background: var(--fk-gold); border-color: var(--fk-gold); color: #fff; }
.fk-footer__pay { display: flex; gap: 10px; flex-wrap: wrap; }
.fk-footer__pay span { padding: 4px 10px; border: 1px solid rgba(255,255,255,0.12); border-radius: 4px; font-size: 10px; letter-spacing: var(--fk-tracking-wide); text-transform: uppercase; color: var(--fk-onyx-200); }
.fk-footer__legal { display: flex; gap: 14px; flex-wrap: wrap; }
.fk-footer__legal a { font-size: 12px; }

@media (max-width: 575.98px) {
    .fk-footer { padding-bottom: calc(var(--fk-sp-10) + var(--fk-bottom-nav-h)); }
    .fk-footer__logo { height: 34px; margin-bottom: var(--fk-sp-3); }
    .fk-footer__brand p { font-size: 13px; line-height: 1.55; max-width: 32ch; }
    .fk-footer__row--brand { gap: var(--fk-sp-5); padding-bottom: var(--fk-sp-6); }
    .fk-footer__row--links { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: var(--fk-sp-5); gap: var(--fk-sp-5) var(--fk-sp-3); }
    .fk-footer__col--wide { grid-column: 1 / -1; }
    .fk-footer__col--wide ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--fk-sp-5); }
    .fk-footer__meta-card h4,
    .fk-footer__col h4 { font-size: 10px; margin-bottom: var(--fk-sp-3); }
    .fk-footer__col ul { gap: 7px; }
    .fk-footer__col a { font-size: 12px; line-height: 1.3; }
    .fk-footer__social { gap: 10px; }
    .fk-footer__social a { width: 38px; height: 38px; }
    .fk-footer__pay { gap: 8px; }
    .fk-footer__pay span { padding: 4px 8px; font-size: 9px; }
    .fk-footer__news { border-radius: var(--fk-radius-md); flex-direction: column; padding: 6px; }
    .fk-footer__news button { width: 100%; }
    .fk-footer__meta-card { padding: var(--fk-sp-4); gap: var(--fk-sp-4); }
    .fk-footer__bottom { align-items: flex-start; flex-direction: column; gap: var(--fk-sp-3); padding-top: var(--fk-sp-5); }
}

/* ---------- Hero ---------- */
.fk-hero {
    position: relative;
    min-height: 560px;
    display: flex; align-items: center;
    overflow: hidden;
    background: var(--fk-cream);
}
.fk-hero--slider {
    --fk-hero-h: clamp(420px, 37.5vw, 720px);
    min-height: 0;
    display: block;
    background: var(--fk-onyx);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.fk-hero--slider .home-main-slider,
.fk-hero--slider .home-main-slider.slick-initialized,
.fk-hero--slider .slick-slider {
    width: 100% !important;
    max-width: 100% !important;
    position: relative;
    overflow: hidden;
}
.fk-hero--slider .slick-list {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}
.fk-hero--slider .slick-track {
    display: flex !important;
    align-items: stretch;
    will-change: transform;
}
.fk-hero--slider .slick-slide {
    height: auto;
    float: none;
    width: 100% !important;
}
.fk-hero--slider .slick-slide > div {
    width: 100%;
    height: 100%;
}
.fk-hero--slider .carousel-box,
.fk-hero--slider .fk-hero__slide {
    width: 100% !important;
    max-width: 100% !important;
}
.fk-hero--slider .slick-dots {
    position: absolute;
    bottom: 12px;
    left: 0;
    right: 0;
    margin: 0;
    z-index: 4;
    pointer-events: none;
}
.fk-hero--slider .slick-dots li {
    pointer-events: auto;
}
.fk-hero--slider .slick-dots button {
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.45);
}
.fk-hero--slider .slick-dots .slick-active button {
    background: var(--fk-ivory);
}
.fk-hero__slide {
    position: relative;
    width: 100% !important;
    height: var(--fk-hero-h);
    min-height: 0;
    max-height: none;
    overflow: hidden;
}
.fk-hero__link {
    display: block;
    position: absolute;
    inset: 0;
    color: inherit;
    text-decoration: none;
}
.fk-hero__container {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
    z-index: 2;
}
.fk-hero__overlay-container {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    pointer-events: none;
    padding-top: var(--fk-sp-8);
    padding-bottom: clamp(42px, 5vw, 72px);
}
.fk-hero__copy {
    max-width: min(520px, 92vw);
    padding: clamp(18px, 2.2vw, 28px);
    border: 1px solid rgba(250, 247, 242, 0.26);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(15, 15, 18, 0.42), rgba(15, 15, 18, 0.2));
    -webkit-backdrop-filter: blur(16px) saturate(128%);
    backdrop-filter: blur(16px) saturate(128%);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
    color: var(--fk-ivory);
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.36);
}
.fk-hero__copy-eyebrow {
    display: inline-flex;
    margin-bottom: var(--fk-sp-2);
    color: var(--fk-gold-100);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: var(--fk-tracking-wider);
    text-transform: uppercase;
}
.fk-hero__copy-title {
    color: var(--fk-ivory);
    font: 700 clamp(34px, 4.3vw, 64px)/1 var(--fk-font-display);
    letter-spacing: 0;
    margin-bottom: var(--fk-sp-3);
}
.fk-hero__copy-lead {
    color: rgba(250, 247, 242, 0.9);
    font-size: clamp(14px, 1.4vw, 18px);
    line-height: 1.6;
    max-width: 440px;
    margin-bottom: var(--fk-sp-4);
}
.fk-hero__copy-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 var(--fk-sp-6);
    border-radius: var(--fk-radius-pill);
    background: rgba(250, 247, 242, 0.94);
    color: var(--fk-onyx);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: var(--fk-tracking-wide);
    text-transform: uppercase;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
}
.fk-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--fk-onyx);
}
.fk-hero__picture {
    display: block;
    width: 100%;
    height: 100%;
}
.fk-hero__img,
.fk-hero__bg img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}
.fk-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 15, 18, 0.02) 0%, rgba(15, 15, 18, 0.08) 100%);
    pointer-events: none;
}
.fk-hero__content {
    position: relative; z-index: 1;
    color: var(--fk-ivory);
    max-width: 100%;
    padding: var(--fk-sp-8) 0;
    pointer-events: none;
}
.fk-hero__container .fk-container {
    width: 100%;
    box-sizing: border-box;
}
.fk-hero__text-panel {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    width: min(620px, 100%);
    max-width: 100%;
    box-sizing: border-box;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.34);
}
.fk-hero__text-panel .fk-hero__eyebrow { margin-bottom: var(--fk-sp-2); }
.fk-hero__text-panel .fk-hero__title { margin-bottom: var(--fk-sp-3); }
.fk-hero__text-panel .fk-hero__lead { margin-bottom: var(--fk-sp-4); }
.fk-hero__text-panel .fk-hero__actions { pointer-events: auto; }
.fk-hero__eyebrow { font-size: 11px; letter-spacing: var(--fk-tracking-wider); text-transform: uppercase; color: var(--fk-gold-100); font-weight: 700; margin-bottom: var(--fk-sp-3); }
.fk-hero__title { font: 700 clamp(42px, 5.8vw, 78px)/0.98 var(--fk-font-display); letter-spacing: 0; margin: 0 0 var(--fk-sp-4); }
.fk-hero__title em { font-style: italic; font-weight: 500; color: var(--fk-gold); }
.fk-hero__lead { font-size: 17px; line-height: 1.75; color: rgba(250, 247, 242, 0.86); margin: 0 0 var(--fk-sp-6); max-width: 520px; }
.fk-hero__actions { display: flex; gap: var(--fk-sp-3); flex-wrap: wrap; }
.fk-hero__actions .fk-btn { box-shadow: 0 12px 34px rgba(0, 0, 0, 0.18); }

@media (max-width: 991.98px) {
    .fk-hero--slider { --fk-hero-h: clamp(360px, 56vw, 520px); }
    .fk-hero { min-height: 0; }
    .fk-hero__container { align-items: flex-end; }
    .fk-hero__bg::after {
        background: linear-gradient(180deg, rgba(15, 15, 18, 0.02) 0%, rgba(15, 15, 18, 0.08) 100%);
    }
    .fk-hero__img,
    .fk-hero__bg img { object-position: center 22%; }
    .fk-hero__title { font-size: var(--fk-fs-4xl); }
    .fk-hero__content {
        width: 100%;
        padding: 0 0 calc(var(--fk-sp-8) + 24px);
    }
    .fk-hero__text-panel {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }
    .fk-hero__container .fk-container {
        padding-left: var(--fk-gutter-sm);
        padding-right: var(--fk-gutter-sm);
    }
    .fk-hero__overlay-container {
        align-items: flex-end;
        padding-left: var(--fk-gutter-sm);
        padding-right: var(--fk-gutter-sm);
        padding-bottom: 54px;
    }
    .fk-hero__copy {
        max-width: min(320px, 88vw);
        padding: 16px;
    }
    .fk-hero__copy-title {
        font-size: 30px;
    }
    .fk-hero__copy-lead {
        font-size: 13px;
        max-width: 300px;
    }
    .fk-hero__copy-cta {
        min-height: 38px;
        padding: 0 var(--fk-sp-5);
        font-size: 11px;
    }
}
@media (max-width: 575.98px) {
    .fk-hero--slider { --fk-hero-h: clamp(340px, 58vh, 500px); }
    .fk-hero__title { font-size: 1.55rem; line-height: 1.15; }
    .fk-hero__lead {
        font-size: 13px;
        margin-bottom: var(--fk-sp-3);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .fk-hero__text-panel {
        padding: 0;
    }
    .fk-hero__actions {
        width: 100%;
        gap: var(--fk-sp-2);
    }
    .fk-hero__actions .fk-btn {
        height: 38px;
        padding: 0 var(--fk-sp-4);
        font-size: 12px;
        flex: 1 1 auto;
        min-width: 0;
    }
    .fk-hero__actions .fk-btn--ghost-light { display: none; }
    .fk-hero--slider .slick-dots { bottom: 10px; }
    .fk-hero--slider .slick-dots button { width: 6px; height: 6px; }
    .fk-hero__overlay-container { padding-bottom: 48px; }
    .fk-hero__copy-title { font-size: 26px; }
    .fk-hero__copy-lead {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin-bottom: var(--fk-sp-3);
    }
}

/* ---------- Section heading ---------- */
.fk-sec-head {
    display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: var(--fk-sp-3);
    margin-bottom: var(--fk-sp-8);
}
.fk-sec-head__l { max-width: 720px; }
.fk-sec-head__eyebrow { font: 600 11px/1 var(--fk-font-body); letter-spacing: var(--fk-tracking-wider); text-transform: uppercase; color: var(--fk-gold-700); margin-bottom: var(--fk-sp-2); }
.fk-sec-head__title { font: 600 var(--fk-fs-3xl)/var(--fk-lh-tight) var(--fk-font-display); letter-spacing: var(--fk-tracking-snug); margin: 0; color: var(--fk-onyx); }
.fk-sec-head__lead { color: var(--fk-text-muted); margin: var(--fk-sp-2) 0 0; font-size: var(--fk-fs-md); }
.fk-sec-head__r a { font-size: var(--fk-fs-sm); font-weight: 600; letter-spacing: var(--fk-tracking-wide); text-transform: uppercase; color: var(--fk-onyx); text-decoration: none; }
.fk-sec-head__r a:hover { color: var(--fk-gold-700); }
.fk-sec-head__r a::after { content: ' →'; transition: transform var(--fk-dur); display: inline-block; }
.fk-sec-head__r a:hover::after { transform: translateX(4px); }

@media (max-width: 575.98px) {
    .fk-sec-head__title { font-size: var(--fk-fs-2xl); }
}

/* ---------- Category strip ---------- */
.fk-cat-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--fk-sp-4);
    max-width: 1180px;
    margin: 0 auto;
}
@media (max-width: 991.98px) { .fk-cat-strip { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 991.98px) {
    .fk-cat-strip {
        max-width: 520px;
        padding-bottom: calc(var(--fk-bottom-nav-h) + var(--fk-sp-8));
    }
}
@media (max-width: 575.98px) {
    .fk-cat-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--fk-sp-3);
        max-width: 360px;
    }
    .fk-cat-strip__svg { width: 48%; height: 48%; }
    .fk-cat-strip__name { font-size: 12px; line-height: 1.25; }
}
.fk-cat-strip__item {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    text-decoration: none; color: var(--fk-text);
}
.fk-cat-strip__bubble {
    width: 100%; aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    background: var(--fk-cream);
    border: 1px solid var(--fk-border);
    transition: all var(--fk-dur) var(--fk-ease);
    position: relative;
}
.fk-cat-strip__bubble img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; transition: transform var(--fk-dur-slow) var(--fk-ease); }
.fk-cat-strip__bubble--image img { transform: scale(1.08); }
.fk-cat-strip__bubble--vector {
    display: grid;
    place-items: center;
    color: var(--fk-onyx-500);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0)),
        var(--fk-stone-soft);
}
.fk-cat-strip__svg {
    width: 54%;
    height: 54%;
    display: block;
    color: inherit;
}
.fk-cat-strip__item:hover .fk-cat-strip__bubble { transform: translateY(-4px); border-color: var(--fk-onyx); }
.fk-cat-strip__item:hover .fk-cat-strip__bubble--image img { transform: scale(1.14); }
.fk-cat-strip__item:hover .fk-cat-strip__bubble--vector { color: var(--fk-onyx); background: var(--fk-gold-100); }
.fk-cat-strip__name { font-size: var(--fk-fs-sm); font-weight: 500; text-align: center; color: var(--fk-text); }

/* ---------- Edit cards (lookbook) ---------- */
.fk-edit-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: var(--fk-sp-4);
    aspect-ratio: 16 / 9;
}
@media (max-width: 991.98px) {
    .fk-edit-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; aspect-ratio: auto; }
    .fk-edit-card--lg { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
}
.fk-edit-card {
    position: relative; overflow: hidden;
    border-radius: var(--fk-radius-md);
    background: var(--fk-cream);
    text-decoration: none; color: var(--fk-ivory);
    transition: transform var(--fk-dur) var(--fk-ease);
}
.fk-edit-card:hover { transform: translateY(-4px); }
.fk-edit-card--lg { grid-row: span 2; }
.fk-edit-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform var(--fk-dur-slow) var(--fk-ease); }
.fk-edit-card:hover img { transform: scale(1.04); }
.fk-edit-card::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(15,15,18,0.78) 100%);
}
.fk-edit-card__overlay {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: var(--fk-sp-6);
    z-index: 1;
}
.fk-edit-card__eyebrow { font-size: 10px; letter-spacing: var(--fk-tracking-wider); text-transform: uppercase; color: var(--fk-gold); margin-bottom: 6px; font-weight: 600; }
.fk-edit-card__title { font: 600 var(--fk-fs-2xl)/1.2 var(--fk-font-display); margin: 0 0 8px; color: var(--fk-ivory); }
.fk-edit-card__cta { font-size: 12px; font-weight: 600; letter-spacing: var(--fk-tracking-wide); text-transform: uppercase; color: var(--fk-ivory); border-bottom: 1px solid currentColor; padding-bottom: 2px; }

.fk-flash-grid {
    display: grid;
    grid-template-columns: minmax(260px, 380px) minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
}
.fk-flash-grid > a.fk-edit-card {
    aspect-ratio: 4 / 5;
    min-height: 420px;
}
.fk-flash-grid > div { min-width: 0; }
.fk-banner-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fk-edit-card--banner {
    aspect-ratio: 21 / 9;
    min-height: 200px;
    background: linear-gradient(135deg, var(--fk-cream), var(--fk-surface));
    border: 1px solid var(--fk-border-soft);
}
.fk-edit-card--banner img {
    object-fit: cover;
    object-position: center center;
    padding: 0;
    box-sizing: border-box;
}
.fk-edit-card--banner::after { display: none; }
.fk-edit-card--banner:hover img { transform: none; }
@media (max-width: 991.98px) {
    .fk-flash-grid { grid-template-columns: 1fr; }
    .fk-flash-grid > a.fk-edit-card {
        aspect-ratio: 16 / 9;
        min-height: 0;
    }
}
@media (max-width: 767.98px) {
    .fk-banner-grid { grid-template-columns: 1fr !important; }
    .fk-edit-card--banner { aspect-ratio: 21 / 9; min-height: 0; }
}

body[data-fkv2="1"] .fk-product__media {
    background: linear-gradient(135deg, #fbfaf7, var(--fk-cream));
}
body[data-fkv2="1"] .fk-product__media img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center center;
    padding: 0;
}
body[data-fkv2="1"] .fk-product:hover .fk-product__media img.is-hover {
    transform: none;
}

/* ---------- Product grid ---------- */
.fk-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--fk-sp-6) var(--fk-sp-4);
}
@media (max-width: 1199.98px) { .fk-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767.98px)  { .fk-grid { grid-template-columns: repeat(2, 1fr); gap: var(--fk-sp-4) var(--fk-sp-3); } }

/* Ratings & swatches on product card */
.fk-product__swatches { display: flex; gap: 4px; margin-top: 6px; }
.fk-product__swatch { width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--fk-border); }

/* ---------- Trust strip ---------- */
.fk-trust {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--fk-sp-4);
    padding: var(--fk-sp-8); background: var(--fk-bg-alt);
    border-radius: var(--fk-radius-lg);
    border: 1px solid var(--fk-border-soft);
}
@media (max-width: 767.98px) { .fk-trust { grid-template-columns: repeat(2, 1fr); padding: var(--fk-sp-5); } }
.fk-trust__item { display: flex; gap: var(--fk-sp-3); align-items: flex-start; }
.fk-trust__icon { width: 40px; height: 40px; border-radius: 50%; background: var(--fk-onyx); color: var(--fk-ivory); display: grid; place-items: center; flex-shrink: 0; }
.fk-trust__title { font: 600 var(--fk-fs-sm)/1.3 var(--fk-font-body); color: var(--fk-onyx); margin: 0 0 4px; }
.fk-trust__text { font-size: var(--fk-fs-xs); color: var(--fk-text-muted); margin: 0; line-height: var(--fk-lh-base); }

/* ---------- Listing / Filter sidebar ---------- */
.fk-listing { display: grid; grid-template-columns: 280px 1fr; gap: var(--fk-sp-8); align-items: flex-start; }
@media (max-width: 991.98px) { .fk-listing { grid-template-columns: 1fr; } }

.fk-filter-sticky { position: sticky; top: calc(var(--fk-header-h-top) + var(--fk-header-h-main) + var(--fk-header-h-nav) + var(--fk-sp-4)); }
.fk-filter {
    background: var(--fk-surface);
    border: 1px solid var(--fk-border);
    border-radius: var(--fk-radius-lg);
    padding: var(--fk-sp-5);
}
.fk-filter__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--fk-sp-4); padding-bottom: var(--fk-sp-3); border-bottom: 1px solid var(--fk-border); }
.fk-filter__title { font: 600 11px/1 var(--fk-font-body); letter-spacing: var(--fk-tracking-wider); text-transform: uppercase; color: var(--fk-text-muted); }
.fk-filter__group { padding: var(--fk-sp-4) 0; border-bottom: 1px solid var(--fk-border-soft); }
.fk-filter__group:last-child { border-bottom: 0; }
.fk-filter__group h5 { font: 600 var(--fk-fs-sm)/1 var(--fk-font-body); margin: 0 0 var(--fk-sp-3); color: var(--fk-onyx); }
.fk-filter__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.fk-filter__list label { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: var(--fk-fs-sm); color: var(--fk-text); }
.fk-filter__list label small { color: var(--fk-text-muted); margin-left: auto; }

.fk-listing__head {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--fk-sp-3);
    margin-bottom: var(--fk-sp-5);
    padding-bottom: var(--fk-sp-4);
    border-bottom: 1px solid var(--fk-border);
}
.fk-listing__count { font-size: var(--fk-fs-sm); color: var(--fk-text-muted); }
.fk-listing__count strong { color: var(--fk-onyx); }

.fk-active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--fk-sp-4); }

/* Mobile filter drawer trigger */
.fk-filter-trigger {
    display: none;
}
@media (max-width: 991.98px) {
    .fk-filter-sidebar { display: none; }
    .fk-filter-trigger { display: inline-flex; }
}

/* ---------- PDP ---------- */
.fk-pdp { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--fk-sp-10); align-items: flex-start; }
@media (max-width: 991.98px) { .fk-pdp { grid-template-columns: 1fr; } }

.fk-pdp__gallery { display: grid; grid-template-columns: 80px 1fr; gap: var(--fk-sp-3); }
@media (max-width: 575.98px) { .fk-pdp__gallery { grid-template-columns: 1fr; } }
.fk-pdp__thumbs { display: flex; flex-direction: column; gap: 8px; max-height: 600px; overflow-y: auto; }
@media (max-width: 575.98px) { .fk-pdp__thumbs { flex-direction: row; max-height: none; overflow-x: auto; } }
.fk-pdp__thumb {
    width: 80px; height: 100px; flex-shrink: 0;
    border-radius: var(--fk-radius-sm);
    overflow: hidden;
    cursor: pointer;
    border: 1px solid var(--fk-border);
    transition: border-color var(--fk-dur);
    background: var(--fk-cream);
}
.fk-pdp__thumb img { width: 100%; height: 100%; object-fit: cover; }
.fk-pdp__thumb.is-active { border-color: var(--fk-onyx); border-width: 2px; }
.fk-pdp__main {
    aspect-ratio: 4 / 5;
    border-radius: var(--fk-radius-md);
    overflow: hidden;
    background: var(--fk-cream);
}
.fk-pdp__main img { width: 100%; height: 100%; object-fit: cover; }

.fk-pdp__info { position: sticky; top: calc(var(--fk-header-h-top) + var(--fk-header-h-main) + var(--fk-header-h-nav) + var(--fk-sp-4)); }
.fk-pdp__brand { font-size: 11px; letter-spacing: var(--fk-tracking-wider); text-transform: uppercase; color: var(--fk-text-muted); margin-bottom: 8px; font-weight: 600; }
.fk-pdp__title { font: 600 var(--fk-fs-2xl)/1.25 var(--fk-font-display); color: var(--fk-onyx); margin: 0 0 var(--fk-sp-3); }
.fk-pdp__price-row { display: flex; align-items: baseline; gap: var(--fk-sp-3); margin-bottom: var(--fk-sp-2); }
.fk-pdp__price { font-size: var(--fk-fs-2xl); font-weight: 600; color: var(--fk-onyx); }
.fk-pdp__price-old { font-size: var(--fk-fs-md); color: var(--fk-text-soft); text-decoration: line-through; }
.fk-pdp__price-off { font-size: var(--fk-fs-sm); color: var(--fk-sale); font-weight: 600; }
.fk-pdp__tax { font-size: var(--fk-fs-xs); color: var(--fk-text-muted); margin-bottom: var(--fk-sp-5); }

.fk-pdp__opt-label { display: flex; justify-content: space-between; font-size: var(--fk-fs-xs); color: var(--fk-text-muted); letter-spacing: var(--fk-tracking-wide); text-transform: uppercase; font-weight: 600; margin-bottom: var(--fk-sp-2); }
.fk-pdp__opt-label a { color: var(--fk-onyx); text-decoration: underline; }
.fk-pdp__sizes, .fk-pdp__colors { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--fk-sp-5); }
.fk-pdp__size {
    min-width: 48px; height: 44px; padding: 0 12px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--fk-border); background: var(--fk-surface);
    border-radius: var(--fk-radius-md);
    font-size: var(--fk-fs-sm); font-weight: 500;
    cursor: pointer; transition: all var(--fk-dur) var(--fk-ease);
}
.fk-pdp__size:hover { border-color: var(--fk-onyx); }
.fk-pdp__size.is-active { background: var(--fk-onyx); color: var(--fk-ivory); border-color: var(--fk-onyx); }
.fk-pdp__size.is-disabled { color: var(--fk-text-soft); background: var(--fk-bg-alt); cursor: not-allowed; text-decoration: line-through; }
.fk-pdp__color {
    width: 36px; height: 36px; border-radius: 50%;
    border: 1px solid var(--fk-border); cursor: pointer;
    position: relative; transition: transform var(--fk-dur);
}
.fk-pdp__color:hover { transform: scale(1.08); }
.fk-pdp__color.is-active::after { content: ''; position: absolute; inset: -4px; border: 1px solid var(--fk-onyx); border-radius: 50%; }

.fk-pdp__cta { display: flex; gap: var(--fk-sp-3); margin: var(--fk-sp-5) 0; }
.fk-pdp__cta .fk-btn { flex: 1; height: 52px; }
.fk-pdp__sticky-cta {
    position: fixed; left: 0; right: 0; bottom: 0;
    background: var(--fk-surface);
    border-top: 1px solid var(--fk-border);
    padding: var(--fk-sp-3) var(--fk-sp-4);
    z-index: var(--fk-z-sticky);
    display: none;
    box-shadow: 0 -4px 16px rgba(15, 15, 18, 0.06);
    padding-bottom: calc(var(--fk-sp-3) + env(safe-area-inset-bottom));
}
@media (max-width: 991.98px) {
    .fk-pdp__sticky-cta.is-visible { display: flex; gap: 12px; align-items: center; }
}

.fk-pdp__feats { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--fk-sp-3); padding: var(--fk-sp-5) 0; border-top: 1px solid var(--fk-border-soft); border-bottom: 1px solid var(--fk-border-soft); }
.fk-pdp__feat { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fk-fs-sm); }
.fk-pdp__feat i { color: var(--fk-gold); font-size: 18px; }

/* ---------- Cart ---------- */
.fk-cart { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--fk-sp-8); align-items: flex-start; }
@media (max-width: 991.98px) { .fk-cart { grid-template-columns: 1fr; } }
.fk-cart__item {
    display: grid; grid-template-columns: 100px 1fr auto; gap: var(--fk-sp-4);
    padding: var(--fk-sp-4) 0;
    border-bottom: 1px solid var(--fk-border);
}
.fk-cart__item:last-child { border-bottom: 0; }
.fk-cart__thumb { width: 100px; aspect-ratio: 4/5; background: var(--fk-cream); border-radius: var(--fk-radius-sm); overflow: hidden; }
.fk-cart__thumb img { width: 100%; height: 100%; object-fit: cover; }
.fk-cart__title { font-size: var(--fk-fs-sm); font-weight: 500; color: var(--fk-onyx); margin: 0 0 4px; }
.fk-cart__variant { font-size: var(--fk-fs-xs); color: var(--fk-text-muted); margin-bottom: var(--fk-sp-2); }
.fk-cart__price { font-weight: 600; }

.fk-cart__summary {
    background: var(--fk-bg-alt);
    border: 1px solid var(--fk-border);
    border-radius: var(--fk-radius-lg);
    padding: var(--fk-sp-6);
    position: sticky; top: calc(var(--fk-header-h-top) + var(--fk-header-h-main) + var(--fk-header-h-nav) + var(--fk-sp-4));
}
.fk-cart__summary h3 { font: 600 var(--fk-fs-lg)/1 var(--fk-font-display); margin: 0 0 var(--fk-sp-4); color: var(--fk-onyx); }
.fk-cart__row { display: flex; justify-content: space-between; padding: 8px 0; font-size: var(--fk-fs-sm); }
.fk-cart__row--total { font-size: var(--fk-fs-md); font-weight: 600; padding-top: var(--fk-sp-4); margin-top: var(--fk-sp-3); border-top: 1px solid var(--fk-border); }

/* ---------- Checkout ---------- */
.fk-step {
    border: 1px solid var(--fk-border);
    border-radius: var(--fk-radius-lg);
    background: var(--fk-surface);
    margin-bottom: var(--fk-sp-4);
    overflow: hidden;
}
.fk-step__head {
    display: flex; align-items: center; gap: var(--fk-sp-3);
    padding: var(--fk-sp-4) var(--fk-sp-5);
    cursor: pointer;
}
.fk-step__num {
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--fk-cream); color: var(--fk-text-muted);
    display: grid; place-items: center; font-weight: 600; font-size: var(--fk-fs-sm);
    flex-shrink: 0;
}
.fk-step.is-active .fk-step__num { background: var(--fk-onyx); color: var(--fk-ivory); }
.fk-step.is-done .fk-step__num { background: var(--fk-success); color: #fff; }
.fk-step__title { font: 600 var(--fk-fs-md)/1 var(--fk-font-body); margin: 0; }
.fk-step__body { padding: 0 var(--fk-sp-5) var(--fk-sp-5); display: none; }
.fk-step.is-active .fk-step__body { display: block; }

/* ---------- Order success ---------- */
.fk-success-card {
    text-align: center;
    padding: var(--fk-sp-16) var(--fk-sp-6);
    background: var(--fk-surface);
    border: 1px solid var(--fk-border);
    border-radius: var(--fk-radius-lg);
}
.fk-success-card__icon {
    width: 80px; height: 80px; border-radius: 50%;
    background: var(--fk-success); color: #fff;
    display: inline-grid; place-items: center;
    margin-bottom: var(--fk-sp-5);
    font-size: 40px;
}

/* ---------- User dashboard ---------- */
.fk-dash { display: grid; grid-template-columns: 260px 1fr; gap: var(--fk-sp-8); align-items: flex-start; }
@media (max-width: 991.98px) { .fk-dash { grid-template-columns: 1fr; } }
.fk-dash__nav {
    background: var(--fk-surface);
    border: 1px solid var(--fk-border);
    border-radius: var(--fk-radius-lg);
    padding: var(--fk-sp-3);
}
.fk-dash__nav-link {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px;
    font-size: var(--fk-fs-sm); font-weight: 500;
    color: var(--fk-text); text-decoration: none;
    border-radius: var(--fk-radius-md);
    transition: background var(--fk-dur), color var(--fk-dur);
}
.fk-dash__nav-link:hover { background: var(--fk-cream); }
.fk-dash__nav-link.is-active { background: var(--fk-onyx); color: var(--fk-ivory); }
.fk-dash__nav-link i { width: 18px; }

.fk-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--fk-sp-4); }
@media (max-width: 767.98px) { .fk-stat-grid { grid-template-columns: repeat(2, 1fr); } }
.fk-stat {
    background: var(--fk-surface);
    border: 1px solid var(--fk-border);
    border-radius: var(--fk-radius-lg);
    padding: var(--fk-sp-5);
}
.fk-stat__label { font-size: var(--fk-fs-xs); color: var(--fk-text-muted); letter-spacing: var(--fk-tracking-wide); text-transform: uppercase; font-weight: 600; }
.fk-stat__value { font: 600 var(--fk-fs-2xl)/1 var(--fk-font-display); color: var(--fk-onyx); margin-top: 8px; }
.fk-stat__delta { font-size: var(--fk-fs-xs); color: var(--fk-success); margin-top: 4px; }
.fk-stat__delta.is-down { color: var(--fk-sale); }

/* ---------- Cleanup of legacy aiz visual noise when fkv2 is on ---------- */
body[data-fkv2="1"] .top-banner { display: none !important; }
body[data-fkv2="1"] .aiz-mobile-bottom-nav { display: none !important; }

/* ---------- Mobile global: prevent horizontal overflow ---------- */
html.fkv2-root,
html:has(body[data-fkv2="1"]) {
    overflow-x: hidden;
    overflow-x: clip;
    width: 100%;
    max-width: 100%;
}
body.fkv2,
body[data-fkv2="1"] {
    overflow-x: hidden;
    overflow-x: clip;
    width: 100%;
    max-width: 100% !important;
    position: relative;
    touch-action: pan-y;
}
body[data-fkv2="1"] .aiz-main-wrapper {
    overflow-x: hidden;
    overflow-x: clip;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Legacy aiz carousel gutter widths expand past 100% */
body[data-fkv2="1"] .aiz-carousel.gutters-5,
body[data-fkv2="1"] .aiz-carousel.gutters-10,
body[data-fkv2="1"] .aiz-carousel.gutters-15,
body[data-fkv2="1"] .aiz-carousel.gutters-16 {
    width: 100% !important;
    max-width: 100% !important;
}

body[data-fkv2="1"] .fk-overflow-guard {
    overflow-x: hidden;
    max-width: 100%;
    min-width: 0;
}

body[data-fkv2="1"] .slick-slider {
    overflow: hidden;
    max-width: 100%;
}

@media (max-width: 991.98px) {
    body[data-fkv2="1"] .fk-aurora,
    body[data-fkv2="1"] .fk-hero,
    body[data-fkv2="1"] .fk-section-sm,
    body[data-fkv2="1"] .fk-section,
    body[data-fkv2="1"] .fk-section-lg,
    body[data-fkv2="1"] .fk-container,
    body[data-fkv2="1"] .fk-footer,
    body[data-fkv2="1"] .fk-overflow-guard,
    body[data-fkv2="1"] section {
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    /* Slick / carousel — clip tracks that extend past viewport */
    body[data-fkv2="1"] .aiz-carousel,
    body[data-fkv2="1"] .aiz-carousel[class*="gutters"],
    body[data-fkv2="1"] .aiz-carousel.sm-gutters-16,
    body[data-fkv2="1"] .aiz-carousel.md-gutters-16,
    body[data-fkv2="1"] .aiz-carousel.lg-gutters-16,
    body[data-fkv2="1"] .aiz-carousel .slick-slider,
    body[data-fkv2="1"] .aiz-carousel .slick-list,
    body[data-fkv2="1"] .home-main-slider,
    body[data-fkv2="1"] .home-main-slider .slick-slider,
    body[data-fkv2="1"] .home-main-slider .slick-list {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    /* Legacy gutter classes expand width beyond 100% — neutralize on mobile */
    body[data-fkv2="1"] .aiz-carousel.gutters-5,
    body[data-fkv2="1"] .aiz-carousel.gutters-10,
    body[data-fkv2="1"] .aiz-carousel.gutters-15,
    body[data-fkv2="1"] .aiz-carousel.gutters-16,
    body[data-fkv2="1"] .aiz-carousel.sm-gutters-16,
    body[data-fkv2="1"] .sm-gutters-16 {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    body[data-fkv2="1"] .aiz-carousel .slick-list,
    body[data-fkv2="1"] .aiz-carousel.sm-gutters-16 .slick-list,
    body[data-fkv2="1"] .aiz-carousel.gutters-10 .slick-list,
    body[data-fkv2="1"] .aiz-carousel.gutters-16 .slick-list {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden !important;
    }
    body[data-fkv2="1"] .aiz-carousel .carousel-box {
        max-width: 100%;
    }

    /* Off-canvas drawers must not widen the page */
    body[data-fkv2="1"] .fk-drawer {
        max-width: 100%;
    }
    body[data-fkv2="1"] .fk-modal-bg {
        width: 100%;
        max-width: 100%;
    }

    /* Cookie / custom alerts */
    body[data-fkv2="1"] .aiz-custom-alert,
    body[data-fkv2="1"] .aiz-cookie-alert {
        max-width: calc(100% - 32px);
        left: 16px !important;
        right: 16px !important;
        width: auto !important;
    }

    body[data-fkv2="1"] .fk-sec-head {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--fk-sp-2);
        margin-bottom: var(--fk-sp-6);
    }
    body[data-fkv2="1"] .fk-sec-head__title {
        font-size: var(--fk-fs-2xl);
    }
}
@media (max-width: 575.98px) {
    body[data-fkv2="1"] .fk-container {
        padding-left: var(--fk-gutter-sm);
        padding-right: var(--fk-gutter-sm);
    }
}

/* ---------- Responsive media (premium fill rules) ---------- */
body[data-fkv2="1"] img {
    max-width: 100%;
    height: auto;
}
body[data-fkv2="1"] .fk-hero__img,
body[data-fkv2="1"] .fk-hero__bg img,
body[data-fkv2="1"] .fk-product__media img,
body[data-fkv2="1"] .fk-edit-card img,
body[data-fkv2="1"] .fk-cat-strip__bubble img,
body[data-fkv2="1"] .fk-mega__feature-card img,
body[data-fkv2="1"] .fk-pdp__main img,
body[data-fkv2="1"] .fk-pdp__thumb img,
body[data-fkv2="1"] .fk-cart__thumb img {
    max-width: none;
}
body[data-fkv2="1"] .aiz-carousel .carousel-box,
body[data-fkv2="1"] .aiz-carousel .slick-slide {
    max-width: 100%;
}
body[data-fkv2="1"] .aiz-carousel.sm-gutters-16 {
    width: 100% !important;
    max-width: 100%;
    overflow: hidden;
}

body[data-fkv2="1"] .fk-hero__picture,
body[data-fkv2="1"] .fk-hero__img,
body[data-fkv2="1"] .fk-hero__bg img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
}

/* Keep brand marks from inheriting the global responsive image reset. */
body[data-fkv2="1"] .fk-aurora__logo img {
    height: 34px !important;
    max-width: 210px !important;
    width: auto !important;
}
body[data-fkv2="1"] .fk-footer__logo {
    height: 40px !important;
    width: auto !important;
    max-width: min(240px, 100%) !important;
}
@media (max-width: 1199.98px) {
    body[data-fkv2="1"] .fk-aurora__logo img {
        height: 30px !important;
        max-width: 170px !important;
    }
}
@media (max-width: 991.98px) {
    body[data-fkv2="1"] .fk-aurora__logo img {
        width: min(260px, 50vw) !important;
        max-width: min(260px, 50vw) !important;
        height: auto !important;
    }
}
@media (max-width: 575.98px) {
    body[data-fkv2="1"] .fk-aurora__logo img {
        width: min(210px, 50vw) !important;
        max-width: min(210px, 50vw) !important;
        height: auto !important;
    }
}
