/*!
Theme Name: Ariana Nila
Theme URI: https://ariananila.com/
Author: Ariana Nila Studio
Description: Fine jewelry e-commerce theme for Ariana Nila — Prishtina, Kosovo. Full Site Editing block theme.
Version: 2.0.7
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ariananila
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, custom-menu, e-commerce, woocommerce
*/

/* ==========================================================================
   CUSTOM FONTS
   ========================================================================== */

/* ── Montage — luxury display serif (headings, hero, logo) ── */
@font-face {
    font-family: 'Montage';
    src: url('assets/fonts/montage/ut-montage-light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montage';
    src: url('assets/fonts/montage/ut-montage-light-italic.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Montage';
    src: url('assets/fonts/montage/ut-montage-regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montage';
    src: url('assets/fonts/montage/ut-montage-italic.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Montage';
    src: url('assets/fonts/montage/ut-montage-medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montage';
    src: url('assets/fonts/montage/ut-montage-semi-bold.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montage';
    src: url('assets/fonts/montage/ut-montage-bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ── Nord — minimal geometric sans (UI, nav, labels, body) ── */
@font-face {
    font-family: 'Nord';
    src: url('assets/fonts/nord/Nord-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nord';
    src: url('assets/fonts/nord/Nord-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Nord';
    src: url('assets/fonts/nord/Nord-Book.woff2') format('woff2');
    font-weight: 350;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nord';
    src: url('assets/fonts/nord/Nord-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nord';
    src: url('assets/fonts/nord/Nord-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Nord';
    src: url('assets/fonts/nord/Nord-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nord';
    src: url('assets/fonts/nord/Nord-MediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Nord';
    src: url('assets/fonts/nord/Nord-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ==========================================================================
   DESIGN TOKENS
   ========================================================================== */

:root {
    /* ── Darks & text ─────────────────────────────── */
    --an-black:      #2A2623;   /* Velvet Espresso  — primary text       */
    --an-dark:       #3F4A3C;   /* Deep Olive       — hero / dark sections */
    --an-charcoal:   #7C8773;   /* Soft Olive Mist  — hover, muted UI    */

    /* ── Mids ─────────────────────────────────────── */
    --an-grey:       #8A6F5A;   /* Rich Cappuccino  — secondary text     */
    --an-grey-light: #C9B3A2;   /* Soft Latte       — dividers, placeholders */

    /* ── Lights / backgrounds ─────────────────────── */
    --an-off-white:  #EFE6DE;   /* Cream Silk       — alternate section BG */
    --an-cream:      #F6F1EB;   /* Champagne Mist   — page background    */
    --an-white:      #ffffff;

    /* ── Accent (Rose Gold) ───────────────────────── */
    --an-gold:       #CFA18B;   /* Rose Gold Classic    — primary accent  */
    --an-gold-light: #C9B3A2;   /* Soft Latte           — light accent    */
    --an-gold-dark:  #B37C67;   /* Burnished Rose Gold  — hover / dark accent */

    /* ── Mid-tone text (between black and grey) ───── */
    --an-muted:      #5b544f;   /* Warm Umber — secondary body / meta text */

    /* ── RGB components for rgba() usage ──────────── */
    --an-black-rgb:  42, 38, 35;
    --an-dark-rgb:   63, 74, 60;
    --an-gold-rgb:   207, 161, 139;
    --an-white-rgb:  255, 255, 255;

    /* ── Fonts ────────────────────────────────────── */
    --an-serif:      'Montage', 'Georgia', serif;          /* luxury display — headings, hero */
    --an-sans:       'Nord', 'Helvetica Neue', sans-serif; /* minimal UI — nav, labels, body  */

    --an-ease:       cubic-bezier(0.4, 0, 0.2, 1);
}


/* ==========================================================================
   BLOCK THEME — FSE WRAPPER RESETS
   Prevent WordPress block template wrapper elements from adding unwanted
   padding, margins, or max-width constraints on our custom full-width layouts.
   ========================================================================== */

.wp-site-blocks {
    padding: 0 !important;
}

.wp-block-group.an-home,
.wp-block-group.an-pdp-wrapper,
.wp-block-group.an-category-wrapper {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

.wp-block-group.an-page-content {
    padding-top: 60px;
    padding-bottom: 80px;
}

.wp-block-group.an-page-content.an-page-content--wc {
    max-width: none !important;
    width: 100%;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.an-page-content--wc > .an-wc-page {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
}

.wp-block-group.an-404 {
    padding: 120px 24px;
    text-align: center;
}

/* ==========================================================================
   BASE STYLES
   ========================================================================== */

:root {
    --an-admin-bar-h: 0px;
    --topbar-h: 36px;
    --an-header-h: 68px;
    --an-header-max-width: 1440px;
    --an-header-side-padding: 40px;
    --an-topbar-bg: var(--an-black);
    --an-topbar-text: #d9d0c7;
    --an-header-bg: #2a2623;
    --an-header-text: #ffffff;
    --an-header-accent: #c9b3a2;
    --an-header-border: #4a433f;
    --an-megamenu-top: calc(var(--an-admin-bar-h) + var(--topbar-h, 36px) + var(--an-header-h, 68px));
}

/* Reset body/html spacing */
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
}

body {
    font-family: var(--an-sans), sans-serif;
    color: var(--an-dark);
    background: var(--an-cream);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.6;
}

/* ── Global link styles ─────────────────────── */
a {
    color: var(--an-gold);
    text-decoration: none;
    transition: color 0.2s ease;
}
a:hover {
    color: var(--an-gold-dark);
    text-decoration: none;
}

/* Homepage: dark background behind hero */
body.an-homepage {
    background: var(--an-dark);
}

/* Homepage: hero should start immediately below header */
.an-homepage #an-home,
.an-homepage .an-home {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.an-homepage .an-home .wp-block-post-content,
.an-homepage .an-home .wp-block-post-content.is-layout-flow {
    margin: 0 !important;
    padding: 0 !important;
}

.an-homepage .an-home .wp-block-post-content.is-layout-flow > :first-child {
    margin-block-start: 0 !important;
}

.an-homepage .an-hero {
    margin-top: 0 !important;
    height: calc(100vh - var(--topbar-h, 36px) - var(--an-header-h, 68px));
}

/* Override WordPress/theme defaults on homepage content */
.an-homepage #an-home,
.an-homepage #an-home p,
.an-homepage #an-home span,
.an-homepage #an-home li,
.an-homepage #an-home a {
    font-family: var(--an-sans) !important;
    color: var(--an-dark);
}

.an-homepage #an-home h1,
.an-homepage #an-home h2,
.an-homepage #an-home h3,
.an-homepage #an-home h4 {
    font-family: var(--an-serif) !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em !important;
    margin: 0;
    padding: 0;
}

.an-homepage #an-home p {
    margin: 0;
    padding: 0;
}

.an-homepage #an-home blockquote {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}


/* ==========================================================================
   HOMEPAGE LAYOUT WRAPPER
   ========================================================================== */

#an-home {
    font-family: var(--an-sans);
    color: var(--an-dark);
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
    overflow-x: hidden;
    width: 100%;
}

#an-home *,
#an-home *::before,
#an-home *::after {
    box-sizing: border-box;
}

#an-home a {
    color: inherit;
    text-decoration: none;
}

#an-home img {
    max-width: 100%;
    height: auto;
    display: block;
}

.an-wrap {
    width: 92%;
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: border-box;
}

.an-wrap--narrow {
    max-width: 720px;
}

/* Ensure product grids inside wraps don't overflow */
.an-wrap .an-product-grid {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}


/* ==========================================================================
   SHARED COMPONENTS
   ========================================================================== */

.an-label {
    display: inline-block;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.an-label--gold {
    color: var(--an-gold) !important;
}

.an-section-head {
    text-align: center;
    margin-bottom: 32px;
}

.an-section-title {
    font-size: clamp(28px, 4vw, 42px) !important;
    color: var(--an-dark) !important;
    margin-top: 8px;
}

.an-section-title--white {
    color: var(--an-white) !important;
}

/* Buttons */

.an-btn {
    display: inline-block;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 15px 40px;
    border: none;
    cursor: pointer;
    transition: all 0.35s var(--an-ease);
    text-align: center;
    line-height: 1.4 !important;
    border-radius: 0 !important;
}

.an-btn--outline-white {
    color: var(--an-white) !important;
    border: 1px solid rgba(var(--an-gold-rgb), 0.5) !important;
    background: transparent !important;
}

.an-btn--outline-white:hover {
    border-color: var(--an-gold) !important;
    background: rgba(var(--an-gold-rgb), 0.1) !important;
    color: var(--an-white) !important;
}

.an-btn--gold {
    color: var(--an-white) !important;
    background: var(--an-gold) !important;
    border: 1px solid var(--an-gold) !important;
}

.an-btn--gold:hover {
    background: var(--an-gold-dark) !important;
    border-color: var(--an-gold-dark) !important;
    color: var(--an-white) !important;
}


/* ==========================================================================
   TOP BAR (spec §1.1)
   ========================================================================== */

.an-topbar {
    background: var(--an-topbar-bg);
    color: var(--an-topbar-text) !important;
    font-family: var(--an-sans) !important;
    font-size: 12px;
    letter-spacing: 0.5px;
    padding: 0;
    text-align: center;
    position: relative;
    z-index: 1001;
}

.an-topbar span {
    color: var(--an-topbar-text) !important;
}

.an-topbar__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    min-height: var(--topbar-h, 36px);
    padding: 0 16px;
}

.an-topbar a {
    color: var(--an-topbar-text) !important;
    text-decoration: none;
    transition: color 0.3s;
}

.an-topbar a:hover {
    color: var(--an-header-accent) !important;
}


/* ==========================================================================
   § 2  HERO BANNER
   ========================================================================== */

.an-hero {
    --an-hero-bg-size: cover;
    --an-hero-bg-position: center top;
    --an-hero-content-align: center;
    --an-hero-content-justify: center;
    --an-hero-overlay-top: 0.4;
    --an-hero-overlay-mid: 0.1;
    --an-hero-overlay-bottom: 0.6;
    position: relative;
    width: 100%;
    height: calc(100vh - var(--topbar-h, 36px) - var(--an-header-h, 68px));
    min-height: 560px;
    overflow: hidden;
}

.an-hero__link {
    display: flex;
    align-items: center;
    justify-content: var(--an-hero-content-justify);
    width: 100%;
    height: 100%;
    position: relative;
}

.an-hero__media {
    position: absolute;
    inset: 0;
    background: var(--an-dark);
    background-image:
        linear-gradient(135deg, var(--an-black) 0%, var(--an-dark) 30%, var(--an-black) 60%, var(--an-dark) 100%);
    background-size: var(--an-hero-bg-size);
    background-position: var(--an-hero-bg-position);
    background-repeat: no-repeat;
}

.an-hero__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(var(--an-black-rgb), var(--an-hero-overlay-top)) 0%,
        rgba(var(--an-black-rgb), var(--an-hero-overlay-mid)) 40%,
        rgba(var(--an-black-rgb), var(--an-hero-overlay-bottom)) 100%
    );
}

.an-hero__content {
    position: relative;
    z-index: 2;
    width: min(calc(100% - 48px), 860px);
    margin: 0 24px;
    text-align: var(--an-hero-content-align);
    padding: 20px;
}

.an-hero__title {
    font-size: clamp(44px, 8vw, 80px) !important;
    color: var(--an-white) !important;
    letter-spacing: 6px !important;
    margin: 12px 0 16px;
    font-weight: 300 !important;
}

.an-hero__sub {
    font-family: var(--an-sans) !important;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: rgba(var(--an-white-rgb), 0.8) !important;
    margin-bottom: 40px;
}

.an-hero--slider {
    isolation: isolate;
}

.an-hero__slides {
    position: relative;
    width: 100%;
    height: 100%;
}

.an-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.8s var(--an-ease), visibility 0.8s var(--an-ease);
}

.an-hero__slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.an-hero--slider .an-hero__slide .an-hero__media {
    transform: scale(1.04);
    transition: transform 5.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.an-hero--slider .an-hero__slide.is-active .an-hero__media {
    transform: scale(1);
}

.an-hero__nav {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.34);
    background: rgba(24, 20, 18, 0.22);
    color: var(--an-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: background 0.3s var(--an-ease), border-color 0.3s var(--an-ease), transform 0.3s var(--an-ease);
}

.an-hero__nav:hover {
    background: rgba(var(--an-gold-rgb), 0.28);
    border-color: rgba(var(--an-gold-rgb), 0.7);
}

.an-hero__nav--prev {
    left: 28px;
}

.an-hero__nav--next {
    right: 28px;
}

.an-hero__nav svg {
    width: 22px;
    height: 22px;
}

.an-hero__dots {
    position: absolute;
    left: 50%;
    bottom: 32px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transform: translateX(-50%);
}

.an-hero__dot {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.55);
    background: transparent;
    padding: 0;
    transition: background 0.3s var(--an-ease), border-color 0.3s var(--an-ease), transform 0.3s var(--an-ease);
}

.an-hero__dot.is-active {
    background: var(--an-gold);
    border-color: var(--an-gold);
    transform: scale(1.1);
}


/* ==========================================================================
   § 4  QUICK ENTRY CHIPS
   ========================================================================== */

.an-chips {
    margin: 0;
    background: var(--an-cream);
    padding: 20px 0;
    border-bottom: 1px solid rgba(var(--an-gold-rgb), 0.15);
}

.an-chips__inner {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 0 16px;
}

.an-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--an-charcoal) !important;
    padding: 12px 28px;
    border: 1px solid rgba(var(--an-gold-rgb), 0.35);
    background: transparent;
    transition: all 0.3s var(--an-ease);
    min-height: 44px;
}

.an-chip:hover {
    background: var(--an-gold);
    color: var(--an-white) !important;
    border-color: var(--an-gold);
}


/* ==========================================================================
   § 3  PERSONA TILES — Asymmetric Editorial Grid
   ========================================================================== */

.an-personas {
    margin: 0;
    background: var(--an-cream);
    padding: 0;
}

.an-personas .an-wrap {
    max-width: 100%;
    width: 100%;
    padding: 0;
}

/* Base tile */

.an-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    text-align: center;
    text-decoration: none;
    min-height: 500px;
}

.an-tile__bg {
    position: absolute;
    inset: 0;
    transition: transform 0.8s var(--an-ease);
    background-size: cover;
    background-position: center;
}

.an-tile:hover .an-tile__bg {
    transform: scale(1.03);
}

.an-tile__body {
    position: relative;
    z-index: 2;
    padding: 60px 40px;
    max-width: 600px;
}

.an-tile__title {
    font-size: clamp(26px, 3.5vw, 40px) !important;
    color: var(--an-white) !important;
    margin: 14px 0 12px;
}

.an-tile__sub {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    font-weight: 300;
    color: rgba(var(--an-white-rgb), 0.75) !important;
    line-height: 1.7 !important;
    margin-bottom: 28px;
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
}

/* Full-width tile (Persona 1: Engagement) */

.an-tile--full {
    width: 100%;
    min-height: 600px;
}

/* Rows */

.an-tile-row {
    display: flex;
    width: 100%;
}

/* Asymmetric: 2/3 + 1/3 (Persona 2: Moms) */

.an-tile-row--asymmetric .an-tile--two-third {
    flex: 0 0 66.666%;
    min-height: 500px;
}

.an-tile__spacer {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--an-cream);
    padding: 40px;
}

.an-tile__quote {
    font-family: var(--an-serif) !important;
    font-size: 20px !important;
    font-style: italic;
    color: var(--an-charcoal) !important;
    line-height: 1.6 !important;
    max-width: 280px;
    border: none !important;
    border-left: none !important;
}

.an-tile__quote cite {
    display: block;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-style: normal;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--an-gold) !important;
    margin-top: 16px;
}

/* Half tiles (Persona 3 + 4) */

.an-tile-row--half {
    display: flex;
}

.an-tile--half {
    flex: 1;
    min-height: 480px;
}


/* ==========================================================================
   § 5  BEST SELLERS CAROUSEL
   ========================================================================== */

.an-bestsellers {
    margin: 0;
    padding: 48px 0 56px;
    background: var(--an-white);
}

/* ── Carousel wrapper — arrows sit inside the padding ─────── */
.an-carousel-wrap {
    position: relative;
    padding: 0 56px; /* space for arrows on each side */
}

/* ── Clip only the track, not the arrows ──────────────────── */
.an-carousel-clip {
    overflow: hidden;
}

/* ── The scrolling track ──────────────────────────────────── */
.an-carousel {
    display: flex;
    gap: 24px;
    will-change: transform;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}
.an-carousel.is-dragging { cursor: grabbing; }

/* ── Prev / Next arrows ───────────────────────────────────── */
.an-carousel__btn {
    position: absolute;
    top: 40%; /* align to image area, not full card height */
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.12);
    background: #fff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
}
.an-carousel__btn svg { width: 20px; height: 20px; color: var(--an-dark); }
.an-carousel__btn--prev { left: 0; }
.an-carousel__btn--next { right: 0; }
.an-carousel__btn:hover { background: var(--an-gold); box-shadow: 0 4px 16px rgba(var(--an-gold-rgb),0.3); }
.an-carousel__btn:hover svg { color: #fff; }
.an-carousel__btn:disabled { opacity: 0.25; cursor: default; pointer-events: none; }

/* ── Dots ─────────────────────────────────────────────────── */
.an-carousel__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
}
.an-carousel__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,0.15);
    cursor: pointer;
    padding: 0;
    transition: background 0.25s, transform 0.25s;
}
.an-carousel__dot.is-active {
    background: var(--an-gold);
    transform: scale(1.3);
}

/* ── Product card (carousel) ──────────────────────────────── */
.an-card {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--an-dark) !important;
    transition: transform 0.35s var(--an-ease);
}
.an-card:hover { transform: translateY(-4px); }

/* Image: 1:1 square using padding-bottom trick */
.an-card__img {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* 1:1 square */
    overflow: hidden;
    background: var(--an-off-white);
}
.an-card__img img,
.an-card__img img.woocommerce-placeholder {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.6s var(--an-ease);
}
.an-card__img img.woocommerce-placeholder {
    object-fit: contain;
    padding: 20%;
    box-sizing: border-box;
}
.an-card:hover .an-card__img img { transform: scale(1.05); }

.an-card__body {
    padding: 14px 0 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.an-card__name {
    font-family: var(--an-serif) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: var(--an-dark) !important;
    line-height: 1.3;
}
.an-card__price {
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    color: var(--an-grey) !important;
}
.an-card__offer { color: var(--an-gold) !important; font-weight: 500; }
.an-card__cta {
    font-family: var(--an-sans) !important;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--an-gold) !important;
    margin-top: 4px;
    transition: color 0.3s var(--an-ease);
}
.an-card:hover .an-card__cta { color: var(--an-gold-dark) !important; }

.an-empty {
    font-family: var(--an-sans) !important;
    font-size: 14px;
    color: var(--an-grey-light) !important;
    text-align: center;
    padding: 40px;
}


/* ==========================================================================
   § 6  NEWSLETTER
   ========================================================================== */

.an-newsletter {
    margin: 0;
    padding: 80px 0;
    background: var(--an-off-white);
    text-align: center;
}

.an-newsletter__sub {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    color: var(--an-grey) !important;
    margin: 12px 0 32px;
}

.an-newsletter__form {
    display: flex;
    gap: 0;
    max-width: 480px;
    margin: 0 auto;
}

.an-newsletter__input {
    flex: 1;
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    padding: 14px 20px !important;
    border: 1px solid rgba(var(--an-gold-rgb), 0.3) !important;
    border-right: none !important;
    background: var(--an-white) !important;
    color: var(--an-dark) !important;
    outline: none;
    min-height: 44px;
    transition: border-color 0.3s var(--an-ease);
    border-radius: 0 !important;
    -webkit-appearance: none;
}

.an-newsletter__input:focus {
    border-color: var(--an-gold) !important;
}

.an-newsletter__form .an-btn {
    border-radius: 0 !important;
    white-space: nowrap;
}


/* ==========================================================================
   § 7  BOOK APPOINTMENT
   ========================================================================== */

.an-appointment {
    padding: 80px 0;
    background: var(--an-dark);
    text-align: center;
}

.an-appointment .an-label {
    color: var(--an-gold-light) !important;
}

.an-appointment .an-section-title--white {
    color: var(--an-white) !important;
}

.an-appointment__details {
    list-style: none !important;
    padding: 0 !important;
    margin: 24px 0 36px !important;
}

.an-appointment__details li {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    font-weight: 300;
    color: rgba(var(--an-white-rgb), 0.7) !important;
    padding: 6px 0 !important;
    letter-spacing: 0.5px;
    line-height: 1.6 !important;
}

.an-appointment__details li::before {
    content: '\2022';
    color: var(--an-gold);
    margin-right: 10px;
    font-weight: bold;
    font-size: 16px;
}


/* ==========================================================================
   § 8  SERVICE / TRUST CARDS
   ========================================================================== */

.an-trust {
    padding: 80px 0 100px;
    background: var(--an-cream);
}

.an-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.an-trust-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 24px;
    background: var(--an-white);
    border: 1px solid rgba(var(--an-gold-rgb), 0.1);
    transition: all 0.35s var(--an-ease);
    text-decoration: none;
    color: var(--an-dark) !important;
}

.an-trust-card:hover {
    border-color: var(--an-gold);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
    color: var(--an-dark) !important;
}

.an-trust-card__icon {
    width: 40px;
    height: 40px;
    color: var(--an-gold);
    margin-bottom: 20px;
}

.an-trust-card__icon svg {
    width: 100%;
    height: 100%;
}

.an-trust-card__title {
    font-family: var(--an-serif) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--an-dark) !important;
    margin-bottom: 10px;
}

.an-trust-card__text {
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    color: var(--an-grey) !important;
    line-height: 1.6 !important;
}


/* ==========================================================================
   WHATSAPP FLOAT
   ========================================================================== */

.an-whatsapp {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 99999;
    width: 56px;
    height: 56px;
    background: #25d366 !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s var(--an-ease);
}

.an-whatsapp:hover {
    transform: scale(1.1);
}

.an-whatsapp svg {
    width: 28px;
    height: 28px;
    fill: var(--an-white);
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1024px) {
    .an-trust__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .an-hero {
        min-height: 500px;
        max-height: none;
        height: 85vh;
    }

    .an-hero__sub {
        letter-spacing: 3px;
    }

    .an-hero__nav {
        width: 46px;
        height: 46px;
    }

    .an-hero__nav--prev {
        left: 16px;
    }

    .an-hero__nav--next {
        right: 16px;
    }

    .an-hero__dots {
        bottom: 20px;
    }

    /* Tiles go full-width stacked on mobile per spec */
    .an-tile-row--asymmetric,
    .an-tile-row--half {
        flex-direction: column;
    }

    .an-tile-row--asymmetric .an-tile--two-third {
        flex: none;
        width: 100%;
    }

    .an-tile__spacer {
        padding: 48px 32px;
    }

    .an-tile--half {
        flex: none;
        width: 100%;
    }

    .an-tile {
        min-height: 400px;
    }

    .an-tile--full {
        min-height: 460px;
    }

    /* Newsletter form stacks */
    .an-newsletter__form {
        flex-direction: column;
        gap: 12px;
    }

    .an-newsletter__input {
        border-right: 1px solid rgba(var(--an-gold-rgb), 0.3) !important;
    }

    /* Trust cards go to 1 col */
    .an-trust__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    /* Carousel cards smaller */
    .an-card {
        flex: 0 0 200px;
    }

    /* Chips stay compact and centered on mobile */
    .an-chips {
        padding: 14px 0 16px;
    }

    .an-chips__inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
        padding: 0 12px;
    }

    .an-chip {
        box-sizing: border-box;
        min-height: 40px;
        padding: 10px 16px;
        border-radius: 999px;
        letter-spacing: 1.4px;
        background: rgba(255,255,255,0.72);
        font-size: 11px !important;
    }
}

@media (max-width: 480px) {
    .an-hero {
        height: 75vh;
    }

    .an-hero__nav {
        display: none;
    }

    .an-hero__dots {
        gap: 8px;
    }

    .an-hero__dot {
        width: 10px;
        height: 10px;
    }

    .an-chips__inner {
        gap: 7px;
        padding: 0 10px;
    }

    .an-chip {
        min-height: 38px;
        padding: 9px 14px;
        font-size: 11px !important;
        letter-spacing: 1px;
    }

    .an-btn {
        padding: 14px 30px;
    }

    .an-tile__body {
        padding: 40px 24px;
    }

    .an-tile__sub {
        font-size: 13px !important;
    }

    .an-bestsellers,
    .an-newsletter,
    .an-appointment,
    .an-trust {
        padding: 60px 0;
    }
}

/* Reduced motion support (spec §10) */

@media (prefers-reduced-motion: reduce) {
    .an-tile__bg,
    .an-card,
    .an-card__img img,
    .an-trust-card,
    .an-chip,
    .an-btn,
    .an-whatsapp {
        transition: none !important;
    }

    .an-tile:hover .an-tile__bg {
        transform: none;
    }
}


/* ==========================================================================
   CUSTOM HEADER — Global  (spec §1)
   ========================================================================== */

.an-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1001;
    background: var(--an-topbar-bg);
    font-family: var(--an-sans);
    font-size: 12px;
    letter-spacing: 0.5px;
    padding: 0;
    text-align: center;
    color: var(--an-topbar-text);
}

.an-topbar span {
    color: var(--an-topbar-text);
    font-family: var(--an-sans);
}

.an-topbar__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    min-height: var(--topbar-h, 36px);
    padding: 0 16px;
}

.an-topbar__sep {
    opacity: 0.4;
}

.an-header {
    position: fixed;
    top: var(--topbar-h, 36px);
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    /* Default: always solid dark so text is always readable */
    background: var(--an-header-bg);
    box-shadow: 0 1px 0 var(--an-header-border);
    transition: background 0.35s var(--an-ease), box-shadow 0.35s var(--an-ease);
}

/* Homepage: header always solid dark (same as scrolled state) */
.an-homepage .an-header {
    background: var(--an-header-bg);
    box-shadow: 0 1px 0 var(--an-header-border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.an-header.is-scrolled {
    background: var(--an-header-bg) !important;
    box-shadow: 0 1px 0 var(--an-header-border) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.an-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--an-header-h, 68px);
    padding: 0 var(--an-header-side-padding, 40px);
    max-width: var(--an-header-max-width, 1440px);
    margin: 0 auto;
}

.an-header__mobile-left {
    display: none;
}

/* Logo */
.an-header__logo {
    text-decoration: none;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.an-header__logo-img {
    display: block !important;
    height: 60px !important;   /* fallback; overridden by inline style from PHP */
    width: auto !important;
    max-width: 280px !important;
    max-height: 80px !important;
    object-fit: contain;
    transition: opacity 0.3s var(--an-ease);
}
.an-header__logo:hover .an-header__logo-img { opacity: 0.85; }

.an-header__logo-text {
    font-family: var(--an-serif);
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--an-header-text);
    transition: color 0.3s var(--an-ease);
}

.an-header__logo-sub {
    font-family: var(--an-sans);
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--an-header-accent);
    opacity: 0.8;
    line-height: 1;
}

