/* ==========================================================================
   AVA footer — Lane G fidelity pass. Frames 238:112828 (1440 × 847) and 238:112085 (375 × 926); CTA band from home-desktop.
   Every number below is a frame measurement (qa/laneG/chrome-spec.md §5–6). Rendered by includes/footer.php ([ava_footer]).
   ========================================================================== */

.ava-footer {
    --f-bg: #0E0E0E;
    --f-text: #B5B4AC;
    --f-gold: #AD8C5C;
    --f-small: #95948E;
    --f-hope: #9E998F;
    --f-red: #FF4438;
    --f-yellow: #FFFF40;
    --f-gutter: 80px;
    --f-max: 1280px;
    position: relative;
    box-sizing: border-box;
    padding: 71px 0 40px;
    background: var(--f-bg) url("../../../uploads/2026/08/Group-1.png") no-repeat center bottom;
    font-family: 'Krub', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--f-text);
    line-height: 1.4;
    text-align: left;
}

.ava-footer *,
.ava-footer *::before,
.ava-footer *::after {
    box-sizing: border-box;
}

.ava-footer :where(p, ul, li, h2) {
    margin: 0;
    padding: 0;
}

.ava-footer :where(ul, li) {
    list-style: none !important;
}

.ava-footer a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s ease;
}

.ava-footer a:hover,
.ava-footer a:focus-visible {
    color: var(--f-red);
    outline: none;
}

.ava-footer a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ava-footer__main,
.ava-footer__rule,
.ava-footer__warning,
.ava-footer__hope,
.ava-footer__bottom,
.ava-footer__cta {
    width: min(var(--f-max), calc(100% - 2 * var(--f-gutter)));
    margin-left: auto;
    margin-right: auto;
}

/* ---------- main block: brand column + link columns ---------- */

.ava-footer__main {
    display: grid;
    grid-template-columns: minmax(300px, 425fr) 855fr;
    align-items: start;
}

.ava-footer__logo {
    display: block;
    width: 115px;
    height: 116px;
    line-height: 0;
}

.ava-footer__logo img {
    display: block;
    width: 115px;
    height: 116px;
}

.ava-footer__tagline {
    max-width: 340px;
    margin-top: 18px;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
    color: var(--f-text);
}

.ava-footer__info {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
    font-size: 13px;
    line-height: 20.5px;
}

.ava-footer__legal { order: 1; }
.ava-footer__address { order: 2; margin-top: 18px; font-weight: 700; }
.ava-footer__hours { order: 3; margin-top: 6px; }
.ava-footer__contact { order: 4; margin-top: 6px; }

.ava-footer__address a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ava-footer__contact a {
    display: block;
}

.ava-footer .ava-footer__contact a:last-child {
    margin-top: 4.5px;
}

.ava-footer__dot {
    display: none;
}

.ava-footer__social {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.ava-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ffffff;
    color: var(--f-red);
}

.ava-footer__social a:hover,
.ava-footer__social a:focus-visible {
    background: var(--f-red);
    color: #ffffff;
}

.ava-footer__social svg {
    width: 18px;
    height: 18px;
}

.ava-footer__cols {
    display: grid;
    grid-template-columns: auto auto auto auto;
    justify-content: space-between;
    column-gap: 24px;
}

.ava-footer__col--areas {
    grid-column: 1 / -1;
    margin-top: 45px;
}

.ava-footer .ava-footer__col button.ava-footer__label,
.ava-footer .ava-footer__col button.ava-footer__label:hover,
.ava-footer .ava-footer__col button.ava-footer__label:focus,
.ava-footer .ava-footer__col button.ava-footer__label:active {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--f-gold);
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: left;
    cursor: default;
}

.ava-footer__pm {
    display: none;
}

.ava-footer__body {
    margin-top: 13px;
}

.ava-footer__list {
    font-size: 14px;
    line-height: 20px;
    color: var(--f-text);
}

.ava-footer__list li + li {
    margin-top: 16px;
}

