﻿/* Avelle register architecture: five independent compositions over shared atomic commerce controls. */
.avr-header {
    --avr-ink: #000000;
    --avr-muted: #545454;
    --avr-surface: #fff;
    --avr-line: #EBEBEB;
    --avr-accent: #000000;
    position: relative;
    z-index: 90;
    color: var(--avr-ink);
    background: var(--avr-surface);
}

.avr-header *, .avr-header *::before, .avr-header *::after { box-sizing: border-box; }
.avr-header a, .avr-header button { color: inherit; }
.avr-header a:focus-visible, .avr-header button:focus-visible { outline: 2px solid var(--avr-accent); outline-offset: 3px; }
.avr-container { width: min(100% - 40px, 1380px); margin-inline: auto; }
.avr-mobile-only { display: none !important; }
.avr-icon { width: 42px; height: 42px; border: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center; background: transparent; }
.avr-icon svg { width: 21px; height: 21px; }
.avr-actions, .avr-actions .tp-header-action { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.avr-actions .tp-header-action-item { margin: 0; }
.avr-actions .tp-header-action-btn { width: 42px; height: 42px; padding: 0; border: 0; display: inline-flex; align-items: center; justify-content: center; background: transparent; }
.avr-actions .tp-header-action-badge { top: 0; right: -1px; min-width: 17px; height: 17px; padding: 0 4px; border: 2px solid var(--avr-surface); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; color: var(--avl-bg); background: var(--avr-accent); font-size: 9px; font-weight: 700; }
.avr-actions .tp-header-action-item-menu { display: none !important; }
.avr-nav, .avr-nav .tp-main-menu-content { min-width: 0; }
.avr-nav .tp-main-menu-content > ul { margin: 0; padding: 0; display: flex; align-items: center; gap: clamp(20px, 2.25vw, 36px); list-style: none; }
.avr-nav .tp-main-menu-content li { position: relative; margin: 0; list-style: none; }
.avr-nav .tp-main-menu-content > ul > li > a { position: relative; min-height: 44px; display: inline-flex; align-items: center; gap: 5px; padding: 0; color: inherit; font-size: 14px; line-height: 1; font-weight: 550; }
.avr-nav .tp-main-menu-content > ul > li > a::after { content: ""; position: absolute; right: 0; bottom: 4px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transition: transform .22s ease; }
.avr-nav .tp-main-menu-content > ul > li:hover > a::after, .avr-nav .tp-main-menu-content > ul > li:focus-within > a::after { transform: scaleX(1); }
.avr-nav .tp-submenu { position: absolute; z-index: 30; top: calc(100% - 1px); left: -22px; min-width: 230px; margin: 0; padding: 15px 0; border: 1px solid var(--avr-line); visibility: hidden; opacity: 0; color: var(--avr-ink); background: var(--avl-bg); box-shadow: 0 24px 60px rgba(0, 0, 0, .11); pointer-events: none; transform: translateY(9px); transition: .2s ease; }
.avr-nav li:hover > .tp-submenu, .avr-nav li:focus-within > .tp-submenu { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
.avr-nav li:hover > .avelle-mega-menu, .avr-nav li:focus-within > .avelle-mega-menu { visibility: visible; opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.avr-nav .tp-submenu a { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 6px 22px; font-size: 13px; }
.avr-nav .tp-submenu .tp-submenu { top: -16px; left: calc(100% - 2px); }
.avr-header .logo, .avr-header .logo a { display: inline-flex; align-items: center; }
.avr-header .logo img { width: auto; max-width: 155px; max-height: 40px !important; }

/* A1 now follows the shared Ecomus container band; full-bleed sections opt out explicitly. */
html[data-avelle-register="clean-contemporary"] body .container {
    width: 100%;
    max-width: var(--avl-container);
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--avl-gutter);
    padding-left: var(--avl-gutter);
}

/* Clean contemporary / Ecomus geometry â€” first system in Theme Options. */
.avr-header--clean {
    --avr-accent: #000000;
    --avr-line: #EBEBEB;
    font-family: var(--avl-font-body);
    border-bottom: 1px solid var(--avr-line);
    background: var(--avl-bg);
}
.avr-clean__row, .avr-clean__grid { min-height: 86px; background: var(--avl-bg); }
.avr-clean__row { transition: box-shadow .2s ease, transform .2s ease; }
.avr-clean__row.tp-header-sticky { box-shadow: 0 1px 0 rgba(17, 17, 17, .07); }
.avr-clean__grid {
    width: min(100% - 64px, 1420px);
    position: relative;
    display: grid;
    grid-template-columns: minmax(160px, .7fr) minmax(540px, 1.8fr) minmax(190px, .7fr);
    align-items: center;
    gap: clamp(24px, 3vw, 52px);
}
.avr-clean__brand { justify-self: start; }
.avr-clean__brand .logo img { max-width: 138px; }
.avr-clean__nav .tp-main-menu-content > ul { justify-content: center; gap: clamp(22px, 2.45vw, 40px); }
.avr-clean__nav .tp-main-menu-content > ul > li > a {
    min-height: 86px;
    font-size: 14px;
    line-height: 1;
    font-weight: 540;
    letter-spacing: -.01em;
}
.avr-clean__nav .tp-main-menu-content > ul > li > a::after { bottom: 24px; }
.avr-clean__actions { justify-self: end; display: flex; align-items: center; gap: 2px; }
.avr-clean__action {
    width: 40px;
    height: 46px;
    position: relative;
    border: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    transition: background .18s ease, transform .18s ease;
}
.avr-clean__action:hover { background: var(--avl-surface); transform: translateY(-1px); }
.avr-clean__action svg { width: 21px; height: 21px; stroke-width: 1.65; }
.avr-clean__badge {
    min-width: 17px;
    height: 17px;
    position: absolute;
    top: 4px;
    right: -1px;
    padding: 0 4px;
    border: 2px solid var(--avl-bg);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--avl-bg);
    background: var(--avelle-primary);
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
}

/* H3 â€” conversion campaign / Minimog geometry */
.avr-header--campaign { --avr-accent: var(--avelle-primary, var(--primary-color, var(--avelle-primary))); --avr-line: var(--avl-line); font-family: var(--avl-font-body); }
.avr-campaign__announcement { height: 40px; padding: 0 28px; display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: center; color: var(--avl-bg); background: var(--avr-accent); }
.avr-campaign__announcement p { margin: 0; color: var(--avl-bg); text-align: center; font-size: 13px; font-weight: 700; letter-spacing: -.01em; }
.avr-campaign__announcement button { width: 32px; height: 32px; border: 0; border-radius: 10px; display: grid; place-items: center; padding: 0; color: var(--avl-bg); background: transparent; transition: background .2s ease; }
.avr-campaign__announcement button:hover { background: rgba(255,255,255,.14); }
.avr-campaign__announcement svg { width: 17px; height: 17px; }
.avr-campaign__utility { height: 40px; border-bottom: 1px solid var(--avr-line); }
.avr-campaign__utility-grid { height: 40px; display: grid; grid-template-columns: 1fr 1.2fr 1fr; align-items: center; font-size: 12px; }
.avr-campaign__utility-grid > a { justify-self: center; text-decoration: underline; text-underline-offset: 4px; }
.avr-campaign__utility-grid > div { justify-self: end; }
.avr-campaign__main, .avr-campaign__grid { min-height: 66px; background: var(--avl-bg); }
.avr-campaign__grid { display: grid; grid-template-columns: 1fr 210px 1fr; align-items: center; gap: 24px; }
.avr-campaign__nav .tp-main-menu-content > ul { justify-content: flex-start; }
.avr-campaign__nav .tp-main-menu-content > ul > li:nth-child(n + 6) { display: none; }
.avr-campaign__nav .tp-main-menu-content > ul > li > a { min-height: 66px; font-weight: 570; }
.avr-campaign__nav .tp-main-menu-content > ul > li > a::after { bottom: 16px; }
.avr-campaign__brand { justify-self: center; }
.avr-campaign__brand .logo img { max-width: 150px; }
.avr-campaign__actions { justify-self: end; }

/* H4 â€” dense search-first / Wolmart geometry */
.avr-header--functional { position: relative; z-index: 50; --avr-accent: var(--avelle-primary); --avr-line: var(--avl-line); color: var(--avl-ink); background: var(--avl-bg); font-family: var(--avl-font-body); }
.avr-functional__utility { height: 42px; border-bottom: 1px solid var(--avr-line); color: var(--avl-muted); font-size: 11px; }
.avr-functional__utility-grid { height: 42px; display: flex; align-items: center; justify-content: space-between; }
.avr-functional__utility-grid > span, .avr-functional__utility-links { display: flex; align-items: center; gap: 18px; }
.avr-functional__utility-grid svg { width: 16px; height: 16px; color: var(--avr-accent); }
.avr-functional__compact-utility { display: none; }
.avr-functional__main, .avr-functional__main-grid { height: 100px; min-height: 100px; background: var(--avl-bg); }
.avr-functional__main-grid { display: grid; grid-template-columns: 270px minmax(0, 1fr) 33px auto; align-items: center; gap: 12px; }
.avr-functional__brand .logo img { max-width: 270px; }
.avr-functional__nav--top { grid-column: 2; min-width: 0; }
.avr-functional__nav-toggle { width: 33px; height: 33px; border: 0; display: none; align-items: center; justify-content: center; padding: 0; color: inherit; background: transparent !important; background-color: transparent !important; }
.avr-functional__right { grid-column: 4; display: flex; align-items: center; justify-content: flex-end; gap: 24px; min-width: 0; }
.avr-functional__search .tp-header-search-wrapper { height: 50px; min-height: 50px; border: 1px solid var(--avr-line); border-radius: var(--avl-r, 8px); display: grid !important; grid-template-columns: minmax(0, 1fr) 50px; overflow: hidden; background: var(--avl-bg); box-shadow: none; padding: 5px; }
.avr-functional__search .tp-header-search-box, .avr-functional__search .tp-header-search-input, .avr-functional__search .tp-header-search-input input { width: 100%; height: 38px; }
.avr-functional__search input, .avr-functional__search input:focus, .avr-functional__search input:focus-visible { border: 0 !important; outline: 0 !important; padding: 0 11px; font-size: 13px; box-shadow: none !important; background: transparent !important; }
/* The shared field-focus primitive must not create a second frame inside the
 * functional-rich search wrapper. The wrapper owns the only visible border. */
html:root body .avr-header.avr-header--functional .avr-functional__search input,
html:root body .avr-header.avr-header--functional .avr-functional__search input:focus,
html:root body .avr-header.avr-header--functional .avr-functional__search input:focus-visible {
    border-color: transparent !important;
    outline: 0 !important;
    box-shadow: none !important;
}
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avr-functional__search input:focus,
html:root body[data-avelle-ui-preset][data-avelle-ui-button][data-avelle-ui-border][data-avelle-ui-field][data-avelle-ui-icon][data-avelle-ui-hover] .avr-functional__search input:focus-visible {
    border-color: transparent !important;
    outline: 0 !important;
    box-shadow: none !important;
}
.avr-functional__search .tp-header-search-category { display: none !important; }
.avr-functional__search .tp-header-search-btn { width: 40px; height: 38px; border: 0; border-radius: 6px; color: var(--avl-bg) !important; background: var(--avl-ink) !important; overflow: hidden; }
.avr-functional__search .tp-header-search-btn button { width: 100%; height: 100%; border: 0; color: inherit; background: transparent; }
.avr-functional__search-close { width: 33px; height: 33px; border: 0; display: none; align-items: center; justify-content: center; padding: 0; color: inherit; background: transparent !important; background-color: transparent !important; }
.avr-functional__contact { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.avr-functional__contact > svg { width: 30px; height: 30px; color: var(--avr-accent); }
.avr-functional__contact span { display: grid; line-height: 1.1; }
.avr-functional__contact small { color: var(--avl-muted); font-size: 10px; }
.avr-functional__contact strong { margin-top: 5px; font-size: 14px; }
.avr-functional__nav-row { height: 60px; border-top: 1px solid var(--avr-line); border-bottom: 1px solid var(--avr-line); }
.avr-functional__nav-grid { height: 60px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px; }
.avr-functional__departments { height: 44px; border: 0; border-radius: var(--avl-r, 8px); padding: 0 13px; display: flex; align-items: center; gap: 10px; background: var(--avl-surface); font-size: 13px; font-weight: 700; }
.avr-functional__departments svg:last-child { margin-left: auto; }
.avr-functional__departments[aria-expanded="true"] { background: var(--avl-line); }
.avr-functional__departments:focus, .avr-functional__departments:focus-visible { border-color: transparent !important; outline: 1px solid var(--avl-ink) !important; outline-offset: 2px; box-shadow: none !important; }
.avr-functional__nav { position: relative; }
.avr-functional__curated-menu { display: flex; align-items: center; justify-content: flex-start; gap: clamp(18px, 2.2vw, 36px); margin: 0; padding: 0; list-style: none; }
.avr-functional__curated-menu li { margin: 0; padding: 0; list-style: none; }
.avr-functional__curated-menu a { display: inline-flex; align-items: center; min-height: 32px; color: inherit; font-size: 13px; font-weight: 500; line-height: 1; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.avr-functional__curated-menu a:hover, .avr-functional__curated-menu a:focus-visible { color: inherit; }
.avr-functional__nav .tp-main-menu-content > ul { justify-content: flex-start; }
.avr-functional__nav .tp-main-menu-content > ul > li > a { font-size: 13px; font-weight: 500; text-transform: uppercase; }
.avr-functional__nav .tp-main-menu-content > ul > li.has-mega-menu { position: static; }
.avr-functional__nav .avelle-mega-menu { left: -270px; width: min(var(--avl-container, 1320px), calc(100vw - 40px)); transform: translateY(8px); }
.avr-functional__nav li:hover > .avelle-mega-menu, .avr-functional__nav li:focus-within > .avelle-mega-menu { transform: none; }
@media (min-width: 992px) {
  /* Keep the navigation inside its grid track so it never overlaps the logo. */
  .avr-functional__nav--top { position: relative; left: 0 !important; }
}

@media (min-width: 768px) {
  /* Keep the collapsed search control inside its own tile; legacy search
     positioning must not pull it outside the wrapper. */
  html body .avr-header--functional .avr-functional__search .tp-header-search-btn {
    top: 50% !important;
    right: 0 !important;
    left: auto !important;
    width: 33px !important;
    height: 33px !important;
    min-height: 33px !important;
    transform: translateY(-50%) !important;
  }
  html body .avr-header--functional .avr-functional__search .tp-header-search-btn button {
    width: 33px !important;
    height: 33px !important;
    min-height: 33px !important;
  }
}
.avr-functional__deal { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 650; }
.avr-functional__deal svg { color: var(--avr-accent); }
.avr-functional__curated-menu .avr-functional__deal { gap: 7px; }
.avr-functional__curated-menu .avr-functional__deal svg { width: 17px; height: 17px; }
@media (min-width: 992px) {
  .avr-header--functional {
    --avelle-logo-max-height: 70px;
  }

  .avr-header--functional .avr-functional__brand .logo img {
    max-width: 270px !important;
    max-height: 70px !important;
  }
}

@media (max-width: 991px) {
  .avr-header--functional {
    --avelle-logo-max-height: 35px;
  }
.avr-functional__departments-panel { position: absolute; z-index: 40; top: 100%; right: 0; left: 0; border-top: 1px solid var(--avr-line); border-bottom: 1px solid var(--avr-line); background: var(--avl-bg); box-shadow: 0 18px 44px rgba(0, 0, 0, .08); }
.avr-functional__departments-panel[hidden] { display: none !important; }
.avr-functional__departments-panel .avr-container { padding-top: 24px; padding-bottom: 26px; }
.avr-functional__departments-panel ul { margin: 0; padding: 0; list-style: none; }
.avr-functional__departments-panel li { margin: 0; padding: 0; list-style: none; }
.avr-functional__departments-panel > .avr-container > ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 34px; }
.avr-functional__departments-panel > .avr-container > ul > li > a { min-height: 28px; display: inline-flex; align-items: center; gap: 9px; color: var(--avl-ink); font-size: 13px; font-weight: 700; line-height: 1.2; text-decoration: none; }
.avr-functional__departments-panel > .avr-container > ul > li > a svg { width: 17px; height: 17px; color: var(--avl-ink); }
.avr-functional__departments-panel .tp-submenu, .avr-functional__departments-panel .mega-menu { position: static !important; min-width: 0 !important; margin-top: 8px !important; padding: 0 !important; border: 0 !important; display: grid !important; gap: 6px; visibility: visible !important; opacity: 1 !important; transform: none !important; pointer-events: auto !important; box-shadow: none !important; background: transparent !important; }
.avr-functional__departments-panel .tp-submenu a, .avr-functional__departments-panel .mega-menu a { min-height: 24px; display: inline-flex; align-items: center; gap: 8px; color: var(--avl-muted); font-size: 13px; font-weight: 500; line-height: 1.3; text-decoration: none; }
.avr-functional__departments-panel .tp-submenu a:hover, .avr-functional__departments-panel .mega-menu a:hover { color: var(--avl-ink); }
.avr-functional__departments-panel .tp-submenu .tp-submenu { margin: 4px 0 0 22px !important; gap: 4px; }
.avr-header--functional:has([data-avelle-departments-toggle][aria-expanded="true"]) .avr-functional__nav .tp-submenu, .avr-header--functional:has([data-avelle-departments-toggle][aria-expanded="true"]) .avr-functional__nav .avelle-mega-menu { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; transform: translateY(8px) !important; }
.avr-functional__actions .tp-header-action-item-menu { display: none !important; }
}

/* Non-homepage functional header: keep the page header's composition, while
 * preserving the approved Avelle navigation scale and uppercase labels. */
body:not(:has(.avr-functional-hero)) .avr-header--functional .avr-functional__main-grid {
    gap: 12px;
}

@media (min-width: 992px) and (max-width: 1199px) {
  .avr-functional__main-grid {
    grid-template-columns: 210px minmax(0, 1fr) 33px auto;
    gap: 8px;
  }

  .avr-functional__brand .logo img {
    max-width: 210px !important;
    max-height: 56px !important;
  }

  .avr-functional__curated-menu { gap: 14px; }
  .avr-functional__right { gap: 12px; }
  .avr-functional__contact { display: none; }
}

body:not(:has(.avr-functional-hero)) .avr-header--functional .avr-functional__nav .tp-main-menu-content > ul > li > a {
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

/* Keep the shared functional header aligned with the non-homepage content
 * container: breadcrumbs start 30px before the header's 1380px container.
 * Move only the brand; the main navigation keeps its approved position. */
@media (min-width: 992px) and (max-width: 1599.98px) {
    body:not(:has(.avr-functional-hero)) .avr-header--functional .avr-functional__brand {
        transform: translateX(27.5px);
    }
}

@media (min-width: 1600px) {
    body:not(:has(.avr-functional-hero)) .avr-header--functional .avr-functional__brand {
        transform: translateX(-30px);
    }
}

@media (min-width: 992px) {
    html body:not(:has(.avr-functional-hero)) .avr-header--functional .avr-functional__main-grid {
        gap: 12px;
    }

    html body:not(:has(.avr-functional-hero)) .avr-header--functional .avr-functional__nav .tp-main-menu-content li > a {
        font-size: 14px;
        font-weight: 500;
        text-transform: uppercase;
    }
}

/* H1 â€” cinematic editorial / WoodMart geometry */
.avr-header--editorial { --avr-accent: var(--avl-ink); --avr-line: var(--avl-line); font-family: Lato, Arial, sans-serif; }
.avr-editorial__announcement { height: 40px; padding: 0 15px; display: grid; grid-template-columns: 32px 1fr 32px; align-items: center; background: var(--avl-surface); }
.avr-editorial__announcement p { margin: 0; color: var(--avl-ink); text-align: center; font-size: 13px; }
.avr-editorial__announcement > span { width: 32px; height: 32px; display: grid; place-items: center; color: var(--avl-muted); }
.avr-editorial__announcement > span:last-child { justify-self: end; }
.avr-editorial__announcement svg { width: 16px; height: 16px; }
.avr-editorial__main, .avr-editorial__grid { min-height: 80px; background: var(--avl-bg); }
.avr-editorial__grid { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 25px; }
.avr-editorial__nav { justify-self: start; }
.avr-editorial__nav .tp-main-menu-content > ul { justify-content: flex-start; }
.avr-editorial__nav .tp-main-menu-content > ul > li:nth-child(n + 4) { display: none; }
.avr-editorial__nav .tp-main-menu-content > ul > li > a { font-size: 14px; font-weight: 400; text-transform: uppercase; }
.avr-editorial__brand { justify-self: center; }
.avr-editorial__brand .logo img { max-width: 200px; }
.avr-editorial__actions { justify-self: end; }
.avr-editorial__search { height: 42px; border: 0; padding: 0 6px; display: inline-flex; align-items: center; gap: 7px; background: transparent; text-transform: uppercase; font-size: 12px; }

/* H5 â€” graphic maximal / XStore geometry */
.avr-header--maximal { --avr-accent: var(--avl-ink); --avr-line: var(--avl-line); font-family: Inconsolata, "Courier New", monospace; }
.avr-maximal__main, .avr-maximal__grid { min-height: 86px; background: var(--avl-bg); }
.avr-maximal__grid { width: min(100% - 60px, 1190px); margin-inline: auto; display: grid; grid-template-columns: 150px minmax(500px, 1fr) 44px minmax(250px, auto); align-items: center; gap: 20px; }
.avr-maximal__brand .logo img { max-width: 145px; }
.avr-maximal__nav .tp-main-menu-content > ul { justify-content: flex-start; gap: clamp(16px, 1.75vw, 28px); }
.avr-maximal__nav .tp-main-menu-content > ul > li > a { font-size: 13px; font-weight: 700; text-transform: uppercase; }
.avr-maximal__actions { padding-left: 14px; border-left: 1px solid var(--avr-line); }
.avr-maximal__cart-value { min-width: 86px; display: grid !important; gap: 2px; margin-left: 4px; color: var(--avl-ink); line-height: 1; text-transform: uppercase; }
.avr-maximal__cart-value span { color: var(--avl-muted); font-size: 10px; letter-spacing: .08em; }
.avr-maximal__cart-value strong { font-size: 12px; font-weight: 700; }

@media (max-width: 991px) {
    .avr-container { width: min(100% - 30px, 100%); }
    .avr-desktop-only, .avr-nav, .avr-functional__search { display: none !important; }
    .avr-mobile-only { display: inline-flex !important; }
    .avr-header .logo img { max-width: 165px; max-height: 34px !important; }
    .avr-actions .tp-header-action-item-compare, .avr-actions .tp-header-action-item-wishlist { display: none !important; }

    .avr-clean__row, .avr-clean__grid { min-height: 64px; }
    .avr-clean__grid { width: calc(100% - 30px); grid-template-columns: 1fr auto; gap: 8px; }
    .avr-clean__brand { position: absolute; left: 50%; justify-self: auto; transform: translateX(-50%); }
    .avr-clean__brand .logo img { max-width: 136px; max-height: 31px !important; }
    .avr-clean__actions { gap: 0; }
    .avr-clean__action { width: 38px; height: 44px; }
    .avr-clean__badge { top: 2px; right: -2px; }
    .avr-clean-hero__panel { cursor: default; }
    .avr-clean-hero__expand { display: none; }
    .avr-clean-hero__details { max-width: min(520px, 70vw); bottom: 110px; display: block; opacity: 0; transform: translateY(18px); transition-delay: 0s; }
    .avr-clean-hero__panel.is-mobile-open::after { inset: 15% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.72)); }
    .avr-clean-hero__panel.is-mobile-open .avr-clean-hero__details { opacity: 1; transform: none; }
    .avr-clean-hero__panel.is-mobile-open > .avr-clean-hero__cta { color: var(--avl-bg); background: rgba(17,17,17,.92); }

    .avr-campaign__utility { display: none; }
    .avr-campaign__main, .avr-campaign__grid { min-height: 53px; }
    .avr-campaign__grid { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; }
    .avr-campaign__brand { justify-self: center; }
    .avr-campaign__brand .logo img { max-width: 128px; }

    .avr-functional__compact-utility { height: 33px; border-bottom: 1px solid var(--avr-line); padding: 0 15px; display: flex; align-items: center; justify-content: space-between; color: var(--avl-muted); background: var(--avl-bg); font-size: 10px; }
    .avr-functional__compact-utility > span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
    .avr-functional__compact-utility svg { width: 14px; height: 14px; color: var(--avr-accent); }
    .avr-functional__main, .avr-functional__main-grid { height: 62px; min-height: 62px; }
    .avr-functional__main-grid { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; }
    .avr-functional__brand { justify-self: center; }
    .avr-functional__brand .logo img { max-width: 135px; max-height: 35px !important; }
    .avr-functional__actions { justify-self: end; }

    .avr-editorial__main, .avr-editorial__grid { min-height: 70px; }
    .avr-editorial__grid { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; }
    .avr-editorial__brand { justify-self: center; }
    .avr-editorial__brand .logo img { max-width: 165px; }

    .avr-maximal__main, .avr-maximal__grid { min-height: 62px; }
    .avr-maximal__grid { width: calc(100% - 30px); grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; }
    .avr-maximal__brand { justify-self: center; }
    .avr-maximal__brand .logo img { max-width: 145px; }
    .avr-maximal__actions { padding: 0; border: 0; }
}

@media (max-width: 575px) {
    .avr-container { width: calc(100% - 30px); }
    .avr-icon, .avr-actions .tp-header-action-btn { width: 38px; height: 38px; }
    .avr-actions { gap: 0; }
    .avr-campaign__announcement { padding: 0 10px; }
    .avr-campaign__announcement p { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; }
    .avr-editorial__announcement { padding: 0 8px; }
    .avr-editorial__announcement p { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; }
}

/* Above-the-fold registers: each archetype owns its DOM and responsive projection. */
.avr-hero { position: relative; z-index: 1; color: var(--avl-ink); background: var(--avl-bg); }
.avr-hero *, .avr-hero *::before, .avr-hero *::after { box-sizing: border-box; }
.avr-hero img, .avr-hero video { display: block; width: 100%; }
.avr-mobile-commerce { display: none; }

/* H1 */
.avr-hero--editorial { padding: 0 15px 15px; font-family: Lato, Arial, sans-serif; }
.avr-editorial-hero__stage { position: relative; height: calc(100vh - 135px); min-height: 610px; border-radius: var(--avl-r-card, 18px); overflow: hidden; background: var(--avl-surface); }
.avr-editorial-hero__stage::after { content: ""; position: absolute; z-index: 1; inset: 40% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.34)); pointer-events: none; }
.avr-editorial-hero__poster, .avr-editorial-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; }
.avr-editorial-hero__poster img, .avr-editorial-hero__video { width: 100%; height: 100%; object-fit: cover; object-position: var(--avr-editorial-desktop-position, center 42%); }
.avr-editorial-hero__poster { display: none; }
.avr-editorial-hero__stage.is-video-unavailable .avr-editorial-hero__video { display: none; }
.avr-editorial-hero__stage.is-video-unavailable .avr-editorial-hero__poster { display: block; }
.avr-editorial-hero__copy { position: absolute; z-index: 2; right: 20px; bottom: 12%; left: 20px; color: var(--avl-bg); text-align: center; text-shadow: 0 2px 18px rgba(0, 0, 0, .28); }
.avr-editorial-hero__copy > span { display: block; margin-bottom: 11px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.avr-editorial-hero__copy h1 { margin: 0 0 22px; color: inherit; font-family: Lora, Georgia, serif; font-size: clamp(38px, 3vw, 52px); line-height: 1.06; font-weight: 400; }
.avr-editorial-hero__links { display: flex; align-items: center; justify-content: center; gap: 10px; }
.avr-editorial-hero__copy a { min-width: 104px; min-height: 40px; border: 1px solid rgba(255,255,255,.74); border-radius: var(--avl-r, 12px); display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; color: inherit; background: rgba(17,17,17,.18); font-size: 11px; font-weight: 700; text-transform: uppercase; text-shadow: none; backdrop-filter: blur(7px); transition: color .2s ease, background .2s ease, transform .2s ease; }
.avr-editorial-hero__copy a:hover { color: var(--avl-ink); background: var(--avl-bg); transform: translateY(-1px); }
.avr-editorial-hero__video-toggle { position: absolute; z-index: 3; top: 18px; right: 18px; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.5); border-radius: var(--avl-r, 12px); display: grid; place-items: center; padding: 0; color: var(--avl-bg); background: rgba(17,17,17,.34); backdrop-filter: blur(8px); }
.avr-editorial-hero__video-toggle span { grid-area: 1 / 1; display: grid; place-items: center; }
.avr-editorial-hero__video-toggle [data-video-state="play"] { display: none; }
.avr-editorial-hero__video-toggle.is-paused [data-video-state="pause"] { display: none; }
.avr-editorial-hero__video-toggle.is-paused [data-video-state="play"] { display: grid; }
.avr-editorial-hero__video-toggle i { font-size: 18px; }