.an-header__logo:hover .an-header__logo-text {
    color: var(--an-header-accent);
}

/* Top bar link */
.an-topbar__link {
    color: var(--an-topbar-text);
    text-decoration: none;
}
.an-topbar__link:hover {
    color: var(--an-header-accent);
    text-decoration: underline;
}

/* ==========================================================================
   DESKTOP NAV
   ========================================================================== */

.an-nav__list {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
}

.an-nav__item {
    position: static;
}

.an-nav__trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--an-header-text);
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px 20px;
    transition: color 0.3s var(--an-ease);
}

.an-nav__trigger:hover,
.an-nav__trigger[aria-expanded="true"] {
    color: var(--an-header-accent);
}

.an-nav__arrow {
    width: 10px;
    height: 7px;
    transition: transform 0.3s var(--an-ease);
}

.an-nav__trigger[aria-expanded="true"] .an-nav__arrow {
    transform: rotate(180deg);
}


/* ==========================================================================
   MEGA MENU PANEL  (spec §2.2)
   ========================================================================== */

.an-megamenu {
    position: fixed;
    top: var(--an-megamenu-top);
    left: 0;
    right: 0;
    width: 100%;
    background: var(--an-white);
    box-shadow: 0 12px 48px rgba(0,0,0,0.12);
    border-top: 1px solid rgba(var(--an-gold-rgb),0.15);
    z-index: 999;
    /* hidden via JS with hidden attribute + CSS */
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity 0.25s var(--an-ease), transform 0.25s var(--an-ease);
}

.an-megamenu:not([hidden]) {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Remove browser default hidden display: none — we manage visibility via CSS */
.an-megamenu[hidden] {
    display: block !important;
}

.an-megamenu__inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 240px;
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 40px 48px;
}

/* Column dividers */
.an-megamenu__col {
    padding: 0 36px 0 0;
    border-right: 1px solid rgba(var(--an-gold-rgb),0.12);
    margin-right: 36px;
}

.an-megamenu__col:last-of-type {
    border-right: none;
    margin-right: 0;
    padding-right: 24px;
}

.an-megamenu__heading {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--an-gold);
    margin-bottom: 18px;
    padding-bottom: 0;
}

.an-megamenu__heading--gap {
    margin-top: 28px;
}

.an-megamenu__links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Collection links (primary) */
.an-megamenu__link {
    display: flex;
    flex-direction: column;
    padding: 10px 12px;
    border-radius: 2px;
    transition: background 0.2s var(--an-ease);
    text-decoration: none;
    color: var(--an-dark);
}

.an-megamenu__link:hover {
    background: var(--an-cream);
}

.an-megamenu__link--primary .an-megamenu__link-label {
    font-family: var(--an-serif);
    font-size: 17px;
    font-weight: 400;
    color: var(--an-dark);
    letter-spacing: 0.3px;
    line-height: 1.2;
}

.an-megamenu__link--primary .an-megamenu__link-sub {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-grey);
    margin-top: 2px;
    letter-spacing: 0.3px;
}

.an-megamenu__link--seasonal {
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--an-gold);
    padding: 10px 12px;
    margin-top: 4px;
}

.an-megamenu__link--seasonal:hover {
    color: var(--an-gold-dark);
}

.an-megamenu__badge {
    display: inline-block;
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    color: var(--an-white);
    background: var(--an-gold);
    padding: 2px 7px;
    border-radius: 2px;
    margin-left: 6px;
    vertical-align: middle;
}

/* Column B: Type items with expandable sub-list */
.an-megamenu__type-item {
    position: relative;
}

.an-megamenu__type-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 12px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--an-sans);
    font-size: 13px;
    font-weight: 500;
    color: var(--an-dark);
    letter-spacing: 0.5px;
    transition: background 0.2s var(--an-ease), color 0.2s var(--an-ease);
    border-radius: 2px;
}

.an-megamenu__type-trigger svg {
    width: 7px;
    height: 10px;
    transition: transform 0.2s var(--an-ease);
    flex-shrink: 0;
}

.an-megamenu__type-trigger:hover,
.an-megamenu__type-trigger[aria-expanded="true"] {
    background: var(--an-cream);
    color: var(--an-gold-dark);
}

.an-megamenu__type-trigger[aria-expanded="true"] svg {
    transform: rotate(90deg);
}

.an-megamenu__sub {
    list-style: none;
    padding: 4px 0 4px 24px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.an-megamenu__sub[hidden] {
    display: none;
}

.an-megamenu__sub a {
    display: block;
    padding: 7px 12px;
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-grey);
    letter-spacing: 0.3px;
    text-decoration: none;
    border-radius: 2px;
    transition: color 0.2s, background 0.2s;
}

.an-megamenu__sub a:hover {
    color: var(--an-dark);
    background: var(--an-off-white);
}

/* Column C: service links (plain) */
.an-megamenu__col--c .an-megamenu__link {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-dark);
    letter-spacing: 0.3px;
    flex-direction: row;
    align-items: center;
}

/* Featured card */
.an-megamenu__featured {
    padding-left: 24px;
}

.an-megamenu__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 220px;
    text-decoration: none;
    color: var(--an-dark);
    overflow: hidden;
    border: 1px solid rgba(var(--an-gold-rgb),0.12);
    transition: border-color 0.3s;
}

.an-megamenu__card:hover {
    border-color: var(--an-gold);
}

.an-megamenu__card-media {
    flex: 1;
    background: linear-gradient(135deg, var(--an-black) 0%, var(--an-dark) 60%, var(--an-black) 100%);
    min-height: 140px;
}

.an-megamenu__card-body {
    padding: 16px;
    background: var(--an-cream);
}

.an-megamenu__card-label {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--an-gold);
    margin-bottom: 4px;
}

.an-megamenu__card-title {
    font-family: var(--an-serif);
    font-size: 18px;
    font-weight: 300;
    color: var(--an-dark);
    margin-bottom: 8px;
    padding-bottom: 0;
}

.an-megamenu__card-cta {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--an-gold);
}


/* ==========================================================================
   ICON BAR
   ========================================================================== */

.an-header__icons {
    display: flex;
    align-items: center;
    gap: 4px;
}

.an-header__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--an-header-text);
    text-decoration: none;
    transition: color 0.3s var(--an-ease);
    position: relative;
    flex-shrink: 0;
}

.an-header__icon svg {
    width: 20px;
    height: 20px;
}

.an-header__icon:hover {
    color: var(--an-header-accent);
}

.an-header__cart-count {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 16px;
    height: 16px;
    background: var(--an-gold);
    color: var(--an-white);
    font-family: var(--an-sans);
    font-size: 9px;
    font-weight: 600;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Hamburger — mobile only */
.an-hamburger {
    display: none;
}


/* ==========================================================================
   MOBILE DRAWER  (spec §3)
   ========================================================================== */

.an-drawer {
    position: fixed;
    inset: 0;
    z-index: 2000;
    pointer-events: none;
}

.an-drawer[aria-hidden="false"] {
    pointer-events: auto;
}

.an-drawer__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.3s var(--an-ease);
}

.an-drawer[aria-hidden="false"] .an-drawer__overlay {
    opacity: 1;
}

.an-drawer__panel {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(340px, 88vw);
    background: var(--an-white);
    display: flex;
    flex-direction: column;
    transform: translateX(-100%);
    transition: transform 0.35s var(--an-ease);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.an-drawer[aria-hidden="false"] .an-drawer__panel {
    transform: translateX(0);
}

.an-drawer__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(var(--an-gold-rgb),0.15);
    flex-shrink: 0;
}

.an-drawer__search-form {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--an-off-white);
    border-radius: 2px;
    padding: 8px 12px;
}

.an-drawer__search-form svg {
    width: 16px;
    height: 16px;
    color: var(--an-grey);
    flex-shrink: 0;
}

.an-drawer__search {
    flex: 1;
    border: none;
    background: none;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-dark);
    outline: none;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    -webkit-appearance: none;
}

.an-drawer__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--an-charcoal);
    flex-shrink: 0;
}

.an-drawer__close svg {
    width: 18px;
    height: 18px;
}

.an-drawer__nav {
    flex: 1;
    padding: 8px 0;
}

.an-drawer__badge {
    font-size: 10px;
    font-weight: 600;
    background: var(--an-gold);
    color: var(--an-white);
    padding: 1px 6px;
    border-radius: 2px;
    margin-left: 6px;
}


/* ==========================================================================
   ACCORDION (Drawer)
   ========================================================================== */

.an-accordion {
    border-bottom: 1px solid rgba(var(--an-gold-rgb),0.1);
}

.an-accordion--nested {
    border-bottom: none;
    border-top: 1px solid rgba(var(--an-gold-rgb),0.06);
}

.an-accordion__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 20px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--an-sans);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.5px;
    color: var(--an-dark);
    text-align: left;
    transition: color 0.2s;
}

.an-accordion__trigger--sub {
    padding: 12px 20px 12px 32px;
    font-size: 12px;
    color: var(--an-charcoal);
}

.an-accordion__trigger svg {
    width: 10px;
    height: 7px;
    flex-shrink: 0;
    transition: transform 0.25s var(--an-ease);
}

.an-accordion__trigger[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.an-accordion__trigger[aria-expanded="true"] {
    color: var(--an-gold-dark);
}

.an-accordion__panel {
    overflow: hidden;
}

.an-accordion__panel[hidden] {
    display: none;
}

.an-accordion__panel li,
.an-accordion__panel > div {
    list-style: none;
}

.an-accordion__panel > li > a,
.an-accordion__panel > li > span {
    display: block;
    padding: 11px 20px 11px 32px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-charcoal);
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
}

.an-accordion__panel > li > a:hover {
    color: var(--an-gold-dark);
    background: var(--an-cream);
}

/* Nested sub-items */
.an-accordion--nested .an-accordion__panel > li > a {
    padding-left: 48px;
    font-size: 12px;
    color: var(--an-grey);
}


/* ==========================================================================
   SEARCH OVERLAY  (spec §4)
   ========================================================================== */

.an-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 3000;
    pointer-events: none;
}

.an-search-overlay[aria-hidden="false"] {
    pointer-events: auto;
}

.an-search-overlay__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.7);
    opacity: 0;
    transition: opacity 0.25s var(--an-ease);
}

.an-search-overlay[aria-hidden="false"] .an-search-overlay__backdrop {
    opacity: 1;
}

.an-search-overlay__panel {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: var(--an-white);
    padding: 32px 40px 40px;
    transform: translateY(-100%);
    transition: transform 0.3s var(--an-ease);
    box-shadow: 0 8px 40px rgba(0,0,0,0.12);
}

.an-search-overlay[aria-hidden="false"] .an-search-overlay__panel {
    transform: translateY(0);
}

.an-search-overlay__form {
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 1.5px solid var(--an-gold);
    padding-bottom: 12px;
    max-width: 800px;
    margin: 0 auto;
}

.an-search-overlay__icon {
    width: 22px;
    height: 22px;
    color: var(--an-gold);
    flex-shrink: 0;
}

.an-search-overlay__input {
    flex: 1;
    border: none;
    background: none;
    font-family: var(--an-serif);
    font-size: 28px;
    font-weight: 300;
    color: var(--an-dark);
    outline: none;
    padding: 0;
    -webkit-appearance: none;
}

.an-search-overlay__input::placeholder {
    color: rgba(107,107,107,0.5);
}

.an-search-overlay__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--an-grey);
    flex-shrink: 0;
    transition: color 0.2s;
}

.an-search-overlay__close:hover {
    color: var(--an-dark);
}

.an-search-overlay__close svg {
    width: 20px;
    height: 20px;
}

.an-search-overlay__shortcuts {
    max-width: 800px;
    margin: 24px auto 0;
}

.an-search-overlay__shortcuts-label {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--an-gold);
    margin-bottom: 12px;
    padding-bottom: 0;
}

.an-search-overlay__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.an-search-chip {
    font-family: var(--an-sans);
    font-size: 12px;
    letter-spacing: 0.5px;
    color: var(--an-charcoal);
    border: 1px solid rgba(var(--an-gold-rgb),0.3);
    padding: 8px 18px;
    text-decoration: none;
    transition: all 0.2s var(--an-ease);
    min-height: 36px;
    display: inline-flex;
    align-items: center;
}

.an-search-chip:hover {
    background: var(--an-gold);
    color: var(--an-white);
    border-color: var(--an-gold);
}


/* ==========================================================================
   RESPONSIVE — Header
   ========================================================================== */

@media (max-width: 980px) {
    /* Hamburger visible, desktop nav hidden */
    .an-nav {
        display: none;
    }

    .an-header__inner {
        display: grid;
        grid-template-columns: minmax(56px, 1fr) auto minmax(56px, 1fr);
        gap: 12px;
        height: var(--an-header-h, 68px);
        padding: 0 20px;
    }

    .an-header__mobile-left {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .an-hamburger {
        display: flex !important;
    }

    .an-header__logo {
        grid-column: 2;
        justify-self: center;
        align-items: center;
    }

    .an-header__icons {
        grid-column: 3;
        justify-self: end;
        gap: 2px;
    }

    /* Keep the right side tight on mobile */
    .an-header__icon--account {
        display: none;
    }

    .an-header__icon--search,
    .an-header__icon--cart,
    .an-hamburger {
        display: flex !important;
    }

    .an-header__logo-img {
        max-width: 150px !important;
        max-height: calc(var(--an-header-h, 68px) - 14px) !important;
    }
}
    .an-search-overlay__panel {
        padding: 24px 20px 32px;
    }

    .an-search-overlay__input {
        font-size: 22px;
    }
}

/* ═══════════════════════════════════════════════════════════
   SHARED PRODUCT CARD
   ═══════════════════════════════════════════════════════════ */

.an-product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    box-sizing: border-box;
}

/* ID override for hub grid — highest specificity fallback */
#an-hub-products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}

#an-plp-products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}

.an-prod-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--an-black);
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

/* Ensure hidden attribute is respected even when display is overridden by CSS */
.an-prod-card[hidden] { display: none !important; }

.an-prod-card:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.10);
    transform: translateY(-2px);
}

.an-prod-card__img {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* forces perfect 1:1 square regardless of content */
    overflow: hidden;
    background: var(--an-off-white);
}

.an-prod-card__img img,
.an-prod-card__img .woocommerce-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}

/* WooCommerce placeholder: center the icon with breathing room */
.an-prod-card__img img.woocommerce-placeholder {
    object-fit: contain;
    padding: 22%;
    box-sizing: border-box;
}

.an-prod-card:hover .an-prod-card__img img {
    transform: scale(1.04);
}

.an-prod-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--an-black);
    color: #fff;
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 2px;
}

.an-prod-card__body {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.an-prod-card__name {
    font-family: var(--an-serif);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    margin: 0;
    color: var(--an-black);
}

.an-prod-card__price {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-muted);
    margin: 0;
}

.an-prod-card__offer {
    color: var(--an-gold);
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.an-prod-card__cta {
    display: inline-block;
    margin-top: 8px;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-gold);
    font-family: var(--an-sans);
}

.an-prod-card--small .an-prod-card__name { font-size: 13px; }
.an-prod-card--small .an-prod-card__price { font-size: 12px; }

/* ── Second-image crossfade on hover ─── */
.an-prod-card__img-hover {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.45s ease;
}
.an-prod-card:hover .an-prod-card__img-hover { opacity: 1; }

/* ── Stock badge color variants ─── */
.an-prod-card__badge--ready-to-ship {
    background: var(--an-dark);
    color: #fff;
}
.an-prod-card__badge--limited-stock {
    background: var(--an-gold-dark);
    color: #fff;
}
.an-prod-card__badge--made-to-order {
    background: transparent;
    border: 1px solid var(--an-grey-light);
    color: var(--an-black);
}

/* ── Sale badge (top-right corner) ─── */
.an-prod-card__badge--sale {
    top: 12px;
    right: 12px;
    left: auto;
    background: var(--an-gold);
    color: var(--an-black);
}

/* ── Wishlist button on cards (bottom-right of image) ─── */
.an-wishlist-btn {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 0.88);
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: background 0.2s, transform 0.15s;
    padding: 0;
}
.an-wishlist-btn:hover {
    background: #fff;
    transform: scale(1.08);
}
.an-wishlist-btn svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: var(--an-black);
    transition: fill 0.2s, stroke 0.2s;
}
.an-wishlist-btn.is-saved svg {
    fill: var(--an-gold);
    stroke: var(--an-gold);
}

/* ── Wishlist header count bubble ─── */
.an-wishlist-count {
    display: none;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 16px;
    height: 16px;
    padding: 0 3px;
    background: var(--an-gold);
    color: #fff;
    font-family: var(--an-sans);
    font-size: 9px;
    font-weight: 700;
    border-radius: 50%;
    line-height: 1;
    box-sizing: border-box;
}
.an-wishlist-count:not([data-count="0"]) { display: inline-flex; }

.an-empty {
    text-align: center;
    padding: 48px 24px;
    color: var(--an-charcoal);
    font-family: var(--an-sans);
    font-size: 14px;
}

/* ═══════════════════════════════════════════════════════════
   HUB PAGE
   ═══════════════════════════════════════════════════════════ */

/* Push category & product pages below the fixed header */
.wp-block-group.an-category-wrapper,
.wp-block-group.an-pdp-wrapper {
    padding-top: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px)) !important;
}

/* WordPress already offsets the frontend for the admin bar when logged in,
   so the fixed header stack should keep using the same top values. */
.an-homepage .an-megamenu {
    --an-megamenu-top: calc(var(--an-admin-bar-h) + var(--an-header-h, 68px));
}

/* ─── Hero ────────────────────────────────── */
.an-hub-hero {
    position: relative;
    min-height: 62vh;
    background: var(--an-black) center/cover no-repeat;
    display: flex;
    align-items: flex-end;
    padding: 0;
    margin-top: calc( -1 * (var(--topbar-h, 36px) + var(--an-header-h, 68px)) );
}

.an-hub-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.25) 60%, transparent 100%);
}

.an-hub-hero__content {
    position: relative;
    z-index: 2;
    padding: 64px 60px;
    max-width: 720px;
}

.an-hub-hero__title {
    font-family: var(--an-serif);
    font-size: clamp(32px, 5vw, 58px);
    font-weight: 300;
    color: #fff;
    line-height: 1.1;
    margin: 12px 0 16px;
}

.an-hub-hero__sub {
    font-family: var(--an-sans);
    font-size: 15px;
    color: rgba(var(--an-white-rgb),0.82);
    max-width: 480px;
    line-height: 1.7;
    margin: 0 0 28px;
}

.an-hub-hero__ctas {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* ─── Hub Hero Slideshow ──────────────────── */
.an-hub-hero__slides {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.an-hub-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.9s ease;
}
.an-hub-hero__slide.is-active { opacity: 1; }
.an-hub-hero__slide-bg {
    position: absolute;
    inset: 0;
    background: center/cover no-repeat;
}
.an-hub-hero__slide-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.an-hub-hero__dots {
    position: absolute;
    bottom: 24px;
    right: 60px;
    z-index: 3;
    display: flex;
    gap: 8px;
}
.an-hub-hero__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.45);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background 0.3s, transform 0.3s;
}
.an-hub-hero__dot.is-active {
    background: var(--an-gold);
    transform: scale(1.25);
}
@media (max-width: 767px) {
    .an-hub-hero__dots { right: 20px; bottom: 16px; }
}

/* ─── Quick Filter Bar ────────────────────── */
.an-hub-filter {
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    position: sticky;
    top: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px));
    z-index: 500;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    transition: box-shadow 0.25s ease;
}

.an-hub-filter.is-sticky {
    box-shadow: 0 4px 20px rgba(0,0,0,0.10);
}

.an-hub-filter__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 48px;
    display: flex;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: none;
}

.an-hub-filter__inner::-webkit-scrollbar { display: none; }

.an-hub-filter__btn {
    flex-shrink: 0;
    font-family: var(--an-sans);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 14px 20px;
    border: none;
    background: transparent;
    color: var(--an-charcoal);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
}

.an-hub-filter__btn:hover {
    color: var(--an-black);
}

.an-hub-filter__btn.is-active {
    color: var(--an-black);
    border-bottom-color: var(--an-gold);
    font-weight: 500;
}

/* ─── Editorial Block ─────────────────────── */
.an-hub-editorial {
    background: var(--an-cream);
    padding: 64px 0;
}

.an-hub-editorial--before .an-wrap,
.an-hub-editorial__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.an-hub-editorial__media {
    aspect-ratio: 4/3;
    background: var(--an-black) center/cover no-repeat;
    border-radius: 4px;
}

.an-hub-editorial__title {
    font-family: var(--an-serif);
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 300;
    margin: 0 0 16px;
    line-height: 1.2;
}

.an-hub-editorial__text {
    font-family: var(--an-sans);
    font-size: 15px;
    color: var(--an-muted);
    line-height: 1.75;
    margin: 0 0 24px;
}

/* Mid-grid editorial spans full width */
.an-hub-editorial--mid {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    background: var(--an-cream);
    border-radius: 4px;
    padding: 40px;
    margin: 8px 0;
}

/* ─── Hub body: sidebar + grid two-column layout ─── */
.an-hub-body {
    display: flex;
    gap: 56px;
    align-items: flex-start;
    padding: 60px 0;
}

/* LEFT sidebar: "Need Help Choosing?" */
.an-hub-sidebar {
    flex: 0 0 240px;
    width: 240px;
    position: sticky;
    top: 120px; /* sticks below header as user scrolls */
}

.an-hub-sidebar__inner {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.07);
    border-radius: 4px;
    padding: 32px 24px;
}

.an-hub-sidebar .an-hub-editorial__title {
    font-size: clamp(20px, 2vw, 26px);
    margin-bottom: 12px;
}

.an-hub-sidebar .an-hub-editorial__text {
    font-size: 13px;
    margin-bottom: 20px;
    color: var(--an-grey);
}

.an-hub-sidebar__media {
    aspect-ratio: 4/3;
    background: var(--an-black) center/cover no-repeat;
    border-radius: 4px;
    margin-bottom: 20px;
}

/* RIGHT: product grid column */
.an-hub-grid-col {
    flex: 1;
    min-width: 0; /* prevent flex overflow */
}

/* Hub grid: 3 columns when sidebar is present (narrower area) */
.an-hub-body:has(.an-hub-sidebar) .an-product-grid {
    grid-template-columns: repeat(3, 1fr) !important;
}
.an-hub-body:has(.an-hub-sidebar) #an-hub-products {
    grid-template-columns: repeat(3, 1fr) !important;
}

/* When no editorial sidebar, grid takes full width */
.an-hub-body:not(:has(.an-hub-sidebar)) .an-hub-grid-col {
    width: 100%;
}

/* ─── Product Grid Section (legacy, unused in hub now) ─── */
.an-hub-grid-section {
    padding: 60px 0;
}

.an-hub-grid-head {
    margin-bottom: 32px;
}

.an-hub-grid__title {
    font-family: var(--an-serif);
    font-size: 28px;
    font-weight: 300;
    margin: 8px 0 0;
}

.an-hub-grid__empty {
    text-align: center;
    padding: 48px;
    color: var(--an-charcoal);
    font-family: var(--an-sans);
    font-size: 14px;
}

/* ─── Trust Section ───────────────────────── */
.an-hub-trust {
    padding: 80px 0 96px;
    background: var(--an-black);
    border-top: 1px solid rgba(var(--an-gold-rgb),0.2);
    /* Full-width: inner .an-wrap handles the max-width constraint */
    width: 100%;
}

.an-hub-trust .an-label--gold {
    display: block;
    text-align: center;
    margin-bottom: 12px;
}

/* Prominent section heading */
.an-hub-trust .an-trust__heading {
    font-family: var(--an-serif);
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 300;
    color: #fff;
    text-align: center;
    margin: 0 0 48px;
    line-height: 1.2;
}

.an-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 0;
}

.an-trust-card {
    padding: 32px 28px;
    border: 1px solid rgba(var(--an-white-rgb),0.08);
    border-radius: 4px;
    background: rgba(var(--an-white-rgb),0.025);
    transition: border-color 0.25s ease, background 0.25s ease;
}

.an-trust-card:hover {
    border-color: rgba(var(--an-gold-rgb),0.3);
    background: rgba(var(--an-gold-rgb),0.04);
}

.an-trust-card__icon {
    width: 36px;
    height: 36px;
    margin-bottom: 16px;
    color: var(--an-gold);
    opacity: 0.7;
}

.an-trust-card__title {
    font-family: var(--an-serif);
    font-size: 17px;
    font-weight: 400;
    color: #fff;
    margin: 0 0 10px;
    line-height: 1.3;
}

.an-trust-card__text {
    font-family: var(--an-sans);
    font-size: 13px;
    color: rgba(var(--an-white-rgb),0.55);
    line-height: 1.75;
    margin: 0;
}

/* ── Hub: "Didn't find it?" ────────────────────────────────── */

.an-hub-didnt-find {
    background: var(--an-dark);
    padding: 72px 0;
}

.an-hub-didnt-find__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.an-hub-didnt-find__title {
    font-family: var(--an-serif);
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 400;
    color: var(--an-cream);
    margin: 12px 0 0;
}

.an-hub-didnt-find__sub {
    font-family: var(--an-sans);
    font-size: 14px;
    color: rgba(246,241,235,0.65);
    line-height: 1.75;
    margin: 16px 0 0;
    max-width: 480px;
}

.an-hub-didnt-find__ctas {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .an-hub-didnt-find__inner {
        flex-direction: column;
        align-items: flex-start;
    }
    .an-hub-didnt-find__ctas {
        width: 100%;
    }
    .an-hub-didnt-find__ctas .an-btn {
        width: 100%;
        text-align: center;
    }
}

/* ═══════════════════════════════════════════════════════════
   PLP PAGE
   ═══════════════════════════════════════════════════════════ */

.an-plp {
    padding-bottom: 80px;
}

.an-plp__breadcrumb {
    padding: 20px 0 12px;
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-charcoal);
    letter-spacing: 0.04em;
}

.an-plp__breadcrumb a {
    color: var(--an-charcoal);
    text-decoration: none;
}

.an-plp__breadcrumb a:hover { color: var(--an-black); }

.an-plp__head {
    padding: 16px 0 24px;
}

.an-plp__title {
    font-family: var(--an-serif);
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 300;
    margin: 0 0 8px;
}