.ava-footer__list--row {
    display: flex;
    flex-wrap: wrap;
    column-gap: 32px;
    row-gap: 8px;
    margin-top: 1px;
}

.ava-footer__list--row li + li {
    margin-top: 0;
}

.ava-footer__needs {
    color: var(--f-red);
}

/* ---------- rule, warning, HOPEline, bottom row ---------- */

.ava-footer__rule {
    display: block;
    height: 1px;
    margin-top: 48px;
    background: #ffffff;
}

.ava-footer__warning.ava-bar {
    margin-top: 49px;
    padding: 15px 20px;
    border-radius: 8px;
    background: var(--f-yellow);
    color: #151515;
    font-size: 16px;
    line-height: 25px;
    text-align: left;
}

.ava-footer__warning .ava-bar__item {
    margin: 0;
}

.ava-footer__warning strong {
    font-weight: 700;
}

.ava-footer__hope {
    margin-top: 14px;
    font-size: 12px;
    line-height: 16px;
    color: var(--f-hope);
}

.ava-footer__hope a {
    color: var(--f-red);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ava-footer__bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-top: 50px;
    font-size: 12px;
    line-height: 16px;
    color: var(--f-small);
}

.ava-footer__legal-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    column-gap: 22px;
}

.ava-footer__legal-links .is-age a {
    color: var(--f-red);
}

.ava-footer__legal-links .is-age a:hover {
    color: #ffffff;
}

.ava-footer__legal-links .ava-footer__sep {
    display: none;
}

/* ---------- CTA band (home only) ---------- */

.ava-footer__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 84px;
    margin-top: 40px;
    color: #ffffff;
}

.ava-footer__cta-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 22px;
}

.ava-footer__cta-sub {
    margin-top: 4px;
    font-size: 13px;
    line-height: 17px;
    color: #B8B5B0;
}

.ava-footer__cta-btns {
    display: flex;
    gap: 11px;
    flex-shrink: 0;
}

.ava-footer .ava-footer__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 45px;
    padding: 0 28px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffffff;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ava-footer .ava-footer__btn--red {
    min-width: 165px;
    background: var(--f-red);
}

.ava-footer .ava-footer__btn--red:hover,
.ava-footer .ava-footer__btn--red:focus-visible {
    background: #151515;
    color: #ffffff;
}