/* H2 */
.avr-hero--clean { padding: 5px 0 0; background: var(--avl-bg); }
.avr-clean-hero__track {
    width: min(1824px, calc(100% - clamp(24px, 4.2vw, 80px)));
    margin-inline: auto;
    display: flex;
    gap: 5px;
    overflow: hidden;
}
.avr-clean-hero__panel {
    min-width: 0;
    position: relative;
    flex: 1 1 0;
    height: calc(100svh - 91px);
    min-height: 620px;
    overflow: hidden;
    border-radius: var(--avl-r-card, 18px);
    background: var(--avl-surface);
    cursor: pointer;
    transition: flex-basis .65s cubic-bezier(.2, .72, .2, 1), opacity .35s ease;
}
.avr-clean-hero__rail-label { display: none; }
.avr-hero--clean-radius-compact .avr-clean-hero__panel { border-radius: 12px; }
.avr-hero--clean-radius-soft .avr-clean-hero__panel { border-radius: 22px; }
.avr-clean-hero__track[data-show-arrows="false"] .avr-clean-hero__expand { display: none !important; }
.avr-clean-hero__track[data-show-rail-label="false"] .avr-clean-hero__rail-label { display: none !important; }
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) { --avr-clean-rail-space: 36%; --avr-clean-expanded-size: 64%; --avr-clean-rail-size: calc((var(--avr-clean-rail-space) - 8px) / 2); gap: 4px; }
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"])[data-card-count="4"] { --avr-clean-rail-size: calc((var(--avr-clean-rail-space) - 12px) / 3); }
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"])[data-card-count="5"] { --avr-clean-rail-size: calc((var(--avr-clean-rail-space) - 16px) / 4); }
.avr-clean-hero__track[data-rail-size="compact"] { --avr-clean-rail-space: 30%; --avr-clean-expanded-size: 70%; }
.avr-clean-hero__track[data-rail-size="generous"] { --avr-clean-rail-space: 42%; --avr-clean-expanded-size: 58%; }
.avr-clean-hero__track[data-inactive-right="false"] { flex-direction: row-reverse; }
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"])[data-rail-position="left"] { flex-direction: row-reverse; }
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel {
    flex: 0 0 var(--avr-clean-rail-size);
    opacity: 1;
    pointer-events: auto;
}
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]):not(.has-accordion-active) .avr-clean-hero__panel:first-child,
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]).has-accordion-active .avr-clean-hero__panel.is-expanded {
    flex-basis: var(--avr-clean-expanded-size);
    opacity: 1;
    pointer-events: auto;
}
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]).has-accordion-active .avr-clean-hero__panel:not(.is-expanded) {
    flex-basis: var(--avr-clean-rail-size);
    opacity: 1;
    pointer-events: auto;
}
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel:not(.is-expanded) > .avr-clean-hero__cta { opacity: 0; pointer-events: none; }
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel:not(.is-expanded)::after {
    inset: 35% 0 0;
    background: linear-gradient(transparent, rgba(0,0,0,.5));
}
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel:not(.is-expanded) .avr-clean-hero__rail-label {
    position: absolute;
    z-index: 3;
    right: calc(50% - 7px);
    bottom: 34px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--avl-bg);
    text-shadow: 0 2px 12px rgba(0,0,0,.3);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
}
.avr-clean-hero__rail-label small { font: 650 10px/1 var(--avl-font-body); letter-spacing: .14em; }
.avr-clean-hero__rail-label strong { color: inherit; font: 590 14px/1.1 var(--avl-font-body); letter-spacing: .01em; }
.avr-clean-hero__track[data-inactive-preview="title"] .avr-clean-hero__rail-label small,
.avr-clean-hero__track[data-rail-index="false"] .avr-clean-hero__rail-label small,
.avr-clean-hero__track[data-inactive-preview="image"] .avr-clean-hero__rail-label,
.avr-clean-hero__track[data-rail-vertical-title="false"] .avr-clean-hero__rail-label strong { display: none !important; }
.avr-clean-hero__track[data-rail-thumbnails="false"] .avr-clean-hero__panel:not(.is-expanded) img { opacity: .18; filter: grayscale(.1) contrast(.9); }
.avr-clean-hero__track[data-fixed-expanded="false"] { --avr-clean-expanded-size: 58%; --avr-clean-rail-space: 42%; }
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel.is-expanded > .avr-clean-hero__cta {
    right: 32px;
    bottom: 32px;
    width: min(240px, 26vw);
}
.avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel.is-expanded .avr-clean-hero__details {
    left: 48px;
    max-width: min(400px, 34vw);
}
.avr-clean-hero__track[data-layout-variant="rail"] {
    --avr-clean-rail-width: clamp(230px, 18vw, 330px);
    --avr-clean-rail-stage: min(760px, calc(100svh - 104px));
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--avr-clean-rail-width);
    grid-template-rows: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    min-height: 660px;
    height: var(--avr-clean-rail-stage);
}
.avr-clean-hero__track[data-layout-variant="rail"][data-card-count="3"] { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.avr-clean-hero__track[data-layout-variant="rail"][data-card-count="4"] { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.avr-clean-hero__track[data-layout-variant="rail"][data-rail-size="compact"] {
    --avr-clean-rail-width: clamp(200px, 15vw, 280px);
}
.avr-clean-hero__track[data-layout-variant="rail"][data-rail-size="generous"] {
    --avr-clean-rail-width: clamp(270px, 22vw, 390px);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel {
    width: auto !important;
    height: auto;
    min-height: 0;
    flex: none;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 0 0 1px rgba(17,17,17,.08);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded {
    grid-column: 1;
    grid-row: 1 / -1;
    min-height: 100%;
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded) {
    grid-column: 2;
    min-height: 0;
    background: var(--avl-ink);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded)::after {
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.36) 48%, rgba(0,0,0,.08) 100%),
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.32) 100%);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded) img {
    filter: saturate(.86) contrast(1.02);
    transform: scale(1.012);
}
.avr-clean-hero__track[data-layout-variant="rail"][data-rail-thumbnails="false"] .avr-clean-hero__panel:not(.is-expanded) img {
    opacity: .26;
    filter: grayscale(.2) contrast(.92);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded) .avr-clean-hero__expand {
    width: 38px;
    height: 38px;
    top: 50%;
    right: auto;
    left: 22px;
    display: grid !important;
    color: var(--avl-ink);
    background: rgba(255,255,255,.96);
    opacity: .96 !important;
    transform: translateY(-50%) scale(.94);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded):hover .avr-clean-hero__expand,
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded):focus-within .avr-clean-hero__expand {
    color: var(--avl-bg);
    background: var(--avl-ink);
    transform: translateY(-50%) scale(1);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded) .avr-clean-hero__rail-label {
    right: 18px;
    bottom: 18px;
    left: 78px;
    transform: none;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;
    align-items: end;
    padding: 0 0 2px;
    color: var(--avl-bg);
    text-shadow: 0 2px 14px rgba(0,0,0,.45);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__rail-label small {
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    border: 1px solid rgba(255,255,255,.48);
    border-radius: var(--avl-r-pill, 999px);
    display: inline-grid;
    place-items: center;
    background: rgba(17,17,17,.32);
    backdrop-filter: blur(8px);
    font-size: 9px;
    letter-spacing: .1em;
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__rail-label strong {
    min-width: 0;
    max-height: 3.5em;
    overflow: hidden;
    font-size: clamp(13px, .95vw, 16px);
    line-height: 1.16;
    font-weight: 650;
    letter-spacing: -.01em;
    text-transform: none;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded::after {
    inset: 0;
    background:
        linear-gradient(to top, rgba(0,0,0,.74) 0%, rgba(0,0,0,.5) 42%, rgba(0,0,0,.08) 73%, transparent 100%),
        linear-gradient(90deg, rgba(0,0,0,.22) 0%, transparent 46%);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded .avr-clean-hero__details {
    left: clamp(48px, 5vw, 84px);
    bottom: clamp(56px, 9vh, 94px);
    max-width: min(560px, 43vw);
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded .avr-clean-hero__details small {
    margin-bottom: 16px;
    color: rgba(255,255,255,.92);
    letter-spacing: .2em;
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded .avr-clean-hero__details h2 {
    max-width: 10ch;
    font-size: clamp(58px, 6.2vw, 96px);
    line-height: .9;
    letter-spacing: -.065em;
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded .avr-clean-hero__details p {
    max-width: 44ch;
    margin-top: 22px;
}
.avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded > .avr-clean-hero__cta {
    right: clamp(28px, 3.2vw, 56px);
    bottom: clamp(34px, 6vh, 68px);
    width: min(260px, 24vw);
    min-height: 64px;
    color: var(--avl-bg);
    background: rgba(17,17,17,.94);
}
.avr-hero--clean-rail:has(.avr-clean-hero__panel.is-expanded) > .avr-clean-hero__promotion {
    bottom: clamp(122px, 14vh, 170px);
    left: min(calc(clamp(48px, 5vw, 84px) + min(560px, 43vw) + 34px), calc(100% - 410px));
}
.avr-clean-hero__track:is([data-card-count="4"], [data-card-count="5"]):not([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel:not(.is-expanded) > .avr-clean-hero__cta {
    right: 14px;
    left: 14px;
    min-height: 56px;
    padding: 10px 12px;
    font-size: 13px;
}
.avr-clean-hero__track:is([data-card-count="4"], [data-card-count="5"]):not([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel:not(.is-expanded) > .avr-clean-hero__cta span { padding-left: 8px; }
.avr-clean-hero__track.has-expanded { gap: 0; }
.avr-clean-hero__track.has-expanded .avr-clean-hero__panel:not(.is-expanded) { flex-basis: 0; opacity: 0; pointer-events: none; }
.avr-clean-hero__panel.is-expanded { flex-basis: 100%; cursor: default; }
.avr-clean-hero__panel img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(.93) contrast(1.01);
    transform: scale(1.002);
    transition: transform .7s cubic-bezier(.2, .62, .22, 1), filter .4s ease;
}
.avr-clean-hero__panel--1 img { object-position: 50% 45%; }
.avr-clean-hero__panel--2 img { object-position: 50% 40%; }
.avr-clean-hero__panel--3 img { object-position: 50% 42%; }
.avr-clean-hero__panel--4 img { object-position: 52% 40%; }
.avr-clean-hero__panel--5 img { object-position: 48% 44%; }
.avr-clean-hero__panel:hover img { filter: saturate(1) contrast(1.025); transform: scale(1.028); }
.avr-clean-hero__tap-target,
.avr-clean-hero__tap-cue,
.avr-clean-hero__promotion { display: none; }
body.avelle-a1-rail-hero-in-view .sale-popup-section,
body.avelle-a1-rail-hero-in-view .sale-popup-container-wrap,
body.avelle-a4-editorial-hero-in-view .sale-popup-section,
body.avelle-a4-editorial-hero-in-view .sale-popup-container-wrap {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(18px) !important;
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease !important;
}
.avr-clean-hero__panel::after { content: ""; position: absolute; inset: 52% 0 0; background: linear-gradient(transparent, rgba(0, 0, 0, .16)); pointer-events: none; transition: inset .4s ease, background .4s ease; }
.avr-clean-hero__panel.is-expanded::after {
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.48) 43%, rgba(0,0,0,.08) 74%, transparent 100%);
}
.avr-clean-hero__expand {
    width: 50px;
    height: 50px;
    position: absolute;
    z-index: 4;
    top: 50%;
    border: 1px solid rgba(17, 17, 17, .1);
    border-radius: var(--avl-r-pill, 999px) !important;
    display: grid;
    place-items: center;
    color: var(--avl-ink);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 35px rgba(0, 0, 0, .12);
    opacity: 0;
    transform: translateY(-50%) scale(.88);
    transition: opacity .22s ease, transform .3s cubic-bezier(.2, .72, .2, 1), background .2s ease;
}
.avr-clean-hero__panel--1 .avr-clean-hero__expand { right: 24px; }
.avr-clean-hero__panel--2 .avr-clean-hero__expand { left: 50%; transform: translate(-50%, -50%) scale(.88); }
.avr-clean-hero__panel--3 .avr-clean-hero__expand { left: 24px; }
.avr-clean-hero__panel:hover .avr-clean-hero__expand,
.avr-clean-hero__panel:focus-within .avr-clean-hero__expand { opacity: 1; transform: translateY(-50%) scale(1); }
.avr-clean-hero__panel--2:hover .avr-clean-hero__expand,
.avr-clean-hero__panel--2:focus-within .avr-clean-hero__expand { transform: translate(-50%, -50%) scale(1); }
.avr-clean-hero__expand .avelle-icon { width: 22px; height: 22px; }
.avr-clean-hero__panel.is-expanded .avr-clean-hero__expand {
    top: 28px;
    right: 28px;
    left: auto;
    opacity: 1;
    transform: none;
}
.avr-clean-hero__panel.is-expanded .avr-clean-hero__expand { display: none !important; }
.avr-clean-hero__details {
    max-width: min(520px, 42vw);
    position: absolute;
    z-index: 3;
    bottom: 8%;
    left: clamp(32px, 6vw, 96px);
    color: var(--avl-bg);
    opacity: 0;
    pointer-events: none;
    transform: translateY(24px);
    transition: opacity .3s ease .28s, transform .4s cubic-bezier(.2, .72, .2, 1) .24s;
}
.avr-clean-hero__details small { display: block; margin-bottom: 14px; font-size: 11px; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; }
.avr-clean-hero__details h2 { margin: 0; color: inherit; font: 520 clamp(42px, 5vw, 72px)/.98 var(--avl-font-body); letter-spacing: -.045em; }
.avr-clean-hero__details p { max-width: 50ch; margin: 20px 0 0; color: rgba(255,255,255,.88); font-size: 15px; line-height: 1.6; }
.avr-clean-hero__panel.is-expanded .avr-clean-hero__details { opacity: 1; transform: none; }
.avr-clean-hero__panel > .avr-clean-hero__cta {
    min-height: 66px;
    position: absolute;
    z-index: 2;
    right: clamp(34px, 17%, 96px);
    bottom: 30px;
    left: clamp(34px, 17%, 96px);
    display: grid;
    grid-template-columns: 1fr 24px;
    align-items: center;
    gap: 16px;
    padding: 14px 22px 14px 28px;
    color: var(--avl-ink);
    background: rgba(255, 255, 255, .96);
    font-family: var(--avl-font-body);
    font-size: 18px;
    line-height: 1.2;
    font-weight: 520;
    letter-spacing: -.015em;
    text-align: center;
    border-radius: var(--avl-r, 10px);
    box-shadow: 0 8px 35px rgba(0, 0, 0, .06);
    backdrop-filter: blur(10px);
    transition: color .18s ease, background .18s ease;
}
.avr-clean-hero__panel > .avr-clean-hero__cta span { padding-left: 24px; }
.avr-clean-hero__panel > .avr-clean-hero__cta svg { width: 19px; height: 19px; transition: transform .18s ease; }
.avr-clean-hero__panel > .avr-clean-hero__cta:hover { color: var(--avl-bg); background: var(--avl-ink); }
.avr-clean-hero__panel > .avr-clean-hero__cta:hover svg { transform: translate(2px, -2px); }
.avr-clean-hero__panel.is-expanded > .avr-clean-hero__cta { right: clamp(32px, 6vw, 96px); bottom: 8%; left: auto; width: min(300px, 28vw); }
.avr-clean-hero__panel.is-expanded > .avr-clean-hero__cta,
.avr-clean-hero__panel.is-mobile-open > .avr-clean-hero__cta {
    color: var(--avl-bg);
    background: var(--avl-ink);
}
.avr-clean-hero__panel.is-expanded ~ .avr-clean-hero__promotion,
.avr-hero--clean:has(.avr-clean-hero__panel.is-expanded) > .avr-clean-hero__promotion {
    width: 112px;
    height: 116px;
    position: absolute;
    z-index: 8;
    right: auto;
    bottom: calc(8% + 16px);
    left: min(calc(clamp(32px, 6vw, 96px) + min(520px, 42vw) + 28px), calc(100% - 430px));
    display: block;
}
.avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-target {
    width: 104px;
    height: 104px;
    position: absolute;
    top: 0;
    right: 0;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: var(--avl-r, 12px);
    display: block;
    overflow: hidden;
    background: rgba(255,255,255,.9);
    box-shadow: 0 10px 28px rgba(0,0,0,.16);
}
.avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-target img { width: 100%; height: 100%; object-fit: cover; }
.avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-name { width: 100%; height: 100%; display: grid; place-items: center; background: var(--avl-bg); }
.avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-discount {
    width: 48px;
    min-height: 46px;
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    border-radius: 9px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--avl-ink);
    background: var(--avl-bg);
    box-shadow: 0 7px 20px rgba(0,0,0,.16);
}
.avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-discount strong { font: 520 16px/.95 var(--avl-font-body); }
.avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-discount small { margin-top: 3px; font: 650 7px/1 var(--avl-font-body); text-transform: uppercase; }
.avr-clean-hero__dots { display: none; }
.avr-clean-hero__promotion[hidden],
.avr-clean-hero__promotion-target > [hidden],
.avr-clean-hero__promotion-name > [hidden] { display: none !important; }
.avr-clean-hero__promotion.is-entering {
    animation: avr-clean-promotion-enter .4s cubic-bezier(.2, .72, .2, 1) .14s both;
}
@keyframes avr-clean-promotion-enter {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* H3 â€” independent Minimog-inspired campaign slider. */
.avr-hero--campaign { overflow: hidden; color: var(--avl-ink); background: var(--avl-surface); font-family: var(--avl-font-body); }
.avr-campaign-hero__viewport { position: relative; height: 667px; min-height: 667px; overflow: hidden; background: var(--avl-line); touch-action: pan-y; }
.avr-campaign-hero__slide {
    position: absolute;
    inset: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    background: var(--avl-line);
    pointer-events: none;
    transition: opacity .55s cubic-bezier(.2,.72,.2,1), visibility .55s step-end;
}
.avr-campaign-hero__slide::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(238,238,238,.98) 0%, rgba(238,238,238,.8) 24%, rgba(238,238,238,.12) 48%, transparent 68%); pointer-events: none; }
.avr-campaign-hero__slide.is-active { visibility: visible; opacity: 1; pointer-events: auto; transition: opacity .55s cubic-bezier(.2,.72,.2,1), visibility 0s; }
.avr-campaign-hero__media { position: absolute; inset: 0; }
.avr-campaign-hero__media img { height: 100%; object-fit: cover; object-position: var(--avr-campaign-desktop-position, 65% center); transform: scale(1.018); transition: transform 6.8s cubic-bezier(.2,.62,.25,1); }
.avr-campaign-hero__slide.is-active .avr-campaign-hero__media img { transform: scale(1); }
.avr-campaign-hero__copy { position: absolute; z-index: 2; top: 50%; left: max(65px, calc((100vw - 1310px) / 2)); width: min(520px, 38vw); opacity: 0; transform: translateY(calc(-50% + 18px)); transition: opacity .35s ease .13s, transform .48s cubic-bezier(.2,.72,.2,1) .13s; }
.avr-campaign-hero__slide.is-active .avr-campaign-hero__copy { opacity: 1; transform: translateY(-50%); }
.avr-campaign-hero__copy > span { display: block; color: var(--avl-ink); font-size: 14px; line-height: 1; font-weight: 650; letter-spacing: .04em; }
.avr-campaign-hero__copy h1, .avr-campaign-hero__copy h2 { max-width: 520px; margin: 26px 0 20px; color: var(--avl-ink); font: 420 clamp(50px, 4vw, 64px)/.98 var(--avl-font-body); letter-spacing: -.055em; }
.avr-campaign-hero__copy p { max-width: 390px; margin: 0 0 30px; color: #3f3f3f; font-size: 15px; line-height: 1.65; }
.avr-campaign-hero__copy a { min-width: 146px; height: 48px; border: 1px solid var(--avl-ink); border-radius: var(--avl-r, 12px); display: inline-flex; align-items: center; justify-content: center; padding: 0 25px; color: var(--avl-ink); background: rgba(255,255,255,.14); font-size: 14px; font-weight: 650; transition: color .2s ease, background .2s ease, transform .2s ease; }
.avr-campaign-hero__copy a:hover { color: var(--avl-bg); background: var(--avl-ink); transform: translateY(-1px); }
.avr-campaign-hero__mobile-title, .avr-campaign-hero__mobile-copy { display: none; }
.avr-campaign-hero__context { position: absolute; z-index: 3; right: max(65px, calc((100vw - 1310px) / 2)); bottom: 42px; display: flex; align-items: center; gap: 10px; color: var(--avl-ink); font-size: 13px; }
.avr-campaign-hero__context strong { padding-bottom: 3px; border-bottom: 1px solid currentColor; font-weight: 650; }
.avr-campaign-hero__dots { position: absolute; z-index: 5; top: 50%; right: 3.2%; display: grid; gap: 8px; transform: translateY(-50%); }
.avr-campaign-hero__dots button { width: 24px; height: 24px; border: 0; border-radius: 999px; display: grid; place-items: center; padding: 0; background: transparent; }
.avr-campaign-hero__dots button span { width: 7px; height: 7px; border: 1px solid var(--avl-ink); border-radius: 999px; display: block; background: transparent; transition: transform .2s ease, background .2s ease; }
.avr-campaign-hero__dots button[aria-selected="true"] span { background: var(--avl-ink); transform: scale(1.25); }
.avr-campaign-hero__dots button:focus-visible { outline: 2px solid var(--avl-ink); outline-offset: 1px; }
.avr-campaign-hero__controls { position: absolute; z-index: 5; right: max(65px, calc((100vw - 1310px) / 2)); bottom: 98px; border: 1px solid rgba(17,17,17,.12); border-radius: 999px; display: flex; align-items: center; overflow: hidden; color: var(--avl-ink); background: rgba(255,255,255,.72); box-shadow: 0 8px 28px rgba(17,17,17,.06); backdrop-filter: blur(10px); }
.avr-campaign-hero__controls button { width: 38px; height: 38px; border: 0; display: grid; place-items: center; padding: 0; background: transparent; }
.avr-campaign-hero__controls button:hover { background: rgba(17,17,17,.07); }
.avr-campaign-hero__controls svg { width: 15px; height: 15px; }
.avr-campaign-hero__controls > span { min-width: 52px; text-align: center; font-size: 11px; font-variant-numeric: tabular-nums; }

/* H4 */
.avr-hero--functional { color: var(--avl-ink); background: var(--avl-bg); font-family: var(--avl-font-body); }
.avr-functional-hero__campaign { position: relative; height: 600px; overflow: hidden; background: var(--avl-surface); }
.avr-functional-hero__viewport, .avr-functional-hero__slide { position: absolute; inset: 0; }
.avr-functional-hero__viewport { touch-action: pan-y; }
.avr-functional-hero__slide { visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .45s ease, visibility 0s linear .45s; }
.avr-functional-hero__slide.is-active { visibility: visible; opacity: 1; pointer-events: auto; transition: opacity .45s ease; }
.avr-functional-hero__media { position: absolute; inset: 0; display: block; }
.avr-functional-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--avr-functional-desktop-position, center center); }
html body .avr-functional-hero__slide > picture.avr-functional-hero__media { position: absolute !important; inset: 0 !important; display: block !important; width: 100% !important; height: 100% !important; }
html body .avr-functional-hero__slide > picture.avr-functional-hero__media > img { display: block !important; width: 100% !important; max-width: none !important; height: 100% !important; object-fit: cover !important; }
.avr-functional-hero__slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255, 255, 255, .78) 0%, rgba(255, 255, 255, .5) 25%, rgba(255, 255, 255, .04) 50%, rgba(255, 255, 255, .12) 100%); pointer-events: none; }
.avr-functional-hero__copy { position: absolute; z-index: 2; top: 50%; left: max(5vw, calc((100vw - 1380px) / 2)); width: 430px; transform: translateY(-50%); }
.avr-functional-hero__copy > span { color: var(--avelle-primary); font: 700 14px/1 var(--avl-font-body); text-transform: uppercase; }
.avr-functional-hero__copy h1, .avr-functional-hero__copy h2 { margin: 20px 0 16px; color: var(--avl-ink); font: 700 clamp(44px, 4.2vw, 68px)/1.02 var(--avl-font-body); letter-spacing: -.045em; }
.avr-functional-hero__copy p { margin: 0 0 24px; color: var(--avl-muted); font: 400 15px/1.65 var(--avl-font-body); }
.avr-functional-hero__copy a { height: 46px; border-radius: var(--avl-r, 12px); display: inline-flex; align-items: center; padding: 0 28px; color: var(--avl-bg); background: var(--avl-ink); font: 650 13px/1 var(--avl-font-body); transition: background .2s ease, transform .2s ease; }
.avr-functional-hero__copy a:hover { background: var(--avelle-primary); transform: translateY(-1px); }
.avr-functional-hero__dots { position: absolute; z-index: 4; right: auto; bottom: 30px; left: 50%; display: flex; align-items: center; gap: 6px; padding: 0; border-radius: 999px; background: transparent; transform: translateX(-50%); }
.avr-functional-hero__dots button { width: 20px; height: 6px; border: 0; border-radius: 999px; display: block; flex: 0 0 auto; padding: 0; background: rgba(255,255,255,.4); transition: width .2s ease, background-color .2s ease, opacity .2s ease; }
.avr-functional-hero__dots button span { display: none; }
.avr-functional-hero__dots button[aria-selected="true"] { width: 40px; background: var(--avr-surface); }
.avr-functional-hero__dots button:focus-visible { outline: 2px solid var(--avr-surface); outline-offset: 4px; }
.avr-functional-hero__controls { display: none !important; }
.avr-functional-hero__controls button { width: 38px; height: 38px; border: 0; display: grid; place-items: center; padding: 0; background: transparent; }
.avr-functional-hero__controls button:hover { background: rgba(32,32,32,.06); }
.avr-functional-hero__controls svg { width: 14px; height: 14px; }
.avr-functional-hero__controls > span { min-width: 48px; text-align: center; font-size: 11px; font-variant-numeric: tabular-nums; }
.avr-functional-hero__trust { width: min(100% - 40px, 1400px); min-height: 92px; margin: 30px auto 0; border: 1px solid var(--avl-line); display: grid; grid-template-columns: repeat(4, 1fr); background: var(--avl-bg); }
.avr-functional-hero__trust > div { padding: 18px 28px; display: flex; align-items: center; gap: 16px; }
.avr-functional-hero__trust > div + div { border-left: 1px solid var(--avl-line); }
.avr-functional-hero__trust svg { width: 37px; height: 37px; flex: 0 0 auto; }
.avr-functional-hero__trust span { display: grid; font-family: var(--avl-font-body); }
.avr-functional-hero__trust strong { color: var(--avl-ink); font-size: 13px; }
.avr-functional-hero__trust small { margin-top: 4px; color: var(--avl-muted); font-size: 11px; }
.avr-functional-hero__category-access { display: none; }
.avr-functional-hero__categories { display: none; }

/* H5 */
.avr-hero--maximal { font-family: Inconsolata, "Courier New", monospace; }
.avr-maximal-hero__campaign { position: relative; height: min(610px, calc(100vh - 86px)); min-height: 570px; margin-inline: 15px; border-radius: var(--avl-r-card, 18px); overflow: hidden; background: #cfd1d1; }
.avr-maximal-hero__campaign picture, .avr-maximal-hero__campaign picture img { height: 100%; }
.avr-maximal-hero__campaign img { object-fit: cover; object-position: var(--avr-maximal-desktop-position, center 35%); filter: saturate(.82) contrast(.95); }
.avr-maximal-hero__campaign::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.14) 45%, rgba(0,0,0,.05) 100%); pointer-events: none; }
.avr-maximal-hero__copy { position: absolute; z-index: 2; top: 50%; left: max(8vw, calc((100vw - 1190px) / 2)); width: min(600px, 46vw); color: var(--avl-bg); transform: translateY(-50%); }
.avr-maximal-hero__copy > span { display: block; margin-bottom: 28px; font-size: 18px; font-weight: 700; }
.avr-maximal-hero__copy h1 { margin: 0 0 42px; color: inherit; font: 700 clamp(76px, 8vw, 120px)/.82 Inconsolata, monospace; letter-spacing: -.055em; }
.avr-maximal-hero__copy > a { min-width: 190px; height: 52px; border-radius: var(--avl-r, 12px); display: inline-flex; align-items: center; justify-content: center; padding: 0 28px; color: var(--avl-bg); background: var(--avl-ink); font-size: 16px; font-weight: 700; }
.avr-maximal-hero__copy > a:hover { color: var(--avl-ink); background: var(--avl-bg); transform: translateY(-2px); }
.avr-maximal-hero__mobile-product-cue { display: none !important; }
.avr-maximal-hotspot { position: absolute; z-index: 3; top: var(--avr-hotspot-y); left: var(--avr-hotspot-x); color: var(--avl-ink); transform: translate(-9px, -9px); }
.avr-maximal-hotspot__pin { position: relative; width: 18px; height: 18px; border: 5px solid var(--avl-bg); border-radius: 50%; display: block; background: var(--avl-ink); box-shadow: 0 0 0 1px rgba(0,0,0,.15), 0 5px 16px rgba(0,0,0,.2); }
.avr-maximal-hotspot__pin::after { content: ""; position: absolute; inset: -9px; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; animation: avr-maximal-hotspot-pulse 2s ease-out infinite; }
.avr-maximal-hotspot__card { position: absolute; top: 50%; left: 30px; width: 230px; min-height: 76px; border-radius: var(--avl-r, 12px); display: grid; grid-template-columns: 56px minmax(0, 1fr) 20px; align-items: center; gap: 11px; padding: 10px; color: var(--avl-ink); background: rgba(255,255,255,.96); box-shadow: 0 14px 34px rgba(0,0,0,.16); opacity: 0; visibility: hidden; transform: translate(10px, -50%); transition: opacity .2s ease, transform .24s ease, visibility .2s ease; }
.avr-maximal-hotspot__card > img { width: 56px; height: 56px; border-radius: 8px; object-fit: cover; object-position: center top; filter: none; }
.avr-maximal-hotspot__card > span:nth-child(2) { min-width: 0; display: grid; gap: 6px; }
.avr-maximal-hotspot__card strong { overflow: hidden; font: 700 12px/1.15 Inconsolata, monospace; white-space: nowrap; text-overflow: ellipsis; }
.avr-maximal-hotspot__card small { font: 700 13px/1 Inconsolata, monospace; }
.avr-maximal-hotspot__card svg { width: 16px; height: 16px; }
.avr-maximal-hotspot--reverse .avr-maximal-hotspot__card { right: 30px; left: auto; transform: translate(-10px, -50%); }
.avr-maximal-hotspot:hover .avr-maximal-hotspot__card,
.avr-maximal-hotspot:focus-visible .avr-maximal-hotspot__card { opacity: 1; visibility: visible; transform: translate(0, -50%); }
.avr-maximal-hotspot:focus-visible { outline: none; }
.avr-maximal-hotspot:focus-visible .avr-maximal-hotspot__pin { outline: 2px solid var(--avl-bg); outline-offset: 4px; }
.avr-maximal-hero__mobile-products { display: none; }