.an-plp__subtitle {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-grey);
    max-width: 480px;
    margin: 0;
    line-height: 1.65;
}

/* ─── Primary Tabs ─────────────────────────── */
.an-plp__tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    padding-bottom: 0;
    margin-bottom: 32px;
}

.an-plp__tabs::-webkit-scrollbar { display: none; }

.an-plp__tab {
    flex-shrink: 0;
    font-family: var(--an-sans);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 12px 20px;
    border: none;
    background: transparent;
    color: var(--an-charcoal);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
}

.an-plp__tab:hover { color: var(--an-black); }

.an-plp__tab.is-active {
    color: var(--an-black);
    border-bottom-color: var(--an-gold);
    font-weight: 500;
}

/* ─── Body: Sidebar + Grid ─────────────────── */
.an-plp__body {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 48px;
    align-items: start;
}

/* ─── Sidebar ──────────────────────────────── */
.an-plp__sidebar {
    position: sticky;
    top: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 16px);
}

.an-plp__sidebar-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    margin-bottom: 16px;
}

.an-plp__sidebar-title {
    font-family: var(--an-sans);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600;
}

.an-plp__clear-filters {
    background: none;
    border: none;
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-charcoal);
    cursor: pointer;
    text-decoration: underline;
}

.an-plp__clear-filters:hover { color: var(--an-black); }

.an-plp__filter-group {
    border-bottom: 1px solid rgba(0,0,0,0.07);
    padding: 14px 0;
}

.an-plp__filter-heading {
    width: 100%;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    padding: 0 0 10px;
    color: var(--an-black);
}

.an-plp__filter-heading::after {
    content: '−';
    font-size: 16px;
    font-weight: 300;
}

.an-plp__filter-heading[aria-expanded="false"]::after { content: '+'; }

.an-plp__filter-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.an-plp__filter-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-dark);
    cursor: pointer;
}

.an-plp__filter-label input {
    accent-color: var(--an-black);
    width: 15px;
    height: 15px;
    cursor: pointer;
}

/* ─── Main Grid ────────────────────────────── */
.an-plp__main { min-width: 0; }

.an-plp__mobile-filter-btn {
    display: none;
    align-items: center;
    gap: 8px;
    font-family: var(--an-sans);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border: 1px solid rgba(0,0,0,0.2);
    background: #fff;
    padding: 10px 16px;
    border-radius: 3px;
    cursor: pointer;
    margin-bottom: 20px;
}

.an-plp__mobile-filter-btn svg { width: 18px; height: 18px; }

.an-active-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--an-sans);
    font-size: 11px;
    background: var(--an-black);
    color: #fff;
    padding: 5px 10px;
    border-radius: 20px;
    border: none;
    cursor: pointer;
    margin: 0 4px 8px 0;
    text-transform: capitalize;
}

#an-active-filters {
    margin-bottom: 16px;
}

.an-product-grid--plp {
    grid-template-columns: repeat(3, 1fr);
}

.an-plp__no-results {
    text-align: center;
    padding: 48px;
    color: var(--an-charcoal);
    font-family: var(--an-sans);
    font-size: 14px;
}

.an-plp__audience-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    margin-bottom: 20px;
    background: rgba(var(--an-gold-rgb),0.08);
    border: 1px solid rgba(var(--an-gold-rgb),0.25);
    border-radius: 4px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-charcoal);
    letter-spacing: 0.03em;
}

.an-plp__audience-clear {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-gold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0;
}
.an-plp__audience-clear:hover { text-decoration: underline; }

.an-link {
    background: none;
    border: none;
    color: var(--an-gold);
    cursor: pointer;
    text-decoration: underline;
    font-family: var(--an-sans);
    font-size: 14px;
}

/* ─── Mobile Filter Drawer ─────────────────── */
.an-plp__filter-drawer {
    position: fixed;
    inset: 0;
    z-index: 2000;
    pointer-events: none;
}

.an-plp__filter-drawer[aria-hidden="false"] { pointer-events: auto; }

.an-plp__filter-drawer-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.an-plp__filter-drawer[aria-hidden="false"] .an-plp__filter-drawer-overlay {
    opacity: 1;
}

.an-plp__filter-drawer-panel {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 12px 12px 0 0;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.32,0.72,0,1);
}

.an-plp__filter-drawer[aria-hidden="false"] .an-plp__filter-drawer-panel {
    transform: translateY(0);
}

.an-plp__filter-drawer-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    font-family: var(--an-sans);
    font-size: 14px;
    font-weight: 600;
}

.an-plp__filter-drawer-head button {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    line-height: 1;
}

.an-plp__filter-drawer-body {
    overflow-y: auto;
    padding: 16px 24px;
    flex: 1;
}

.an-plp__filter-drawer-footer {
    padding: 16px 24px;
    border-top: 1px solid rgba(0,0,0,0.1);
}

/* ═══════════════════════════════════════════════════════════
   PDP PAGE
   ═══════════════════════════════════════════════════════════ */

.an-pdp {
    padding-bottom: 80px;
}

.an-pdp__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
    padding-top: 24px;
}

/* ─── Gallery ──────────────────────────────── */
.an-pdp__gallery {
    position: sticky;
    top: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 24px);
}

.an-pdp__gallery-main {
    position: relative;
    aspect-ratio: 1;
    max-height: 70vh;
    background: var(--an-cream);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 12px;
}

.an-pdp__main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.2s ease;
}

.an-pdp__main-img--loading { opacity: 0.5; }

.an-pdp__no-image {
    width: 100%;
    height: 100%;
    max-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--an-serif);
    font-size: 80px;
    color: rgba(0,0,0,0.1);
    font-weight: 300;
}

.an-pdp__stock-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    font-family: var(--an-sans);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 2px;
    background: var(--an-black);
    color: #fff;
}

.an-pdp__stock-badge--ready-to-ship { background: #2d7a4a; }
.an-pdp__stock-badge--limited-stock  { background: var(--an-gold-dark); }
.an-pdp__stock-badge--made-to-order  { background: var(--an-black); }

/* ── PDP gallery — zoom cursor ─── */
.an-pdp__gallery-main { cursor: zoom-in; }

/* ── PDP name row (title + wishlist heart) ─── */
.an-pdp__name-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.an-pdp__name-row .an-pdp__name { flex: 1; }

/* ── Wishlist button on PDP (inline, not absolute) ─── */
.an-wishlist-btn--pdp {
    position: static;
    flex-shrink: 0;
    background: none;
    margin-top: 6px;
    width: 36px;
    height: 36px;
}
.an-wishlist-btn--pdp svg {
    width: 20px;
    height: 20px;
}

/* ── Video thumbnail + play icon ─── */
.an-pdp__thumb--video {
    position: relative;
}
.an-pdp__thumb--video img {
    filter: brightness(0.7);
}
.an-pdp__play-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    pointer-events: none;
}
.an-pdp__play-icon svg {
    width: 22px;
    height: 22px;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5));
}

/* ── PDP video iframe embed ─── */
.an-pdp__video-embed {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: #000;
}

/* ── Lightbox ─── */
.an-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
}
.an-lightbox.is-open { display: flex; }

.an-lightbox__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
}

.an-lightbox__img-wrap {
    position: relative;
    z-index: 1;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.an-lightbox__img {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    display: block;
    border-radius: 2px;
}

.an-lightbox__close,
.an-lightbox__prev,
.an-lightbox__next {
    position: absolute;
    z-index: 2;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
}
.an-lightbox__close:hover,
.an-lightbox__prev:hover,
.an-lightbox__next:hover {
    background: rgba(255, 255, 255, 0.22);
}

.an-lightbox__close {
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    font-size: 0;
}
.an-lightbox__close svg {
    width: 20px;
    height: 20px;
    stroke: #fff;
}

.an-lightbox__prev,
.an-lightbox__next {
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    font-size: 32px;
    font-weight: 200;
    line-height: 1;
}
.an-lightbox__prev { left: 20px; }
.an-lightbox__next { right: 20px; }

@media (max-width: 600px) {
    .an-lightbox__prev { left: 8px; }
    .an-lightbox__next { right: 8px; }
}

.an-pdp__gallery-thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}

.an-pdp__gallery-thumbs::-webkit-scrollbar { display: none; }

.an-pdp__thumb {
    flex-shrink: 0;
    width: 68px;
    height: 68px;
    border: 2px solid transparent;
    border-radius: 3px;
    overflow: hidden;
    cursor: pointer;
    padding: 0;
    background: var(--an-cream);
    transition: border-color 0.2s;
}

.an-pdp__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.an-pdp__thumb:hover,
.an-pdp__thumb.is-active { border-color: var(--an-gold); }

/* ─── Info ─────────────────────────────────── */
.an-pdp__info {
    min-width: 0;
}

.an-pdp__breadcrumb {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-grey-light);
    letter-spacing: 0.04em;
    margin-bottom: 16px;
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.an-pdp__breadcrumb a {
    color: var(--an-grey-light);
    text-decoration: none;
}

.an-pdp__breadcrumb a:hover { color: var(--an-black); }

.an-pdp__breadcrumb span { color: var(--an-grey-light); font-size: 10px; }

.an-pdp__name {
    font-family: var(--an-serif);
    font-size: clamp(24px, 3vw, 38px);
    font-weight: 300;
    line-height: 1.15;
    margin: 0 0 20px;
}

/* ─── Price ─────────────────────────────────── */
.an-pdp__price-area {
    margin-bottom: 24px;
}

.an-pdp__price-current {
    font-family: var(--an-sans);
    font-size: 28px;
    font-weight: 400;
    color: var(--an-black);
}

.an-pdp__price-breakdown {
    margin-top: 6px;
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-charcoal);
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.an-pdp__offer-badge {
    background: var(--an-cream);
    border: 1px solid rgba(var(--an-gold-rgb), 0.3);
    border-radius: 4px;
    padding: 16px 20px;
}

.an-pdp__offer-label {
    font-family: var(--an-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--an-gold);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px;
}

.an-pdp__offer-hint {
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-charcoal);
    margin: 0;
}

/* ─── Sections (variants, personalise, etc.) ── */
.an-pdp__section {
    padding: 20px 0;
    border-top: 1px solid rgba(0,0,0,0.07);
}

.an-pdp__section-label {
    font-family: var(--an-sans);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    margin: 0 0 12px;
    color: var(--an-dark);
}

/* Variant swatches */
.an-pdp__variant-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.an-pdp__variant-btn {
    font-family: var(--an-sans);
    font-size: 12px;
    padding: 8px 14px;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 3px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.an-pdp__variant-btn small {
    font-size: 10px;
    color: var(--an-gold);
}

.an-pdp__variant-btn:hover {
    border-color: var(--an-black);
}

.an-pdp__variant-btn.is-selected {
    border-color: var(--an-black);
    background: var(--an-black);
    color: #fff;
}

.an-pdp__variant-btn.is-selected small { color: var(--an-gold); }

.an-pdp__variant-btn.is-unavailable {
    opacity: .35;
    cursor: not-allowed;
    pointer-events: none;
    position: relative;
}

.an-pdp__variant-btn.is-unavailable::after {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 4px,
        rgba(0,0,0,.12) 4px,
        rgba(0,0,0,.12) 5px
    );
    border-radius: inherit;
}

/* Select dropdowns */
.an-pdp__select {
    width: 100%;
    font-family: var(--an-sans);
    font-size: 13px;
    padding: 12px 16px;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 3px;
    background: #fff;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

.an-pdp__size-guide {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-gold);
    text-decoration: underline;
    margin-top: 6px;
    display: inline-block;
}

/* Personalisation */
.an-pdp__sub-label {
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 500;
    margin: 0 0 10px;
    color: var(--an-dark);
}

.an-pdp__personalise-row {
    padding: 12px 0;
    border-top: 1px dashed rgba(0,0,0,0.08);
}

.an-pdp__personalise-row:first-child { border-top: none; }

.an-pdp__toggle-label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-family: var(--an-sans);
    font-size: 14px;
}

.an-pdp__toggle-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--an-black);
    cursor: pointer;
}

.an-pdp__addon-price {
    font-size: 12px;
    color: var(--an-gold);
    font-weight: 500;
    margin-left: 6px;
}

.an-pdp__conditional-field {
    margin-top: 12px;
}

.an-pdp__text-input {
    width: 100%;
    font-family: var(--an-sans);
    font-size: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 3px;
    box-sizing: border-box;
}

.an-pdp__field-hint {
    font-size: 11px;
    color: var(--an-grey-light);
    margin-top: 4px;
    display: block;
}

/* Upload zone */
.an-pdp__upload-zone {
    border: 2px dashed rgba(0,0,0,0.15);
    border-radius: 4px;
    padding: 28px 20px;
    text-align: center;
    background: var(--an-cream);
    transition: border-color 0.2s, background 0.2s;
}

.an-pdp__upload-zone.is-dragging {
    border-color: var(--an-gold);
    background: var(--an-off-white);
}

.an-pdp__upload-placeholder svg {
    width: 32px;
    height: 32px;
    color: var(--an-grey-light);
    margin-bottom: 8px;
}

.an-pdp__upload-placeholder p {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
    margin: 0 0 4px;
}

.an-pdp__upload-placeholder button {
    background: none;
    border: none;
    color: var(--an-gold);
    font-family: var(--an-sans);
    font-size: 13px;
    cursor: pointer;
    text-decoration: underline;
}

.an-pdp__upload-placeholder small {
    font-size: 11px;
    color: var(--an-grey-light);
    display: block;
}

.an-pdp__upload-preview {
    position: relative;
    display: inline-block;
}

/* Respect [hidden] on elements whose display is overridden by CSS */
.an-pdp__upload-preview[hidden],
.an-pdp__upload-placeholder[hidden],
.an-pdp__conditional-field[hidden],
.an-pdp__delivery-info[hidden],
.an-modal[aria-hidden="true"] { display: none !important; }

.an-pdp__upload-preview img {
    max-height: 120px;
    border-radius: 3px;
    display: block;
}

.an-pdp__upload-remove {
    position: absolute;
    top: -8px;
    right: -8px;
    background: var(--an-black);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    font-size: 11px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.an-pdp__privacy-note {
    font-size: 11px;
    color: var(--an-grey-light);
    margin: 8px 0 0;
}

.an-pdp__instruction-link {
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-gold);
    margin-top: 6px;
    display: inline-block;
}

/* Segment buttons (breast milk delivery) */
.an-pdp__segment-btns {
    display: flex;
    gap: 0;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 12px;
}

.an-pdp__segment-btn {
    flex: 1;
    font-family: var(--an-sans);
    font-size: 12px;
    padding: 10px 14px;
    border: none;
    background: #fff;
    cursor: pointer;
    color: var(--an-grey);
    border-right: 1px solid rgba(0,0,0,0.15);
    transition: background 0.2s, color 0.2s;
}

.an-pdp__segment-btn:last-child { border-right: none; }

.an-pdp__segment-btn.is-selected {
    background: var(--an-black);
    color: #fff;
}

.an-pdp__delivery-info {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-muted);
    line-height: 1.6;
    background: var(--an-cream);
    padding: 14px 16px;
    border-radius: 3px;
}

.an-pdp__delivery-info a {
    color: var(--an-gold);
}

/* Gift box */
.an-pdp__gift-box-label {
    cursor: pointer;
    display: block;
}

.an-pdp__gift-box-label input { display: none; }

.an-pdp__gift-box-card {
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(0,0,0,0.12);
    border-radius: 4px;
    padding: 16px;
    transition: border-color 0.2s;
}

.an-pdp__gift-box-label input:checked ~ .an-pdp__gift-box-card {
    border-color: var(--an-gold);
    background: var(--an-off-white);
}

.an-pdp__gift-box-icon {
    font-size: 28px;
}

.an-pdp__gift-box-card strong {
    font-family: var(--an-sans);
    font-size: 13px;
    display: block;
    margin-bottom: 2px;
}

.an-pdp__gift-box-card p {
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-charcoal);
    margin: 4px 0 0;
}

/* Shipping info */
.an-pdp__shipping-info {
    background: var(--an-cream);
    border-radius: 4px;
    padding: 16px !important;
    border-top: 1px solid rgba(0,0,0,0.07) !important;
}

.an-pdp__shipping-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-muted);
    padding: 6px 0;
}

.an-pdp__shipping-row svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: var(--an-charcoal);
}

/* CTA buttons */
.an-pdp__ctas {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 24px 0;
}

.an-btn--whatsapp {
    background: #25D366;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    font-size: 13px;
}

.an-btn--whatsapp svg {
    width: 20px;
    height: 20px;
}

.an-btn--whatsapp:hover {
    background: #1ebe5d;
    color: #fff;
}

.an-pdp__wa-btn {
    width: 100%;
    box-sizing: border-box;
}

/* Description */
.an-pdp__description {
    padding: 24px 0;
    border-top: 1px solid rgba(0,0,0,0.07);
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-muted);
    line-height: 1.8;
}

/* Related products */
.an-pdp__related {
    padding: 32px 0;
    border-top: 1px solid rgba(0,0,0,0.07);
}

.an-pdp__related-title {
    font-family: var(--an-serif);
    font-size: 20px;
    font-weight: 300;
    margin: 0 0 20px;
}

.an-pdp__related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

/* ─── WooCommerce default reset on PDP ──────── */
/* Hide WC default tabs and related (we render our own) */
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products {
    display: none !important;
}

/* Style WooCommerce add to cart form to match design */
.an-pdp__ctas form.cart {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.an-pdp__ctas form.cart .qty {
    display: none;
}

.an-pdp__ctas form.cart .single_add_to_cart_button {
    display: block;
    width: 100%;
    background: var(--an-gold) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 3px !important;
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 16px 24px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    text-align: center !important;
    box-shadow: none !important;
}

.an-pdp__ctas form.cart .single_add_to_cart_button:hover {
    background: var(--an-gold-dark) !important;
}

/* ── Metal color swatches ────────────────────────────── */
.an-pdp__metal-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.an-pdp__metal-swatch {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px 7px 9px;
    border: 1.5px solid var(--an-border, #e0ddd8);
    border-radius: 100px;
    background: #fff;
    font-size: 12px;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    font-family: var(--an-sans);
    color: var(--an-dark);
}

.an-pdp__metal-swatch:hover {
    border-color: var(--an-dark);
}

.an-pdp__metal-swatch.is-selected {
    border-color: var(--an-dark);
    background: var(--an-dark);
    color: #fff;
}

.an-pdp__metal-swatch.is-selected .an-pdp__metal-dot {
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(var(--an-white-rgb),0.5);
}

.an-pdp__metal-dot {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid rgba(0,0,0,0.12);
}

.an-pdp__metal-name {
    white-space: nowrap;
}

/* ── Diamond shape swatches ──────────────────────────── */
.an-pdp__shape-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.an-pdp__shape-swatch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 10px 10px;
    border: 1.5px solid var(--an-border, #e0ddd8);
    border-radius: 8px;
    background: #fff;
    min-width: 72px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    font-family: var(--an-sans);
}

.an-pdp__shape-swatch svg,
.an-pdp__shape-swatch img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    transition: opacity 0.15s;
}

.an-pdp__shape-swatch span {
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--an-mid, #888);
    transition: color 0.15s;
    white-space: nowrap;
}

.an-pdp__shape-swatch:hover {
    border-color: var(--an-dark);
}

.an-pdp__shape-swatch:hover svg,
.an-pdp__shape-swatch:hover img  { opacity: 1; }
.an-pdp__shape-swatch:hover span { color: var(--an-dark); }

.an-pdp__shape-swatch.is-selected {
    border-color: var(--an-dark);
    background: var(--an-cream, #FAF9F6);
}

.an-pdp__shape-swatch.is-selected svg,
.an-pdp__shape-swatch.is-selected img  { opacity: 1; }
.an-pdp__shape-swatch.is-selected span { color: var(--an-dark); font-weight: 600; }

/* ── Attr selection label (e.g. "— Oval") ────────────── */
.an-pdp__attr-val {
    font-weight: 400;
    color: var(--an-mid, #888);
    font-size: 13px;
    margin-left: 4px;
}

.an-pdp__attr-val::before {
    content: '— ';
}

/* ── Quality / Carat pill swatches ───────────────────── */
.an-pdp__variant-swatches--pill {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.an-pdp__variant-swatches--pill .an-pdp__variant-btn {
    border: 1.5px solid var(--an-border, #e0ddd8);
    border-radius: 4px;
    padding: 9px 16px;
    font-size: 12px;
    background: #fff;
    color: var(--an-dark);
    font-family: var(--an-sans);
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: all 0.15s;
}

.an-pdp__variant-swatches--pill .an-pdp__variant-btn:hover {
    border-color: var(--an-dark);
}

.an-pdp__variant-swatches--pill .an-pdp__variant-btn.is-selected {
    border-color: var(--an-dark);
    background: var(--an-dark);
    color: #fff;
}

/* ── Variable product form: hide native WC elements ──── */
.an-pdp__wc-variable-form table.variations,
.an-pdp__wc-variable-form .reset_variations,
.an-pdp__wc-variable-form .woocommerce-variation-description,
.an-pdp__wc-variable-form .woocommerce-variation-price {
    display: none !important;
}

.an-pdp__wc-variable-form form.variations_form.cart {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.an-pdp__wc-variable-form .single_variation_wrap {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.an-pdp__wc-variable-form .woocommerce-variation-add-to-cart {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.an-pdp__wc-variable-form .woocommerce-variation-add-to-cart .qty {
    display: none;
}

.an-pdp__wc-variable-form .woocommerce-variation-availability p {
    font-size: 12px;
    color: var(--an-mid);
    margin: 0 0 12px;
}

.an-pdp__wc-variable-form .woocommerce-variation-availability p.out-of-stock {
    color: #c0392b;
}

.an-pdp__wc-variable-form .single_add_to_cart_button {
    display: block;
    width: 100%;
    background: var(--an-gold) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 3px !important;
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 16px 24px !important;
    cursor: pointer !important;
    transition: background 0.2s ease, opacity 0.2s ease !important;
    text-align: center !important;
    box-shadow: none !important;
}

.an-pdp__wc-variable-form .single_add_to_cart_button:hover:not(:disabled) {
    background: var(--an-gold-dark) !important;
}

.an-pdp__wc-variable-form .single_add_to_cart_button:disabled,
.an-pdp__wc-variable-form .single_add_to_cart_button.disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
}

/* ── Attribute group — warning state ──────────────────── */
.an-pdp__wc-attr.has-warning .an-pdp__section-label {
    color: #b94a34;
}

.an-pdp__wc-attr.has-warning .an-pdp__variant-swatches {
    animation: an-shake 0.38s ease;
}

@keyframes an-shake {
    0%   { transform: translateX(0); }
    20%  { transform: translateX(-6px); }
    40%  { transform: translateX(6px); }
    60%  { transform: translateX(-4px); }
    80%  { transform: translateX(4px); }
    100% { transform: translateX(0); }
}

.an-pdp__attr-warning {
    font-size: 12px;
    color: #b94a34;
    margin: 6px 0 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.an-pdp__attr-warning::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: #b94a34;
    border-radius: 50%;
    flex-shrink: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ═══════════════════════════════════════════════════════════
   PDP STEPPER
   ═══════════════════════════════════════════════════════════ */

/* Step nav bar */
.an-pdp__step-nav-bar {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--an-off-white);
}

.an-pdp__step-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
    transition: opacity 0.2s;
}

.an-pdp__step-btn:disabled {
    cursor: default;
    opacity: 0.45;
}

.an-pdp__step-btn:not(:disabled):not(.is-active):hover .an-pdp__step-num {
    border-color: var(--an-gold);
    color: var(--an-gold);
}

.an-pdp__step-num {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1.5px solid var(--an-grey-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--an-sans);
    font-size: 13px;
    font-weight: 500;
    color: var(--an-grey);
    background: #fff;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.an-pdp__step-label {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--an-grey);
    white-space: nowrap;
    transition: color 0.2s;
}

/* Active step */
.an-pdp__step-btn.is-active .an-pdp__step-num {
    background: var(--an-black);
    border-color: var(--an-black);
    color: #fff;
}
.an-pdp__step-btn.is-active .an-pdp__step-label {
    color: var(--an-black);
}

/* Completed step */
.an-pdp__step-btn.is-done .an-pdp__step-num {
    background: var(--an-gold);
    border-color: var(--an-gold);
    color: #fff;
    /* checkmark via content */
    font-size: 0;
}
.an-pdp__step-btn.is-done .an-pdp__step-num::after {
    content: '';
    display: block;
    width: 12px;
    height: 7px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translateY(-2px);
}
.an-pdp__step-btn.is-done .an-pdp__step-label {
    color: var(--an-gold-dark);
}

/* Connector line */
.an-pdp__step-line {
    flex: 1;
    height: 1px;
    background: var(--an-off-white);
    margin: 0 8px;
    margin-bottom: 20px; /* offset to align with circle centre */
}

/* Panels */
.an-pdp__panel {
    display: none;
}
.an-pdp__panel.is-active {
    display: block;
    animation: an-panel-in 0.25s ease;
}

@keyframes an-panel-in {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.an-pdp__panel-intro {
    font-size: 13px;
    color: var(--an-charcoal);
    margin: 0 0 24px;
    letter-spacing: 0.01em;
}

/* Panel footer (back / next) */
.an-pdp__panel-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--an-off-white);
}
.an-pdp__panel-footer--back-only {
    justify-content: flex-start;
}

.an-pdp__back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1.5px solid var(--an-off-white);
    padding: 12px 20px;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--an-charcoal);
    cursor: pointer;
    border-radius: 3px;
    transition: border-color 0.2s, color 0.2s;
    flex-shrink: 0;
}
.an-pdp__back-btn:hover {
    border-color: var(--an-dark);
    color: var(--an-dark);
}
.an-pdp__back-btn svg {
    width: 14px;
    height: 14px;
}

.an-pdp__next-btn {
    flex: 1;
}
.an-pdp__next-btn svg {
    width: 14px;
    height: 14px;
    margin-left: 6px;
}

/* Trust list (panel 1) */
.an-pdp__trust-list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.an-pdp__trust-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: var(--an-charcoal);
    letter-spacing: 0.02em;
}
.an-pdp__trust-list svg {
    width: 16px;
    height: 16px;
    color: var(--an-gold);
    flex-shrink: 0;
}

/* Short description */
.an-pdp__short-desc {
    font-size: 14px;
    color: var(--an-dark);
    line-height: 1.7;
    margin: 16px 0 0;
}
.an-pdp__short-desc p { margin: 0 0 8px; }

/* Order summary (panel complete) */
.an-pdp__summary {
    background: var(--an-cream);
    border: 1px solid var(--an-off-white);
    border-radius: 4px;
    padding: 20px 24px;
    margin-bottom: 24px;
}
.an-pdp__summary-title {
    font-family: var(--an-serif);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--an-dark);
    margin: 0 0 14px;
}
.an-pdp__summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    padding: 6px 0;
    border-bottom: 1px solid var(--an-off-white);
}
.an-pdp__summary-row:last-child { border-bottom: none; }
.an-pdp__summary-label { color: var(--an-charcoal); }
.an-pdp__summary-value { color: var(--an-dark); font-weight: 500; }
.an-pdp__summary-empty { font-size: 13px; color: var(--an-charcoal); margin: 0; }
.an-pdp__summary-price {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--an-grey-light);
    font-family: var(--an-serif);
    font-size: 22px;
    color: var(--an-black);
    text-align: right;
}

