/* coupon-tools.css */
/* Coupon Tools */
main {
	--cpn-ttl-w: 3rem; /* { min: 0, max: 10, step: 1, friendly: 'Coupon Title Width' } */

	--cpn-bdr-pd: 0rem; /* { min: 0.25, max: 2, step: 0.001, friendly: 'Coupon Border Padding' } */
	--cpn-bdr-w: 2px; /* { min: 1, max: 5, step: 1, friendly: 'Coupon Border Width' } */
	--cpn-bdr-s: none; /* { friendly: 'Coupon Border Style' } */

	--cpn-act-icn-s: .89rem; /* { min: .8, max: 3, step: 0.001, friendly: 'Action Icon Size' } */

	--cpn-lg-mx-wd: 265; /* { min: 50, max: 500, step: 10, friendly: 'Coupon Logo Max Width Desktop' } */
	--cpn-lg-mx-wd-mbl: 170; /* { min: 10, max: 300, step: 1, friendly: 'Coupon Logo Max Width Mobile' } */
	--cpn-lg-mx-wd-clc: calc((var(--cpn-lg-mx-wd-mbl) * 1px) + (var(--cpn-lg-mx-wd) - var(--cpn-lg-mx-wd-mbl)) * ((var(--vw_) - 320px) / (1920 - 320))); /* { readonly: true } */

	--cpn-lg-dsp: flex;  /* {friendly: 'Coupon Logo Display'} */

	--cpn-ntch-r: 1.667rem;  /* { min: 10, max: 40, step: 1, friendly: 'Coupon Notch Radius' } */
	--cpn-ntch-y: 78%;   /* { min: 50, max: 95, step: 1, friendly: 'Coupon Notch Position' } */

	--cpn-udr-clr: #ffce34;  /* { friendly: 'Coupon Underlay Color' } */
	--cpn-udr-s: 12px;   /* { min: 0, max: 50, step: 1, friendly: 'Coupon Underlay Side Inset' } */
	--cpn-udr-o: 14px;   /* { min: 0, max: 30, step: 1, friendly: 'Coupon Underlay Overflow' } */
}

/* values-tools.css */
/* Values Tools */
main {
	--vls-tls-icn-s: 3rem; /* { min: 1, max: 5, step: 0.1, friendly: 'Values Icon Size' } */
}

.vls .vls-icn {
	font-size: var(--vls-tls-icn-s);
}

/* content-v2.css */
.cnt.v2 {
    background: linear-gradient(to bottom, #FFFFFF, #E1EBF7);

    aside > * + * {
        margin-top: var(--sp-vm-clc);
    }

    .bdr-rds {
        border-radius: 0 !important;
    }
}

/* side-nav.css */
.sdnv {
    --sdnv-lnk-pd: 1.125rem;
    --sdnv-lnk-rds: 0.625rem;
    --sdnv-hvr-bg: rgba(255, 255, 255, 0.12);
    --sdnv-hvr-bdr: rgba(237, 237, 237, 0.08);
    --sdnv-cpn-gap: 8rem;


    .sdnv-link {
        padding: var(--sdnv-lnk-pd);
        border: 1.5px solid transparent;
        border-radius: var(--sdnv-lnk-rds);
        color: hsl(from var(--text-color) h s l / 0.8);
        text-decoration: none;
        transition: background-color 0.2s, border-color 0.2s, color 0.2s;

        .sdnv-arr {
            color: var(--accent);
            width: 1em;
            height: 1em;
            opacity: 0;
            transition: opacity 0.2s;
        }

        &.active,
        &:hover,
        &:focus-visible {
            background-color: var(--sdnv-hvr-bg);
            border-color: var(--sdnv-hvr-bdr);
            color: var(--text-color);

            .sdnv-arr {
                opacity: 1;
            }
        }
    }

    .sdnv-cpn {
        margin-top: var(--sdnv-cpn-gap);
    }
}

/* values-v7.css */
/* Values V7 — 4 stat cards + image card with CTA pill row */

.vls.v7 {
    /* Headline (h4 → fnt_t-1) — Figma is mixed case, lh 0.9 */
    --fnt-t-1-tt: none;

    /* Subheader (h5 → fnt_t-5) — Albert Sans Medium 500, lh 1.7, neutral text color */
    --fnt-t-5-w: 500;
    --fnt-t-5-lh: 1.7;

    /* Card radius — Figma 20px */
    --bdr-rds-crd: 1.111rem;
    --bdr-rds: 1.11rem;

    /* Stat list — 2×2 grid, Figma 40px gap */
    .vls-v7-stt {
        --grd-sp: 2.222rem;
    }

    .crd {
        border-radius: 0 !important;
    }

    @media screen and (min-width: 1280px) {
        &:has(.bt.deco){
            padding-bottom: 20rem;
        }
    }

    /* Number + suffix row — baseline-aligned */
    .vls-v7-num-rw {
        column-gap: 0.556rem;
    }

    .vls-v7-lbl {
        color: var(--text-color);
    }

    /* Suffix ("MIN", "mo") — Bayon 45px uppercase, yellow */
    .vls-v7-suf {
        font-family: var(--fnt-t);
        font-size: 2.5rem;
        font-weight: 400;
        line-height: 1;
        text-transform: uppercase;
        color: var(--accent);
        padding-bottom: 0.444rem;
    }

    .vls-v7-img-crd::before {
        inset: 0;
        background: linear-gradient(180deg, transparent 50%, hsl(from var(--black) h s l / 0.7) 100%);
        pointer-events: none;
        z-index: 1;
    }

    /* CTA row — absolute at bottom, overlapping the gradient */
    .vls-v7-btns {
        position: absolute;
        left: 50%;
        bottom: 4.44rem;
        transform: translateX(-50%);
        gap: 1.167rem;
        z-index: 2;
        white-space: nowrap;
    }

    @media screen and (min-width: 1280px) {
        .vls-v7-bd {
            --flx-gap: 2.778rem;
        }
    }
}