.ava-footer .ava-footer__btn--line {
    min-width: 159px;
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.ava-footer .ava-footer__btn--line:hover,
.ava-footer .ava-footer__btn--line:focus-visible {
    background: #ffffff;
    border-color: #ffffff;
    color: #151515;
}

/* the band sits on #171717, full width, outside the 1280 box */
.ava-footer__cta {
    width: 100%;
    max-width: none;
    margin-top: 0;
    padding: 0 var(--f-gutter);
    background: #171717;
}

.ava-footer__cta-inner {
    width: min(var(--f-max), 100%);
}

.ava-footer.has-cta {
    padding-bottom: 0;
}

.ava-footer.has-cta .ava-footer__bottom {
    margin-bottom: 40px;
}

/* ---------- desktop 1440: exact frame grid ---------- */

@media (min-width: 1440px) {
    .ava-footer__main {
        grid-template-columns: 425px 855px;
    }
    .ava-footer__cols {
        grid-template-columns: 198px 215px 274px 168px;
        justify-content: start;
        column-gap: 0;
    }
}

/* ---------- laptop / tablet: keep the composition, scale the box ---------- */

@media (max-width: 1199px) {
    .ava-footer {
        --f-gutter: 40px;
    }
    .ava-footer__main {
        grid-template-columns: minmax(260px, 340px) 1fr;
        column-gap: 40px;
    }
    .ava-footer__cols {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 40px;
        column-gap: 24px;
    }
    .ava-footer__col--areas {
        margin-top: 0;
    }
}

@media (max-width: 899px) and (min-width: 768px) {
    .ava-footer__main {
        grid-template-columns: 1fr;
        row-gap: 48px;
    }
}

/* ---------- mobile ≤ 767 (frame 238:112085) ---------- */

@media (max-width: 767px) {
    .ava-footer {
        --f-gutter: 20px;
        padding: 20px 0 30px;
    }
    .ava-footer__main {
        display: flex;
        flex-direction: column-reverse;
        align-items: stretch;
        row-gap: 0;
    }
    .ava-footer__cols {
        display: block;
    }
    .ava-footer__col {
        margin: 0;
    }
    .ava-footer .ava-footer__col button.ava-footer__label,
    .ava-footer .ava-footer__col button.ava-footer__label:hover,
    .ava-footer .ava-footer__col button.ava-footer__label:focus,
    .ava-footer .ava-footer__col button.ava-footer__label:active {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 8px 0;
        cursor: pointer;
    }
    .ava-footer .ava-footer__col button.ava-footer__label:focus-visible {
        outline: 2px solid var(--f-red);
        outline-offset: 2px;
    }
    .ava-footer__pm {
        display: inline-flex;
        width: 10px;
        height: 10px;
        margin-right: 9px;
        color: #EDEBE1;
    }
    .ava-footer__pm svg + svg {
        display: none;
    }
    .ava-footer__col.is-open .ava-footer__pm {
        color: var(--f-red);
    }
    .ava-footer__col.is-open .ava-footer__pm svg:first-child {
        display: none;
    }
    .ava-footer__col.is-open .ava-footer__pm svg + svg {
        display: block;
    }
    .ava-footer__body {
        display: none;
        margin: 0;
        padding: 0 0 11px 24px;
    }
    .ava-footer__col.is-open .ava-footer__body {
        display: block;
    }
    .ava-footer__list {
        font-size: 12px;
        line-height: 16px;
    }
    .ava-footer__list li + li {
        margin-top: 11px;
    }
    .ava-footer__list--row {
        display: block;
    }
    .ava-footer__list--row li + li {
        margin-top: 11px;
    }
    .ava-footer__col--areas {
        margin-top: 0;
    }

    /* brand row: logo left, legal block right, vertically centred (frame y 404–564, logo 449–521) */
    .ava-footer__brand {
        display: grid;
        grid-template-columns: 72px 1fr;
        column-gap: 16px;
        align-items: center;
        margin-top: 9px;
    }
    .ava-footer__logo,
    .ava-footer__logo img {
        width: 72px;
        height: 72px;
    }
    .ava-footer__tagline {
        display: none;
    }
    .ava-footer__info {
        grid-column: 2;
        grid-row: 1;
        margin: 0;
        font-size: 11px;
        line-height: 18.5px;
    }
    .ava-footer__legal { order: 1; }
    .ava-footer__hours { order: 2; margin-top: 16.5px; }
    .ava-footer__address { order: 3; margin-top: 16.5px; line-height: 17px; }
    .ava-footer__contact { order: 4; margin-top: 0; line-height: 17px; }
    .ava-footer__contact a {
        display: inline;
    }
    .ava-footer__contact a + a {
        margin-top: 0;
    }
    .ava-footer__dot {
        display: inline;
    }
    .ava-footer__social {
        grid-column: 1 / -1;
        gap: 8px;
        margin-top: 20px;
    }
    .ava-footer__social a {
        width: 32px;
        height: 32px;
    }
    .ava-footer__social svg {
        width: 16px;
        height: 16px;
    }
    .ava-footer__rule {
        margin-top: 17px;
    }
    .ava-footer__warning.ava-bar {
        margin-top: 20px;
        padding: 13px 13px;
        font-size: 14px;
        line-height: 20.75px;
    }
    .ava-footer__hope {
        margin-top: 14px;
        font-size: 11px;
        line-height: 15.5px;
    }
    .ava-footer__bottom {
        flex-direction: column-reverse;
        align-items: center;
        gap: 2px;
        margin-top: 20px;
        font-size: 11px;
        line-height: 15px;
        text-align: center;
    }
    .ava-footer__legal-links {
        justify-content: center;
        column-gap: 0;
    }
    .ava-footer__legal-links .is-age,
    .ava-footer__legal-links .ava-footer__full {
        display: none;
    }
    .ava-footer__legal-links li + li:not(.is-age)::before {
        content: "·";
        margin: 0 4px;
    }
    .ava-footer__cta {
        display: none;
    }
}

/* ==========================================================================
   >>> Lane V1 - Figma MCP token pass (27 Sep 2026): footer 238:112828 (desktop) / 238:112085 (mobile), CTA band 238:109042.
   Values from get_design_context; line heights are Figma's rendered line boxes (13 x 1.5 -> 20, 14 x 1.55 -> 22,
   12 x 1.2 -> 14, 12 x 1.45 -> 17, 12 x 1.5 -> 18, 11 x 1.6 -> 18, 11 x 1.45 -> 16, 11 x 1.55 -> 17, 12 x 1.55 -> 19).
   Supersedes the Lane G numbers above where they differ (qa/laneV1/tokens-chrome.md).
   ========================================================================== */

/* desktop: main at +72, 36 below the bottom row (847 total) */
.ava-footer {
    padding: 72px 0 36px;
}

@media (min-width: 1200px) {
    .ava-footer__main {
        grid-template-columns: minmax(300px, 424fr) 856fr;
    }
}

/* brand column 238:113409 - gap 20 between logo, tagline, legal, contact, socials */
.ava-footer__tagline {
    max-width: 360px;
    margin-top: 20px;
    line-height: 25px;
}

.ava-footer__info {
    margin-top: 20px;
    line-height: 20px;
}

.ava-footer__address {
    margin-top: 20px;
}

.ava-footer__hours,
.ava-footer__contact {
    margin-top: 6px;
}

.ava-footer .ava-footer__contact a:last-child {
    margin-top: 6px;
}

.ava-footer__social svg {
    width: 20px;
    height: 20px;
}

/* columns 238:113455 - label 12 / 600 / 14 / 0.96 px #AD8C5C, 14 to the items, items 14 / 400 / 22 every 36 */
.ava-footer .ava-footer__col button.ava-footer__label,
.ava-footer .ava-footer__col button.ava-footer__label:hover,
.ava-footer .ava-footer__col button.ava-footer__label:focus,
.ava-footer .ava-footer__col button.ava-footer__label:active {
    line-height: 14px;
}

.ava-footer__body {
    margin-top: 14px;
}

.ava-footer__list {
    line-height: 22px;
}

.ava-footer__list li + li {
    margin-top: 14px;
}

.ava-footer__list--row {
    margin-top: 0;
}

.ava-footer__list--row li + li {
    margin-top: 0;
}

/* rule 238:113500 at 584, warning 238:113502 at 632 (1 px #B8B800 stroke, padding 16 20, 16 / 400 / 25 at 75 %), HOPEline 12 / 17 */
.ava-footer__rule {
    margin-top: 48px;
}

.ava-footer__warning.ava-bar {
    margin-top: 47px;
    padding: 15px 19px;
    border: 1px solid #B8B800;
    line-height: 25px;
    color: rgba(21, 21, 21, 0.75);
}

.ava-footer__hope {
    margin-top: 14px;
    line-height: 17px;
}

.ava-footer__hope a {
    color: #FF594D;
}

/* bottom bar 238:113505 - 12 / 400 / 18, cream at 60 %, 48 below the HOPEline */
.ava-footer__bottom {
    margin-top: 48px;
    line-height: 18px;
    color: rgba(237, 235, 225, 0.6);
}

/* home: the bottom row keeps its 36 px above the band (Lane G's has-cta rule zeroes the footer padding) */
.ava-footer.has-cta .ava-footer__bottom {
    margin-bottom: 36px;
}

/* CTA band 238:109042 - #171717, padding 18 80, drop shadow; msg gap 3; buttons 48 tall (padding 15 26), radius 8, 14 / 600 / 0.14 px, 14 apart */
.ava-footer__cta {
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25);
}