/* Responsive — stepper on mobile */
@media (max-width: 640px) {
    .an-pdp__step-nav-bar {
        margin-bottom: 24px;
    }
    .an-pdp__step-label {
        font-size: 9px;
        letter-spacing: 0.06em;
    }
    .an-pdp__step-num {
        width: 28px;
        height: 28px;
        font-size: 11px;
    }
    .an-pdp__step-line {
        margin: 0 4px;
        margin-bottom: 18px;
    }
    .an-pdp__panel-footer {
        flex-wrap: wrap;
    }
    .an-pdp__next-btn {
        flex: 1 0 100%;
        order: -1;
    }
    .an-pdp__back-btn {
        flex: 1;
    }
}

/* ═══════════════════════════════════════════════════════════
   MODALS
   ═══════════════════════════════════════════════════════════ */

.an-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    padding: 24px;
}

.an-modal[aria-hidden="false"] {
    pointer-events: auto;
}

.an-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.an-modal[aria-hidden="false"] .an-modal__overlay {
    opacity: 1;
}

.an-modal__panel {
    position: relative;
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 540px;
    max-height: 92vh;
    overflow-y: auto;
    padding: 40px;
    transform: scale(0.95) translateY(8px);
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.32,0.72,0,1), opacity 0.3s ease;
    box-sizing: border-box;
}

.an-modal[aria-hidden="false"] .an-modal__panel {
    transform: scale(1) translateY(0);
    opacity: 1;
}

.an-modal__panel--narrow { max-width: 400px; }

.an-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: var(--an-charcoal);
    line-height: 1;
    padding: 4px;
}

.an-modal__close:hover { color: var(--an-black); }

.an-modal__head {
    margin-bottom: 24px;
}

.an-modal__title {
    font-family: var(--an-serif);
    font-size: 26px;
    font-weight: 300;
    margin: 8px 0 6px;
}

.an-modal__sub {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-charcoal);
    margin: 0;
}

.an-modal__form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.an-modal__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.an-modal__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.an-modal__field label {
    font-family: var(--an-sans);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--an-muted);
}

.an-modal__field label span { color: var(--an-gold); }

.an-modal__field label small { color: var(--an-grey-light); font-size: 10px; text-transform: none; }

.an-modal__field input,
.an-modal__field select,
.an-modal__field textarea {
    font-family: var(--an-sans);
    font-size: 14px;
    padding: 11px 14px;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 3px;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.an-modal__field input:focus,
.an-modal__field select:focus,
.an-modal__field textarea:focus {
    outline: none;
    border-color: var(--an-black);
}

.an-modal__radio-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.an-modal__radio-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
}

.an-modal__radio-group input { width: auto; }

.an-modal__success {
    text-align: center;
    padding: 40px 20px;
}

.an-modal__success-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--an-gold);
    color: #fff;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.an-modal__success h3 {
    font-family: var(--an-serif);
    font-size: 22px;
    font-weight: 300;
    margin: 0 0 8px;
}

.an-modal__success p {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-charcoal);
    margin: 0 0 24px;
}

.an-modal__steps {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-muted);
    line-height: 1.8;
    padding-left: 20px;
    margin: 0 0 24px;
}

.an-modal__hint {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-charcoal);
    margin: 0;
}

.an-modal__hint a { color: var(--an-gold); }

/* ═══════════════════════════════════════════════════════════
   SHARED BUTTONS
   ═══════════════════════════════════════════════════════════ */

.an-btn--full {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE (tablet ≤ 960px)
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 960px) {

    .an-product-grid        { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
    .an-product-grid--plp   { grid-template-columns: repeat(2, 1fr) !important; }
    #an-hub-products, #an-plp-products { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }

    /* Hub */
    .an-hub-hero__content { padding: 40px 24px; }
    .an-hub-filter__inner { padding: 0 24px; }
    .an-trust__grid       { grid-template-columns: repeat(2, 1fr); }

    .an-hub-editorial__inner,
    .an-hub-editorial--before .an-wrap {
        grid-template-columns: 1fr;
    }
    .an-hub-editorial--mid {
        grid-template-columns: 1fr;
        padding: 28px 20px;
    }

    /* Hub body: stack sidebar above grid on tablet */
    .an-hub-body {
        flex-direction: column;
        gap: 32px;
    }
    .an-hub-sidebar {
        flex: none;
        width: 100%;
        position: static;
    }
    .an-hub-sidebar__inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        align-items: center;
        padding: 24px;
    }

    /* PLP */
    .an-plp__body           { grid-template-columns: 1fr; }
    .an-plp__sidebar        { display: none; }
    .an-plp__mobile-filter-btn { display: flex; }

    /* PDP */
    .an-pdp__inner          { grid-template-columns: 1fr; gap: 32px; padding-top: 24px; }
    .an-pdp__gallery        { position: static; }
    .an-pdp__related-grid   { grid-template-columns: repeat(2, 1fr); }

    /* Modal */
    .an-modal__panel        { padding: 28px 20px; }
    .an-modal__row          { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .an-product-grid        { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
    #an-hub-products, #an-plp-products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
    .an-hub-hero            { min-height: 50vh; }
    .an-hub-hero__content   { padding: 32px 20px; }
    .an-hub-hero__ctas      { flex-direction: column; }
    .an-trust__grid         { grid-template-columns: 1fr; }
    .an-pdp__related-grid   { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .an-plp__tabs           { padding: 0 20px; }
    .an-pdp__variant-swatches { gap: 6px; }
}

/* ═══════════════════════════════════════════════════════════
   SEARCH RESULTS PAGE
   ═══════════════════════════════════════════════════════════ */

.an-search-page {
    min-height: 70vh;
    background:
        radial-gradient(circle at top left, rgba(var(--an-gold-rgb),0.12), transparent 28%),
        linear-gradient(180deg, #f6f1eb 0%, #efe6de 100%);
}

.an-search-page .an-wrap {
    max-width: 1320px;
    padding: 0 40px;
}

.an-search-page__head {
    padding: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 22px) 0 0;
}

.an-search-page__hero {
    position: relative;
    overflow: hidden;
    padding: 28px 32px 26px;
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(63,74,60,0.98), rgba(42,38,35,0.96)),
        var(--an-dark);
    color: var(--an-white);
    box-shadow: 0 28px 80px rgba(42,38,35,0.14);
}

.an-search-page__hero::after {
    content: "";
    position: absolute;
    inset: auto -6% -34% auto;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--an-gold-rgb),0.18), transparent 64%);
    pointer-events: none;
}

.an-search-page__breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
    font-family: var(--an-sans);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.56);
}

.an-search-page__breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.an-search-page__eyebrow,
.an-search-page__meta {
    margin: 0 0 10px;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.64);
}

.an-search-page__meta strong,
.an-search-page__eyebrow {
    color: var(--an-gold-light);
}

.an-search-page__query {
    max-width: 16ch;
    margin: 0;
    font-family: var(--an-serif) !important;
    font-size: clamp(32px, 4.6vw, 50px) !important;
    font-weight: 300 !important;
    line-height: 0.96;
    letter-spacing: 0.02em;
    color: var(--an-white) !important;
}

.an-search-page__lead {
    max-width: 760px;
    margin: 14px 0 0;
    font-family: var(--an-sans);
    font-size: 15px;
    line-height: 1.75;
    color: rgba(255,255,255,0.76);
}

.an-search-page__form {
    margin-top: 22px;
    max-width: 760px;
}

.an-search-page__form-inner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 10px 10px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.98);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
    transition: box-shadow 0.2s, border-color 0.2s;
}

.an-search-page__form-inner:focus-within {
    border-color: rgba(var(--an-gold-rgb),0.55);
    box-shadow: 0 0 0 4px rgba(var(--an-gold-rgb),0.10);
}

.an-search-page__form-inner svg {
    width: 18px;
    height: 18px;
    stroke: var(--an-grey);
    flex-shrink: 0;
}

.an-search-page__input {
    flex: 1;
    min-width: 0;
    padding: 10px 0;
    border: none;
    outline: none;
    background: transparent;
    color: var(--an-dark);
    font-family: var(--an-sans);
    font-size: 15px;
}

.an-search-page__input::placeholder {
    color: var(--an-grey-light);
}

.an-search-page__quick-meta {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin: 18px 0 0;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.68);
}

.an-search-page__quick-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.an-search-page__quick-meta span::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--an-gold);
}

.an-search-page__body {
    padding: 28px 0 84px;
}

.an-search-page__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    padding: 18px 22px;
    margin-bottom: 22px;
    border: 1px solid rgba(201,179,162,0.24);
    border-radius: 24px;
    background: rgba(255,255,255,0.62);
}

.an-search-page__toolbar-copy {
    margin: 0;
    font-family: var(--an-sans);
    font-size: 13px;
    line-height: 1.7;
    color: var(--an-grey);
}

.an-search-page__section {
    padding: 24px;
    border-radius: 24px;
    background: rgba(255,255,255,0.88);
    border: 1px solid rgba(201,179,162,0.22);
    box-shadow: 0 18px 48px rgba(42,38,35,0.05);
}

.an-search-page__section + .an-search-page__section {
    margin-top: 24px;
}

.an-search-page__section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.an-search-page__section-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    font-family: var(--an-serif) !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    letter-spacing: 0.02em;
}

.an-search-page__section-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(var(--an-gold-rgb),0.12);
    color: var(--an-gold-dark);
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.an-search-page__section-copy {
    margin: 0;
    font-family: var(--an-sans);
    font-size: 11px;
    line-height: 1.6;
    color: var(--an-grey);
    text-align: right;
}

.an-search-page .an-wrap .an-product-grid.an-product-grid--search {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin-bottom: 0;
    align-items: start;
}

.an-search-page .an-wrap .an-product-grid.an-product-grid--search > * {
    min-width: 0;
    width: auto !important;
    max-width: none !important;
}

.an-search-page .an-prod-card {
    border-radius: 22px;
    border: 1px solid rgba(201,179,162,0.18);
    box-shadow: 0 16px 40px rgba(42,38,35,0.05);
}

.an-search-page .an-prod-card__body {
    padding: 16px;
    gap: 4px;
}

.an-search-page__page-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.an-search-page__page-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 18px;
    text-decoration: none;
    color: var(--an-dark);
    background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(246,241,235,0.9));
    border: 1px solid rgba(201,179,162,0.22);
    transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.an-search-page__page-item:hover {
    transform: translateY(-1px);
    border-color: rgba(var(--an-gold-rgb),0.6);
    box-shadow: 0 14px 32px rgba(42,38,35,0.08);
}

.an-search-page__page-icon {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--an-gold-rgb),0.10);
    color: var(--an-gold-dark);
}

.an-search-page__page-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
}

.an-search-page__page-body {
    flex: 1;
    min-width: 0;
}

.an-search-page__page-title {
    margin: 0 0 3px !important;
    font-family: var(--an-serif) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    color: var(--an-dark) !important;
}

.an-search-page__page-excerpt {
    margin: 0 !important;
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    line-height: 1.65;
    color: var(--an-charcoal) !important;
}

.an-search-page__page-arrow {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    flex-shrink: 0;
    stroke: var(--an-grey-light);
}

.an-search-page__page-item:hover .an-search-page__page-arrow {
    stroke: var(--an-gold);
}

.an-search-page__empty {
    padding: 72px 36px 60px;
    border-radius: 28px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(201,179,162,0.22);
    box-shadow: 0 18px 48px rgba(42,38,35,0.05);
    text-align: center;
}

.an-search-page__empty-icon {
    margin-bottom: 20px;
}

.an-search-page__empty-icon svg {
    width: 64px;
    height: 64px;
}

.an-search-page__empty-title {
    margin-bottom: 12px !important;
    font-family: var(--an-serif) !important;
    font-size: 32px !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
}

.an-search-page__empty-text {
    max-width: 560px;
    margin: 0 auto 28px !important;
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    line-height: 1.8;
    color: var(--an-charcoal) !important;
}

.an-search-page__suggestions {
    margin-top: 28px;
}

.an-search-page__suggestions-label {
    margin-bottom: 12px;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--an-grey-light);
}

.an-search-page__chips {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.an-search-chip {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(179,124,103,0.22);
    background: rgba(255,255,255,0.78);
    color: var(--an-dark);
    text-decoration: none;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.an-search-chip:hover {
    background: var(--an-gold);
    border-color: var(--an-gold);
    color: #fff;
}

.an-search-page__pagination {
    padding: 36px 0 0;
    display: flex;
    justify-content: center;
}

.an-search-page__pagination .page-numbers {
    display: inline-flex;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.an-search-page__pagination .page-numbers li a,
.an-search-page__pagination .page-numbers li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(201,179,162,0.26);
    background: rgba(255,255,255,0.82);
    color: var(--an-dark);
    text-decoration: none;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 600;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.an-search-page__pagination .page-numbers li .current,
.an-search-page__pagination .page-numbers li a:hover {
    background: var(--an-dark);
    border-color: var(--an-dark);
    color: #fff;
}

@media (max-width: 1100px) {
    .an-search-page .an-wrap .an-product-grid.an-product-grid--search {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .an-search-page__page-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .an-search-page .an-wrap {
        padding: 0 24px;
    }

    .an-search-page__hero {
        padding: 28px 24px 24px;
        border-radius: 24px;
    }

    .an-search-page__form-inner {
        border-radius: 24px;
        flex-wrap: wrap;
        padding: 14px;
    }

    .an-search-page__form-inner .an-btn {
        width: 100%;
    }

    .an-search-page__toolbar,
    .an-search-page__section,
    .an-search-page__empty {
        padding-left: 22px;
        padding-right: 22px;
    }

    .an-search-page__section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .an-search-page__section-copy {
        text-align: left;
    }

    .an-search-page .an-wrap .an-product-grid.an-product-grid--search {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .an-search-page__head {
        padding-top: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 14px);
    }

    .an-search-page .an-wrap {
        padding: 0 16px;
    }

    .an-search-page__query {
        font-size: 34px !important;
        max-width: none;
    }

    .an-search-page__lead {
        font-size: 14px;
    }

    .an-search-page__body {
        padding: 20px 0 60px;
    }

    .an-search-page .an-wrap .an-product-grid.an-product-grid--search {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .an-search-page__toolbar,
    .an-search-page__section,
    .an-search-page__empty {
        padding: 20px 18px;
        border-radius: 20px;
    }

    .an-search-page__page-item {
        padding: 16px;
        border-radius: 18px;
    }

    .an-search-chip {
        min-height: 36px;
        padding: 0 14px;
        font-size: 10px;
    }
}

/* ── Product category label on search cards ──────────────── */
.an-prod-card__cat {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--an-gold);
    margin-bottom: 2px;
    display: block;
}

/* ═══════════════════════════════════════════════════════════
   WOOCOMMERCE PAGES  (Cart · Checkout · My Account)
   ═══════════════════════════════════════════════════════════ */

/* ── WC pages use a clean header/footer — no Divi wrappers ── */
/* Body background for WC pages */

.wp-block-template-part{
    margin: 0;
}

.an-page-cart,
.an-page-checkout,
.an-page-account {
    background: var(--an-cream);
    margin: 0;
    padding: 0;
}

/* ── Shared page wrapper ─────────────────────────────────── */
.an-wc-page {
    min-height: 70vh;
    background: var(--an-cream);
}

.an-wc-page.an-wc-account {
    min-height: auto;
}

.an-wc-page__head {
    background: var(--an-dark);
    padding: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 18px) 0 42px;
    text-align: center;
}
.an-wc-page__title {
    font-family: var(--an-serif) !important;
    font-size: clamp(26px,4vw,40px) !important;
    font-weight: 300 !important;
    color: var(--an-white) !important;
    margin: 0 !important;
    letter-spacing: 0.02em;
}
.an-wc-page__sub {
    font-family: var(--an-sans);
    font-size: 14px;
    color: rgba(var(--an-white-rgb),0.68);
    margin: 10px 0 0;
}

.an-wrap--wide {
    max-width: 1280px;
    margin: 0 auto;
    padding: 48px 40px 80px;
}

.an-wc-account .an-wrap--wide {
    max-width: 1200px;
    padding-top: 52px;
    padding-bottom: 168px;
}

.an-wc-cart .an-wrap--wide,
.an-wc-checkout .an-wrap--wide {
    max-width: 1520px;
    padding-top: 44px;
    padding-bottom: 132px;
}

.an-wc-cart .an-wc-page__head .an-wrap,
.an-wc-checkout .an-wc-page__head .an-wrap,
.an-wc-account .an-wc-page__head .an-wrap {
    max-width: 1520px;
}

.an-wc-cart .an-wc-page__head,
.an-page-cart .an-wc-page__head,
.an-wc-checkout .an-wc-page__head,
.an-page-checkout .an-wc-page__head,
.an-wc-account .an-wc-page__head,
.an-page-account .an-wc-page__head {
    padding: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 10px) 0 30px;
}


/* ════════════════════════════════════════════════════════════
   CART
   ════════════════════════════════════════════════════════════ */

.an-wc-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(380px, 430px);
    gap: 48px;
    align-items: start;
    width: 100% !important;
}

.an-wc-cart .woocommerce-cart-form {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    width: 100% !important;
    float: none !important;
}

/* WooCommerce cart table */
.an-wc-cart table.shop_table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.an-wc-cart table.shop_table th {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light);
    padding: 16px 20px;
    border-bottom: 1px solid #eee;
    background: #fff;
    text-align: left;
}
.an-wc-cart table.shop_table th.product-name { width: 52%; }
.an-wc-cart table.shop_table th.product-price,
.an-wc-cart table.shop_table th.product-quantity,
.an-wc-cart table.shop_table th.product-subtotal,
.an-wc-cart td.product-price,
.an-wc-cart td.product-quantity,
.an-wc-cart td.product-subtotal {
    white-space: nowrap;
    text-align: center;
}
.an-wc-cart table.shop_table td {
    padding: 20px;
    border-bottom: 1px solid var(--an-off-white);
    vertical-align: middle;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
}
.an-wc-cart table.shop_table tr:last-child td { border-bottom: none; }

/* Product image in cart */
.an-wc-cart td.product-thumbnail {
    width: 100px !important;
    min-width: 100px !important;
    padding-right: 0 !important;
}
.an-wc-cart .product-thumbnail img {
    width: 90px !important;
    height: 90px !important;
    min-width: 90px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    display: block !important;
}

/* Product name */
.an-wc-cart .product-name a {
    font-family: var(--an-serif);
    font-size: 16px;
    font-weight: 400;
    color: var(--an-dark);
    text-decoration: none;
    line-height: 1.45;
    max-width: 420px;
}
.an-wc-cart .product-name a:hover { color: var(--an-gold); }

/* Quantity input */
.an-wc-cart .quantity .qty {
    width: 60px;
    padding: 8px 10px;
    border: 1px solid var(--an-grey-light);
    border-radius: 4px;
    font-family: var(--an-sans);
    font-size: 14px;
    text-align: center;
    background: #fff;
}

/* Remove button */
.an-wc-cart a.remove {
    font-size: 18px;
    color: var(--an-grey-light) !important;
    text-decoration: none;
    line-height: 1;
    transition: color 0.2s;
}
.an-wc-cart a.remove:hover { color: #e74c3c !important; }

/* Cart totals */
.an-wc-cart .cart-collaterals { margin-top: 32px; }
.an-wc-cart .cart-collaterals {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    margin-top: 0;
    min-width: 0;
    width: 100% !important;
    float: none !important;
}
.an-wc-cart .cart_totals {
    background: #fff;
    border-radius: 18px;
    padding: 28px 28px 30px;
    max-width: none;
    width: 100%;
    margin-left: auto;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    border: 1px solid rgba(201,179,162,0.18);
    position: sticky;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 28px);
}

.an-wc-cart table.shop_table {
    table-layout: auto;
}

.an-wc-cart td.product-name {
    min-width: 320px;
    width: 52%;
}
.an-wc-cart .cart_totals h2 {
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light) !important;
    margin-bottom: 20px !important;
}
.an-wc-cart .cart_totals table {
    width: 100%;
    border-collapse: collapse;
}
.an-wc-cart .cart_totals table th {
    width: 42%;
    padding-right: 18px;
    white-space: nowrap;
    vertical-align: top;
}
.an-wc-cart .cart_totals table th,
.an-wc-cart .cart_totals table td {
    font-family: var(--an-sans);
    font-size: 14px;
    padding: 10px 0;
    border-bottom: 1px solid var(--an-off-white);
    color: var(--an-dark);
}
.an-wc-cart .cart_totals table .order-total th,
.an-wc-cart .cart_totals table .order-total td {
    font-size: 16px;
    font-weight: 600;
    border-bottom: none;
    padding-top: 16px;
    color: var(--an-dark);
}
.an-wc-cart .cart_totals table .order-total td strong { color: var(--an-dark); }

/* Checkout button */
.an-wc-cart .wc-proceed-to-checkout { margin-top: 20px; }
.an-wc-cart .wc-proceed-to-checkout .checkout-button,
.an-wc-cart .checkout-button {
    display: block;
    width: 100%;
    padding: 16px 24px;
    background: var(--an-gold) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}
.an-wc-cart .checkout-button:hover { background: var(--an-gold-dark) !important; }

.an-wc-cart .actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

/* Update cart button */
.an-wc-cart .actions .button {
    background: transparent !important;
    border: 1px solid var(--an-grey-light) !important;
    color: var(--an-dark) !important;
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    transition: border-color 0.2s;
}
.an-wc-cart .actions .button:hover { border-color: var(--an-gold) !important; color: var(--an-gold) !important; }
.an-wc-cart .actions > .button[name="update_cart"] {
    margin-left: auto;
    width: auto !important;
}

/* Coupon */
.an-wc-cart .coupon {
    display: flex !important;
    gap: 8px;
    align-items: center;
    flex: 1 1 auto;
    flex-wrap: nowrap;
}
.an-wc-cart .coupon input#coupon_code {
    padding: 10px 14px;
    border: 1px solid var(--an-grey-light);
    border-radius: 4px;
    font-family: var(--an-sans);
    font-size: 13px;
    width: 210px;
    background: #fff;
}
.an-wc-cart .coupon .button {
    padding: 10px 18px !important;
    font-size: 12px !important;
    width: auto !important;
    min-width: 122px;
}

.an-wc-cart table.shop_table td.actions {
    padding-top: 18px;
    padding-bottom: 12px;
}

.an-wc-cart .woocommerce-shipping-destination,
.an-wc-cart .shipping-calculator-button {
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-charcoal);
}

/* Empty cart */
/* Empty cart custom template */
.an-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px 100px;
    text-align: center;
}
.an-cart-empty__icon {
    width: 72px;
    height: 72px;
    color: var(--an-gold);
    margin-bottom: 28px;
    opacity: 0.7;
}
.an-cart-empty__icon svg { width: 100%; height: 100%; }
.an-cart-empty__title {
    font-family: var(--an-serif) !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    letter-spacing: 0.04em;
    color: var(--an-dark) !important;
    margin: 0 0 12px !important;
}
.an-cart-empty__text {
    font-family: var(--an-sans) !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    color: var(--an-charcoal) !important;
    max-width: 360px;
    line-height: 1.7;
    margin: 0 0 32px !important;
}
.an-cart-empty__cta {
    display: inline-block;
    padding: 14px 36px;
    background: var(--an-dark) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 3px;
    transition: background 0.25s;
}
.an-cart-empty__cta:hover { background: var(--an-gold) !important; }

/* fallback for default WC empty cart */
.an-wc-cart .cart-empty {
    text-align: center;
    padding: 60px 20px;
    font-family: var(--an-serif) !important;
    font-size: 20px !important;
    font-weight: 300 !important;
    color: var(--an-charcoal) !important;
}
.an-wc-cart .return-to-shop { text-align: center; margin-top: 16px; }
.an-wc-cart .return-to-shop .button {
    display: inline-block;
    padding: 14px 32px;
    background: var(--an-gold) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-radius: 4px;
    text-decoration: none;
}

/* ════════════════════════════════════════════════════════════
   CHECKOUT
   ════════════════════════════════════════════════════════════ */

/* Step bar */
.an-wc-page__head--checkout {
    display: flex;
    flex-direction: column;
    gap: 0;
}


.an-wc-page__head--checkout .an-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

/* Two-column layout */
.an-wc-checkout .woocommerce {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.an-wc-checkout form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, 410px) !important;
    column-gap: 44px !important;
    row-gap: 24px !important;
    align-items: start !important;
}

.an-wc-checkout #customer_details {
    grid-column: 1;
    min-width: 0;
    width: 100% !important;
    float: none !important;
}

.an-wc-checkout #order_review_heading,
.an-wc-checkout #order_review {
    grid-column: 2;
    width: 100% !important;
    float: none !important;
    clear: none !important;
}

.an-wc-checkout #order_review_heading {
    display: none;
}

.an-wc-checkout #order_review {
    position: sticky;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 28px);
}

.an-wc-checkout .col2-set,
.an-wc-checkout .woocommerce-billing-fields,
.an-wc-checkout .woocommerce-shipping-fields,
.an-wc-checkout .woocommerce-additional-fields {
    width: 100%;
    max-width: none;
}

.an-wc-checkout .col2-set .col-1,
.an-wc-checkout .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 22px !important;
}

.an-wc-checkout .woocommerce-billing-fields,
.an-wc-checkout .woocommerce-shipping-fields,
.an-wc-checkout .woocommerce-additional-fields {
    background: #fff;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 18px;
    padding: 28px 30px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
}
/* Notices span full width */
.an-wc-checkout .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
}
/* Half-width field rows */
.an-wc-checkout .form-row-first,
.an-wc-checkout .form-row-last {
    display: inline-block !important;
    width: calc(50% - 8px) !important;
    vertical-align: top;
}
.an-wc-checkout .form-row-first { margin-right: 16px !important; }

/* Forms */
.an-wc-checkout .woocommerce-billing-fields h3,
.an-wc-checkout .woocommerce-shipping-fields h3,
.an-wc-checkout #order_review_heading {
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light) !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
}

.an-wc-checkout .woocommerce-checkout-review-order {
    background: #fff;
    border-radius: 18px;
    padding: 24px 24px 26px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    border: 1px solid rgba(201,179,162,0.18);
}