@keyframes avr-maximal-hotspot-pulse {
    0% { opacity: .8; transform: scale(.6); }
    75%, 100% { opacity: 0; transform: scale(1.7); }
}

@media (prefers-reduced-motion: reduce) {
    html body .avr-hero--editorial .avr-editorial-hero__video { display: none !important; }
    html body .avr-hero--editorial .avr-editorial-hero__poster { display: block !important; }
    html body .avr-hero--editorial .avr-editorial-hero__video-toggle { display: none !important; }
    .avr-clean-hero__panel,
    .avr-clean-hero__details,
    .avr-clean-hero__expand,
    .avr-clean-hero__tap-cue,
    .avr-clean-hero__tap-cue-icon { transition: none; animation: none; }
    .avr-functional-hero__slide { transition: none; }
}

/* A1 shares the same wide homepage grid at every state. Keep this last so the
   tablet/mobile register transforms cannot silently restore viewport width. */
.avr-hero--clean > .avr-clean-hero__track {
    width: min(1824px, calc(100% - clamp(16px, 4.2vw, 80px))) !important;
    margin-inline: auto !important;
}

@media (max-width: 767px) {
    .avr-hero--clean > .avr-clean-hero__track { width: calc(100% - 16px) !important; }
}

/* Final functional hero geometry: picture is the full-width media layer. */
html body .avr-functional-hero__slide > picture.avr-functional-hero__media {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
html body .avr-functional-hero__slide > picture.avr-functional-hero__media > img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Final non-homepage functional-header contract. */
@media (min-width: 992px) {
    html body:not(:has(.avr-functional-hero)) .avr-header--functional .avr-functional__main-grid {
        gap: 14px !important;
    }

    html body:not(:has(.avr-functional-hero)) .avr-header--functional .avr-functional__nav--top .avr-functional__curated-menu a {
        font-size: 14px !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
    }
}

@media screen and (min-width: 768px) {
    html body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-wrapper:not(.is-expanded) {
        border: 1px solid rgba(255, 255, 255, .42) !important;
        background: rgba(255, 255, 255, .10) !important;
    }
}

/* The logo asset contains transparent side padding. Keep its visual size, but
   let the navigation start after the visible mark instead of after the full
   image box. */
@media screen and (min-width: 992px) {
    html body .avr-header--functional .avr-functional__main-grid {
        grid-template-columns: 190px minmax(0, 1fr) 33px auto;
    }

    html body .avr-header--functional .avr-functional__main-grid:has(.avr-functional__search .is-expanded) {
        grid-template-columns: 150px 33px minmax(0, 1fr) auto;
    }
}

/* Functional-rich inline search: collapsed icon state expands left into the
   field while keeping one shared height. The button loses its own tile once
   the field is open. */
@media screen and (min-width: 768px) {
    html body .avr-header--functional .avr-functional__search {
        width: 33px !important;
        min-width: 33px !important;
        justify-self: end;
        transition: width .28s ease;
    }

    html body .avr-header--functional .avr-functional__search:has(.is-expanded) {
        position: relative;
        grid-column: 3;
        width: 100% !important;
    }

    html body .avr-header--functional .avr-functional__main-grid:has(.avr-functional__search .is-expanded) {
        grid-template-columns: 270px 33px minmax(0, 1fr) auto;
        gap: 12px;
    }

    html body .avr-header--functional .avr-functional__nav--top:has(~ .avr-functional__search .is-expanded) {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    html body .avr-header--functional .avr-functional__nav--top:has(~ .avr-functional__search .is-expanded) .avr-functional__curated-menu {
        display: none;
    }

    html body .avr-header--functional .avr-functional__nav--top:has(~ .avr-functional__search .is-expanded) .avr-functional__nav-toggle {
        width: 33px;
        height: 33px;
        border: 0;
        border-radius: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        color: var(--avl-bg);
        background: transparent;
    }

    html body .avr-header--functional .avr-functional__nav-toggle svg {
        width: 17px;
        height: 17px;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-wrapper {
        width: 33px;
        height: 33px !important;
        min-height: 33px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 8px;
        display: grid !important;
        grid-template-columns: 0 minmax(33px, 33px);
        overflow: hidden;
        background: rgba(255, 255, 255, .10) !important;
        transition: width .28s ease, background .28s ease;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-wrapper:not(.is-expanded) {
        border: 1px solid rgba(255, 255, 255, .36) !important;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-wrapper.is-expanded {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) 33px;
        background: var(--avl-bg) !important;
        box-shadow: 0 10px 28px rgba(0, 0, 0, .12);
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-box,
    html body .avr-header--functional .avr-functional__search .tp-header-search-box input,
    html body .avr-header--functional .avr-functional__search .tp-header-search-btn,
    html body .avr-header--functional .avr-functional__search .tp-header-search-btn button {
        height: 33px !important;
        min-height: 33px !important;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-box {
        min-width: 0;
        overflow: hidden;
        opacity: 0;
        pointer-events: none;
        transition: opacity .16s ease;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-wrapper.is-expanded .tp-header-search-box {
        opacity: 1;
        pointer-events: auto;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-wrapper:not(.is-expanded) .tp-header-search-box input {
        width: 0 !important;
        min-width: 0 !important;
        padding-inline: 0 !important;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-box input {
        width: 100% !important;
        border: 0 !important;
        border-radius: 8px 0 0 8px !important;
        background: rgba(255, 255, 255, .10) !important;
        color: var(--avl-bg) !important;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-btn {
        width: 33px !important;
        min-width: 33px !important;
        border: 0 !important;
        background: transparent !important;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-btn button {
        width: 33px !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        line-height: 0;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--avl-bg) !important;
    }

    html body .avr-header--functional .avr-functional__search-close {
        position: absolute;
        z-index: 3;
        top: 0;
        bottom: 0;
        right: 33px;
        width: 33px;
        height: 100%;
        border: 0;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        color: var(--avl-ink);
        background: transparent !important;
    }

    html body .avr-header--functional .avr-functional__search:has(.is-expanded) .tp-header-search-box input {
        padding-right: 66px !important;
    }

    html body .avr-header--functional .avr-functional__search:has(.is-expanded) .avr-functional__search-close {
        display: inline-flex;
    }

    html body .avr-header--functional .avr-functional__search-close svg {
        width: 16px;
        height: 16px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991.98px) {
    html body .avr-header--functional .avr-mobile-header-actions .tp-search-open-btn {
        display: none !important;
    }

    html body .avr-header--functional .avr-mobile-header-actions {
        width: 40px;
        min-width: 40px;
    }

    html body .avr-header--functional .avr-functional__search {
        width: 33px !important;
        min-width: 33px !important;
    }

    html body .avr-header--functional .avr-functional__search:has(.is-expanded) {
        width: 100% !important;
    }
}

/* Functional hero overlay: keep only the search field surface visible. The
   wrapper and mobile/tablet action buttons must not introduce white tiles. */
html body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-wrapper {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-box input {
    background: rgba(255, 255, 255, .10) !important;
    color: var(--avl-bg) !important;
}

html body:has(.avr-hero--functional) .avr-header.avr-header--functional form#bb-form-quick-search input[type="search"] {
    background-color: rgba(255, 255, 255, .10) !important;
    color: var(--avl-bg) !important;
}

html body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-btn,
html body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-functional__search .tp-header-search-btn button {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--avl-bg) !important;
}

html body:has(.avr-hero--functional) .avr-header.avr-header--functional form#bb-form-quick-search .tp-header-search-btn,
html body:has(.avr-hero--functional) .avr-header.avr-header--functional form#bb-form-quick-search .tp-header-search-btn button {
    background-color: transparent !important;
    color: var(--avl-bg) !important;
}

@media screen and (max-width: 991.98px) {
    html body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-icon,
    html body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-mobile-header-action,
    html body:has(.avr-hero--functional) .avr-header.avr-header--functional .avr-torque-action__icon-link {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
}

/* Issue #41: preserve one coherent navigation system across all viewports. */
@media (max-width: 991px) {
    html:has([data-avelle-header-preset="clean-contemporary"]),
    html:has([data-avelle-header-preset="clean-contemporary"]) body,
    html:has([data-avelle-header-preset="functional-rich"]),
    html:has([data-avelle-header-preset="functional-rich"]) body {
        overflow-x: clip;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    html body .avr-header--clean .avr-clean__grid {
        width: calc(100% - 24px);
        grid-template-columns: 110px minmax(0, 1fr) 40px;
        gap: 8px;
    }

    html body .avr-header--clean .avr-clean__brand {
        position: static;
        justify-self: start;
        transform: none;
    }

    html body .avr-header--clean .avr-clean__brand .logo img {
        max-width: 110px;
        max-height: 28px !important;
    }

    html body .avr-header--clean .avr-clean__nav {
        min-width: 0;
        display: block !important;
    }

    html body .avr-header--clean .avr-clean__nav .tp-main-menu-content > ul {
        width: 100%;
        justify-content: space-between;
        gap: 4px;
    }

    html body .avr-header--clean .avr-clean__nav .tp-main-menu-content > ul > li > a {
        min-height: 64px;
        padding-inline: 2px;
        font-size: 11px;
        font-weight: 650;
        letter-spacing: 0;
        white-space: nowrap;
    }

    html body .avr-header--clean .avr-clean__nav .tp-main-menu-content > ul > li > a > [data-avelle-icon="chevron-down"] {
        display: none;
    }

    html body .avr-header--clean .avr-mobile-only,
    html body .avr-header--clean .avr-clean__actions .tp-search-open-btn {
        display: none !important;
    }

    html body .avr-header--functional .avr-functional__main-grid {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    html body .avr-header--functional .avr-functional__brand {
        justify-self: start;
    }

    html body .avr-header--functional .avr-mobile-only,
    html body .avr-header--functional .avr-functional__departments,
    html body .avr-header--functional .avr-functional__deal {
        display: none !important;
    }

    /* Tablet keeps search available in its own row; only phones collapse it. */
    html body .avr-header--functional .avr-functional__main,
    html body .avr-header--functional .avr-functional__main-grid {
        height: 62px;
        min-height: 62px;
    }

    html body .avr-header--functional .avr-functional__main-grid {
        grid-template-columns: 110px minmax(0, 1fr) auto;
        grid-template-rows: 62px;
        align-content: start;
        row-gap: 0;
    }

    html body .avr-header--functional .avr-functional__search {
        grid-column: 2;
        grid-row: 1;
        display: block !important;
        width: 100%;
        min-width: 0;
    }

    html body .avr-header--functional .avr-functional__search .tp-header-search-wrapper {
        width: 100%;
    }

}

/* Final responsive contract: keep the Torque mobile header controls visible on
   both phone and tablet breakpoints after legacy register rules. */
@media screen and (max-width: 991px) {
    html body .avr-header--functional .tp-offcanvas-open-btn.avr-mobile-only {
        display: inline-flex !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
    }
    html body .avr-header--functional .avr-mobile-header-actions {
        display: inline-flex !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }
}

/* Torque mobile-header contract: menu, logo, search and cart remain visible. */
@media (max-width: 991px) {
    html body .avr-header--functional .avr-functional__main-grid {
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
    }
    html body .avr-header--functional .tp-offcanvas-open-btn.avr-mobile-only {
        display: inline-flex !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
    }
    html body .avr-header--functional .avr-functional__brand {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: center !important;
    }
    html body .avr-header--functional .avr-mobile-header-actions {
        display: inline-flex !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }
}

@media (max-width: 767px) {
    html body .avr-header--clean .tp-offcanvas-open-btn.avr-mobile-only,
    html body .avr-header--clean .avr-clean__actions .tp-search-open-btn {
        display: none !important;
    }

    html body .avr-header--functional .tp-offcanvas-open-btn.avr-mobile-only {
        display: none !important;
    }

    html body .avr-header--functional .avr-functional__brand {
        grid-column: 2;
    }

    html body .avr-header--functional .avr-functional__actions {
        grid-column: 3;
    }
}

@media (max-width: 991px) {
    .avr-clean-hero__panel > a { right: 12%; left: 12%; }
    .avr-campaign-hero__viewport { height: clamp(620px, 78vw, 667px); min-height: 620px; }
    .avr-campaign-hero__media img { object-position: var(--avr-campaign-tablet-position, 65% center); }
    .avr-campaign-hero__copy { left: 38px; width: min(390px, 47vw); }
    .avr-campaign-hero__context, .avr-campaign-hero__controls { right: 38px; }
    .avr-functional-hero__campaign { height: 520px; }
    .avr-functional-hero__media img { object-position: var(--avr-functional-tablet-position, center center); }
    .avr-functional-hero__copy { left: 38px; width: min(390px, 50vw); }
    .avr-functional-hero__trust { grid-template-columns: repeat(2, 1fr); }
    .avr-functional-hero__trust > div { padding: 15px; }
    .avr-functional-hero__trust > div:nth-child(3) { border-left: 0; }
    .avr-functional-hero__trust > div:nth-child(n + 3) { border-top: 1px solid var(--avl-line); }
    .avr-editorial-hero__poster img, .avr-editorial-hero__video { object-position: var(--avr-editorial-tablet-position, center 42%); }
}

@media (max-width: 767px) {
    body:has(.avr-mobile-commerce) { padding-bottom: 64px; }
    .avr-mobile-commerce { position: fixed; z-index: 95; right: 0; bottom: 0; left: 0; min-height: 64px; border-top: 1px solid var(--avl-line); display: grid; grid-template-columns: repeat(5, 1fr); background: rgba(255,255,255,.98); box-shadow: 0 -8px 25px rgba(0,0,0,.05); }
    .avr-mobile-commerce--four { grid-template-columns: repeat(4, 1fr); }
    .avr-mobile-commerce a, .avr-mobile-commerce button { min-width: 0; border: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--avl-ink); background: transparent; font: 500 10px/1.1 Arial, sans-serif; }
    .avr-mobile-commerce svg { width: 21px; height: 21px; }

    .avr-hero--editorial { padding: 0 15px 15px; }
    .avr-editorial-hero__stage { height: calc(100svh - 125px); min-height: 650px; }
    html body .avr-hero--editorial .avr-editorial-hero__video { display: none !important; }
    html body .avr-hero--editorial .avr-editorial-hero__poster { display: block !important; }
    .avr-editorial-hero__poster img { object-position: var(--avr-editorial-mobile-position, center 22%); }
    html body .avr-hero--editorial .avr-editorial-hero__video-toggle { display: none !important; }
    .avr-editorial-hero__copy { bottom: 13%; }
    .avr-editorial-hero__copy > span { display: none; }
    .avr-editorial-hero__copy h1 { margin-bottom: 25px; font-size: 28px; }
    .avr-editorial-hero__links { gap: 7px; }
    .avr-editorial-hero__copy a { min-width: 0; min-height: 38px; padding: 0 12px; font-size: 9px; }

    .avr-hero--clean { padding-top: 0; }
    .avr-clean-hero__expand { display: none !important; }
    .avr-clean-hero__panel.is-mobile-open .avr-clean-hero__details { opacity: 1; transform: none; }
    .avr-clean-hero__panel.is-mobile-open::after {
        inset: 0;
        background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.5) 42%, rgba(0,0,0,.08) 74%, transparent 100%);
    }
    .avr-clean-hero__track { width: calc(100% - 16px); display: block; overflow: hidden; touch-action: pan-y; }
    .avr-clean-hero__track[data-layout-variant="rail"] {
        display: block !important;
        grid-template-columns: none;
        grid-template-rows: none;
        height: auto;
        min-height: 0;
    }
    .avr-clean-hero__panel { height: calc(100svh - 128px); min-height: 610px; display: none; }
    .avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel,
    .avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded,
    .avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded) {
        width: 100% !important;
        height: calc(100svh - 128px);
        min-height: 610px;
        grid-column: auto;
        grid-row: auto;
    }
    .avr-clean-hero__track:not(:has(.is-current)) .avr-clean-hero__panel:first-child,
    .avr-clean-hero__panel.is-current { display: block; }
    .avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel .avr-clean-hero__rail-label {
        display: none !important;
    }
    .avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]):not(:has(.is-current)) .avr-clean-hero__panel:first-child > .avr-clean-hero__cta,
    .avr-clean-hero__track:is([data-layout-variant="spotlight"], [data-layout-variant="rail"], [data-layout-variant="first-expanded"]) .avr-clean-hero__panel.is-current > .avr-clean-hero__cta {
        display: grid !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    .avr-clean-hero__track[data-mobile-behavior="stacked"] {
        display: grid;
        gap: 12px;
        overflow: visible;
    }
    .avr-clean-hero__track[data-mobile-behavior="stacked"] .avr-clean-hero__panel {
        display: block;
        height: min(620px, calc(100svh - 128px));
    }
    .avr-clean-hero__track[data-mobile-behavior="stacked"] ~ .avr-clean-hero__dots {
        display: none;
    }
    .avr-clean-hero__panel--1 img { object-position: 50% 48%; }
    .avr-clean-hero__panel.is-mobile-open img { filter: saturate(1) contrast(1.03); transform: scale(1.035); }
    .avr-clean-hero__tap-target {
        position: absolute;
        z-index: 1;
        inset: 0;
        border: 0;
        border-radius: 0 !important;
        display: block;
        padding: 0;
        background: transparent;
    }
    .avr-clean-hero__tap-target:focus-visible { outline: 2px solid var(--avl-bg); outline-offset: -5px; }
    .avr-clean-hero__tap-cue {
        width: 112px;
        min-height: 86px;
        position: absolute;
        z-index: 4;
        top: 50%;
        left: 50%;
        border: 1px solid rgba(255,255,255,.18);
        border-radius: 12px;
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 9px 12px;
        color: var(--avl-bg);
        background: rgba(17,17,17,.28);
        box-shadow: 0 10px 34px rgba(0,0,0,.14);
        backdrop-filter: blur(12px);
        pointer-events: none;
        animation: avr-clean-cue-float 2.6s ease-in-out infinite;
        transform: translate(-50%, -50%);
        transition: opacity .2s ease, transform .25s ease;
    }
    .avr-clean-hero__tap-cue-icon {
        width: 48px;
        height: 48px;
        position: relative;
        border-radius: 50%;
        display: grid;
        place-items: center;
        color: var(--avl-bg);
        background: transparent;
    }
    .avr-clean-hero__tap-cue-icon::after {
        content: "";
        position: absolute;
        inset: -3px;
        border: 1px solid rgba(255,255,255,.34);
        border-radius: inherit;
        animation: avr-clean-tap-pulse 2s ease-out infinite;
    }
    .avr-clean-hero__tap-cue-icon svg { width: 44px; height: 44px; transform: none; }
    .avr-clean-hero__tap-cue-icon .avelle-icon {
        font-size: 40px;
        line-height: 1;
        transform: none;
    }
    .avr-clean-hero__tap-cue-label {
        color: rgba(255,255,255,.94);
        font: 550 10px/1.15 var(--avl-font-body);
        letter-spacing: .015em;
        white-space: nowrap;
    }
    .avr-clean-hero__panel.is-mobile-open .avr-clean-hero__tap-cue { opacity: 0; transform: translate(-50%, calc(-50% + 8px)); }
    .avr-clean-hero__promotion {
        width: 90px;
        height: 92px;
        position: absolute;
        z-index: 8;
        top: 12px;
        right: 16px;
        display: block;
        color: var(--avl-ink);
    }
    .avr-clean-hero__dots[data-navigation-style="numbers"] button {
        width: auto;
        min-width: 28px;
        border-radius: 999px;
        color: rgba(17,17,17,.5);
        background: rgba(255,255,255,.7);
        font: 700 10px/1 var(--avl-font-body);
    }
    .avr-clean-hero__dots[data-navigation-style="numbers"] button span {
        width: auto;
        height: auto;
        background: transparent;
        color: inherit;
    }
    .avr-clean-hero__dots[data-navigation-style="numbers"] button[aria-current="true"] {
        color: var(--avl-bg);
        background: var(--avl-primary, var(--avelle-primary));
    }
    .avr-clean-hero__dots[data-navigation-style="arrows"] button:not([aria-current="true"]) {
        width: 8px;
        opacity: .55;
    }
    .avr-clean-hero__dots[data-navigation-style="bullets"] button span,
    .avr-clean-hero__dots:not([data-navigation-style]) button span {
        color: transparent;
    }
    .avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-target {
        width: 82px;
        height: 82px;
        position: absolute;
        top: 0;
        right: 0;
        border: 1px solid rgba(255,255,255,.5);
        border-radius: var(--avl-r, 12px);
        display: block;
        overflow: hidden;
        background: rgba(255,255,255,.9);
        box-shadow: 0 10px 28px rgba(0,0,0,.1);
        backdrop-filter: blur(9px);
    }
    .avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-target img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: none !important;
        filter: none !important;
    }
    .avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-name {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 8px;
        color: var(--avl-ink);
        background: linear-gradient(145deg, var(--avl-bg), var(--avl-surface));
        text-align: center;
    }
    .avr-clean-hero__promotion-name svg { width: 23px; height: 23px; stroke-width: 1.35; }
    .avr-hero--clean > .avr-clean-hero__promotion .avr-clean-hero__promotion-discount {
        width: 45px;
        min-height: 43px;
        position: absolute;
        z-index: 2;
        bottom: 0;
        left: 0;
        border: 1px solid rgba(17,17,17,.06);
        border-radius: 9px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 6px 4px 5px;
        color: var(--avl-ink);
        background: var(--avl-bg);
        box-shadow: 0 7px 20px rgba(0,0,0,.13);
    }
    .avr-clean-hero__promotion-discount strong { color: inherit; font: 520 16px/.95 var(--avl-font-body); letter-spacing: -.035em; }
    .avr-clean-hero__promotion-discount small { margin-top: 3px; color: var(--avl-muted); font: 650 7px/1 var(--avl-font-body); letter-spacing: .08em; text-transform: uppercase; }
    .avr-clean-hero__promotion:focus-visible { outline: 2px solid var(--avl-bg); outline-offset: 3px; border-radius: var(--avl-r, 12px); }
    .avr-clean-hero__panel > a { right: 28px; bottom: 28px; left: 28px; min-height: 56px; padding: 12px 18px 12px 22px; font-size: 16px; }
    .avr-clean-hero__panel > a span { padding-left: 20px; }
    .avr-clean-hero__details { right: 24px; bottom: 108px; left: 24px; max-width: none; }
    .avr-clean-hero__details small,
    .avr-clean-hero__details h2,
    .avr-clean-hero__details p { opacity: 0; transform: translateY(12px); }
    .avr-clean-hero__details small { margin-bottom: 10px; font-size: 9px; transition: opacity .22s ease .08s, transform .28s ease .08s; }
    .avr-clean-hero__details h2 { font-size: clamp(34px, 10vw, 46px); transition: opacity .25s ease .14s, transform .32s ease .14s; }
    .avr-clean-hero__details p { margin-top: 12px; font-size: 13px; line-height: 1.5; transition: opacity .28s ease .2s, transform .35s ease .2s; }
    .avr-clean-hero__panel.is-mobile-open .avr-clean-hero__details small,
    .avr-clean-hero__panel.is-mobile-open .avr-clean-hero__details h2,
    .avr-clean-hero__panel.is-mobile-open .avr-clean-hero__details p { opacity: 1; transform: none; }
    .avr-clean-hero__dots {
        position: absolute;
        z-index: 6;
        right: 22px;
        bottom: 4px;
        display: flex;
        align-items: center;
        gap: 7px;
    }
    .avr-clean-hero__dots button {
        width: 18px;
        height: 24px;
        border: 0;
        border-radius: var(--avl-r-pill, 999px);
        display: grid;
        place-items: center;
        padding: 0;
        background: transparent;
    }
    .avr-clean-hero__dots button span {
        width: 6px;
        height: 6px;
        border-radius: var(--avl-r-pill, 999px);
        display: block;
        background: rgba(255,255,255,.72);
        box-shadow: 0 1px 5px rgba(0,0,0,.18);
        transition: width .24s cubic-bezier(.2,.72,.2,1), background .2s ease;
    }
    .avr-clean-hero__dots button[aria-current="true"] span { width: 20px; background: var(--avl-bg); }
    .avr-clean-hero__dots button:focus-visible { outline: 2px solid var(--avl-bg); outline-offset: 2px; }

    .avr-hero--campaign { background: var(--avl-bg); }
    .avr-campaign-hero__viewport { height: auto; min-height: 0; overflow: visible; background: var(--avl-bg); }
    .avr-campaign-hero__slide { position: relative; inset: auto; display: none; overflow: visible; visibility: visible; opacity: 1; background: var(--avl-bg); transition: none; }
    .avr-campaign-hero__slide.is-active { display: grid; grid-template-rows: minmax(390px, 104vw) auto; }
    .avr-campaign-hero__slide::after { display: none; }
    .avr-campaign-hero__media { position: relative; inset: auto; height: 100%; overflow: hidden; background: var(--avl-line); }
    .avr-campaign-hero__media img { height: 100%; object-fit: cover; object-position: var(--avr-campaign-mobile-position, center center); transform: none; transition: none; }
    .avr-campaign-hero__copy { position: relative; top: auto; left: auto; width: auto; min-height: 266px; padding: 34px 26px 40px; opacity: 1; text-align: center; transform: none; transition: none; }
    .avr-campaign-hero__slide.is-active .avr-campaign-hero__copy { transform: none; }
    .avr-campaign-hero__copy > span { font-size: 13px; }
    .avr-campaign-hero__copy h1, .avr-campaign-hero__copy h2 { max-width: 340px; margin: 18px auto 12px; font-size: clamp(36px, 10.4vw, 44px); line-height: 1.04; letter-spacing: -.045em; }
    .avr-campaign-hero__copy p { max-width: 330px; margin: 0 auto 20px; color: var(--avl-muted); font-size: 13px; line-height: 1.5; }
    .avr-campaign-hero__copy a { min-width: 154px; height: 46px; margin-top: 2px; background: var(--avl-bg); }
    .avr-campaign-hero__desktop-title, .avr-campaign-hero__desktop-copy { display: none; }
    .avr-campaign-hero__mobile-title, .avr-campaign-hero__mobile-copy { display: inline; }
    .avr-campaign-hero__context, .avr-campaign-hero__controls { display: none; }
    .avr-campaign-hero__dots { top: max(390px, 104vw); right: auto; bottom: auto; left: 50%; display: flex; gap: 3px; padding: 7px 9px; border-radius: 999px; background: rgba(255,255,255,.86); transform: translate(-50%, -50%); box-shadow: 0 6px 20px rgba(17,17,17,.08); backdrop-filter: blur(8px); }
    .avr-campaign-hero__dots button { width: 22px; height: 22px; }
    .avr-campaign-hero__dots button span { width: 6px; height: 6px; }
    .avr-campaign-hero__dots button[aria-selected="true"] span { width: 18px; transform: none; }

    .avr-functional-hero__campaign { height: 193px; min-height: 193px; }
    .avr-functional-hero__media img { object-position: var(--avr-functional-mobile-position, center 24%); }
    .avr-functional-hero__slide::after { background: transparent; }
    .avr-functional-hero__copy {
        top: auto;
        right: auto;
        bottom: 38px;
        left: 18px;
        width: auto;
        max-width: min(318px, calc(100% - 36px));
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        text-align: left;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        transform: none;
    }
    .avr-functional-hero__copy > span { display: none; }
    .avr-functional-hero__copy::before { display: none; }
    .avr-functional-hero__copy h1, .avr-functional-hero__copy h2, .avr-functional-hero__copy a { position: relative; z-index: 1; }
    .avr-functional-hero__copy h1, .avr-functional-hero__copy h2 { margin: 0 0 9px; font-size: 22px; line-height: 1; letter-spacing: -.035em; }
    .avr-functional-hero__copy p { display: none; }
    .avr-functional-hero__copy a { height: 34px; padding: 0 16px; color: var(--avl-bg); background: var(--avl-ink); font-size: 10px; }
    .avr-functional-hero__controls { display: none; }
    .avr-functional-hero__dots { right: auto; bottom: 16px; left: 50%; padding: 0; transform: translateX(-50%); }
    .avr-functional-hero__dots button { width: 14px; height: 5px; }
    .avr-functional-hero__dots button[aria-selected="true"] { width: 28px; }
    .avr-functional-hero__trust { width: calc(100% - 30px); min-height: 68px; margin-top: 20px; display: block; }
    .avr-functional-hero__trust > div { min-height: 68px; justify-content: center; }
    .avr-functional-hero__trust > div:not(:first-child) { display: none; }
    .avr-functional-hero__category-access { padding: 34px 0 28px; display: block; }
    .avr-functional-hero__category-access h2 { margin: 0 0 20px; text-align: center; font: 700 17px/1.2 var(--avl-font-body); }
    .avr-functional-hero__categories { padding: 0 15px 4px; display: flex; justify-content: center; gap: 14px; overflow-x: auto; scrollbar-width: none; }
    .avr-functional-hero__categories::-webkit-scrollbar { display: none; }
    .avr-functional-hero__categories a { width: 58px; flex: 0 0 58px; display: grid; justify-items: center; gap: 6px; text-align: center; }
    .avr-functional-hero__categories span { width: 54px; height: 54px; border: 1px solid var(--avl-line); border-radius: 50%; display: grid; place-items: center; overflow: hidden; color: var(--avl-ink); background: var(--avl-surface); }
    .avr-functional-hero__categories span img { width: 100%; height: 100%; object-fit: cover; }
    .avr-functional-hero__categories span svg { width: 24px; height: 24px; }
    .avr-functional-hero__categories strong { width: 72px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 500 9px/1 var(--avl-font-body); }

    .avr-maximal-hero__campaign { height: calc(100svh - 126px); min-height: 570px; margin-inline: 8px; }
    .avr-maximal-hero__campaign img { object-position: var(--avr-maximal-mobile-position, 58% center); }
    .avr-maximal-hero__campaign::after { background: linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.08) 48%, rgba(0,0,0,.2) 100%); }
    .avr-maximal-hero__copy { top: 70px; right: 20px; left: 20px; width: auto; transform: none; }
    .avr-maximal-hero__copy > span { max-width: 300px; margin-bottom: 22px; font-size: 17px; }
    .avr-maximal-hero__copy h1 { max-width: 330px; margin-bottom: 34px; font-size: 52px; line-height: 1; }
    .avr-maximal-hero__copy > a { min-width: 160px; height: 50px; }
    .avr-maximal-hero__copy > a.avr-maximal-hero__mobile-product-cue {
        width: fit-content;
        min-width: 0;
        height: 34px;
        margin-top: 12px;
        border: 1px solid rgba(255, 255, 255, .36);
        border-radius: var(--avl-r-pill, 999px);
        display: inline-flex !important;
        gap: 8px;
        padding: 0 13px;
        color: var(--avl-bg);
        background: rgba(17, 17, 17, .46);
        box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
        font-size: 12px;
        letter-spacing: .02em;
        backdrop-filter: blur(8px);
    }
    .avr-maximal-hero__copy > a.avr-maximal-hero__mobile-product-cue svg {
        width: 14px;
        height: 14px;
    }
    .avr-maximal-hotspot { display: none; }
    .avr-maximal-hero__mobile-products { width: calc(100% - 16px); margin: 12px auto 22px; display: grid; gap: 8px; }
    .avr-maximal-hero__mobile-products-heading { padding: 14px 10px 10px; display: grid; gap: 5px; }
    .avr-maximal-hero__mobile-products-heading span { color: var(--avl-muted); font: 700 10px/1 Inconsolata, monospace; letter-spacing: .12em; text-transform: uppercase; }
    .avr-maximal-hero__mobile-products-heading strong { color: var(--avl-ink); font: 700 23px/1 Inconsolata, monospace; }
    .avr-maximal-hero__mobile-products > a { min-height: 92px; border: 1px solid var(--avl-line); border-radius: var(--avl-r-card, 18px); display: grid; grid-template-columns: 72px minmax(0, 1fr) 24px; align-items: center; gap: 14px; padding: 9px; color: var(--avl-ink); background: var(--avl-bg); }
    .avr-maximal-hero__mobile-products > a > img { width: 72px; height: 72px; border-radius: var(--avl-r, 12px); object-fit: cover; object-position: center top; }
    .avr-maximal-hero__mobile-products > a > span:nth-child(2) { min-width: 0; display: grid; gap: 7px; }
    .avr-maximal-hero__mobile-products > a strong { overflow: hidden; font: 700 14px/1.2 Inconsolata, monospace; white-space: nowrap; text-overflow: ellipsis; }
    .avr-maximal-hero__mobile-products > a small { color: var(--avl-muted); font: 700 13px/1 Inconsolata, monospace; }
    .avr-maximal-hero__mobile-products > a svg { width: 17px; height: 17px; }
}

@keyframes avr-clean-cue-float {
    0%, 100% { transform: translate(-50%, -50%); }
    50% { transform: translate(-50%, calc(-50% - 4px)); }
}

@keyframes avr-clean-tap-pulse {
    0% { opacity: .8; transform: scale(.75); }
    70%, 100% { opacity: 0; transform: scale(1.35); }
}

@media (min-width: 768px) and (max-width: 991px) {
    .avr-clean-hero__track { width: 100%; display: flex; gap: 4px; overflow: hidden; }
    .avr-clean-hero__panel { width: auto !important; max-width: none; height: calc(100svh - 70px); min-height: 720px; display: block; flex: 1 1 0; cursor: pointer; }
    .avr-clean-hero__panel--1 img { object-position: 50% 48%; }
    .avr-clean-hero__expand { width: 44px; height: 44px; display: grid !important; opacity: 1; }
    .avr-clean-hero__panel--1 .avr-clean-hero__expand { right: 14px; }
    .avr-clean-hero__panel--3 .avr-clean-hero__expand { left: 14px; }
    .avr-clean-hero__details { left: 48px; max-width: 420px; bottom: 8%; }
    .avr-clean-hero__details h2 { font-size: clamp(42px, 7vw, 58px); }
    .avr-clean-hero__panel > a { right: 8%; bottom: 24px; left: 8%; min-height: 58px; padding-right: 18px; padding-left: 22px; font-size: 15px; }
    .avr-clean-hero__panel.is-expanded > .avr-clean-hero__cta { right: 48px; bottom: 8%; left: auto; width: 250px; }
    .avr-clean-hero__panel.is-expanded .avr-clean-hero__expand { right: 150px; left: auto; }
    .avr-clean-hero__track[data-layout-variant="rail"] {
        --avr-clean-rail-space: 30%;
        --avr-clean-expanded-size: 70%;
        gap: 6px;
    }
    .avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded .avr-clean-hero__details {
        left: 38px;
        bottom: 9%;
        max-width: 390px;
    }
    .avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded .avr-clean-hero__details h2 {
        font-size: clamp(48px, 8vw, 68px);
    }
    .avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel.is-expanded > .avr-clean-hero__cta {
        right: 28px;
        bottom: 9%;
        width: 230px;
    }
    .avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded) .avr-clean-hero__expand {
        width: 38px;
        height: 38px;
    }
    .avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__panel:not(.is-expanded) .avr-clean-hero__rail-label {
        bottom: 22px;
    }
    .avr-clean-hero__track[data-layout-variant="rail"] .avr-clean-hero__rail-label strong {
        max-height: 118px;
        font-size: 12px;
    }
    .avr-clean-hero__dots { display: none; }
    .avr-maximal-hero__campaign { height: min(610px, calc(100svh - 62px)); min-height: 570px; }
    .avr-maximal-hero__campaign img { object-position: var(--avr-maximal-tablet-position, center 35%); }
    .avr-maximal-hero__copy { left: 48px; width: min(430px, 50vw); }
    .avr-maximal-hero__copy h1 { font-size: clamp(62px, 9vw, 78px); }
    .avr-maximal-hotspot__card { width: 196px; grid-template-columns: 46px minmax(0, 1fr) 16px; }
    .avr-maximal-hotspot__card > img { width: 46px; height: 52px; }
    .avr-hero--clean > .avr-clean-hero__promotion,
    .avr-hero--clean:has(.avr-clean-hero__panel.is-expanded) > .avr-clean-hero__promotion {
        width: 112px;
        height: 116px;
        position: absolute;
        z-index: 8;
        top: 18px;
        right: 20px;
        bottom: auto;
        left: auto;
        display: block;
    }
}

@media (max-width: 430px) {
    .avr-clean-hero__panel > a { right: 24px; left: 24px; }
    .avr-campaign-hero__slide.is-active { grid-template-rows: minmax(390px, 104vw) auto; }
}

@media (prefers-reduced-motion: reduce) {
    .avr-hero--clean .avr-clean-hero__panel,
    .avr-hero--clean .avr-clean-hero__panel img,
    .avr-hero--clean .avr-clean-hero__details,
    .avr-hero--clean .avr-clean-hero__details *,
    .avr-hero--clean .avr-clean-hero__tap-cue,
    .avr-hero--clean .avr-clean-hero__tap-cue-icon,
    .avr-hero--clean .avr-clean-hero__tap-cue-icon::after,
    .avr-hero--clean .avr-clean-hero__dots button span,
    .avr-hero--clean .avr-clean-hero__promotion {
        animation: none !important;
        transition: none !important;
    }
    .avr-campaign-hero__slide,
    .avr-campaign-hero__media img,
    .avr-campaign-hero__copy { animation: none !important; transition: none !important; }
    .avr-maximal-hotspot__pin::after,
    .avr-maximal-hotspot__card { animation: none !important; transition: none !important; }
}

.avr-hero--clean > .avr-clean-hero__track {
    width: min(1824px, calc(100% - clamp(16px, 4.2vw, 80px))) !important;
    margin-inline: auto !important;
}

@media (max-width: 767px) {
    .avr-hero--clean > .avr-clean-hero__track { width: calc(100% - 16px) !important; }
}