.ava-footer__cta-sub {
    margin-top: 3px;
}

.ava-footer__cta-btns {
    gap: 14px;
}

.ava-footer .ava-footer__btn {
    height: 48px;
    padding: 0 26px;
    border-radius: 8px;
    font-size: 14px;
    letter-spacing: 0.14px;
}

.ava-footer .ava-footer__btn--red {
    min-width: 0;
}

.ava-footer .ava-footer__btn--line {
    min-width: 163px;
    border-width: 1.5px;
}

@media (min-width: 1440px) {
    .ava-footer__main {
        grid-template-columns: 424px 856px;
    }
    .ava-footer__cols {
        grid-template-columns: 198px 215px 275px 168px;
    }
}

/* mobile 238:112085 - 18 px gutters; accordion 28 from the top, labels 14 tall every 32, sub-items 12 / 19 every 27 at x 42 */
@media (max-width: 767px) {
    .ava-footer {
        --f-gutter: 18px;
        padding: 28px 0 28px;
    }
    .ava-footer .ava-footer__col button.ava-footer__label,
    .ava-footer .ava-footer__col button.ava-footer__label:hover,
    .ava-footer .ava-footer__col button.ava-footer__label:focus,
    .ava-footer .ava-footer__col button.ava-footer__label:active {
        /* 32 px tap target, 14 px in the layout */
        margin: -9px 0;
        padding: 9px 0;
        line-height: 14px;
    }
    /* a flex column so the label's negative margins never collapse into the column's 18 px */
    .ava-footer__col {
        display: flex;
        flex-direction: column;
    }
    .ava-footer__col + .ava-footer__col {
        margin-top: 18px;
    }
    .ava-footer__pm {
        width: 14px;
        height: 14px;
        margin-right: 0;
        align-items: center;
        justify-content: center;
    }
    .ava-footer__body {
        margin: 0;
        padding: 8px 0 0 24px;
    }
    .ava-footer__list,
    .ava-footer__list--row {
        line-height: 19px;
    }
    .ava-footer__list li + li,
    .ava-footer__list--row li + li {
        margin-top: 8px;
    }
    /* brand row 238:112703 - logo 71.25 x 71.76, 18 px gap, 11 / 400 / 18 cream at 70 % with a blank line between groups */
    .ava-footer__brand {
        grid-template-columns: 71.25px 1fr;
        column-gap: 18px;
        margin-top: 18px;
    }
    .ava-footer__logo,
    .ava-footer__logo img {
        width: 71.25px;
        height: 71.76px;
    }
    .ava-footer__info {
        margin-top: 0;
        line-height: 18px;
        color: rgba(237, 235, 225, 0.7);
    }
    .ava-footer__contact {
        margin-top: 0;
    }
    .ava-footer__hours,
    .ava-footer__address {
        margin-top: 18px;
    }
    .ava-footer__address,
    .ava-footer__contact {
        line-height: 18px;
    }
    /* socials 238:112730 - 31.7 px circles 7.9 apart, 15.8 px glyphs, 18 below the brand row */
    .ava-footer__social {
        gap: 7.9px;
        margin-top: 18px;
    }
    .ava-footer__social a {
        width: 31.7px;
        height: 31.7px;
    }
    .ava-footer__social svg {
        width: 15.8px;
        height: 15.8px;
    }
    .ava-footer__rule {
        margin-top: 18px;
    }
    /* warning 238:112744 - padding 14 inside a 1 px #B8B800 stroke, 14 / 400 / 21 at 75 % */
    .ava-footer__warning.ava-bar {
        margin-top: 18px;
        padding: 13px;
        line-height: 21px;
    }
    .ava-footer__hope {
        margin-top: 12px;
        line-height: 16px;
    }
    /* bottom 238:112747 - 11 / 400 / 17 cream at 50 %, centred, 18 below the HOPEline */
    .ava-footer__bottom {
        gap: 0;
        margin-top: 18px;
        line-height: 17px;
        color: rgba(237, 235, 225, 0.5);
    }
}