.an-wc-checkout input[type="text"],
.an-wc-checkout input[type="email"],
.an-wc-checkout input[type="tel"],
.an-wc-checkout input[type="password"],
.an-wc-checkout select,
.an-wc-checkout textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1px solid var(--an-off-white);
    border-radius: 4px;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
    background: #fff;
    transition: border-color 0.2s;
    box-sizing: border-box;
    -webkit-appearance: none;
}
.an-wc-checkout input:focus,
.an-wc-checkout select:focus,
.an-wc-checkout textarea:focus {
    outline: none;
    border-color: var(--an-gold);
}

.an-wc-checkout label {
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--an-grey);
    display: block;
    margin-bottom: 6px;
}

.an-wc-checkout .woocommerce-checkout-payment {
    background: rgba(var(--an-gold-rgb),0.07);
    border-radius: 14px;
    padding: 16px 16px 4px;
    margin-top: 18px;
}

.an-wc-checkout .woocommerce-privacy-policy-text {
    font-size: 12px;
    line-height: 1.7;
    color: var(--an-charcoal);
}

.an-wc-checkout .place-order {
    margin-top: 18px;
}

/* Order review table */
.an-wc-checkout .woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
.an-wc-checkout .woocommerce-checkout-review-order-table th {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--an-grey-light);
    padding: 0 0 12px;
    text-align: left;
    border-bottom: 1px solid #eee;
}
.an-wc-checkout .woocommerce-checkout-review-order-table td {
    padding: 14px 0;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-dark);
    border-bottom: 1px solid var(--an-off-white);
}
.an-wc-checkout .woocommerce-checkout-review-order-table .order-total td,
.an-wc-checkout .woocommerce-checkout-review-order-table .order-total th {
    font-size: 15px;
    font-weight: 600;
    border-bottom: none;
    padding-top: 16px;
}

/* Place order button */
.an-wc-checkout #place_order {
    display: block;
    width: 100%;
    padding: 16px 24px;
    background: var(--an-gold);
    color: #fff;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 20px;
    transition: background 0.2s;
}
.an-wc-checkout #place_order:hover { background: var(--an-gold-dark); }

/* ════════════════════════════════════════════════════════════
   MY ACCOUNT
   ════════════════════════════════════════════════════════════ */

/* ── Base .woocommerce reset (fight Divi) ── */
.an-wc-account .woocommerce {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.an-wc-account {
    padding: 40px 0 120px;
}

/* ── Native Woo block pages: Cart / Checkout ── */
.an-page-cart .wp-site-blocks,
.an-page-checkout .wp-site-blocks {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.an-page-cart .an-wc-block-page,
.an-page-checkout .an-wc-block-page {
    min-height: 72vh;
    background: var(--an-cream);
}
.an-page-cart .an-wc-block-page__content,
.an-page-checkout .an-wc-block-page__content {
    width: 100%;
    max-width: 1520px !important;
    margin: 0 auto !important;
    padding: 44px 40px 132px !important;
    box-sizing: border-box;
}
.an-page-account .an-wc-block-page__content--account {
    width: 100%;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 30px 40px 168px !important;
    box-sizing: border-box;
}
body.admin-bar.an-page-cart .an-wc-page__head {
    padding-top: calc(32px + var(--topbar-h,36px) + var(--an-header-h, 68px) + 10px);
}
body.admin-bar.an-page-checkout .an-wc-page__head {
    padding-top: calc(32px + var(--topbar-h,36px) + var(--an-header-h, 68px) + 10px);
}
body.admin-bar.an-page-account .an-wc-page__head {
    padding-top: calc(32px + var(--topbar-h,36px) + var(--an-header-h, 68px) + 10px);
}
.an-page-cart .wc-block-store-notices,
.an-page-checkout .wc-block-store-notices {
    margin: 0 0 22px !important;
}
.an-page-cart .wc-block-components-notice-banner,
.an-page-checkout .wc-block-components-notice-banner {
    border-radius: 8px;
    border: 1px solid rgba(var(--an-gold-rgb),0.3);
    background: rgba(var(--an-gold-rgb),0.06);
    color: var(--an-dark);
    font-family: var(--an-sans);
    font-size: 12px;
    box-shadow: none;
}
.an-page-cart .wc-block-components-notice-banner a,
.an-page-checkout .wc-block-components-notice-banner a {
    color: var(--an-gold-dark);
}

.an-page-cart .wp-block-woocommerce-cart,
.an-page-checkout .wp-block-woocommerce-checkout {
    margin: 0 !important;
}

.an-page-cart .wc-block-components-sidebar-layout.wc-block-cart {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(340px, 388px);
    gap: 42px;
    align-items: start;
}
.an-page-cart .wc-block-cart__main {
    min-width: 0;
    background: #fff;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 18px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    overflow: hidden;
}
.an-page-cart .wc-block-cart-items {
    margin: 0;
    border: none;
}
.an-page-cart .wc-block-cart-items__header th {
    padding: 16px 20px;
    border-bottom: 1px solid var(--an-off-white);
    background: #fff;
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light);
}
.an-page-cart .wc-block-cart-items__row td {
    padding: 18px 20px;
    border-bottom: 1px solid var(--an-off-white);
    vertical-align: middle;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
}
.an-page-cart .wc-block-cart-items__row:last-child td {
    border-bottom: none;
}
.an-page-cart .wc-block-cart-item__image {
    width: 110px;
}
.an-page-cart .wc-block-cart-item__image img {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: 8px;
    background: #f7f2ec;
}
.an-page-cart .wc-block-components-product-name {
    display: inline-block;
    margin-bottom: 10px;
    font-family: var(--an-serif);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--an-dark);
    text-decoration: none;
}
.an-page-cart .wc-block-components-product-name:hover {
    color: var(--an-gold-dark);
}
.an-page-cart .wc-block-components-product-details {
    font-size: 12px;
    color: var(--an-grey);
}
.an-page-cart .wc-block-cart-item__prices,
.an-page-cart .wc-block-cart-item__total {
    white-space: nowrap;
}
.an-page-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.an-page-cart .wc-block-cart-item__quantity {
    justify-content: center;
}
.an-page-cart .wc-block-components-quantity-selector {
    height: 40px;
    border: 1px solid var(--an-grey-light);
    border-radius: 6px;
    overflow: hidden;
}
.an-page-cart .wc-block-components-quantity-selector__input {
    border: none;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
}
.an-page-cart .wc-block-components-quantity-selector__button {
    color: var(--an-dark);
}
.an-page-cart .wc-block-cart-item__remove-link {
    color: var(--an-grey-light);
}
.an-page-cart .wc-block-cart-item__remove-link:hover {
    color: #d05b4f;
}
.an-page-cart .wc-block-cart__sidebar {
    position: sticky;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 28px);
    align-self: start;
    background: #fff;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 18px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    padding: 28px 28px 30px;
}
.an-page-cart .wc-block-cart__totals-title,
.an-page-cart .wc-block-components-panel__button {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light);
}
.an-page-cart .wc-block-components-panel__button {
    padding-left: 0;
    padding-right: 0;
}
.an-page-cart .wc-block-components-panel__button:hover,
.an-page-cart .wc-block-components-panel__button:focus {
    color: var(--an-gold-dark);
}
.an-page-cart .wc-block-components-totals-item,
.an-page-cart .wc-block-components-totals-footer-item {
    padding: 10px 0;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
}
.an-page-cart .wc-block-components-totals-item__label {
    color: var(--an-charcoal);
}
.an-page-cart .wc-block-components-totals-footer-item {
    padding-top: 16px;
    font-size: 16px;
    font-weight: 600;
}
.an-page-cart .wc-block-cart__submit {
    margin-top: 20px;
}
.an-page-cart .wc-block-cart__submit-button {
    min-height: 52px;
    border-radius: 4px;
    border: none;
    background: var(--an-gold);
    color: #fff;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.an-page-cart .wc-block-cart__submit-button:hover {
    background: var(--an-gold-dark);
}

.an-page-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(340px, 396px);
    gap: 42px;
    align-items: start;
}
.an-page-checkout .wc-block-checkout__main {
    min-width: 0;
}
.an-page-checkout .wc-block-components-checkout-step,
.an-page-checkout .wc-block-checkout__terms,
.an-page-checkout .wc-block-checkout__actions {
    background: #fff;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 18px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    padding: 26px 28px;
}
.an-page-checkout .wc-block-checkout__terms,
.an-page-checkout .wc-block-checkout__actions {
    margin-top: 20px;
}
.an-page-checkout .wc-block-components-checkout-step__title,
.an-page-checkout .wc-block-components-checkout-order-summary__title-text {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light);
}
.an-page-checkout .wc-block-components-form .wc-block-components-text-input input,
.an-page-checkout .wc-block-components-form .wc-block-components-combobox-control .components-combobox-control__input,
.an-page-checkout .wc-block-components-form .wc-blocks-components-select__select,
.an-page-checkout .wc-block-components-form textarea {
    border-color: var(--an-off-white);
    border-radius: 6px;
    background: #fff;
    font-family: var(--an-sans);
    color: var(--an-dark);
    box-shadow: none;
}
.an-page-checkout .wc-block-components-form .wc-block-components-text-input input:focus,
.an-page-checkout .wc-block-components-form .wc-blocks-components-select__select:focus,
.an-page-checkout .wc-block-components-form textarea:focus {
    border-color: var(--an-gold);
    box-shadow: 0 0 0 3px rgba(var(--an-gold-rgb),0.08);
}
.an-page-checkout .wc-block-components-form .wc-block-components-text-input label,
.an-page-checkout .wc-block-components-form .wc-blocks-components-select__label,
.an-page-checkout .wc-block-components-form .wc-block-components-checkbox__label {
    font-family: var(--an-sans);
    color: var(--an-grey);
}
.an-page-checkout .wc-block-components-radio-control__option,
.an-page-checkout .wc-block-components-address-card,
.an-page-checkout .wc-block-components-address-form {
    border-radius: 10px;
}
.an-page-checkout .wc-block-checkout__sidebar {
    position: sticky;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 28px);
    align-self: start;
    background: #fff;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 18px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    padding: 24px 24px 26px;
}
.an-page-checkout .wc-block-components-order-summary-item {
    font-family: var(--an-sans);
}
.an-page-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-family: var(--an-serif);
    font-size: 16px;
    color: var(--an-dark);
}
.an-page-checkout .wc-block-components-totals-item,
.an-page-checkout .wc-block-components-totals-footer-item {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-dark);
}
.an-page-checkout .wc-block-components-totals-footer-item {
    font-size: 16px;
    font-weight: 600;
}
.an-page-checkout .wc-block-checkout__actions_row {
    align-items: center;
    gap: 16px;
}
.an-page-checkout .wc-block-components-checkout-return-to-cart-button {
    color: var(--an-grey);
    text-decoration: none;
    font-family: var(--an-sans);
    font-size: 12px;
}
.an-page-checkout .wc-block-components-button,
.an-page-checkout .wp-element-button {
    min-height: 52px;
    border-radius: 4px;
    border: none;
    background: var(--an-gold);
    color: #fff;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.an-page-checkout .wc-block-components-button:hover,
.an-page-checkout .wp-element-button:hover {
    background: var(--an-gold-dark);
}

/* ── FSE account page shell (body class: .an-page-account) ── */
.an-page-account .wp-site-blocks {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.an-page-account main.an-page-content.wp-block-group {
    flex: 1 0 auto;
    width: 100%;
    max-width: none !important;
    padding-top: 0 !important;
    padding-bottom: 172px !important;
}
.an-page-account main.an-page-content > .entry-content.wp-block-post-content {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.an-page-account .woocommerce {
    width: 100%;
    max-width: none !important;
    box-sizing: border-box;
}
.an-page-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 56px !important;
    flex-wrap: nowrap !important;
    min-height: 760px;
}

/* ── Logged-in layout: flex row ── */
.an-wc-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 56px !important;
    flex-wrap: nowrap !important;
    max-width: 1500px;
    margin: 0 auto !important;
    min-height: 620px;
}
.an-wc-account .woocommerce-notices-wrapper {
    display: none !important; /* empty div — hide to avoid flex gap */
}
.an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) h2 {
    font-family: var(--an-serif) !important;
    font-size: 26px !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    letter-spacing: 0.05em;
    line-height: 1.1;
    margin: 0 0 10px !important;
    text-align: center;
}
.an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
    max-width: 1180px;
    margin: 0 auto !important;
    padding: 0 24px;
}
.an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation))::before,
.an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation))::after {
    content: "";
    display: table;
}
.an-wc-account .u-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    max-width: 1040px;
    margin: 0 auto;
    align-items: start;
    position: relative;
}
.an-wc-account .u-columns::before {
    content: "";
    position: absolute;
    inset: -18px;
    background:
        radial-gradient(circle at top left, rgba(var(--an-gold-rgb),0.14), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.28));
    border: 1px solid rgba(201,179,162,0.16);
    border-radius: 28px;
    pointer-events: none;
    z-index: 0;
}
@media(max-width:680px) { .an-wc-account .u-columns { grid-template-columns: 1fr; } }

/* Login / Register individual forms */
.an-wc-account .woocommerce-form-login,
.an-wc-account .woocommerce-form-register {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-self: start;
    margin: 0 !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,241,235,0.96));
    border: 1px solid rgba(201,179,162,0.24) !important;
    border-radius: 24px;
    padding: 42px 38px 24px;
    box-shadow: 0 24px 56px rgba(42,38,35,0.08);
}
.an-wc-account .woocommerce-form-login::before,
.an-wc-account .woocommerce-form-register::before {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 8px 12px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: rgba(var(--an-gold-rgb),0.10);
    color: var(--an-gold-dark);
    font-family: var(--an-sans) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.an-wc-account .woocommerce-form-login::before {
    content: "Returning Client";
}
.an-wc-account .woocommerce-form-register::before {
    content: "Create Account";
}
.an-wc-account .woocommerce-form-login h2,
.an-wc-account .woocommerce-form-register h2 {
    font-family: var(--an-serif) !important;
    font-size: 30px !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    line-height: 1.08;
    letter-spacing: 0.04em;
    margin: 0 0 10px !important;
    text-align: left;
}
.an-wc-account .woocommerce-form-login p:not(.form-row):not(.woocommerce-LostPassword),
.an-wc-account .woocommerce-form-register p:not(.form-row):not(.woocommerce-LostPassword) {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    line-height: 1.75;
    color: var(--an-grey) !important;
}
.an-wc-account .woocommerce-form-login .clear,
.an-wc-account .woocommerce-form-register .clear {
    display: none !important;
}

/* ── Side navigation ── */
.an-wc-account .woocommerce-MyAccount-navigation {
    flex: 0 0 260px !important;
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(201,179,162,0.22);
    box-shadow: 0 18px 40px rgba(42,38,35,0.05);
    position: sticky !important;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 20px);
}
.an-page-account .woocommerce-MyAccount-navigation {
    flex: 0 0 252px !important;
    width: 252px !important;
    min-width: 252px !important;
    max-width: 252px !important;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(201,179,162,0.22);
    box-shadow: 0 18px 40px rgba(42,38,35,0.05);
    position: sticky !important;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 26px);
}
.an-wc-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.an-page-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.an-wc-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
}
.an-page-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
}
.an-wc-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 16px 22px !important;
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--an-muted) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--an-off-white) !important;
    transition: color 0.2s, background 0.2s;
    letter-spacing: 0.02em;
}
.an-page-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 17px 22px !important;
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--an-muted) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--an-off-white) !important;
    transition: color 0.2s, background 0.2s;
    letter-spacing: 0.02em;
}
.an-wc-account .woocommerce-MyAccount-navigation ul li:last-child a {
    border-bottom: none !important;
}
.an-page-account .woocommerce-MyAccount-navigation ul li:last-child a {
    border-bottom: none !important;
}
.an-wc-account .woocommerce-MyAccount-navigation ul li a:hover,
.an-wc-account .woocommerce-MyAccount-navigation ul li.is-active a,
.an-wc-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    background: rgba(var(--an-gold-rgb),0.06) !important;
    color: var(--an-gold) !important;
}
.an-page-account .woocommerce-MyAccount-navigation ul li a:hover,
.an-page-account .woocommerce-MyAccount-navigation ul li.is-active a,
.an-page-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    background: rgba(var(--an-gold-rgb),0.06) !important;
    color: var(--an-gold) !important;
}

/* ── Account content panel ── */
.an-wc-account .woocommerce-MyAccount-content {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 760px;
    background: #fff;
    border-radius: 18px;
    padding: 60px 64px 78px;
    border: 1px solid rgba(201,179,162,0.18);
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
}
.an-page-account .woocommerce-MyAccount-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 760px;
    background: #fff;
    border-radius: 18px;
    padding: 62px 62px 78px;
    border: 1px solid rgba(201,179,162,0.18);
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
}
.an-wc-account .woocommerce-MyAccount-content p {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    color: var(--an-grey) !important;
    line-height: 1.7;
    margin-bottom: 14px !important;
}
.an-page-account .woocommerce-MyAccount-content p {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    color: var(--an-grey) !important;
    line-height: 1.7;
    margin-bottom: 14px !important;
}
.an-wc-account .woocommerce-MyAccount-content p a {
    color: var(--an-gold) !important;
    text-decoration: none;
}
.an-page-account .woocommerce-MyAccount-content p a {
    color: var(--an-gold) !important;
    text-decoration: none;
}
.an-wc-account .woocommerce-MyAccount-content p a:hover {
    text-decoration: underline;
}
.an-page-account .woocommerce-MyAccount-content p a:hover {
    text-decoration: underline;
}
.an-wc-account .woocommerce-MyAccount-content h2,
.an-wc-account .woocommerce-MyAccount-content h3 {
    font-family: var(--an-serif) !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    letter-spacing: 0.03em;
    margin: 0 0 20px !important;
}
.an-page-account .woocommerce-MyAccount-content h2,
.an-page-account .woocommerce-MyAccount-content h3 {
    font-family: var(--an-serif) !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    letter-spacing: 0.03em;
    margin: 0 0 20px !important;
}
.an-wc-account .woocommerce-MyAccount-content h2 { font-size: 22px !important; }
.an-wc-account .woocommerce-MyAccount-content h3 { font-size: 17px !important; }
.an-page-account .woocommerce-MyAccount-content h2 { font-size: 22px !important; }
.an-page-account .woocommerce-MyAccount-content h3 { font-size: 17px !important; }

/* ── Form rows / fields ── */
.an-wc-account .woocommerce-form-row,
.an-wc-account .form-row {
    margin-bottom: 16px !important;
}
.an-wc-account .woocommerce-form-login .form-row,
.an-wc-account .woocommerce-form-register .form-row {
    margin-bottom: 18px !important;
}
.an-wc-account label {
    display: block !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--an-charcoal) !important;
    margin-bottom: 6px !important;
}
.an-wc-account input[type="text"],
.an-wc-account input[type="email"],
.an-wc-account input[type="tel"],
.an-wc-account input[type="password"],
.an-wc-account select,
.an-wc-account textarea {
    width: 100% !important;
    min-height: 54px;
    padding: 15px 16px !important;
    border: 1px solid rgba(201,179,162,0.52) !important;
    border-radius: 12px !important;
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    color: var(--an-dark) !important;
    background: rgba(255,255,255,0.94) !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    -webkit-appearance: none;
    box-shadow: none !important;
    outline: none !important;
}
.an-wc-account input:focus,
.an-wc-account select:focus,
.an-wc-account textarea:focus {
    border-color: var(--an-gold) !important;
    box-shadow: 0 0 0 3px rgba(var(--an-gold-rgb),0.08) !important;
}

/* Remember me / checkbox rows */
.an-wc-account .woocommerce-form-login .form-row:last-child,
.an-wc-account .woocommerce-form-register .form-row:last-child {
    margin-bottom: 0 !important;
    padding-top: 4px;
}
.an-wc-account .woocommerce-form-login .form-row:not(.form-row-last),
.an-wc-account .woocommerce-form-register .form-row:not(.form-row-last) {
    display: block !important;
}
.an-wc-account .woocommerce-form-login .form-row.form-row-last,
.an-wc-account .woocommerce-form-register .form-row.form-row-last {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}
.an-wc-account .woocommerce-form-login .form-row label,
.an-wc-account .woocommerce-form-register .form-row label {
    text-align: left !important;
}
.an-wc-account .woocommerce-form-login .password-input,
.an-wc-account .woocommerce-form-register .password-input {
    display: block;
    width: 100%;
}
.an-wc-account .woocommerce-form-login .password-input input,
.an-wc-account .woocommerce-form-register .password-input input {
    width: 100% !important;
    padding-right: 44px !important;
}
.an-wc-account .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: center;
    gap: 8px;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--an-grey) !important;
    cursor: pointer;
}
.an-wc-account .woocommerce-form__label-for-checkbox input[type="checkbox"] {
    width: auto !important;
    margin: 0;
}
.an-wc-account .woocommerce-form__label-for-checkbox span {
    color: var(--an-grey) !important;
}

/* Submit buttons */
.an-wc-account .woocommerce-Button,
.an-wc-account button[type="submit"],
.an-wc-account input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 15px 28px;
    background: var(--an-dark) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border: none !important;
    border-radius: 999px;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    text-decoration: none;
    box-shadow: 0 18px 38px rgba(42,38,35,0.14);
}
.an-wc-account .woocommerce-Button:hover,
.an-wc-account button[type="submit"]:hover,
.an-wc-account input[type="submit"]:hover {
    background: var(--an-gold) !important;
    transform: translateY(-1px);
}
.an-wc-account .woocommerce-form-login .button,
.an-wc-account .woocommerce-form-register .button {
    width: 100%;
}

/* Lost password link */
.an-wc-account .woocommerce-LostPassword a,
.an-wc-account .lost_password a {
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    color: var(--an-grey) !important;
    text-decoration: none;
}
.an-wc-account .woocommerce-LostPassword,
.an-wc-account .lost_password {
    margin: 10px 0 0 !important;
}
.an-wc-account .woocommerce-LostPassword a:hover,
.an-wc-account .lost_password a:hover { color: var(--an-gold) !important; }

/* ── Orders table ── */
.an-wc-account .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
}
.an-wc-account .woocommerce-orders-table th {
    font-family: var(--an-sans) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light) !important;
    padding: 0 16px 14px 0 !important;
    text-align: left;
    border-bottom: 2px solid var(--an-off-white) !important;
}
.an-wc-account .woocommerce-orders-table td {
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    color: var(--an-dark) !important;
    padding: 16px 16px 16px 0 !important;
    border-bottom: 1px solid var(--an-off-white) !important;
    vertical-align: middle;
}
.an-wc-account .woocommerce-orders-table .woocommerce-button {
    display: inline-block;
    padding: 7px 16px;
    background: transparent;
    border: 1px solid var(--an-gold) !important;
    color: var(--an-gold) !important;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 3px;
    transition: background 0.2s, color 0.2s;
}
.an-wc-account .woocommerce-orders-table .woocommerce-button:hover {
    background: var(--an-gold) !important;
    color: #fff !important;
}