/* D36 (2): "Sticky CTA Bar · Mobile" 238:112079 - home only (the band renders on the front page), fixed to the viewport
   bottom <= 767: #171717, padding 12 16 16, shadow 0 -4 20 rgba(0,0,0,.25), two equal buttons 10 apart, 48 tall
   (padding 15 12), radius 8, 14 / 600 / 0.14 px. The footer gets the bar's height as bottom padding so nothing hides under it. */
@media (max-width: 767px) {
    .ava-footer .ava-footer__cta {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 990;
        width: 100%;
        min-height: 0;
        margin: 0;
        padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px));
        gap: 0;
        background: #171717;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25);
    }
    .ava-footer .ava-footer__cta-text {
        display: none;
    }
    .ava-footer .ava-footer__cta-btns {
        flex: 1 1 auto;
        gap: 10px;
    }
    .ava-footer .ava-footer__cta .ava-footer__btn {
        flex: 1 1 0;
        min-width: 0;
        height: 48px;
        padding: 0 12px;
        border-radius: 8px;
        font-size: 14px;
        letter-spacing: 0.14px;
    }
    .ava-footer.has-cta .ava-footer__bottom {
        margin-bottom: 28px;
    }
    /* the bar's height is reserved at the end of the page inside the footer (dark), not as body padding (white),
       so no light strip shows behind the bar while mobile toolbars resize the viewport */
    .ava-footer.has-cta {
        padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    }
}

/* <<< Lane V1 */

/* >>> Auditor A footer - the address (238:113438) and the HOPEline link (238:113504) are underlined in both footer frames; `.ava-footer a { text-decoration: none }` and theme link rules had won */
.ava-footer .ava-footer__address a, .ava-footer .ava-footer__hope a { text-decoration-line: underline !important; text-underline-offset: 2px; }
/* <<< Auditor A footer */

/* Orchestrator 28 Sep (client screenshot at 1600): the wave pattern must run end to end on every screen — the PNG is 1440px wide,
   so above that width it is scaled to the footer width (at ≤1440px nothing changes); the CTA band's inner box centres on the
   same 1280 box as the footer content (D39) instead of hugging the 80px gutter. */
.ava-footer { background-size: max(100%, 1440px) auto; background-position: center bottom; }
.ava-footer__cta { padding-left: max(var(--f-gutter), calc((100% - var(--f-max)) / 2)); padding-right: max(var(--f-gutter), calc((100% - var(--f-max)) / 2)); }

/* >>> FIXROUND-home-chrome (29 Sep 2026) */
/* "Sticky CTA Bar" 238:109042 >= 768 (home): ava-footer.js adds the 84 px slot at the footer's top edge (frame: bar y 8875,
   footer rows from 8959); the bar floats at the viewport bottom until the slot is on screen, then docks in it. */