/* ── Order status badges ── */
.an-wc-account .wc-order-status,
.an-wc-account mark.order-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: var(--an-off-white);
    color: var(--an-grey);
}
.an-wc-account mark.order-status.status-processing { background: rgba(var(--an-gold-rgb),0.12); color: var(--an-gold); }
.an-wc-account mark.order-status.status-completed  { background: rgba(39,174,96,0.1);   color: #27ae60; }
.an-wc-account mark.order-status.status-on-hold    { background: rgba(52,152,219,0.1);  color: #3498db; }
.an-wc-account mark.order-status.status-cancelled  { background: rgba(231,76,60,0.1);   color: #e74c3c; }

/* ── Address page ── */

/* Two-column layout for billing + shipping */
.an-page-account .woocommerce-Addresses,
.an-page-account .col2-set.addresses {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
.an-page-account .woocommerce-Addresses .woocommerce-Address,
.an-page-account .col2-set.addresses .col-1,
.an-page-account .col2-set.addresses .col-2,
.an-page-account .col2-set.addresses .u-column1,
.an-page-account .col2-set.addresses .u-column2 {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Each address card */
.an-wc-account .woocommerce-Address {
    background: var(--an-cream);
    border-radius: 8px;
    padding: 24px;
    margin: 0 !important;
    height: 100%;
    box-sizing: border-box;
}

/* Title row: label left, edit button right */
.an-wc-account .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--an-off-white) !important;
    gap: 12px;
}
.an-wc-account .woocommerce-Address-title h3 {
    font-family: var(--an-sans) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--an-grey-light) !important;
    margin: 0 !important;
}
.an-wc-account .woocommerce-Address-title .edit {
    flex-shrink: 0;
    font-family: var(--an-sans) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--an-gold) !important;
    text-decoration: none !important;
    border: 1px solid var(--an-gold) !important;
    padding: 4px 12px !important;
    border-radius: 3px;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}
.an-wc-account .woocommerce-Address-title .edit:hover {
    background: var(--an-gold) !important;
    color: #fff !important;
}
/* Hide redundant label inside edit link ("Edit Billing address" → just "Edit") */
.an-wc-account .woocommerce-Address-title .edit span {
    display: none !important;
}

/* Address text */
.an-wc-account address {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    font-style: normal !important;
    line-height: 1.9 !important;
    color: var(--an-muted) !important;
    margin: 0 !important;
}

/* "Add address" link when no address set */
.an-wc-account .woocommerce-Address p a,
.an-wc-account .woocommerce-MyAccount-content a:not(.woocommerce-button):not(.button):not(.edit) {
    color: var(--an-gold) !important;
    text-decoration: none !important;
}
.an-wc-account .woocommerce-Address p a:hover,
.an-wc-account .woocommerce-MyAccount-content a:not(.woocommerce-button):not(.button):not(.edit):hover {
    text-decoration: underline !important;
}

/* Page description text */
.an-wc-account .woocommerce-MyAccount-content > p:first-child {
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    color: var(--an-grey-light) !important;
    margin-bottom: 24px !important;
}

@media(max-width:680px) {
    .an-page-account .woocommerce-Addresses,
    .an-page-account .col2-set.addresses { flex-direction: column !important; }
}

/* ── Account Details form ── */
/* Remove Divi eye-toggle background on password fields */
.an-wc-account .woocommerce-form-row .show-password-input,
.an-wc-account .show-password-input {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: var(--an-grey-light) !important;
    font-size: 14px !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    box-shadow: none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.an-wc-account .password-input {
    position: relative !important;
}
/* Display name hint */
.an-wc-account .woocommerce-form-row .description {
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    color: var(--an-grey-light) !important;
    margin-top: 6px !important;
    display: block;
    font-style: normal;
}

/* ── Downloads / Info notices ── */
.an-wc-account .woocommerce-info {
    background: var(--an-cream) !important;
    border: 1px solid var(--an-grey-light) !important;
    border-left: 3px solid var(--an-gold) !important;
    color: var(--an-dark) !important;
    border-radius: 4px !important;
    padding: 20px 24px !important;
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
    box-shadow: none !important;
}
.an-wc-account .woocommerce-info::before { display: none !important; }
.an-wc-account .woocommerce-info .button,
.an-wc-account .woocommerce-info a.button {
    display: inline-block !important;
    padding: 10px 22px !important;
    background: var(--an-dark) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 3px !important;
    border: none !important;
    transition: background 0.2s;
    flex-shrink: 0;
    margin-left: auto;
}
.an-wc-account .woocommerce-info .button:hover,
.an-wc-account .woocommerce-info a.button:hover { background: var(--an-gold) !important; }

/* ── Shared WC notices ───────────────────────────────────── */
.an-wc-page .woocommerce-message,
.an-wc-page .woocommerce-info,
.an-wc-page .woocommerce-error {
    border-radius: 6px;
    padding: 14px 20px;
    font-family: var(--an-sans);
    font-size: 13px;
    margin-bottom: 20px;
    list-style: none;
    border-top: none;
    display: flex;
    align-items: center;
    gap: 10px;
}
.an-wc-page .woocommerce-message { background: rgba(var(--an-gold-rgb),0.07); border-left: 3px solid var(--an-gold); color: var(--an-dark); }
.an-wc-page .woocommerce-info    { background: var(--an-cream);               border-left: 3px solid var(--an-gold); color: var(--an-dark); }
.an-wc-page .woocommerce-error   { background: rgba(231,76,60,0.06);  border-left: 3px solid #e74c3c; color: var(--an-dark); }
/* Buttons inside WC notices */
.an-wc-page .woocommerce-message .button,
.an-wc-page .woocommerce-info .button {
    margin-left: auto;
    padding: 9px 20px !important;
    background: var(--an-dark) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 3px !important;
    border: none !important;
    transition: background 0.2s;
}
.an-wc-page .woocommerce-message .button:hover,
.an-wc-page .woocommerce-info .button:hover { background: var(--an-gold) !important; }

/* ════════════════════════════════════════════════════════════
   SHOP ARCHIVE  (/shop/)
   ════════════════════════════════════════════════════════════ */

body.post-type-archive-product {
    background: var(--an-cream);
}

body.post-type-archive-product .wp-site-blocks > main.wp-block-group {
    position: relative;
    max-width: none;
    padding: calc(var(--topbar-h, 36px) + 88px) 28px 88px;
    background:
        radial-gradient(circle at top center, rgba(var(--an-gold-rgb), 0.14), transparent 34%),
        linear-gradient(180deg, rgba(63, 74, 60, 0.08) 0, rgba(246, 241, 235, 1) 220px);
}

body.post-type-archive-product .wp-site-blocks > main.wp-block-group > .alignwide,
body.post-type-archive-product .wp-site-blocks > main.wp-block-group > .wp-block-group.alignwide,
body.post-type-archive-product .wp-site-blocks > main.wp-block-group > .wp-block-woocommerce-product-collection.alignwide {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
}

body.post-type-archive-product .wc-block-breadcrumbs {
    margin-bottom: 20px;
}

body.post-type-archive-product .woocommerce-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid rgba(var(--an-gold-rgb), 0.24);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
    backdrop-filter: blur(10px);
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--an-grey);
}

body.post-type-archive-product .woocommerce-breadcrumb a {
    color: var(--an-black);
    text-decoration: none;
}

body.post-type-archive-product .woocommerce-breadcrumb a:hover {
    color: var(--an-gold-dark);
}

body.post-type-archive-product .wp-block-query-title {
    max-width: 820px;
    margin: 0 auto 18px;
    font-family: var(--an-serif);
    font-size: clamp(44px, 7vw, 84px);
    font-weight: 300;
    line-height: 0.95;
    letter-spacing: 0.03em;
    text-align: center;
    color: var(--an-black);
}

body.post-type-archive-product .wp-block-query-title::after {
    content: "Browse the full Ariana Nila collection, from keepsake pieces to occasion gifting and everyday signatures.";
    display: block;
    max-width: 640px;
    margin: 18px auto 0;
    font-family: var(--an-sans);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.04em;
    text-transform: none;
    color: var(--an-grey);
}

body.post-type-archive-product .wp-block-woocommerce-store-notices {
    margin-bottom: 0;
}

body.post-type-archive-product .wp-site-blocks > main.wp-block-group > .wp-block-group.alignwide.is-content-justification-space-between {
    align-items: center;
    gap: 20px;
    margin: 24px auto 30px;
    padding: 18px 22px;
    border: 1px solid rgba(var(--an-gold-rgb), 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 10px 30px rgba(42, 38, 35, 0.05);
    backdrop-filter: blur(12px);
}

body.post-type-archive-product .woocommerce-result-count {
    margin: 0;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--an-grey);
}

body.post-type-archive-product .woocommerce-ordering {
    margin: 0;
}

body.post-type-archive-product .woocommerce-ordering .orderby {
    min-width: 240px;
    padding: 12px 42px 12px 16px;
    border: 1px solid rgba(var(--an-gold-rgb), 0.28);
    border-radius: 999px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A6F5A' stroke-width='1.8'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    color: var(--an-black);
    font-family: var(--an-sans);
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    appearance: none;
    -webkit-appearance: none;
}

body.post-type-archive-product .woocommerce-ordering .orderby:focus {
    outline: none;
    border-color: var(--an-gold-dark);
    box-shadow: 0 0 0 3px rgba(var(--an-gold-rgb), 0.12);
}

body.post-type-archive-product .wp-block-woocommerce-product-collection {
    margin-bottom: 0;
}

body.post-type-archive-product .wc-block-product-template__responsive.columns-3 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

body.post-type-archive-product .wc-block-product {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    padding: 14px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 36px rgba(42, 38, 35, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.post-type-archive-product .wc-block-product:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 42px rgba(42, 38, 35, 0.1);
    border-color: rgba(var(--an-gold-rgb), 0.2);
}

body.post-type-archive-product .wc-block-components-product-image {
    margin-bottom: 0;
}

body.post-type-archive-product .wc-block-components-product-image a {
    display: block;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(180deg, #f8f4ef 0%, #efe6de 100%);
}

body.post-type-archive-product .wc-block-components-product-image img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    transition: transform 0.45s ease;
}

body.post-type-archive-product .wc-block-product:hover .wc-block-components-product-image img {
    transform: scale(1.04);
}

body.post-type-archive-product .wc-block-components-product-image img.woocommerce-placeholder {
    object-fit: contain !important;
    padding: 22%;
    box-sizing: border-box;
}

body.post-type-archive-product .wp-block-post-title {
    margin: 18px 0 8px;
    text-align: left !important;
    font-family: var(--an-serif);
    font-size: 24px !important;
    font-weight: 400;
    line-height: 1.2 !important;
    color: var(--an-black);
}

body.post-type-archive-product .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
}

body.post-type-archive-product .wp-block-post-title a:hover {
    color: var(--an-gold-dark);
}

body.post-type-archive-product .wp-block-woocommerce-product-price,
body.post-type-archive-product .wc-block-grid__product-price {
    margin-bottom: 14px !important;
    text-align: left !important;
}

body.post-type-archive-product .wc-block-grid__product-price {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
    line-height: 1.6;
}

body.post-type-archive-product .wc-block-components-product-price .woocommerce-Price-amount {
    color: var(--an-black);
    font-weight: 600;
}

body.post-type-archive-product .wc-block-components-product-button {
    margin-top: auto;
    align-items: stretch;
}

body.post-type-archive-product .wc-block-components-product-button .wp-block-button__link,
body.post-type-archive-product .wc-block-components-product-button .added_to_cart {
    width: 100%;
    min-height: 46px;
    padding: 13px 18px;
    border: 1px solid var(--an-gold);
    border-radius: 999px;
    background: transparent;
    color: var(--an-black);
    font-family: var(--an-sans);
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none;
    justify-content: center;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.post-type-archive-product .wc-block-components-product-button .wp-block-button__link:hover,
body.post-type-archive-product .wc-block-components-product-button .added_to_cart:hover {
    background: var(--an-gold);
    border-color: var(--an-gold);
    color: #fff;
}

body.post-type-archive-product .wc-block-components-product-button .added_to_cart {
    margin-top: 8px;
}

body.post-type-archive-product .wp-block-query-pagination {
    gap: 12px;
    margin-top: 42px;
    justify-content: center;
}

body.post-type-archive-product .wp-block-query-pagination a,
body.post-type-archive-product .wp-block-query-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid rgba(var(--an-gold-rgb), 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--an-black);
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
}

body.post-type-archive-product .wp-block-query-pagination .current,
body.post-type-archive-product .wp-block-query-pagination a:hover {
    background: var(--an-black);
    border-color: var(--an-black);
    color: #fff;
}

@media (max-width: 1180px) {
    body.post-type-archive-product .wc-block-product-template__responsive.columns-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    body.post-type-archive-product .wp-site-blocks > main.wp-block-group {
        padding-left: 18px;
        padding-right: 18px;
        padding-bottom: 72px;
    }

    body.post-type-archive-product .wp-site-blocks > main.wp-block-group > .wp-block-group.alignwide.is-content-justification-space-between {
        flex-direction: column;
        align-items: stretch;
    }

    body.post-type-archive-product .woocommerce-ordering .orderby {
        width: 100%;
        min-width: 0;
    }

    body.post-type-archive-product .wc-block-product-template__responsive.columns-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    body.post-type-archive-product .wp-block-post-title {
        font-size: 20px !important;
    }
}

@media (max-width: 560px) {
    body.post-type-archive-product .wp-block-query-title {
        font-size: 40px;
    }

    body.post-type-archive-product .wp-block-query-title::after {
        font-size: 12px;
    }

    body.post-type-archive-product .wc-block-product-template__responsive.columns-3 {
        grid-template-columns: 1fr;
    }

    body.post-type-archive-product .wc-block-product {
        border-radius: 18px;
        padding: 12px;
    }
}

/* ── WC breadcrumb ───────────────────────────────────────── */
.an-wc-breadcrumb {
    font-family: var(--an-sans);
    font-size: 12px;
    color: rgba(var(--an-white-rgb),0.4);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.an-wc-breadcrumb a { color: rgba(var(--an-white-rgb),0.5); text-decoration: none; }
.an-wc-breadcrumb a:hover { color: var(--an-gold); }

/* ── Responsive ──────────────────────────────────────────── */
@media(max-width:900px) {
    .an-wc-cart .an-wrap--wide,
    .an-wc-checkout .an-wrap--wide { padding-top: 40px; padding-bottom: 104px; }
    .an-wc-cart .woocommerce { grid-template-columns: 1fr; gap: 28px; }
    .an-wc-cart .woocommerce-cart-form,
    .an-wc-cart .cart-collaterals { grid-column: 1; grid-row: auto; }
    .an-wc-cart .cart_totals { position: static; }
    .an-wc-cart .actions { align-items: stretch; }
    .an-wc-cart .coupon { width: 100%; flex-wrap: wrap; }
    .an-wc-cart .coupon input#coupon_code { width: 100%; }
    .an-wc-cart .actions > .button[name="update_cart"] { margin-left: 0; }
    .an-wc-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr !important; row-gap: 22px !important; }
    .an-wc-checkout #customer_details,
    .an-wc-checkout #order_review_heading,
    .an-wc-checkout #order_review { grid-column: 1; }
    .an-wc-checkout #order_review { position: static; }
    .an-wc-account { padding: 28px 0 80px; }
    .an-wc-account .an-wrap--wide { padding-top: 48px; padding-bottom: 104px; }
    .an-page-cart .an-wc-block-page__content,
    .an-page-checkout .an-wc-block-page__content { padding: 34px 24px 104px !important; }
    .an-page-account .an-wc-block-page__content--account { padding: 22px 24px 104px !important; }
    .an-page-cart .wc-block-components-sidebar-layout.wc-block-cart,
    .an-page-checkout .wc-block-components-sidebar-layout.wc-block-checkout { grid-template-columns: 1fr; gap: 28px; }
    .an-page-cart .wc-block-cart__sidebar,
    .an-page-checkout .wc-block-checkout__sidebar { position: static; }
    .an-wc-account .woocommerce:has(.woocommerce-MyAccount-navigation) { flex-direction: column !important; }
    .an-wc-account .woocommerce-MyAccount-navigation { position: static !important; flex: none !important; width: 100% !important; max-width: none !important; min-width: 0 !important; }
    .an-wc-account .woocommerce-MyAccount-content { flex: none !important; width: 100% !important; min-height: 0; padding: 38px 28px 46px !important; border-radius: 14px; }
    .an-page-account main.an-page-content.wp-block-group { padding-top: 0 !important; padding-bottom: 122px !important; }
    .an-page-account .woocommerce:has(.woocommerce-MyAccount-navigation) { flex-direction: column !important; gap: 26px !important; padding: 0 24px !important; min-height: 0; }
    .an-page-account .woocommerce-MyAccount-navigation { position: static !important; flex: none !important; width: 100% !important; max-width: none !important; min-width: 0 !important; }
    .an-page-account .woocommerce-MyAccount-content { flex: none !important; width: 100% !important; min-height: 0; padding: 40px 30px 48px !important; border-radius: 14px; }
    .an-wc-account .u-columns { grid-template-columns: 1fr !important; }
    .an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { padding: 0 18px; }
    .an-wc-account .u-columns::before { inset: -12px; border-radius: 22px; }
    .an-wc-account .woocommerce-form-login,
    .an-wc-account .woocommerce-form-register { padding: 34px 28px 20px; border-radius: 20px; }
    .an-wc-account .woocommerce-form-login h2,
    .an-wc-account .woocommerce-form-register h2 { font-size: 26px !important; }
    .an-wc-checkout .woocommerce-billing-fields,
    .an-wc-checkout .woocommerce-shipping-fields,
    .an-wc-checkout .woocommerce-additional-fields { padding: 24px; border-radius: 14px; }
    .an-wc-checkout .woocommerce-checkout-review-order { padding: 22px; border-radius: 14px; }
    .an-wc-checkout .form-row-first, .an-wc-checkout .form-row-last { width: 100% !important; display: block !important; margin-right: 0 !important; }
    .an-wrap--wide { padding: 32px 20px 60px; }
}

/* ═══════════════════════════════════════════════════════════
   404 PAGE
   ═══════════════════════════════════════════════════════════ */

.an-404 {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--an-cream);
    padding: 80px 20px;
}

.an-404__inner {
    max-width: 640px;
    text-align: center;
}

.an-404__icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 32px;
    color: var(--an-gold);
    opacity: 0.7;
}
.an-404__icon svg { width: 100%; height: 100%; }

.an-404__title {
    font-family: var(--an-serif);
    font-size: clamp(28px, 5vw, 42px);
    font-weight: 300;
    letter-spacing: 0.04em;
    color: var(--an-dark);
    margin: 0 0 16px;
}

.an-404__text {
    font-family: var(--an-sans);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.7;
    color: var(--an-grey);
    margin: 0 0 40px;
}

.an-404__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 64px;
}

.an-404__help {
    padding-top: 48px;
    border-top: 1px solid #e5e5e5;
}

.an-404__help-title {
    font-family: var(--an-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--an-grey-light);
    margin: 0 0 20px;
}

.an-404__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 20px;
}

.an-404__links a {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s, color 0.2s;
}

.an-404__links a:hover {
    color: var(--an-gold);
    border-bottom-color: var(--an-gold);
}

.an-404__contact {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid #e5e5e5;
}

.an-404__contact p {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-charcoal);
    margin: 0;
}

.an-404__contact a {
    color: var(--an-gold);
    text-decoration: none;
    font-weight: 500;
}

.an-404__contact a:hover {
    text-decoration: underline;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */

.an-footer {
    --foot-bg:      var(--an-black);
    --foot-border:  rgba(var(--an-white-rgb),0.08);
    --foot-text:    rgba(var(--an-white-rgb),0.55);
    --foot-heading: rgba(var(--an-white-rgb),0.9);
    background: var(--foot-bg);
    color: var(--foot-text);
    font-family: var(--an-sans);
}

/* Hide Divi's default footer */
#main-footer,
#footer-bottom,
#footer-info,
.et-social-icons,
.footer-widget,
#footer-widgets { display: none !important; }

/* ─── Newsletter strip ─────────────────────────── */
.an-footer {
    border-top: 2px solid var(--an-gold);
}

.an-footer__newsletter {
    background: linear-gradient(135deg, var(--an-dark) 0%, var(--an-black) 100%);
    border-bottom: 1px solid var(--foot-border);
    padding: 64px 0;
}

.an-footer__newsletter-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.an-footer__nl-title {
    font-family: var(--an-serif);
    font-size: clamp(20px, 2.5vw, 28px);
    font-weight: 300;
    color: #fff;
    margin: 8px 0 0;
    line-height: 1.3;
}

.an-footer__nl-fields {
    display: flex;
    gap: 0;
    margin-bottom: 10px;
}

.an-footer__nl-input {
    flex: 1;
    font-family: var(--an-sans);
    font-size: 13px;
    padding: 13px 16px;
    border: 1px solid rgba(var(--an-white-rgb),0.2);
    border-right: none;
    border-radius: 3px 0 0 3px;
    background: rgba(var(--an-white-rgb),0.06);
    color: #fff;
    outline: none;
    transition: border-color 0.2s;
}

.an-footer__nl-input::placeholder { color: rgba(var(--an-white-rgb),0.35); }
.an-footer__nl-input:focus { border-color: var(--an-gold); }

.an-footer__newsletter .an-btn--gold {
    border-radius: 0 3px 3px 0;
    white-space: nowrap;
    font-size: 11px;
}

.an-footer__nl-note {
    font-size: 11px;
    color: rgba(var(--an-white-rgb),0.3);
    margin: 0;
}

.an-footer__nl-success {
    font-size: 13px;
    color: var(--an-gold);
    margin: 8px 0 0;
}

/* ─── Main columns ─────────────────────────────── */
.an-footer__main {
    padding: 64px 0 48px;
    border-bottom: 1px solid var(--foot-border);
}

.an-footer__cols {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1.4fr;
    gap: 40px;
}

/* Brand column */
.an-footer__logo {
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-decoration: none;
    margin-bottom: 20px;
}

.an-footer__logo-text {
    font-family: var(--an-serif);
    font-size: 18px;
    letter-spacing: 0.22em;
    color: #fff;
    font-weight: 400;
}

.an-footer__logo-sub {
    font-family: var(--an-sans);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--an-gold);
}

.an-footer__brand-text {
    font-size: 13px;
    line-height: 1.75;
    color: var(--foot-text);
    margin: 0 0 24px;
    max-width: 240px;
}

.an-footer__social {
    display: flex;
    gap: 12px;
}

.an-footer__social-link {
    width: 36px;
    height: 36px;
    border: 1px solid var(--foot-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--foot-text);
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    flex-shrink: 0;
}

.an-footer__social-link svg {
    width: 15px;
    height: 15px;
}

.an-footer__social-link:hover {
    border-color: var(--an-gold);
    color: var(--an-gold);
    background: rgba(var(--an-gold-rgb),0.08);
}

/* Nav columns */
.an-footer__col-title {
    font-family: var(--an-sans);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--foot-heading);
    margin: 0 0 16px;
    font-weight: 600;
}

.an-footer__nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.an-footer__nav a {
    font-size: 13px;
    color: var(--foot-text);
    text-decoration: none;
    transition: color 0.2s;
    line-height: 1.4;
}

.an-footer__nav a:hover { color: #fff; }

/* Contact column */
.an-footer__address {
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.an-footer__address p {
    font-size: 13px;
    color: var(--foot-text);
    margin: 0;
    line-height: 1.6;
}

.an-footer__wa-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #25D366 !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}

.an-footer__wa-link svg { width: 16px; height: 16px; }
.an-footer__wa-link:hover { color: #1ebe5d !important; }

.an-footer__email-link {
    color: var(--foot-text);
    text-decoration: none;
    font-size: 13px;
}

.an-footer__email-link:hover { color: #fff; }

.an-btn--outline-gold {
    background: transparent;
    border: 1px solid var(--an-gold);
    color: var(--an-gold);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.an-btn--outline-gold:hover {
    background: var(--an-gold);
    color: #fff;
}

.an-footer__appt-btn {
    font-size: 11px;
    letter-spacing: 0.1em;
    padding: 10px 18px;
    margin-top: 4px;
}

/* ─── Trust bar ────────────────────────────────── */
.an-footer__trust {
    border-bottom: 1px solid var(--foot-border);
    padding: 24px 0;
}

.an-footer__trust-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.an-footer__trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(var(--an-white-rgb),0.4);
}

.an-footer__trust-item svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: var(--an-gold);
    opacity: 0.7;
}

/* ─── Bottom bar ───────────────────────────────── */
.an-footer__bottom {
    padding: 20px 0;
}

.an-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.an-footer__copyright {
    font-size: 12px;
    color: rgba(var(--an-white-rgb),0.3);
    margin: 0;
}

.an-footer__legal-nav {
    display: flex;
    gap: 20px;
}

.an-footer__legal-nav a {
    font-size: 11px;
    color: rgba(var(--an-white-rgb),0.3);
    text-decoration: none;
    letter-spacing: 0.04em;
    transition: color 0.2s;
}

.an-footer__legal-nav a:hover { color: rgba(var(--an-white-rgb),0.7); }

.an-footer__made {
    font-size: 11px;
    color: rgba(var(--an-white-rgb),0.2);
    margin: 0;
    letter-spacing: 0.06em;
}

/* ─── Floating WhatsApp ────────────────────────── */
.an-wa-float {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 1500;
    width: 54px;
    height: 54px;
    background: #25D366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(37,211,102,0.4);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
}

.an-wa-float svg {
    width: 26px;
    height: 26px;
    color: #fff;
}

.an-wa-float:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 28px rgba(37,211,102,0.55);
}

.an-wa-float__tooltip {
    position: absolute;
    right: 62px;
    background: var(--an-black);
    color: #fff;
    font-family: var(--an-sans);
    font-size: 12px;
    white-space: nowrap;
    padding: 6px 12px;
    border-radius: 3px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.an-wa-float__tooltip::after {
    content: '';
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-left-color: var(--an-black);
}

.an-wa-float:hover .an-wa-float__tooltip { opacity: 1; }

/* ─── Footer responsive ────────────────────────── */
@media (max-width: 1024px) {
    .an-footer__cols {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .an-footer__col--brand { grid-column: 1 / -1; }
    .an-footer__col--contact { grid-column: span 1; }
}

@media (max-width: 768px) {
    .an-footer__newsletter-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .an-footer__cols {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .an-footer__col--brand { grid-column: 1 / -1; }

    .an-footer__trust-inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .an-footer__bottom-inner {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .an-wa-float {
        bottom: 20px;
        right: 20px;
        width: 48px;
        height: 48px;
    }

    .an-wa-float__tooltip { display: none; }
}

@media (max-width: 480px) {
    .an-footer__cols { grid-template-columns: 1fr; }
    .an-footer__trust-inner { grid-template-columns: 1fr; }
    .an-footer__legal-nav { flex-direction: column; gap: 8px; align-items: center; }
}

/* ═══════════════════════════════════════════════════════════
   THANK YOU PAGE  (.an-ty)
   ═══════════════════════════════════════════════════════════ */

.an-ty {
    padding: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 48px) 24px 120px;
    background: var(--an-cream, #FAF9F6);
    min-height: 60vh;
}

body.admin-bar .an-ty {
    padding-top: calc(32px + var(--topbar-h, 36px) + var(--an-header-h, 68px) + 48px);
}

.an-ty__inner {
    max-width: 860px;
    margin: 0 auto;
}

/* Hero */
.an-ty__hero {
    text-align: center;
    margin-bottom: 48px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.an-ty__icon {
    font-size: 40px;
    line-height: 1;
    margin-bottom: 16px;
}

.an-ty__title {
    font-family: var(--an-serif);
    font-size: clamp(26px, 5vw, 42px);
    font-weight: 300;
    letter-spacing: 1px;
    color: var(--an-black);
    margin: 0 0 12px;
    line-height: 1.2;
}

.an-ty__sub {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-grey);
    line-height: 1.7;
    max-width: 480px;
    margin: 0 auto;
    letter-spacing: .2px;
}

/* Order summary card */
.an-ty__card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 20px rgba(0,0,0,.07);
    margin-bottom: 24px;
    overflow: hidden;
}

.an-ty__card-head {
    background: var(--an-black);
    color: #fff;
    padding: 13px 22px;
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.an-ty__item {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 20px;
    padding: 24px;
    border-bottom: 1px solid rgba(0,0,0,.06);
    align-items: center;
}

.an-ty__item-img {
    width: 88px;
    height: 88px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--an-off-white);
    flex-shrink: 0;
}

.an-ty__item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.an-ty__item-name {
    font-family: var(--an-serif);
    font-size: 17px;
    font-weight: 400;
    color: var(--an-black);
    margin: 0 0 6px;
    line-height: 1.3;
}

.an-ty__item-meta {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-charcoal);
    letter-spacing: .3px;
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 1.8;
}

.an-ty__totals {
    padding: 16px 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.an-ty__pay-method {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-grey-light);
    letter-spacing: .5px;
}

.an-ty__total-price {
    font-family: var(--an-serif);
    font-size: 22px;
    color: var(--an-black);
    font-weight: 400;
}

/* Info badge (QUOTE orders) */
.an-ty__badge {
    background: var(--an-off-white);
    border: 1px solid var(--an-gold-light);
    border-radius: 6px;
    padding: 14px 20px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-grey);
    line-height: 1.6;
}

.an-ty__badge-icon {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Generic info block */
.an-ty__block {
    background: #fff;
    border-radius: 6px;
    padding: 22px;
    margin-bottom: 24px;
    box-shadow: 0 1px 10px rgba(0,0,0,.05);
}

.an-ty__block-title {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--an-grey-light);
    margin: 0 0 12px;
}

.an-ty__block p,
.an-ty__block li {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-muted);
    line-height: 1.7;
    margin: 0 0 6px;
}

.an-ty__block p:last-child { margin-bottom: 0; }

.an-ty__steps-list {
    padding-left: 20px;
    margin: 0;
}

.an-ty__steps-list li + li { margin-top: 6px; }

/* Appointment card */
.an-ty__appointment-card {
    background: var(--an-black);
    color: #fff;
    border-radius: 6px;
    padding: 32px 28px;
    margin-bottom: 24px;
    text-align: center;
}

.an-ty__appointment-type {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--an-gold);
    margin: 0 0 24px;
}

.an-ty__appointment-when {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 24px;
}

.an-ty__appointment-detail {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.an-ty__appointment-location {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.an-ty__appointment-label {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(var(--an-white-rgb),.45);
}

.an-ty__appointment-value {
    font-family: var(--an-serif);
    font-size: 20px;
    font-weight: 300;
    color: #fff;
    line-height: 1.4;
    margin: 0;
}

/* CTAs row */
.an-ty__ctas {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.an-ty__ctas--left {
    justify-content: flex-start;
    margin-top: 14px;
    margin-bottom: 0;
}

/* WhatsApp button */
.an-ty__wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #25d366;
    color: #fff;
    padding: 14px 28px;
    border-radius: 2px;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s;
}

.an-ty__wa:hover {
    background: #1ebe5d;
    color: #fff;
    text-decoration: none;
}

/* Dark outline button (used on TY page) */
.an-btn--dark-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border: 1px solid var(--an-black);
    color: var(--an-black);
    background: transparent;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: background .2s, color .2s;
}

.an-btn--dark-outline:hover {
    background: var(--an-black);
    color: #fff;
    text-decoration: none;
}

/* Luxury closing quote */
.an-ty__close {
    text-align: center;
    padding-top: 48px;
    border-top: 1px solid rgba(0,0,0,.06);
    margin-top: 8px;
}

/* Thank-you page: account cards grid spacing */
.an-ty__account-cards {
    margin: 32px 0;
}

.an-ty__close p {
    font-family: var(--an-serif);
    font-size: 18px;
    font-weight: 300;
    font-style: italic;
    color: var(--an-grey-light);
    line-height: 1.8;
    max-width: 400px;
    margin: 0 auto;
}

/* ── Responsive ──────────────────────────────────────────── */

@media (max-width: 600px) {
    .an-ty { padding: 48px 16px 80px; }

    .an-ty__item {
        grid-template-columns: 64px 1fr;
        gap: 14px;
        padding: 16px;
    }

    .an-ty__item-img { width: 64px; height: 64px; }

    .an-ty__appointment-card { padding: 24px 18px; }
    .an-ty__appointment-when { grid-template-columns: 1fr; gap: 14px; }

    .an-ty__ctas { flex-direction: column; align-items: stretch; }
    .an-ty__wa   { justify-content: center; }
    .an-btn--dark-outline { text-align: center; }
}

/* ═══════════════════════════════════════════════════════════
   SERVICE PAGES  (.an-service-page, .an-service-form, .an-info-page)
   ═══════════════════════════════════════════════════════════ */

/* Hero */
.an-service-hero {
    padding: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 48px) 24px 48px;
    background: var(--an-black);
    text-align: center;
    color: #fff;
    min-height: 320px;
}

body.admin-bar .an-service-hero {
    padding-top: calc(32px + var(--topbar-h, 36px) + var(--an-header-h, 68px) + 48px);
}

.an-service-hero__eyebrow {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--an-gold);
    margin: 0 0 16px;
}

.an-service-hero__title {
    font-family: var(--an-serif);
    font-size: clamp(28px, 5vw, 52px);
    font-weight: 300;
    letter-spacing: 1px;
    color: #fff;
    margin: 0 0 16px;
    line-height: 1.2;
}

.an-service-hero__sub {
    font-family: var(--an-sans);
    font-size: 14px;
    color: rgba(var(--an-white-rgb),.65);
    line-height: 1.7;
    max-width: 580px;
    margin: 0 auto 24px;
}

.an-service-hero__price-badge {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    background: rgba(var(--an-gold-rgb), .12);
    border: 1px solid rgba(var(--an-gold-rgb), .4);
    border-radius: 4px;
    padding: 10px 22px;
    margin-top: 8px;
}

.an-service-hero__price {
    font-family: var(--an-serif);
    font-size: 28px;
    color: var(--an-gold);
    font-weight: 400;
}

.an-service-hero__price-note {
    font-family: var(--an-sans);
    font-size: 12px;
    color: rgba(var(--an-white-rgb),.55);
    letter-spacing: .3px;
}

/* Form wrap */
.an-service-main {
    background: var(--an-cream, #FAF9F6);
    min-height: 60vh;
}

.an-service-form-wrap {
    padding: 56px 0 100px;
    max-width: 640px;
    margin: 0 auto;
}

/* Multi-step indicator */
.an-custom-steps {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 40px;
}

.an-custom-step {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--an-grey-light);
    transition: color .2s;
}

.an-custom-step.is-active { color: var(--an-black); }
.an-custom-step.is-active .an-custom-step__num { background: var(--an-black); }

.an-custom-step__num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--an-off-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    transition: background .2s;
    flex-shrink: 0;
}

.an-custom-step__line {
    flex: 1;
    height: 1px;
    background: var(--an-off-white);
    margin: 0 12px;
}

/* Form sections */
.an-service-form__section {
    background: #fff;
    border-radius: 6px;
    padding: 28px;
    margin-bottom: 20px;
    box-shadow: 0 1px 12px rgba(0,0,0,.06);
}

.an-service-form__section-title {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--an-grey-light);
    margin: 0 0 20px;
}

.an-service-form__section-sub {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
    margin: -12px 0 20px;
    line-height: 1.6;
}

.an-service-form__row { margin-bottom: 16px; }
.an-service-form__row:last-child { margin-bottom: 0; }

.an-service-form__row--2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.an-service-form__row--2col > * { min-width: 0; }

.an-service-form__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.an-service-form__label {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--an-muted);
}

.an-service-form__req { color: var(--an-gold); }

.an-service-form__input {
    display: block;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-black);
    background: #fff;
    border: 1px solid var(--an-grey-light);
    border-radius: 3px;
    box-sizing: border-box;
    padding: 12px 14px;
    max-width: 100%;
    width: 100%;
    transition: border-color .2s;
    appearance: none;
    -webkit-appearance: none;
}

.an-service-form__field .iti {
    width: 100%;
    max-width: 100%;
}

.an-service-form__field .iti input[type="tel"] {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

.an-service-form__input:focus {
    outline: none;
    border-color: var(--an-gold);
}

.an-service-form__input--textarea {
    resize: vertical;
    min-height: 100px;
    line-height: 1.6;
}

/* Custom appointment calendar */
.an-service-form__date-picker {
    position: relative;
    width: 100%;
}

.an-service-form__date-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 49px;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--an-grey-light);
    border-radius: 3px;
    background: #fff;
    box-sizing: border-box;
    cursor: pointer;
    text-align: left;
    transition: border-color .2s, box-shadow .2s;
}

.an-service-form__date-display:focus,
.an-service-form__date-picker.is-open .an-service-form__date-display {
    outline: none;
    border-color: var(--an-gold);
    box-shadow: 0 0 0 3px rgba(var(--an-gold-rgb), .10);
}

.an-service-form__date-text {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-grey);
    line-height: 1.3;
}

.an-service-form__date-picker.is-filled .an-service-form__date-text {
    color: var(--an-black);
}

.an-service-form__date-icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B37C67' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.an-service-form__calendar {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 20;
    width: min(320px, 100%);
    padding: 18px;
    border: 1px solid rgba(201, 179, 162, .8);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(42, 38, 35, .14);
}

.an-service-form__calendar[hidden] {
    display: none;
}

.an-service-form__calendar-head {
    display: grid;
    grid-template-columns: 36px 1fr 36px;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.an-service-form__calendar-month {
    font-family: var(--an-serif);
    font-size: 22px;
    color: var(--an-black);
    text-align: center;
    letter-spacing: .02em;
}

.an-service-form__calendar-nav {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(201, 179, 162, .9);
    border-radius: 999px;
    background: var(--an-cream);
    color: var(--an-black);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}

.an-service-form__calendar-nav:hover:not(:disabled) {
    background: var(--an-off-white);
    border-color: var(--an-gold);
}

.an-service-form__calendar-nav:disabled {
    opacity: .35;
    cursor: not-allowed;
}

.an-service-form__calendar-weekdays,
.an-service-form__calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}

.an-service-form__calendar-weekdays {
    margin-bottom: 10px;
}

.an-service-form__calendar-weekdays span {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--an-grey-light);
    text-align: center;
}

.an-service-form__calendar-cell {
    display: block;
    min-height: 38px;
}

.an-service-form__calendar-day {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 38px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-black);
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s, transform .2s;
}

.an-service-form__calendar-day:hover {
    border-color: rgba(201, 179, 162, .9);
    background: var(--an-cream);
    transform: translateY(-1px);
}

.an-service-form__calendar-day.is-today {
    border-color: rgba(179, 124, 103, .45);
}

.an-service-form__calendar-day.is-selected {
    background: var(--an-gold);
    border-color: var(--an-gold);
    color: #fff;
}

.an-service-form__calendar-day.is-disabled {
    color: var(--an-grey-light);
    background: transparent;
    cursor: not-allowed;
    opacity: .55;
}

.an-service-form__calendar-day.is-fully-booked {
    border-color: rgba(201, 179, 162, .35);
    background: rgba(201, 179, 162, .12);
}

@media (max-width: 700px) {
    .an-service-form__calendar {
        width: 100%;
        padding: 16px;
    }
}

select.an-service-form__input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A6F5A' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 38px;
    cursor: pointer;
}

.an-service-form__select-proxy {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--an-grey-light);
    border-radius: 3px;
    background: #fff;
    color: var(--an-black);
    font-family: var(--an-sans);
    font-size: 14px;
    text-align: left;
    transition: border-color .2s, box-shadow .2s;
}

.an-service-form__select-proxy:focus {
    outline: none;
    border-color: var(--an-gold);
    box-shadow: 0 0 0 3px rgba(var(--an-gold-rgb), .10);
}

.an-service-form__select-proxy-icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    color: var(--an-grey);
}

.an-service-picker {
    position: fixed;
    inset: 0;
    z-index: 3000;
}

.an-service-picker[hidden] {
    display: none;
}

.an-service-picker__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(27, 23, 21, .42);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.an-service-picker__panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 18px 18px calc(18px + env(safe-area-inset-bottom, 0px));
    border-radius: 22px 22px 0 0;
    background: #fff;
    box-shadow: 0 -12px 38px rgba(42, 38, 35, .16);
}

.an-service-picker__grabber {
    width: 44px;
    height: 4px;
    border-radius: 999px;
    background: rgba(138, 111, 90, .22);
    margin: 0 auto 16px;
}

.an-service-picker__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.an-service-picker__title {
    margin: 0;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--an-grey);
}

.an-service-picker__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(201, 179, 162, .8);
    border-radius: 999px;
    background: var(--an-cream);
    color: var(--an-black);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.an-service-picker__options {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: min(56vh, 420px);
    overflow-y: auto;
    padding-right: 2px;
}

.an-service-picker__option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 52px;
    padding: 13px 16px;
    border: 1px solid rgba(201, 179, 162, .65);
    border-radius: 14px;
    background: #fff;
    color: var(--an-black);
    font-family: var(--an-sans);
    font-size: 13px;
    letter-spacing: .03em;
    text-align: left;
    cursor: pointer;
    transition: border-color .2s, background .2s, color .2s;
}

.an-service-picker__option.is-selected {
    border-color: var(--an-gold);
    background: rgba(var(--an-gold-rgb), .08);
}

.an-service-picker__option-check {
    opacity: 0;
    color: var(--an-gold-dark);
    font-size: 14px;
    font-weight: 700;
}

.an-service-picker__option.is-selected .an-service-picker__option-check {
    opacity: 1;
}

.an-service-form__slot-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.an-service-form__slot-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-height: 58px;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(201, 179, 162, .9);
    border-radius: 12px;
    background: #fff;
    color: var(--an-black);
    text-align: left;
    cursor: pointer;
    transition: border-color .2s, background .2s, transform .2s, box-shadow .2s;
}

.an-service-form__slot-btn:hover:not(:disabled) {
    border-color: var(--an-gold);
    background: rgba(var(--an-gold-rgb), .06);
    transform: translateY(-1px);
}

.an-service-form__slot-btn.is-selected {
    border-color: var(--an-black);
    background: var(--an-black);
    box-shadow: 0 12px 24px rgba(42, 38, 35, .12);
}

.an-service-form__slot-btn.is-disabled,
.an-service-form__slot-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    background: rgba(201, 179, 162, .1);
}

.an-service-form__slot-time {
    font-family: var(--an-sans);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .03em;
    color: inherit;
}

.an-service-form__slot-meta {
    font-family: var(--an-sans);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--an-grey);
}

.an-service-form__slot-btn.is-selected .an-service-form__slot-time,
.an-service-form__slot-btn.is-selected .an-service-form__slot-meta {
    color: #fff;
}

.an-service-form__slot-status {
    margin: 4px 0 0;
    font-family: var(--an-sans);
    font-size: 11px;
    line-height: 1.6;
    color: var(--an-grey-light);
}

.an-service-form__slot-status[data-state="success"] {
    color: #46624a;
}

.an-service-form__slot-status[data-state="warning"] {
    color: #9a6a2f;
}

.an-service-form__slot-status[data-state="error"] {
    color: #b34c3a;
}

.an-service-form__hint {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-grey-light);
    margin: 2px 0 0;
    line-height: 1.5;
}

/* Radio option group */
.an-service-form__opts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.an-service-form__opt-label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.an-service-form__opt-radio {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.an-service-form__opt-label span {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .5px;
    color: var(--an-muted);
    background: var(--an-off-white);
    border: 1px solid var(--an-grey-light);
    border-radius: 3px;
    padding: 7px 14px;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    display: inline-block;
}

.an-service-form__opt-radio:checked + span {
    background: var(--an-black);
    border-color: var(--an-black);
    color: #fff;
}

.an-service-form__opt-label:hover span {
    border-color: var(--an-gold);
    color: var(--an-black);
}

/* Form footer */
.an-service-form__footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: 8px;
}

.an-service-form__price-recap {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.an-service-form__price-label {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-grey-light);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.an-service-form__price-amount {
    font-family: var(--an-serif);
    font-size: 26px;
    color: var(--an-black);
    font-weight: 400;
}

.an-service-form__submit { align-self: stretch; justify-content: center; }

.an-service-form__terms {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-grey-light);
    line-height: 1.6;
    margin: 0;
}

.an-service-form__error {
    background: #fff5f5;
    border: 1px solid #f5c2c2;
    border-radius: 4px;
    padding: 12px 16px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: #c0392b;
    margin-top: 12px;
}

.an-service-form__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 8px;
}

/* Image upload zone */
.an-upload-zone {
    border: 2px dashed #ddd;
    border-radius: 6px;
    background: var(--an-cream);
    transition: border-color .2s, background .2s;
    cursor: pointer;
    position: relative;
}

.an-upload-zone.is-dragover,
.an-upload-zone:focus-within {
    border-color: var(--an-gold);
    background: var(--an-off-white);
}

.an-upload-zone.has-files { border-style: solid; }

.an-upload-zone__input {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    cursor: pointer;
    z-index: 1;
}

.an-upload-zone__inner {
    padding: 40px 24px;
    text-align: center;
    pointer-events: none;
}

.an-upload-zone.has-files .an-upload-zone__inner { padding: 20px 24px 0; }

.an-upload-zone__icon {
    display: block;
    margin: 0 auto 12px;
    color: var(--an-grey-light);
}

.an-upload-zone__text {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
    margin: 0 0 4px;
}

.an-upload-zone__browse { color: var(--an-gold); text-decoration: underline; }

.an-upload-zone__hint {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-grey-light);
    margin: 0;
}

.an-upload-zone__previews {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 16px;
    pointer-events: none;
}

.an-upload-preview__img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #eee;
}

/* Step back button */
.an-step-back {
    min-height: auto;
    padding: 10px 20px;
}

/* Success state */
.an-service-success {
    text-align: center;
    padding: 60px 24px;
}

.an-service-success__icon { font-size: 48px; margin-bottom: 20px; }

.an-service-success__title {
    font-family: var(--an-serif);
    font-size: clamp(24px, 4vw, 36px);
    font-weight: 300;
    letter-spacing: 1px;
    color: var(--an-black);
    margin: 0 0 14px;
}

.an-service-success__sub {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-grey);
    line-height: 1.7;
    max-width: 500px;
    margin: 0 auto 36px;
}

.an-service-success__steps {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 360px;
    margin: 0 auto 40px;
    text-align: left;
}

.an-service-success__step {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-muted);
}

.an-service-success__step-dot {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--an-off-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: var(--an-grey-light);
    flex-shrink: 0;
}

.an-service-success__step--done .an-service-success__step-dot {
    background: #2e7d32;
    color: #fff;
}

/* Info pages (.an-info-page) */
.an-info-page {
    padding: 56px 24px 100px;
}

.an-info-section {
    margin-bottom: 40px;
}

.an-info-section__title {
    font-family: var(--an-serif);
    font-size: 22px;
    font-weight: 400;
    color: var(--an-black);
    margin: 0 0 14px;
    letter-spacing: .5px;
    border-bottom: 1px solid rgba(0,0,0,.08);
    padding-bottom: 10px;
}

.an-info-section p,
.an-info-section li {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-muted);
    line-height: 1.8;
    margin: 0 0 12px;
}

.an-info-section ul,
.an-info-section ol {
    padding-left: 20px;
    margin: 0 0 12px;
}

.an-info-cta-block {
    margin-top: 48px;
    padding: 32px;
    background: var(--an-black);
    border-radius: 6px;
    color: #fff;
    text-align: center;
}
.an-info-cta-block .an-btn,
.an-info-cta-block a.an-btn {
    border-color: var(--an-gold) !important;
    color: var(--an-gold) !important;
    background: transparent !important;
}
.an-info-cta-block .an-btn:hover,
.an-info-cta-block a.an-btn:hover {
    background: var(--an-gold) !important;
    color: var(--an-black) !important;
}

.an-info-cta-block p {
    font-family: var(--an-serif);
    font-size: 18px;
    font-weight: 300;
    color: rgba(var(--an-white-rgb),.8);
    margin: 0 0 20px;
}

/* FAQ accordion */
.an-faq-item {
    border-bottom: 1px solid rgba(0,0,0,.08);
    padding: 4px 0;
    margin-bottom: 0;
}

.an-faq-item summary {
    font-family: var(--an-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--an-black);
    cursor: pointer;
    padding: 14px 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.an-faq-item summary::after {
    content: '+';
    font-size: 18px;
    color: var(--an-gold);
    flex-shrink: 0;
    margin-left: 12px;
    transition: transform .2s;
}

.an-faq-item[open] summary::after { transform: rotate(45deg); }

.an-faq-item p { padding-bottom: 14px; }

/* Learn table */
.an-learn-table table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--an-sans);
    font-size: 13px;
}

.an-learn-table th {
    background: var(--an-black);
    color: #fff;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    letter-spacing: .5px;
}

.an-learn-table td {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(0,0,0,.07);
    color: var(--an-dark);
}

.an-learn-table tr:nth-child(even) td { background: var(--an-cream); }

/* ── Responsive ──────────────────────────────────────────── */

@media (max-width: 700px) {
    .an-service-form__row--2col { grid-template-columns: 1fr; }
    .an-service-form__slot-grid { grid-template-columns: 1fr; }
    .an-service-form-wrap { padding: 32px 16px 80px; }
    .an-service-form__section { padding: 20px 16px; }
    .an-service-form__footer { align-items: stretch; }
    .an-custom-steps { margin-bottom: 28px; }
    .an-service-hero { padding-left: 20px; padding-right: 20px; }
    .an-info-cta-block { padding: 24px 16px; }
    .an-learn-table { overflow-x: auto; display: block; }
    select.an-service-form__input.is-mobile-picker {
        display: none;
    }
    .an-service-form__select-proxy.is-mobile-picker {
        display: flex;
    }
}

/* ═══════════════════════════════════════════════════════════
   ORDER TRACKING PAGE  (.an-track-*)
   ═══════════════════════════════════════════════════════════ */

.an-track-wrap {
    padding: 56px 0 100px;
    max-width: 760px;
    margin: 0 auto;
}

.an-track-form__footer {
    margin-top: 8px;
    display: flex;
    justify-content: flex-start;
}

/* Status timeline */
.an-track-timeline {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 16px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.an-track-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.an-track-step__dot {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    background: var(--an-off-white);
    color: var(--an-grey-light);
    transition: background .2s, color .2s;
}

.an-track-step--done .an-track-step__dot {
    background: #2e7d32;
    color: #fff;
}

.an-track-step--active .an-track-step__dot {
    background: var(--an-gold);
    color: #fff;
    box-shadow: 0 0 0 4px rgba(var(--an-gold-rgb), .2);
}

.an-track-step__label {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--an-grey-light);
    text-align: center;
    max-width: 80px;
    line-height: 1.3;
}

.an-track-step--done .an-track-step__label,
.an-track-step--active .an-track-step__label {
    color: var(--an-black);
}

.an-track-step__line {
    flex: 1;
    min-width: 24px;
    height: 2px;
    background: var(--an-off-white);
    margin-top: -20px; /* align with dots */
}

.an-track-step__line--done { background: #2e7d32; }

.an-track-status-badge {
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-grey);
    margin-bottom: 28px;
    letter-spacing: .3px;
}

.an-track-back { margin-bottom: 28px; }
.an-track-back__link {
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-grey-light);
    text-decoration: none;
    letter-spacing: .5px;
}
.an-track-back__link:hover { color: var(--an-black); }

.an-track-account-cta {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid rgba(0,0,0,.08);
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.an-track-account-cta p {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
    margin: 0;
    flex: 1;
    min-width: 200px;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .an-track-wrap { padding: 32px 16px 80px; }
    .an-track-step__label { font-size: 9px; max-width: 60px; }
    .an-track-step__dot { width: 30px; height: 30px; font-size: 10px; }
    .an-track-account-cta { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT CUSTOM TABS  (.an-account-*)
   ═══════════════════════════════════════════════════════════ */

.an-account-section { padding: 8px 0 40px; }

.an-account-section__title {
    font-family: var(--an-serif);
    font-size: 24px;
    font-weight: 300;
    color: var(--an-black);
    margin: 0 0 24px;
    letter-spacing: .5px;
}

.an-account-empty {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-charcoal);
    padding: 40px 0;
}

.an-account-empty a { color: var(--an-gold); }

.an-account-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.an-account-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 1px 12px rgba(0,0,0,.07);
    display: flex;
    gap: 0;
    overflow: hidden;
}

.an-account-card__img {
    width: 80px;
    flex-shrink: 0;
    background: var(--an-off-white);
}

.an-account-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.an-account-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.an-account-card__badge {
    display: inline-block;
    font-family: var(--an-sans);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 2px;
    color: #fff;
    align-self: flex-start;
}

.an-account-card__badge--quote       { background: var(--an-gold-dark); }
.an-account-card__badge--custom      { background: var(--an-dark); }
.an-account-card__badge--green       { background: #2e7d32; }
.an-account-card__badge--gold        { background: var(--an-gold-dark); }
.an-account-card__badge--grey        { background: var(--an-charcoal); }
.an-account-card__badge--red         { background: #c0392b; }

.an-account-card__name {
    font-family: var(--an-serif);
    font-size: 16px;
    color: var(--an-black);
    margin: 0;
    line-height: 1.3;
}

.an-account-card__meta {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-charcoal);
    margin: 0;
    letter-spacing: .3px;
}

.an-account-card__appt-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.an-account-card__appt-when {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-black);
    margin: 2px 0 0;
}

.an-account-card__ctas {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 4px;
}

.an-account-card__wa {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #25d366;
    text-decoration: none;
    padding: 8px 0;
    display: inline-flex;
    align-items: center;
}

.an-account-card__wa:hover { color: #1ebe5d; }

/* Small button variant */
.an-btn--sm {
    padding: 8px 16px !important;
    font-size: 10px !important;
    min-height: auto !important;
}

/* ═══════════════════════════════════════════════════════════
   QUOTE CHECKOUT NOTICE  (.an-quote-checkout-notice)
   ═══════════════════════════════════════════════════════════ */

.an-quote-checkout-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: var(--an-off-white);
    border: 1px solid var(--an-gold-light);
    border-radius: 6px;
    padding: 16px 20px;
    margin-bottom: 28px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
}

.an-quote-checkout-notice__icon { font-size: 20px; flex-shrink: 0; }

.an-quote-checkout-notice strong { display: block; margin-bottom: 2px; }

.an-quote-checkout-notice p {
    margin: 4px 0 0;
    font-size: 12px;
    color: var(--an-gold);
    line-height: 1.5;
}

/* ════════════════════════════════════════════════════════════
   COOKIE BANNER
   ════════════════════════════════════════════════════════════ */
.an-cookie-banner {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 99999;
    background: var(--an-black);
    color: var(--an-cream);
    padding: 16px 24px;
    box-shadow: 0 -4px 20px rgba(0,0,0,.18);
    animation: an-cookie-slide 0.3s ease;
}
@keyframes an-cookie-slide { from { transform: translateY(100%); } to { transform: translateY(0); } }
.an-cookie-banner__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.an-cookie-banner__text {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--an-grey-light);
    flex: 1;
    min-width: 240px;
}
.an-cookie-banner__text a { color: var(--an-gold); text-decoration: underline; }
.an-cookie-banner__actions { display: flex; gap: 10px; flex-shrink: 0; }
.an-cookie-banner__manage {
    background: transparent;
    border: 1px solid #555;
    color: var(--an-grey-light);
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
    transition: border-color .2s, color .2s;
}
.an-cookie-banner__manage:hover { border-color: var(--an-grey-light); color: #fff; }
.an-cookie-banner__accept {
    background: var(--an-gold);
    border: 1px solid var(--an-gold);
    color: #fff;
    padding: 8px 20px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
}
.an-cookie-banner__accept:hover { background: var(--an-gold-dark); }

/* Cookie manage modal */
.an-cookie-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; }
.an-cookie-modal[aria-hidden="true"] { display: none; }
.an-cookie-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.an-cookie-modal__box {
    position: relative; z-index: 1;
    background: #fff;
    border-radius: 12px;
    padding: 32px;
    width: min(540px, 94vw);
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
}
.an-cookie-modal__title { font-size: 20px; font-weight: 700; margin: 0 0 8px; }
.an-cookie-modal__intro { color: var(--an-grey); font-size: 14px; margin: 0 0 24px; line-height: 1.6; }
.an-cookie-modal__options { display: flex; flex-direction: column; gap: 16px; margin-bottom: 28px; }
.an-cookie-modal__option { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.an-cookie-modal__option-info strong { display: block; font-size: 14px; font-weight: 600; margin-bottom: 2px; }
.an-cookie-modal__option-info p { margin: 0; font-size: 12px; color: var(--an-charcoal); }
.an-cookie-modal__toggle--locked {
    font-size: 11px; font-weight: 600; color: #2e7d32;
    background: #e8f5e9; padding: 4px 10px; border-radius: 20px; white-space: nowrap;
}
.an-cookie-modal__toggle-wrap { position: relative; display: inline-flex; align-items: center; flex-shrink: 0; }
.an-cookie-modal__toggle-wrap input { opacity: 0; width: 0; height: 0; position: absolute; }
.an-cookie-modal__slider {
    display: block; width: 44px; height: 24px;
    background: var(--an-grey-light); border-radius: 12px; cursor: pointer;
    transition: background .2s; position: relative;
}
.an-cookie-modal__slider::after {
    content: ''; position: absolute; top: 3px; left: 3px;
    width: 18px; height: 18px; background: #fff; border-radius: 50%;
    transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.an-cookie-modal__toggle-wrap input:checked + .an-cookie-modal__slider { background: var(--an-gold); }
.an-cookie-modal__toggle-wrap input:checked + .an-cookie-modal__slider::after { transform: translateX(20px); }
.an-cookie-modal__footer { display: flex; gap: 12px; justify-content: flex-end; }

/* ════════════════════════════════════════════════════════════
   HUB FAQ / EDUCATION TEASER
   ════════════════════════════════════════════════════════════ */
.an-hub-faq {
    padding: 64px 0;
    max-width: 800px;
    margin: 0 auto;
}
.an-hub-faq__header { margin-bottom: 32px; }
.an-hub-faq__title {
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
    margin: 8px 0 0;
    color: var(--an-dark);
}
.an-hub-faq__list { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--an-border); }
.an-hub-faq__item { border-bottom: 1px solid var(--an-border); }
.an-hub-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
    background: none;
    border: none;
    text-align: left;
    font-size: 15px;
    font-weight: 600;
    color: var(--an-dark);
    cursor: pointer;
    font-family: var(--an-sans);
    line-height: 1.4;
}
.an-hub-faq__question:hover { color: var(--an-gold); }
.an-hub-faq__icon { width: 18px; height: 18px; flex-shrink: 0; transition: transform .25s; }
.an-hub-faq__item.is-open .an-hub-faq__icon { transform: rotate(180deg); }
.an-hub-faq__answer { padding: 0 0 20px; }
.an-hub-faq__answer p { margin: 0; font-size: 14px; color: var(--an-muted); line-height: 1.7; }
.an-hub-faq__footer { margin-top: 24px; }
.an-hub-faq__more { font-size: 14px; font-weight: 600; color: var(--an-gold); text-decoration: none; }
.an-hub-faq__more:hover { text-decoration: underline; }