@media (min-width: 768px) {
    .ava-footer.has-cta.has-cta-slot { position: relative; }
    .ava-footer.has-cta-slot > .ava-footer__cta-slot { height: 84px; margin: -72px 0 72px; }
    .ava-footer.has-cta-slot > .ava-footer__cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 990; width: 100%; margin: 0; }
    .ava-footer.has-cta-slot.is-cta-docked > .ava-footer__cta { position: absolute; top: 0; bottom: auto; }
}
/* social icons without a URL are not links (no "#") */
.ava-footer__social a:not([href]) { cursor: default; }
/* 21+ Age Restricted is red at rest: its focus needs a ring, like every other control */
.ava-footer .ava-footer__legal-links a:focus-visible,
.ava-footer .ava-footer__cta .ava-footer__btn:focus-visible { outline: 2px solid #FF4438; outline-offset: 2px; }
.ava-footer .ava-footer__legal-links .is-age a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
/* desktop labels are headings (ava-footer.js), no pointer affordance */
@media (min-width: 768px) { .ava-footer__label[role="heading"] { cursor: default; } }
/* <<< FIXROUND-home-chrome */

/* >>> FIXROUND-home-chrome age gate (popup 1465, frame 238:109097; this sheet loads on every page) */
#elementor-popup-modal-1465 #age-yes { cursor: pointer; }
#elementor-popup-modal-1465 #age-yes a { cursor: pointer; }
#elementor-popup-modal-1465 #age-yes:focus-visible { outline: 2px solid #151515; outline-offset: 2px; }
#elementor-popup-modal-1465 #age-no a,
#elementor-popup-modal-1465 #age-no .elementor-heading-title { text-decoration-line: underline; text-underline-offset: 2px; }
#elementor-popup-modal-1465 #age-no a:focus-visible { outline: 2px solid #FF4438; outline-offset: 2px; }
@media (max-width: 767px) {
    /* no mobile frame: the desktop tokens hold (helper 11 / 400 / 14, under-21 13 / 600 / 14) */
    #elementor-popup-modal-1465 .elementor-element-20ae751 .elementor-heading-title { font-size: 11px !important; line-height: 14px !important; }
    #elementor-popup-modal-1465 .elementor-element-19b975a .elementor-heading-title { font-size: 13px !important; line-height: 14px !important; }
    /* the trust line's -30 px mobile margin pulled it over the divider rule (rule y 564 inside the line's 553-589 box) */
    #elementor-popup-modal-1465 .elementor-element-06bf28b { margin-top: 0 !important; }
}
/* <<< FIXROUND-home-chrome age gate */

/* >>> LEFTOVER-chrome (29 Sep 2026) */
/* column labels: >= 768 a static h2 (frame 238:112828, 12 / 600 / 14 / 0.96 px gold), the accordion button only <= 767 */
.ava-footer .ava-footer__col h2.ava-footer__heading {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--f-gold);
    font-family: inherit;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: left;
    cursor: default;
}
@media (min-width: 768px) {
    .ava-footer .ava-footer__col button.ava-footer__label { display: none !important; }
}
@media (max-width: 767px) {
    .ava-footer .ava-footer__col h2.ava-footer__heading { display: none !important; }
}
/* keyboard focus: every footer link, social icon and the logo get the site ring (2 px #FF4438, offset 2) */
.ava-footer.ava-footer a:focus-visible,
.ava-footer.ava-footer .ava-footer__social a:focus-visible,
.ava-footer.ava-footer .ava-footer__logo:focus-visible {
    outline: 2px solid #FF4438;
    outline-offset: 2px;
}
.ava-footer.ava-footer .ava-footer__col button.ava-footer__label:focus-visible {
    outline: 2px solid #FF4438;
    outline-offset: 2px;
}
/* <<< LEFTOVER-chrome */
/* >>> AUDIT-chrome (29 Sep) */
/* C15: has-cta zeroes the footer's bottom padding, so the bottom row's 36 px margin collapsed out of the dark footer and left a
   36 px white strip at the end of the home page; flow-root keeps that margin inside the footer */
.ava-footer.has-cta { display: flow-root; }
/* <<< AUDIT-chrome */
/* >>> Final regression (30 Sep) */
/* Phones: footer tap targets. The NAP links were 14 px tall and the address sat 4 px above phone / email (WCAG 2.5.8 spacing
   failed): transparent hit areas, the address grows up into the free space under the hours and phone / email grow down, no
   overlap, nothing moves. Menu and legal links are inline, so padding grows their hit box to 24 px without moving the lines. */
@media (max-width: 767px) {
    .ava-footer .ava-footer__address a, .ava-footer .ava-footer__contact a { position: relative; }
    .ava-footer .ava-footer__address a::after, .ava-footer .ava-footer__contact a::after { content: ""; position: absolute; left: 0; right: 0; }
    .ava-footer .ava-footer__address a::after { top: -10px; bottom: -2px; }
    .ava-footer .ava-footer__contact a::after { top: -2px; bottom: -10px; }
    .ava-footer .ava-footer__list a { padding-block: 4px; }
    .ava-footer .ava-footer__legal-links a { padding-block: 5px; }
}
/* <<< Final regression (30 Sep) */
/* AUDIT2 2 Oct (chrome-home) */
/* CH-04 home only, <= 767: the fixed 'Sticky CTA Bar' (z 990, root stacking context) painted over the open drawer (inside the
   header's stacking context), covering its license strip and SHOP THE MENU (frame 1:21400 draws the drawer's own CTA). */
html.ava-mnav-open .ava-footer .ava-footer__cta { display: none !important; }
/* CH-05 age gate popup 1465 to frame 238:109097 (1440 x 900: modal 540 x 566 at 450,167). Measured on the frame PNG: pill 30 tall
   (live 26), 12 / 600 / 0.72 px text with a 9 px star (live 700 / 1 px, 12 px star), H1 cap at 193 from the modal top (live 186),
   body 15 px on 20 px lines (live 24), helper -> 'No, I'm under 21' gap 23 (live 11), rule 467 / trust line 488 / fine print 506
   (live 457 / 483 / 502), modal 566 (live 571). Elementor data untouched. The helper gap and body gap also apply on phones (no
   mobile frame; the desktop tokens hold, FIXROUND-home-chrome), where helper and 'No' sat 12 px apart. */
#elementor-popup-modal-1465 .elementor-element.elementor-element-5351513 { margin-bottom: 19px !important; }
#elementor-popup-modal-1465 .elementor-element.elementor-element-20ae751 { margin-bottom: 22px !important; }
@media (min-width: 768px) {
    #elementor-popup-modal-1465 .elementor-element-6c83be2f > .e-con-inner { padding-bottom: 33px !important; }
    #elementor-popup-modal-1465 .elementor-element.elementor-element-1cfbbbc { padding: 7px 16px 7px 18px !important; margin-bottom: 17px !important; }
    #elementor-popup-modal-1465 .elementor-element-1cfbbbc .elementor-icon-list-text { font-weight: 600 !important; letter-spacing: 0.72px !important; padding-left: 5px !important; }
    #elementor-popup-modal-1465 .elementor-element-1cfbbbc .elementor-icon-list-icon { width: 10px !important; }
    #elementor-popup-modal-1465 .elementor-element-1cfbbbc .elementor-icon-list-icon svg { width: 10px !important; height: 9px !important; }
    #elementor-popup-modal-1465 .elementor-element.elementor-element-12ebb10d { margin-bottom: 18px !important; }
    #elementor-popup-modal-1465 .elementor-element-5351513 .elementor-heading-title { line-height: 20px !important; }
    #elementor-popup-modal-1465 .elementor-element.elementor-element-5bf6158 { margin-bottom: 9px !important; }
    #elementor-popup-modal-1465 .elementor-element.elementor-element-06bf28b { margin-top: -4px !important; }
}
/* <<< AUDIT2 chrome-home */

/* AUDIT2 3 Oct (chrome-home) CH-01: the desktop CTA bar (238:109042) belongs under the footer, as the last 84 px of the home frame
   (bar 9722-9806, copyright 9672). The 29 Sep slot at the footer's TOP pushed every footer row 83 px down and, at 768-1024, let the
   floating bar cover the copyright at max scroll. The slot now takes no space, the footer reserves the 84 px at its end, and the bar
   stays fixed at the viewport bottom: at max scroll it sits exactly on that reserve. */
@media (min-width: 768px) {
    .ava-footer.has-cta-slot > .ava-footer__cta-slot { height: 0; margin: 0; }
    .ava-footer.has-cta.has-cta-slot { padding-bottom: 84px; }
    .ava-footer.has-cta-slot.is-cta-docked > .ava-footer__cta { position: fixed; top: auto; bottom: 0; }
}
/* <<< AUDIT2 CH-01 */

/* 13 Oct (user): the band's red button turned #151515 on the #171717 band (and on the mobile sticky bar), so the hover / tap
   state disappeared; it turns white with ink text, like the outline button next to it. */
.ava-footer .ava-footer__btn--red:hover,
.ava-footer .ava-footer__btn--red:focus-visible,
.ava-footer .ava-footer__btn--red:active { background: #ffffff; color: #151515; }