/* ════════════════════════════════════════════════════════════
   LEARN ARTICLE PAGE
   ════════════════════════════════════════════════════════════ */
.an-learn { padding-bottom: 80px; }
.an-learn__hero {
    background: var(--an-cream, #FAF9F6);
    border-bottom: 1px solid var(--an-border);
    padding: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 48px) 0 40px;
    margin-bottom: 48px;
}
body.admin-bar .an-learn__hero {
    padding-top: calc(32px + var(--topbar-h, 36px) + var(--an-header-h, 68px) + 48px);
}
.an-learn__hero-inner { max-width: 860px; }
.an-learn__breadcrumb {
    display: flex; gap: 8px; align-items: center;
    font-size: 12px; color: var(--an-grey-light); margin-bottom: 16px;
}
.an-learn__breadcrumb a { color: var(--an-grey-light); text-decoration: none; }
.an-learn__breadcrumb a:hover { color: var(--an-gold); }
.an-learn__title {
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 700;
    margin: 0 0 12px;
    line-height: 1.2;
    color: var(--an-dark);
}
.an-learn__subtitle {
    font-size: 17px;
    color: var(--an-grey);
    margin: 0;
    line-height: 1.6;
    max-width: 600px;
}
.an-learn__body {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 48px;
    max-width: 1100px;
    align-items: start;
}
.an-learn__content {
    font-size: 15px;
    line-height: 1.8;
    color: var(--an-dark);
}
.an-learn__content h2 { font-size: 22px; font-weight: 700; margin: 40px 0 12px; color: var(--an-dark); }
.an-learn__content h3 { font-size: 17px; font-weight: 600; margin: 28px 0 8px; color: var(--an-dark); }
.an-learn__content p { margin: 0 0 18px; }
.an-learn__content ul, .an-learn__content ol { padding-left: 20px; margin: 0 0 18px; }
.an-learn__content li { margin-bottom: 6px; }
.an-learn__content a { color: var(--an-gold); }
.an-learn__sidebar { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 20px; }
.an-learn__sidebar-card {
    background: #fff;
    border: 1px solid var(--an-border);
    border-radius: 10px;
    padding: 24px;
}
.an-learn__sidebar-card h3 { font-size: 16px; font-weight: 700; margin: 8px 0 8px; }
.an-learn__sidebar-card p { font-size: 13px; color: var(--an-grey); margin: 0 0 16px; line-height: 1.6; }
.an-learn__related-list { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-direction: column; gap: 10px; }
.an-learn__related-list a { font-size: 13px; color: var(--an-dark); text-decoration: none; font-weight: 500; }
.an-learn__related-list a:hover { color: var(--an-gold); }

@media (max-width: 768px) {
    .an-learn__body { grid-template-columns: 1fr; }
    .an-learn__sidebar { position: static; }
    .an-cookie-banner__inner { flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT — Custom Dashboard
   ═══════════════════════════════════════════════════════════ */

.an-account-dashboard { max-width: none; width: 100%; }
.an-account-welcome { font-family: var(--an-sans); font-size: 15px; color: var(--an-charcoal); margin: 0 0 36px; }

/* 5-card grid */
.an-account-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.an-account-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px;
    background: #fff;
    border: 1.5px solid var(--an-off-white);
    border-radius: 12px;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.an-account-card:hover {
    border-color: var(--an-gold);
    box-shadow: 0 14px 34px rgba(var(--an-gold-rgb),0.14);
    transform: translateY(-2px);
}
.an-account-card__icon {
    width: 40px; height: 40px;
    background: var(--an-cream);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    color: var(--an-gold);
}
.an-account-card__icon svg { width: 18px; height: 18px; }
.an-account-card__body { flex: 1; }
.an-account-card__title { font-family: var(--an-serif); font-size: 15px; font-weight: 400; color: var(--an-black); margin: 0 0 2px; }
.an-account-card__meta { font-family: var(--an-sans); font-size: 12px; color: var(--an-charcoal); margin: 0; }
.an-account-card__arrow { font-family: var(--an-sans); font-size: 16px; color: var(--an-gold); opacity: 0; transition: opacity 0.2s, transform 0.2s; transform: translateX(-4px); }
.an-account-card:hover .an-account-card__arrow { opacity: 1; transform: translateX(0); }

/* Section header */
.an-account-section { padding: 10px 0 52px; }
.an-account-section__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; }
.an-account-section__title { font-family: var(--an-serif); font-size: 24px; font-weight: 400; color: var(--an-black); margin: 0; }
.an-account-section__action { font-family: var(--an-sans); font-size: 12px; color: var(--an-gold); text-decoration: none; letter-spacing: 0.05em; }
.an-account-section__action:hover { color: var(--an-gold-dark); }

/* Empty state */
.an-account-empty {
    text-align: center;
    padding: 76px 40px;
    background: var(--an-cream);
    border-radius: 16px;
}
.an-account-empty svg { width: 40px; height: 40px; color: var(--an-grey-light); margin: 0 auto 16px; display: block; }
.an-account-empty h3 { font-family: var(--an-serif); font-size: 18px; font-weight: 400; color: var(--an-dark); margin: 0 0 8px; }
.an-account-empty p { font-family: var(--an-sans); font-size: 14px; color: var(--an-charcoal); margin: 0 0 20px; }

/* Account table */
.an-account-table-wrap { overflow-x: auto; }
.an-account-table { width: 100%; border-collapse: collapse; font-family: var(--an-sans); font-size: 13px; }
.an-account-table th { text-align: left; padding: 10px 12px; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--an-charcoal); border-bottom: 2px solid var(--an-off-white); }
.an-account-table td { padding: 14px 12px; border-bottom: 1px solid var(--an-off-white); vertical-align: middle; color: var(--an-dark); }
.an-account-table tr:last-child td { border-bottom: none; }
.an-account-table__id { font-family: var(--an-serif); font-size: 14px; color: var(--an-charcoal); }
.an-account-table__product-link { color: var(--an-dark); text-decoration: none; font-weight: 500; }
.an-account-table__product-link:hover { color: var(--an-gold); }
.an-account-table__price { display: block; font-size: 12px; color: var(--an-gold); margin-top: 2px; }
.an-account-table__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* Badge system */
.an-badge { display: inline-block; padding: 3px 10px; border-radius: 100px; font-family: var(--an-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.an-badge--gold { background: rgba(var(--an-gold-rgb),0.15); color: var(--an-gold-dark); }
.an-badge--blue { background: rgba(34,113,177,0.1); color: #2271b1; }
.an-badge--green { background: rgba(0,163,42,0.1); color: #00a32a; }
.an-badge--grey { background: var(--an-off-white); color: var(--an-charcoal); }

/* Appointment cards */
.an-account-appts { display: flex; flex-direction: column; gap: 16px; }
.an-appt-card {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px 28px;
    background: #fff;
    border: 1.5px solid var(--an-off-white);
    border-radius: 14px;
}
.an-appt-card__date {
    min-width: 52px;
    text-align: center;
    background: var(--an-black);
    border-radius: 4px;
    padding: 10px 8px;
    color: #fff;
    flex-shrink: 0;
}
.an-appt-card__day { display: block; font-family: var(--an-serif); font-size: 26px; line-height: 1; color: #fff; }
.an-appt-card__month { display: block; font-family: var(--an-sans); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--an-gold); margin-top: 2px; }
.an-appt-card__tbc { display: block; font-family: var(--an-sans); font-size: 11px; color: var(--an-charcoal); padding: 8px 0; }
.an-appt-card__info { flex: 1; }
.an-appt-card__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.an-appt-card__title { font-family: var(--an-serif); font-size: 15px; font-weight: 400; color: var(--an-black); }
.an-appt-card__detail { font-family: var(--an-sans); font-size: 13px; color: var(--an-dark); margin: 0 0 4px; }
.an-appt-card__meta { font-family: var(--an-sans); font-size: 11px; color: var(--an-charcoal); margin: 0; }
.an-appt-card__actions { display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; }

/* Small button variant */
.an-btn--sm { padding: 8px 16px; font-size: 10px; }
.an-btn--outline { background: none; border: 1.5px solid var(--an-off-white); color: var(--an-dark); }
.an-btn--outline:hover { border-color: var(--an-dark); }

@media (max-width: 1100px) {
    .an-account-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .an-wc-page.an-wc-account { min-height: auto; }
    .an-wc-account { padding: 18px 0 52px; }
    .an-wc-account .an-wrap--wide { padding-top: 32px; padding-bottom: 72px; }
    .an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { padding: 0 12px; }
    .an-wc-account .u-columns { gap: 22px; }
    .an-wc-account .u-columns::before { inset: -8px; border-radius: 18px; }
    .an-wc-account .woocommerce-form-login,
    .an-wc-account .woocommerce-form-register { padding: 28px 20px 18px; border-radius: 18px; }
    .an-wc-account .woocommerce-form-login h2,
    .an-wc-account .woocommerce-form-register h2 { font-size: 24px !important; }
    .an-wc-cart .an-wrap--wide,
    .an-wc-checkout .an-wrap--wide { padding-top: 28px; padding-bottom: 82px; }
    .an-wc-page__head { padding: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 24px) 0 24px; }
    .an-wc-cart table.shop_table th,
    .an-wc-cart table.shop_table td { padding: 14px 12px; }
    .an-wc-cart .cart_totals { padding: 22px; border-radius: 14px; }
    .an-page-cart .an-wc-block-page__content,
    .an-page-checkout .an-wc-block-page__content { padding: 28px 16px 78px !important; }
    .an-page-account .an-wc-block-page__content--account { padding: 18px 16px 60px !important; }
    .an-page-cart .wc-block-cart__main,
    .an-page-cart .wc-block-cart__sidebar,
    .an-page-checkout .wc-block-components-checkout-step,
    .an-page-checkout .wc-block-checkout__terms,
    .an-page-checkout .wc-block-checkout__actions,
    .an-page-checkout .wc-block-checkout__sidebar { border-radius: 14px; }
    .an-page-cart .wc-block-cart__sidebar,
    .an-page-checkout .wc-block-checkout__sidebar { padding: 22px; }
    .an-page-account main.an-page-content.wp-block-group { padding-top: 0 !important; padding-bottom: 92px !important; }
    .an-page-account .woocommerce:has(.woocommerce-MyAccount-navigation) { padding: 0 16px !important; gap: 18px !important; }
    .an-page-account .woocommerce-MyAccount-content { padding: 30px 20px 36px !important; }
    .an-account-cards { grid-template-columns: 1fr; }
    .an-account-section__head { flex-direction: column; align-items: flex-start; gap: 10px; }
    .an-account-section { padding: 6px 0 36px; }
    .an-appt-card { flex-wrap: wrap; }
    .an-appt-card__actions { flex-direction: row; }
}

/* ── Appointment Reschedule Form ────────────────────────────── */
.an-reschedule-form {
    grid-column: 1 / -1;
    margin-top: 12px;
    padding: 18px 20px 16px;
    background: var(--an-off-white);
    border-radius: 8px;
}
.an-reschedule-form__title {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--an-dark);
    margin: 0 0 12px;
}
.an-reschedule-form__row { margin-bottom: 12px; }
.an-reschedule-date {
    font-family: var(--an-sans);
    font-size: 13px;
    padding: 8px 12px;
    border: 1.5px solid var(--an-grey-light);
    border-radius: 6px;
    background: #fff;
    color: var(--an-black);
    width: 100%;
    max-width: 220px;
}
.an-reschedule-slots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.an-reschedule-slot {
    font-family: var(--an-sans);
    font-size: 12px;
    padding: 6px 12px;
    border: 1.5px solid var(--an-grey-light);
    border-radius: 4px;
    background: #fff;
    color: var(--an-dark);
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.an-reschedule-slot:hover { border-color: var(--an-gold); }
.an-reschedule-slot.is-selected { border-color: var(--an-gold); background: var(--an-gold); color: #fff; }
.an-reschedule-form__msg {
    font-family: var(--an-sans);
    font-size: 12px;
    margin: 0 0 10px;
    padding: 8px 12px;
    border-radius: 4px;
}
.an-reschedule-form__msg--success { background: #e8f7ef; color: #1a7a42; }
.an-reschedule-form__msg--error   { background: #fdf0ef; color: #c0392b; }
.an-reschedule-form__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* ══════════════════════════════════════════════════════════════
   CUSTOM REQUEST MODAL chips & upload zone
   ══════════════════════════════════════════════════════════════ */
.an-modal__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.an-modal__chip {
    padding: 7px 14px;
    border: 1.5px solid var(--an-off-white);
    border-radius: 100px;
    font-family: var(--an-sans);
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--an-dark);
    background: none;
    cursor: pointer;
    transition: border-color .15s, background .15s, color .15s;
}
.an-modal__chip.is-selected,
.an-modal__chip:hover { border-color: var(--an-gold); background: var(--an-gold); color: #fff; }

.an-modal__upload-zone {
    border: 1.5px dashed var(--an-off-white);
    border-radius: 6px;
    padding: 24px;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    background: var(--an-cream);
}
.an-modal__upload-zone:hover,
.an-modal__upload-zone.is-dragging { border-color: var(--an-gold); background: var(--an-cream); }
.an-modal__upload-zone.has-file { border-color: var(--an-dark); }
.an-modal__upload-icon { font-size: 28px; line-height: 1; margin-bottom: 8px; color: var(--an-charcoal); }
.an-modal__upload-hint { font-family: var(--an-sans); font-size: 12px; color: var(--an-charcoal); }
.an-modal__upload-preview { margin-top: 12px; display: flex; align-items: center; gap: 10px; }
.an-modal__upload-preview img { width: 48px; height: 48px; object-fit: cover; border-radius: 4px; }
.an-modal__upload-name { font-family: var(--an-sans); font-size: 12px; color: var(--an-dark); flex: 1; }
.an-modal__upload-remove {
    background: none; border: none; cursor: pointer; color: var(--an-charcoal);
    font-size: 16px; line-height: 1; padding: 0;
}
.an-modal__upload-remove:hover { color: var(--an-dark); }

/* ══════════════════════════════════════════════════════════════
   CHECKOUT — Quote locked notice
   ══════════════════════════════════════════════════════════════ */
.an-quote-checkout-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--an-cream);
    border: 1.5px solid var(--an-gold);
    border-radius: 6px;
    padding: 16px 20px;
    margin-bottom: 28px;
}
.an-quote-checkout-notice__icon { font-size: 20px; flex-shrink: 0; }
.an-quote-checkout-notice strong { font-family: var(--an-serif); font-size: 15px; color: var(--an-black); }
.an-quote-checkout-notice p { font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal); margin: 4px 0 0; }

/* ══════════════════════════════════════════════════════════════
   CHECKOUT — Create Account toggle
   ══════════════════════════════════════════════════════════════ */
.an-checkout-account {
    margin: 24px 0;
    padding: 20px;
    background: var(--an-cream);
    border: 1px solid var(--an-off-white);
    border-radius: 6px;
}
.an-checkout-account__row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}
.an-checkout-account__row input[type="checkbox"] { flex-shrink: 0; }
.an-checkout-account__text { font-family: var(--an-sans); font-size: 13px; line-height: 1.5; color: var(--an-dark); }
.an-checkout-account__field label { display: block; font-family: var(--an-sans); font-size: 12px; font-weight: 600; margin-bottom: 4px; color: var(--an-dark); }

/* ══════════════════════════════════════════════════════════════
   TRACK ORDER page
   ══════════════════════════════════════════════════════════════ */
.an-track-wrap { max-width: 680px; margin: 0 auto; padding: 40px 0 80px; }
.an-track-form { background: var(--an-cream); border: 1px solid var(--an-off-white); border-radius: 8px; padding: 32px; }
.an-track-form__footer { margin-top: 24px; }
.an-track-back { margin-bottom: 24px; }
.an-track-back__link { font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal); text-decoration: none; }
.an-track-back__link:hover { color: var(--an-dark); }

.an-track-timeline {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
    overflow-x: auto;
    padding-bottom: 8px;
}
.an-track-step { display: flex; flex-direction: column; align-items: center; min-width: 80px; }
.an-track-step__dot {
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700;
    background: var(--an-off-white);
    color: var(--an-charcoal);
    border: 2px solid var(--an-off-white);
    transition: background .2s, color .2s, border-color .2s;
}
.an-track-step--done .an-track-step__dot { background: var(--an-gold); border-color: var(--an-gold); color: #fff; }
.an-track-step--active .an-track-step__dot { background: var(--an-black); border-color: var(--an-black); color: #fff; }
.an-track-step__label { font-family: var(--an-sans); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--an-charcoal); margin-top: 6px; text-align: center; }
.an-track-step--done .an-track-step__label,
.an-track-step--active .an-track-step__label { color: var(--an-dark); }

.an-track-step__line { flex: 1; height: 2px; min-width: 20px; background: var(--an-off-white); }
.an-track-step__line--done { background: var(--an-gold); }

.an-track-status-badge {
    font-family: var(--an-sans); font-size: 13px;
    background: var(--an-cream); border: 1px solid var(--an-off-white);
    border-radius: 4px; padding: 8px 14px;
    margin-bottom: 20px; color: var(--an-dark);
}
.an-track-account-cta {
    margin-top: 24px; padding: 20px; background: var(--an-cream);
    border: 1px solid var(--an-off-white); border-radius: 6px;
    font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal);
}
.an-track-account-cta p { margin: 0 0 12px; }

@media (max-width: 640px) {
    .an-track-step { min-width: 60px; }
    .an-track-step__label { font-size: 9px; }
    .an-track-form { padding: 20px; }
}

/* ══════════════════════════════════════════════════════════════
   THANK YOU page
   ══════════════════════════════════════════════════════════════ */
.an-ty { padding: 40px 20px 80px; }
.an-ty__inner { max-width: 620px; margin: 0 auto; }
.an-ty__hero { text-align: center; margin-bottom: 36px; }
.an-ty__icon { font-size: 36px; margin: 0 0 12px; }
.an-ty__title { font-family: var(--an-serif); font-size: 28px; font-weight: 400; color: var(--an-black); margin: 0 0 10px; }
.an-ty__sub { font-family: var(--an-sans); font-size: 15px; color: var(--an-charcoal); max-width: 480px; margin: 0 auto; line-height: 1.6; }

.an-ty__card {
    background: #fff;
    border: 1px solid var(--an-off-white);
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 24px;
}
.an-ty__card-head {
    display: flex; justify-content: space-between;
    padding: 14px 20px;
    background: var(--an-black); color: #fff;
    font-family: var(--an-sans); font-size: 13px;
}
.an-ty__item { display: flex; gap: 14px; padding: 14px 20px; border-bottom: 1px solid var(--an-off-white); }
.an-ty__item-img img { width: 72px; height: 72px; object-fit: cover; border-radius: 4px; }
.an-ty__item-name { font-family: var(--an-serif); font-size: 14px; margin: 0 0 4px; color: var(--an-black); }
.an-ty__item-meta { font-family: var(--an-sans); font-size: 12px; color: var(--an-charcoal); list-style: none; margin: 0; padding: 0; }
.an-ty__item-meta li + li { margin-top: 2px; }
.an-ty__totals { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; }
.an-ty__pay-method { font-family: var(--an-sans); font-size: 12px; color: var(--an-charcoal); }
.an-ty__total-price { font-family: var(--an-serif); font-size: 18px; color: var(--an-black); }

.an-ty__badge {
    display: flex; align-items: center; gap: 10px;
    background: var(--an-cream); border: 1.5px solid var(--an-gold);
    border-radius: 6px; padding: 12px 16px;
    font-family: var(--an-sans); font-size: 13px; color: var(--an-dark);
    margin-bottom: 20px;
}
.an-ty__badge-icon { font-size: 18px; flex-shrink: 0; }

.an-ty__block { margin-bottom: 20px; }
.an-ty__block-title { font-family: var(--an-serif); font-size: 15px; font-weight: 400; color: var(--an-black); margin: 0 0 6px; }
.an-ty__block p { font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal); margin: 0 0 6px; line-height: 1.6; }
.an-ty__steps-list { font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal); padding-left: 18px; margin: 0; }
.an-ty__steps-list li + li { margin-top: 4px; }

.an-ty__block--account { background: var(--an-cream); border: 1px solid var(--an-off-white); border-radius: 6px; padding: 20px; }

.an-ty__appointment-card {
    background: var(--an-black); color: #fff;
    border-radius: 8px; padding: 24px; margin-bottom: 24px;
}
.an-ty__appointment-type { font-family: var(--an-serif); font-size: 18px; color: var(--an-gold); margin: 0 0 16px; }
.an-ty__appointment-when { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 16px; }
.an-ty__appointment-detail { display: flex; flex-direction: column; gap: 2px; }
.an-ty__appointment-label { font-family: var(--an-sans); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: rgba(var(--an-white-rgb),.5); }
.an-ty__appointment-value { font-family: var(--an-sans); font-size: 15px; font-weight: 600; color: #fff; }
.an-ty__appointment-location { border-top: 1px solid rgba(var(--an-white-rgb),.12); padding-top: 14px; }
.an-ty__appointment-location .an-ty__appointment-value { font-size: 13px; font-weight: 400; line-height: 1.5; }

.an-ty__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.an-ty__ctas--left { justify-content: flex-start; }
.an-ty__ctas--appointment { justify-content: center; align-items: stretch; }
.an-ty__ctas--appointment .an-btn,
.an-ty__ctas--appointment .an-ty__wa {
    min-width: 220px;
    justify-content: center;
}
.an-ty__wa {
    display: inline-flex; align-items: center; gap: 8px;
    background: #25D366; color: #fff; padding: 12px 22px;
    border-radius: 4px; font-family: var(--an-sans); font-size: 13px;
    font-weight: 600; text-decoration: none; transition: opacity .2s;
}
.an-ty__wa:hover { opacity: .85; color: #fff; }
.an-ty__close { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--an-off-white); text-align: center; }
.an-ty__close p { font-family: var(--an-serif); font-size: 16px; color: var(--an-charcoal); line-height: 1.6; margin: 0; }

@media (max-width: 640px) {
    .an-ty { padding: 24px 16px 60px; }
    .an-ty__title { font-size: 22px; }
    .an-ty__ctas { flex-direction: column; }
    .an-ty__ctas--appointment .an-btn,
    .an-ty__ctas--appointment .an-ty__wa { min-width: 0; width: 100%; }
}

.wc-block-components-sidebar{
    width: 100%;
}
.wc-block-components-sidebar-layout .wc-block-components-main{
    width: 100%;
}

/* ═══════════════════════════════════════════════
   WISHLIST PAGE
   ═══════════════════════════════════════════════ */

.an-wishlist-page {
    padding-top: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 24px);
    padding-bottom: 80px;
}

.an-wishlist-page__head {
    padding-top: 0;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--an-off-white);
    margin-bottom: 32px;
}

.an-wishlist-page__title-row {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-top: 12px;
}

.an-wishlist-page__title {
    font-family: var(--an-serif);
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 300;
    color: var(--an-black);
    margin: 0;
}

.an-wishlist-page__count {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-charcoal);
    letter-spacing: 0.04em;
}

/* ── [hidden] overrides — author CSS display values must not beat the hidden attribute ─── */
.an-wishlist-page__loading[hidden],
.an-wishlist-page__empty[hidden] {
    display: none !important;
}

/* ── Loading dots ─── */
.an-wishlist-page__loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 80px 0;
}
.an-wishlist-page__loading-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--an-grey-light);
    animation: an-wl-pulse 1.2s ease-in-out infinite;
}
.an-wishlist-page__loading-dot:nth-child(2) { animation-delay: 0.2s; }
.an-wishlist-page__loading-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes an-wl-pulse {
    0%, 80%, 100% { opacity: 0.3; transform: scale(0.85); }
    40%            { opacity: 1;   transform: scale(1); }
}

/* ── Empty state ─── */
.an-wishlist-page__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 80px 0;
    text-align: center;
}
.an-wishlist-page__empty svg {
    width: 52px;
    height: 52px;
    color: var(--an-grey-light);
}
.an-wishlist-page__empty p {
    font-family: var(--an-serif);
    font-size: 20px;
    font-weight: 300;
    color: var(--an-black);
    margin: 0;
}

/* ── Wishlist product grid ─── */
/* Use ID selector for specificity — beats class-only grid rules */
#an-wishlist-grid[hidden] {
    display: none !important;
}
#an-wishlist-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}
#an-wishlist-grid .an-prod-card__img {
    padding-bottom: 100% !important;
}

@media (max-width: 960px) {
    #an-wishlist-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 640px) {
    .an-wishlist-page {
        padding-top: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 16px);
    }

    #an-wishlist-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
}
