/* ==========================================================================
   AVA Store — card CTA states, size popover, notify-me popover, added-to-cart toast
   Lane A, Task A2. Loaded on every page by ava-core.php. Card body styles live in
   the child theme (assets/css/product_archive.css); this file owns everything ava-store.js renders.
   Rule from the state sheet (Figma 238:113513): every CTA is red at rest and black on hover.
   Selectors are doubled (.ava-btn.ava-btn) so they beat Elementor's kit theme-style rules (.elementor-kit-7 button)
   whatever the stylesheet order; the stepper and size rows reset the kit's uppercase/tracking.
   ========================================================================== */

:root {
    --ava-red: #FF4438;
    --ava-ink: #151515;
    --ava-muted: #6B685E;
    --ava-meta: #8A867C;
    --ava-border: #DCD8CA;
    --ava-hairline: #E6E3DA;
    --ava-cream: #EDEBE1;
    --ava-navy: #193E81;
    --ava-gold: #C9A961;
    --ava-toast: #FEFAF2;
    --ava-green: #2E7D4F;
    --ava-font: 'Krub', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --ava-radius: 4px;
    --ava-radius-pop: 12px;
}

/* ---------- CTA container ---------- */

.ava-atc {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 120px;
    min-height: 42px;
}

.ava-atc.is-busy {
    opacity: 0.7;
    pointer-events: none;
}

/* ---------- buttons ---------- */

.ava-btn.ava-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    min-width: 120px;
    height: 42px;
    padding: 0 18px;
    border: 1.5px solid var(--ava-red);
    border-radius: var(--ava-radius);
    background: var(--ava-red);
    color: #ffffff !important;
    font-family: var(--ava-font);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
}

.ava-btn.ava-btn:hover,
.ava-btn.ava-btn:focus-visible {
    background: var(--ava-ink);
    border-color: var(--ava-ink);
    color: #ffffff !important;
}

.ava-btn.ava-btn:focus-visible {
    outline: 2px solid var(--ava-ink);
    outline-offset: 2px;
}

.ava-btn.ava-btn--outline-red {
    background: #ffffff;
    border-color: var(--ava-red);
    color: var(--ava-red) !important;
}

.ava-btn.ava-btn--outline {
    background: #ffffff;
    border-color: var(--ava-ink);
    color: var(--ava-ink) !important;
}

.ava-btn.ava-btn--outline-red:hover,
.ava-btn.ava-btn--outline-red:focus-visible,
.ava-btn.ava-btn--outline:hover,
.ava-btn.ava-btn--outline:focus-visible {
    background: var(--ava-ink);
    border-color: var(--ava-ink);
    color: #ffffff !important;
}

.ava-btn.ava-btn[disabled] {
    cursor: not-allowed;
}

.ava-btn.ava-btn--block {
    width: 100%;
}

.ava-btn svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

/* ---------- stepper ---------- */

.ava-stepper {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    width: 120px;
    height: 42px;
    border: 1.5px solid var(--ava-ink);
    border-radius: var(--ava-radius);
    background: #ffffff;
    font-family: var(--ava-font);
}

.ava-stepper.ava-stepper button {
    -webkit-appearance: none;
    appearance: none;
    text-transform: none;
    letter-spacing: 0;
    border-radius: 0;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--ava-ink);
    font-family: inherit;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: color 0.15s ease;
}

.ava-stepper.ava-stepper button:hover,
.ava-stepper.ava-stepper button:focus-visible {
    color: var(--ava-red);
    outline: none;
}

.ava-stepper.ava-stepper button:focus-visible {
    box-shadow: inset 0 0 0 2px var(--ava-red);
    border-radius: 3px;
}

.ava-stepper button svg {
    width: 16px;
    height: 16px;
}

.ava-stepper__qty {
    min-width: 24px;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: var(--ava-ink);
    font-variant-numeric: tabular-nums;
}

/* ---------- popover base ---------- */

.ava-pop {
    position: absolute;
    z-index: 100000;
    box-sizing: border-box;
    width: 300px;
    max-width: calc(100vw - 16px);
    padding: 12px;
    background: #ffffff;
    border: 1px solid var(--ava-hairline);
    border-radius: var(--ava-radius-pop);
    box-shadow: 0 12px 32px rgba(21, 21, 21, 0.16);
    font-family: var(--ava-font);
    color: var(--ava-ink);
}

.ava-pop *,
.ava-pop *::before,
.ava-pop *::after {
    box-sizing: border-box;
}

.ava-pop.is-sheet {
    position: fixed;
    left: 16px !important;
    right: 16px;
    bottom: 16px;
    top: auto !important;
    width: auto;
    max-width: none;
    box-shadow: 0 -8px 40px rgba(21, 21, 21, 0.28);
}

.ava-pop__eyebrow {
    padding: 6px 8px 10px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ava-meta);
}

/* ---------- size popover ---------- */

.ava-size-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ava-size.ava-size {
    -webkit-appearance: none;
    appearance: none;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 1.5px solid transparent;
    border-radius: 8px;
    background: none;
    color: var(--ava-ink);
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.ava-size.ava-size:hover,
.ava-size.ava-size:focus-visible {
    background: #F7F5EF;
    outline: none;
}

.ava-size.ava-size:focus-visible {
    border-color: var(--ava-ink);
}

.ava-size.ava-size.is-selected {
    background: #FFF2F1;
    border-color: var(--ava-red);
    color: var(--ava-red);
}

.ava-size__main {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.ava-size__label {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    color: inherit;
}

.ava-size__per {
    font-size: 12px;
    font-weight: 400;
    color: var(--ava-muted);
}

.ava-size.is-selected .ava-size__per {
    color: var(--ava-red);
}

.ava-size__price {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
    color: inherit;
}

.ava-size__price s {
    font-weight: 400;
    color: #9A9A9A;
}

.ava-size__check {
    display: none;
    line-height: 0;
}

.ava-size.is-selected .ava-size__check {
    display: inline-flex;
}

.ava-size.ava-size.is-soldout {
    opacity: 0.55;
    cursor: not-allowed;
}

.ava-size.is-soldout .ava-size__label {
    text-decoration: line-through;
}

/* ---------- notify-me popover ---------- */

.ava-pop.ava-notify {
    padding: 20px;
}

.ava-notify__close.ava-notify__close {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--ava-ink);
    cursor: pointer;
}

.ava-notify__close.ava-notify__close:hover,
.ava-notify__close.ava-notify__close:focus-visible {
    background: #F2F1EA;
    outline: none;
}

.ava-notify__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 32px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ava-notify__cat {
    color: var(--ava-red);
}

.ava-notify__strain {
    color: var(--ava-muted);
}

.ava-notify__product {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 14px 0 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--ava-hairline);
}

.ava-notify__thumb {
    position: relative;
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    overflow: hidden;
    border-radius: 8px;
    background: #E7DDC6;
}

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

.ava-notify__thumb .cpa-card-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 7px;
    border-radius: 4px;
    background: var(--ava-ink);
    color: #ffffff;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
    white-space: nowrap;
}

.ava-notify__info {
    min-width: 0;
}

.ava-notify__brand {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ava-muted);
}

.ava-notify__name {
    margin: 4px 0 6px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--ava-ink);
}

.ava-notify__spec {
    font-size: 13px;
    color: var(--ava-muted);
}

.ava-notify__title {
    margin: 0 0 8px;
    font-family: inherit;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--ava-ink);
}

.ava-notify__title:focus {
    outline: none;
}

.ava-notify__copy {
    margin: 0 0 16px;
    font-size: 15px;
    line-height: 1.45;
    color: var(--ava-muted);
}

.ava-notify__field {
    position: relative;
    display: block;
    color: var(--ava-muted);
}

.ava-notify__field svg {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.ava-notify__field input {
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0 14px 0 42px;
    border: 1.5px solid var(--ava-border);
    border-radius: 6px;
    background: #ffffff;
    font-family: inherit;
    font-size: 15px;
    color: var(--ava-ink);
    box-shadow: none;
}

.ava-notify__field input:focus {
    outline: none;
    border-color: var(--ava-ink);
}

.ava-notify__field input::placeholder {
    color: #9A968A;
}

.ava-notify__form .ava-btn--block {
    height: 48px;
    margin-top: 12px;
}

.ava-notify__error {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--ava-red);
}

.ava-notify__error[hidden] {
    display: none;
}

.ava-notify__fine {
    margin: 12px 0 18px;
    font-size: 12px;
    text-align: center;
    color: var(--ava-meta);
}

.ava-notify__similar {
    display: block;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ava-ink) !important;
    text-decoration: none !important;
}

.ava-notify__similar:hover,
.ava-notify__similar:focus-visible {
    color: var(--ava-red) !important;
}

.ava-notify__done {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.ava-notify__check {
    display: inline-flex;
    width: 48px;
    height: 48px;
    margin-bottom: 14px;
    color: var(--ava-green);
}

.ava-notify__sent {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    border: 1.5px solid #DBD9C9;
    border-radius: 6px;
    background: #F2F1EA;
    font-size: 15px;
    color: var(--ava-ink);
}

/* ---------- added-to-cart toast ---------- */

.ava-toast {
    position: fixed;
    top: 96px;
    right: 24px;
    z-index: 100001;
    box-sizing: border-box;
    width: 276px;
    padding: 20px 20px 22px;
    background: var(--ava-toast);
    border-radius: var(--ava-radius-pop);
    box-shadow: 0 16px 40px rgba(21, 21, 21, 0.18);
    font-family: var(--ava-font);
    color: var(--ava-ink);
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ava-toast *,
.ava-toast *::before,
.ava-toast *::after {
    box-sizing: border-box;
}

.ava-toast.is-visible {
    opacity: 1;
    transform: none;
}

.ava-toast.is-error {
    background: #ffffff;
    border: 1.5px solid var(--ava-red);
}

.ava-toast__close.ava-toast__close {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: -14px;
    right: -14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ffffff;
    color: var(--ava-ink);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    cursor: pointer;
}

.ava-toast__close.ava-toast__close:hover,
.ava-toast__close.ava-toast__close:focus-visible {
    background: var(--ava-ink);
    color: #ffffff;
    outline: none;
}

.ava-toast__eyebrow {
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ava-meta);
}

.ava-toast__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ava-toast__cat {
    color: var(--ava-red);
}

.ava-toast__brand {
    color: var(--ava-muted);
}

.ava-toast__name {
    margin: 6px 0 14px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--ava-ink);
}

.ava-toast.is-error .ava-toast__name {
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 500;
}

.ava-toast__price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 16px;
}

.ava-toast__price {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}

.ava-toast .ava-btn--block {
    height: 44px;
}

.ava-chip {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border-radius: 4px;
    background: var(--ava-ink);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

/* ---------- utilities ---------- */

.ava-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.ava-cart-count[data-count="0"] {
    display: none;
}

@media (max-width: 767px) {
    .ava-toast {
        left: 16px;
        right: 16px;
        width: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ava-btn,
    .ava-size,
    .ava-stepper button,
    .ava-toast {
        transition: none;
    }
}

/* ---------- kit overrides ----------
   Elementor's theme style paints every button:hover / :focus black with a 4px radius (A1 kit globals).
   Our controls keep their own hover/focus styles; specificity (0,3,1)+ beats .elementor-kit-7 button:hover. */

.ava-stepper.ava-stepper button:hover,
.ava-stepper.ava-stepper button:focus,
.ava-stepper.ava-stepper button:focus-visible,
.ava-stepper.ava-stepper button:active {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--ava-red);
    box-shadow: none;
    outline: none;
}

.ava-stepper.ava-stepper button:focus-visible {
    box-shadow: inset 0 0 0 2px var(--ava-red);
    border-radius: 3px;
}

.ava-size.ava-size,
.ava-size.ava-size:hover,
.ava-size.ava-size:focus,
.ava-size.ava-size:focus-visible,
.ava-size.ava-size:active {
    border-radius: 8px;
    box-shadow: none;
    outline: none;
}

.ava-size.ava-size:hover,
.ava-size.ava-size:focus,
.ava-size.ava-size:focus-visible {
    background: #F7F5EF;
    border-color: transparent;
    color: var(--ava-ink);
}

.ava-size.ava-size:focus-visible {
    border-color: var(--ava-ink);
}

.ava-size.ava-size.is-selected,
.ava-size.ava-size.is-selected:hover,
.ava-size.ava-size.is-selected:focus,
.ava-size.ava-size.is-selected:focus-visible {
    background: #FFF2F1;
    border-color: var(--ava-red);
    color: var(--ava-red);
}

.ava-notify__close.ava-notify__close:hover,
.ava-notify__close.ava-notify__close:focus,
.ava-notify__close.ava-notify__close:focus-visible {
    background: #F2F1EA;
    color: var(--ava-ink);
    border-radius: 50%;
}

.ava-toast__close.ava-toast__close:hover,
.ava-toast__close.ava-toast__close:focus,
.ava-toast__close.ava-toast__close:focus-visible {
    background: var(--ava-ink);
    color: #ffffff;
    border-radius: 50%;
}

/* ---------- quick-add sheet (mobile, frame 1:7630; Lane A A6) ---------- */

.ava-pop-backdrop {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(21, 21, 21, 0.45);
}

html.ava-sheet-open,
html.ava-sheet-open body {
    overflow: hidden;
}

.ava-pop.ava-pop--qa,
.ava-pop.is-sheet.ava-pop--qa {
    position: fixed;
    left: 0 !important;
    right: 0;
    bottom: 0;
    top: auto !important;
    z-index: 100000;
    width: auto;
    max-width: none;
    max-height: 88vh;
    overflow-y: auto;
    padding: 8px 20px calc(16px + env(safe-area-inset-bottom, 0px));
    border: 0;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -12px 40px rgba(21, 21, 21, 0.28);
}

.ava-qa__handle {
    width: 40px;
    height: 4px;
    border-radius: 2px;
    background: var(--ava-border);
    margin: 4px auto 18px;
}

.ava-qa__head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.ava-qa__thumb {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 10px;
    background: #E7DDC6;
    overflow: hidden;
}

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

.ava-qa__info {
    flex: 1 1 auto;
    min-width: 0;
}

.ava-qa__brand {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ava-gold);
}

.ava-qa__name {
    margin: 2px 0 4px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.15;
    color: var(--ava-ink);
}

.ava-qa__meta {
    font-size: 13px;
    color: var(--ava-muted);
}

.ava-qa__close.ava-qa__close,
.ava-qa__close.ava-qa__close:hover,
.ava-qa__close.ava-qa__close:focus {
    -webkit-appearance: none;
    appearance: none;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: -4px -8px 0 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--ava-ink);
    cursor: pointer;
    box-shadow: none;
}

.ava-qa__close.ava-qa__close:focus-visible {
    background: #F2F1EA;
    outline: none;
}

.ava-qa__price {
    margin: 22px 0 18px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
    color: var(--ava-ink);
}

.ava-qa__group {
    margin-bottom: 18px;
}

.ava-qa__label {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: 600;
    color: var(--ava-ink);
}

.ava-qa__req {
    font-size: 13px;
    font-weight: 400;
    color: var(--ava-meta);
}

.ava-qa__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ava-qa__pill.ava-qa__pill,
.ava-qa__pill.ava-qa__pill:hover,
.ava-qa__pill.ava-qa__pill:focus {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin: 0;
    padding: 0 16px;
    border: 1.5px solid var(--ava-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--ava-ink);
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
}

.ava-qa__pill.ava-qa__pill.is-selected,
.ava-qa__pill.ava-qa__pill.is-selected:hover,
.ava-qa__pill.ava-qa__pill.is-selected:focus {
    background: var(--ava-red);
    border-color: var(--ava-red);
    color: #ffffff;
}

.ava-qa__pill.ava-qa__pill.is-soldout,
.ava-qa__pill.ava-qa__pill.is-soldout:hover {
    color: #B5B2A8;
    border-color: #E6E3DA;
    font-weight: 500;
    cursor: not-allowed;
}

.ava-qa__pill.ava-qa__pill:focus-visible {
    outline: 2px solid var(--ava-ink);
    outline-offset: 2px;
}

.ava-qa__note {
    margin: 4px 0 20px;
    padding: 14px 16px;
    border-radius: 10px;
    background: var(--ava-cream);
    color: var(--ava-muted);
    font-size: 13px;
    line-height: 1.45;
}

.ava-qa__foot {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--ava-hairline);
}

.ava-qa__qty {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    height: 48px;
    padding: 0 6px;
    border: 1.5px solid var(--ava-ink);
    border-radius: 999px;
}

.ava-qa__qty.ava-qa__qty button,
.ava-qa__qty.ava-qa__qty button:hover,
.ava-qa__qty.ava-qa__qty button:focus,
.ava-qa__qty.ava-qa__qty button:active {
    -webkit-appearance: none;
    appearance: none;
    width: 34px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: none !important;
    color: var(--ava-ink) !important;
    font-family: inherit;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
    box-shadow: none;
}

.ava-qa__qty.ava-qa__qty button[disabled] {
    opacity: 0.35;
    cursor: default;
}

.ava-qa__qty.ava-qa__qty button:focus-visible {
    outline: 2px solid var(--ava-red);
    outline-offset: -4px;
    border-radius: 999px;
}

.ava-qa__qtyval {
    min-width: 26px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--ava-ink);
    font-variant-numeric: tabular-nums;
}

.ava-btn.ava-btn.ava-qa__add {
    flex: 1 1 auto;
    height: 48px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.ava-btn.ava-btn.ava-qa__add[disabled] {
    opacity: 0.5;
    cursor: default;
}

/* ==========================================================================
   Lane S1 fidelity pass (27 Sep) — size popover = frame collection-variant-1: 199 × 196 outer, 1 px #DCD8CA, radius 12,
   padding 5, "SELECT SIZE" 10 / 600 / .1em at +15, rows 51 (1 px border, radius 8, gap 2, text at +11: label 15 / 600,
   per-gram 11 / 400, price 15 / 600), selected row #FFF2F1 + red border; a 12 × 8 caret 22 px from the right edge points
   at the SELECT chevron (flips to the bottom edge when the popover opens above the button: .is-up from ava-store.js).
   ========================================================================== */
.ava-pop.ava-pop--size { width: 199px; padding: 5px; border: 1px solid #DCD8CA; border-radius: 12px; box-shadow: 0 6px 20px rgba(21, 21, 21, 0.10); }
.ava-pop--size .ava-pop__eyebrow { padding: 10px 6px 6px; font-size: 10px; line-height: 12px; font-weight: 600; letter-spacing: 0.1em; color: #8A867C; }
.ava-pop--size .ava-size-list { gap: 2px; }
.ava-pop--size .ava-size.ava-size { min-height: 51px; padding: 6px 10px 6px 11px; border-width: 1px; border-radius: 8px; gap: 8px; }
.ava-pop--size .ava-size__main { gap: 3px; }
.ava-pop--size .ava-size__label { font-size: 15px; line-height: 18px; font-weight: 600; }
.ava-pop--size .ava-size__per { font-size: 11px; line-height: 13px; }
.ava-pop--size .ava-size__price { font-size: 15px; gap: 6px; }
.ava-pop--size .ava-size__check svg { width: 12px; height: 12px; }
.ava-pop--size::before, .ava-pop--size::after { content: ""; position: absolute; right: 22px; width: 0; height: 0; border-style: solid; pointer-events: none; }
.ava-pop--size::before { top: -8px; border-width: 0 6px 8px; border-color: transparent transparent #DCD8CA; }
.ava-pop--size::after { top: -7px; border-width: 0 6px 8px; border-color: transparent transparent #ffffff; }
.ava-pop--size.is-up::before { top: auto; bottom: -8px; border-width: 8px 6px 0; border-color: #DCD8CA transparent transparent; }
.ava-pop--size.is-up::after { top: auto; bottom: -7px; border-width: 8px 6px 0; border-color: #ffffff transparent transparent; }
.ava-pop--size.is-sheet::before, .ava-pop--size.is-sheet::after { display: none; }

/* notify-me popover (frame notify-me-popover): thin muted close glyph */
.ava-notify__close.ava-notify__close { color: #6B685E !important; }
.ava-notify__close svg { stroke-width: 1.5; }

/* Lane S1 fidelity pass — quick-add sheet = frame quick-add-sheet-mobile (the frame's Strain row is not rendered, D13):
   handle 40 × 5 at +10, brand 9.5 / 700 / .06em #AD8C5C, the 64 px thumb top-aligned with the 18 / 600 name (15 px under
   the brand), × centred on the thumb, price 42 under the thumb, pills 38 tall 1 px #DCD8CA, note 58 tall (2 × 20 + 9 / 9),
   footer: 1 px rule then qty pill 86 × 44 (1 px #DCD8CA) + Add to Cart 48 tall, 7 px to the sheet bottom. */
.ava-pop.ava-pop--qa, .ava-pop.is-sheet.ava-pop--qa { padding: 10px 20px calc(7px + env(safe-area-inset-bottom, 0px)); }
.ava-qa__handle { width: 40px; height: 5px; border-radius: 3px; background: #DCD8CA; margin: 0 auto 16px; }
.ava-qa__head { gap: 15px; }
.ava-qa__thumb { margin-top: 15px; }
.ava-qa__brand { font-size: 9.5px; line-height: 12px; font-weight: 700; letter-spacing: 0.06em; color: #AD8C5C; }
.ava-qa__name { margin: 3px 0 4px; font-size: 18px; line-height: 22px; font-weight: 600; }
.ava-qa__meta { font-size: 13px; line-height: 18px; }
.ava-qa__close.ava-qa__close, .ava-qa__close.ava-qa__close:hover, .ava-qa__close.ava-qa__close:focus { margin: 29px -10px 0 0; color: #151515; }
.ava-qa__price { margin: 40px 0 22px; }
.ava-qa__head + .ava-qa__price { margin-top: 40px; }
.ava-qa__group { margin-bottom: 21px; }
.ava-qa__label { margin-bottom: 11px; }
.ava-qa__pill.ava-qa__pill, .ava-qa__pill.ava-qa__pill:hover, .ava-qa__pill.ava-qa__pill:focus { min-height: 38px; border-width: 1px; border-color: #DCD8CA; }
.ava-qa__pill.ava-qa__pill.is-selected, .ava-qa__pill.ava-qa__pill.is-selected:hover, .ava-qa__pill.ava-qa__pill.is-selected:focus { border-color: var(--ava-red); }
.ava-qa__note { margin: 0 0 20px; padding: 9px 16px; line-height: 20px; }
.ava-qa__foot { padding-top: 14px; border-top-color: #DCD8CA; }
.ava-qa__qty { height: 44px; width: 86px; justify-content: space-between; padding: 0 4px; border: 1px solid #DCD8CA; }
.ava-qa__qty.ava-qa__qty button, .ava-qa__qty.ava-qa__qty button:hover, .ava-qa__qty.ava-qa__qty button:focus, .ava-qa__qty.ava-qa__qty button:active { width: 26px; height: 36px; font-size: 18px; }
.ava-qa__qtyval { min-width: 18px; font-size: 15px; }

/* ==========================================================================
   Lane V2 token pass (27 Sep) — "Added to cart" toast = Figma 1:24636 (exact tokens from the Figma API; Lane S2's
   cross-lane request): card 280 wide, #FEFAF2, radius 20, padding 32, 18 px column gap; round × 40 × 40 (white,
   1 px #DCD8CA) centred on the top-right corner; "ADDED TO CART" 11 / 600 / .44 px #99948C; category (red) + brand
   (#6B685E) row 11 / 600 / .88 px, line 1.2, 7 px above the name 17 / 600 / 1.55; price 20 / 700 / 1.2 + THC pill
   #0E0E0E radius 3, padding 6 10, 10 / 600 / .8 px; VIEW CART (N) 37 tall, radius 3, padding 11 18, 15 / 600 / .3 px,
   line 1. The card keeps its elevation shadow (the frame draws it on a 12 % black presentation backdrop).
   ========================================================================== */
.ava-toast { display: flex; flex-direction: column; gap: 18px; width: 280px; padding: 32px; border-radius: 20px; }
.ava-toast__close.ava-toast__close { top: -20px; right: -20px; width: 40px; height: 40px; border: 1px solid #DCD8CA; border-radius: 20px; box-shadow: none; }
.ava-toast__close.ava-toast__close:hover, .ava-toast__close.ava-toast__close:focus, .ava-toast__close.ava-toast__close:focus-visible { border-color: var(--ava-ink); border-radius: 20px; }
.ava-toast__close svg { width: 10px; height: 10px; stroke-width: 1.5; }
.ava-toast__eyebrow { margin: 0; font-size: 11px; font-weight: 600; line-height: 14px; letter-spacing: 0.44px; color: #99948C; }
.ava-toast__row { font-size: 11px; font-weight: 600; line-height: 1.2; letter-spacing: 0.88px; }
.ava-toast__brand { color: #6B685E; }
.ava-toast__name { margin: -11px 0 0; font-size: 17px; font-weight: 600; line-height: 1.55; }
.ava-toast.is-error .ava-toast__name { margin-top: 0; }
.ava-toast__price-row { margin: 0; }
.ava-toast__price { font-size: 20px; font-weight: 700; line-height: 1.2; }
.ava-toast .ava-chip { height: auto; padding: 6px 10px; border-radius: 3px; background: #0E0E0E; font-size: 10px; line-height: 1.2; letter-spacing: 0.8px; }
.ava-toast .ava-btn.ava-btn--block { height: 37px; min-width: 0; padding: 11px 18px; border: 0; border-radius: 3px; font-size: 15px; font-weight: 600; line-height: 1; letter-spacing: 0.3px; }
@media (max-width: 767px) { .ava-toast { width: auto; } }

/* >>> Lane V2 shop */
/* d = Figma 238:109133: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/shop-238-109133-d-ava-store.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-578 .elementor-element-3675a52 a.ava-btn.ava-btn--red { font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0.3px !important; }
}

/* hand-written (components, boxes, states) */
/* card CTA (Figma 238:109562 / 238:109692 / state sheet 238:113513): 120 x 37, radius 3, label 15 / 600 / .3 px — archive 578 */
@media (min-width: 768px) {
  html body:not(#v2x) .elementor-578 .cpa-product-card .ava-atc .ava-btn.ava-btn { height: 37px !important; border-radius: 3px !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0.3px !important; }
  html body:not(#v2x) .elementor-578 .cpa-product-card .ava-atc .ava-stepper { height: 37px !important; border-radius: 3px !important; }
}
/* size popover (238:116542): 1 px #DBD9C9, shadow 0 10 24 -4 / 14 %, "SELECT SIZE" 10 / 600 / .6 px #6B695E line 13,
   size + price 14 / 600, per-gram 11 / 400 #6B695E line 14 (the selected row keeps the red label + price) */
html body:not(#v2x) .ava-pop.ava-pop--size { border-color: #DBD9C9 !important; box-shadow: 0 10px 24px -4px rgba(0, 0, 0, 0.14) !important; }
html body:not(#v2x) .ava-pop--size .ava-pop__eyebrow { line-height: 13px !important; letter-spacing: 0.6px !important; color: #6B695E !important; padding-bottom: 5px !important; }
html body:not(#v2x) .ava-pop--size .ava-size__label, html body:not(#v2x) .ava-pop--size .ava-size__price { font-size: 14px !important; }
html body:not(#v2x) .ava-pop--size .ava-size__per { line-height: 14px !important; margin-bottom: -1px; color: #6B695E !important; }
html body:not(#v2x) .ava-pop--size .ava-size.ava-size:not(.is-selected) { background-color: #FFFFFF; }
/* notify-me popover (238:112773): radius 16, 1 px #DCD8CA, padding 22 24 24, shadow 0 12 28 / 16 %; thumb radius 10 #DCD8CA; SOLD OUT
   badge radius 6 padding 3 8, 9 / 600 / .09 px line 10.8; name line 1.2; copy line 1.5; field 53 tall radius 3 1 px #DCD8CA;
   NOTIFY ME 44 tall radius 3, 14 / 600 / .28 px; fine print #6B685E line 17.4; "See N similar" 13 / 600 / .26 px */
html body:not(#v2x) .ava-pop.ava-pop--notify, html body:not(#v2x) .ava-pop:has(.ava-notify__form) { border-radius: 16px !important; border-color: #DCD8CA !important; padding: 21px 23px 23px !important; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16) !important; }
html body:not(#v2x) .ava-notify__thumb { border-radius: 10px !important; background-color: #DCD8CA !important; }
html body:not(#v2x) .ava-notify__thumb .cpa-card-badge { height: auto !important; padding: 3px 8px !important; border-radius: 6px !important; line-height: 10.8px !important; letter-spacing: 0.09px !important; }
html body:not(#v2x) .ava-notify__name { line-height: 1.2 !important; }
html body:not(#v2x) .ava-notify__copy { line-height: 1.5 !important; }
html body:not(#v2x) .ava-notify__field input { height: 53px !important; border: 1px solid #DCD8CA !important; border-radius: 3px !important; }
html body:not(#v2x) .ava-notify__field input::placeholder { color: #6B685E !important; }
html body:not(#v2x) .ava-notify__form .ava-btn.ava-btn { height: 44px !important; border-radius: 3px !important; box-shadow: none !important; font-size: 14px !important; letter-spacing: 0.28px !important; line-height: 14px !important; }
html body:not(#v2x) .ava-notify__fine { line-height: 17.4px !important; color: #6B685E !important; }
html body:not(#v2x) .ava-notify__similar { font-weight: 600 !important; letter-spacing: 0.26px !important; }
/* quick-add sheet (1:7630) */
@media (max-width: 767px) {
  html body:not(#v2x) .ava-pop.ava-pop--qa { box-shadow: none !important; }
  html body:not(#v2x) .ava-qa__brand { font-size: 10px !important; font-weight: 600 !important; letter-spacing: 1px !important; line-height: 13px !important; margin-bottom: -1px; }
  html body:not(#v2x) .ava-qa__name { font-size: 17px !important; }
  html body:not(#v2x) .ava-qa__meta { line-height: 17px !important; padding-bottom: 1px; }
  html body:not(#v2x) .ava-pop--qa .ava-qa__price, html body:not(#v2x) .ava-pop--qa .ava-qa__head + .ava-qa__price { font-size: 24px !important; line-height: 31px !important; margin-top: 37.5px !important; margin-bottom: 19.5px !important; }
  html body:not(#v2x) .ava-pop--qa .ava-qa__label { padding-top: 3.38px; margin-bottom: 14.38px !important; }
  html body:not(#v2x) .ava-pop--qa .ava-qa__label > span:first-child { font-size: 14px !important; line-height: 18px !important; }
  html body:not(#v2x) .ava-pop--qa .ava-qa__req { font-size: 12px !important; line-height: 16px !important; color: #6B685E !important; }
  html body:not(#v2x) .ava-qa__pill.ava-qa__pill, html body:not(#v2x) .ava-qa__pill.ava-qa__pill:hover, html body:not(#v2x) .ava-qa__pill.ava-qa__pill:focus { border-width: 1.5px !important; border-radius: 10px !important; font-size: 14px !important; line-height: 18px !important; }
  html body:not(#v2x) .ava-qa__pill.ava-qa__pill.is-soldout { color: #DCD8CA !important; font-weight: 600 !important; border-color: #DCD8CA !important; opacity: 0.55; }
  html body:not(#v2x) .ava-pop--qa .ava-qa__note { font-size: 12px !important; line-height: 17.4px !important; padding: 11.6px 14px !important; }
  html body:not(#v2x) .ava-pop--qa .ava-qa__foot { margin-left: -20px !important; margin-right: -20px !important; padding: 14px 20px 15px !important; background: #FFFFFF; }
  html body:not(#v2x) .ava-qa__qty.ava-qa__qty { border-width: 1.5px !important; background: #FFFFFF; }
  html body:not(#v2x) .ava-qa__qtyval { line-height: 20px !important; }
  html body:not(#v2x) .ava-pop--qa .ava-qa__add.ava-btn { border-radius: 4px !important; box-shadow: none !important; letter-spacing: 0.5px !important; line-height: 20px !important; }
}
html body:not(#v2x) .ava-pop--size .ava-size__price { line-height: 18px !important; }
/* <<< Lane V2 shop */

/* >>> Lane V2 pdp */
/* d = Figma 1:3954: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-3954-d-ava-store.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-a955d90 a.ava-btn.ava-btn--red { font-size: 15px !important; letter-spacing: 0.3px !important; }
}

/* d = Figma 1:4069: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-4069-d-ava-store.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-e1a655c a.ava-btn.ava-btn--red { font-size: 15px !important; letter-spacing: 0.3px !important; }
}
/* <<< Lane V2 pdp */
/* ==== FIXROUND-cart-checkout-orders (29 Sep 2026) — /cart/ (frames 1:22393 guest / 1:22702 signed in). Scoped to body.woocommerce-cart;
   line-height tokens use "box = frame, outer height unchanged" (negative margins) so the measured page rhythm does not move. ==== */
/* i2: shelf Previous/Next arrows had no focus ring */
body.woocommerce-cart .ava-cart .ava-cart__arrow:focus-visible { outline: 2px solid #151515 !important; outline-offset: 2px; }
/* i1: "Change order type" strip button — hover equalled rest; site hover language ink -> red */
body.woocommerce-cart .ava-hob .ava-hob__btn:hover { color: #FF4438 !important; }
body.woocommerce-cart .ava-hob .ava-hob__btn:hover .ava-hob__icon, body.woocommerce-cart .ava-hob .ava-hob__btn:hover .ava-otb__label { color: #FF4438; }
/* p7/p34 breadcrumb: gap 8, 13px line-height normal (17) */
body.woocommerce-cart .ava-cart__crumbs { gap: 8px; line-height: 17px; margin-bottom: 34px; }
/* p35 H1 40/700 box 52 (1:22462) */
body.woocommerce-cart .ava-cart .ava-cart__title { line-height: 52px; margin: -6px 0; }
/* p5/p36 thumb radius 8 (1:22768) */
body.woocommerce-cart .ava-cart__thumb { border-radius: 8px; }
/* p4/p37 line item mid column: kicker 13/17, name 18/23, gap 8 to the spec row (1:22473-5) */
body.woocommerce-cart .ava-cart__kicker { line-height: 17px; margin-bottom: 8px; }
body.woocommerce-cart .ava-cart .ava-cart__name { line-height: 23px; }
body.woocommerce-cart .ava-cart__specs { margin-top: 8px; margin-bottom: 2px; }
/* p0 auto-reorder meta row: chips-row tokens 12/400 lh16 #6B685E */
body.woocommerce-cart .ava-cart .variation { line-height: 16px; margin-top: 4px; }
body.woocommerce-cart .ava-cart .variation dt, body.woocommerce-cart .ava-cart .variation dd, body.woocommerce-cart .ava-cart .variation p { line-height: 16px; }
/* p2/p40 PURCHASE LIMITS 12/600/0.48 box 16 (1:22805) */
body.woocommerce-cart .ava-cart__limits-label { font: 600 12px/16px Krub, sans-serif; letter-spacing: 0.48px; margin-bottom: -3px; }
/* p44 shelf heads 24/700 box 31 */
body.woocommerce-cart .ava-cart .ava-cart__shelf-title { line-height: 31px; margin: 3.5px 0 -0.5px; }
/* p43 empty cart Popular head: VIEW ALL -> arrows 14 like the filled cart */
body.woocommerce-cart .ava-cart--empty .ava-cart__shelf-tools { gap: 14px; }
body.woocommerce-cart .ava-cart--empty .ava-cart__shelf-tools .ava-cart__arrow + .ava-cart__arrow { margin-left: -6px; }
/* p8 shelf strain badge 53x21: 8px padding + 1px stroke (1:22825) */
body.woocommerce-cart .ava-cart__shelf .ava-cshelf__strain { padding: 0 8px; }
/* p41 shelf body stack: pill +14, kicker +41, title +63 (gap 6) */
body.woocommerce-cart .ava-cshelf__strain { margin-bottom: 6px; }
body.woocommerce-cart .ava-cshelf__kicker { margin-bottom: 6px; }
/* p9 cards without a strain term keep the badge row (21 + 6) so kicker/title sit on the frame rows */
body.woocommerce-cart .ava-cshelf__body > .ava-cshelf__kicker:first-child { margin-top: 27px; }
/* p42 quick-add disc #FFE5E0 (1:22544); hover/focus keep their own rules */
body.woocommerce-cart .ava-cart .ava-cshelf .ava-atc .ava-btn.ava-btn:not(:hover):not(:focus-visible) { background: #FFE5E0; }
/* p10/p39 location bar: label box 16, truck icon frame 24x24 (1:22446 / 1:22452) */
body.woocommerce-cart .ava-hob--cart .ava-otb__label { line-height: 16px; margin: -1.5px 0; }
body.woocommerce-cart .ava-hob--cart .ava-hob__icon, body.woocommerce-cart .ava-hob--cart .ava-hob__icon svg { height: 24px; }
/* p6/p38 guest band LOG IN 85x34 / SIGN UP 95x36: stroke inside the 22px padding */
body.woocommerce-cart .ava-hgb .ava-hgb__btn { padding: 0 21px; }
/* ==== /FIXROUND-cart-checkout-orders ==== */
/* >>> LEFTOVER-pdp (29 Sep): 375 home Featured card (shared card D42b, frame 238:110931 'add' 28 x 28 with a 15 x 15 glyph at 6.5 / 6.5;
   the '+' run 238:110913 is 15/600, 9 x 15): glyph centred in the 28 px button (was 18/500, 4 px from the left edge).
   NEW tag 238:110922: 22 x 13 at the info column's top (y 1868.5 at 375); the run sat 2.5 px high, moved without changing the row's layout. */
@media (max-width: 767px) {
  html body:not(#fx):not(#lop) .ava-home-shelf .ava-atc .ava-btn.ava-btn[data-act="add"],
  html body:not(#fx):not(#lop) .ava-home-shelf .ava-atc .ava-btn.ava-btn[data-act="select"] { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; gap: 0 !important; }
  html body:not(#fx):not(#lop) .ava-home-shelf .ava-atc .ava-btn.ava-btn[data-act="add"] > span,
  html body:not(#fx):not(#lop) .ava-home-shelf .ava-atc .ava-btn.ava-btn[data-act="select"]::before { font-size: 15px !important; font-weight: 600 !important; line-height: 15px !important; display: block; margin: 0 !important; }
  html body:not(#fx):not(#lop) .ava-home-shelf .cpa-card-meta-row > span.cpa-card-new { position: relative; top: 2.5px; }
}
/* <<< LEFTOVER-pdp */

/* AUDIT-shop (29 Sep) S7: a disabled .ava-btn keeps its rest look on hover / focus (the ink hover made DISCONTINUED look clickable) */
html body .ava-btn.ava-btn[disabled]:hover,
html body .ava-btn.ava-btn[disabled]:focus,
html body .ava-btn.ava-btn[aria-disabled="true"]:hover { background: var(--ava-red) !important; border-color: var(--ava-red) !important; color: #ffffff !important; }
html body .ava-btn.ava-btn.ava-btn--outline-red[disabled]:hover,
html body .ava-btn.ava-btn.ava-btn--outline-red[disabled]:focus,
html body .ava-btn.ava-btn.ava-btn--outline-red[aria-disabled="true"]:hover { background: #ffffff !important; border-color: var(--ava-red) !important; color: var(--ava-red) !important; }
html body .ava-btn.ava-btn.ava-btn--outline[disabled]:hover,
html body .ava-btn.ava-btn.ava-btn--outline[disabled]:focus,
html body .ava-btn.ava-btn.ava-btn--outline[aria-disabled="true"]:hover { background: #ffffff !important; border-color: var(--ava-ink) !important; color: var(--ava-ink) !important; }
/* <<< AUDIT-shop */
/* AUDIT-groupB (29 Sep) >>> N3 (product card): on a narrow card 'From $80.00' ran 20-35 px under the SELECT button; the price may wrap after a smaller 'From',
   so the amount is never covered. Same rules as product-custom.css, which loads only on product pages and archives; this covers brand pages and other card grids. */
html body:not(#abx):not(#aud) .cpa-card-footer .cpa-card-price:has(.cpa-card-from) { display: inline-flex !important; flex-wrap: wrap; align-items: baseline; column-gap: 4px; }
html body:not(#abx):not(#aud) .cpa-card-footer .cpa-card-price .cpa-card-from { font-size: 13px !important; font-weight: 600 !important; line-height: 16px !important; letter-spacing: 0 !important; }
/* <<< AUDIT-groupB */
/* >>> Header cart hover card (30 Sep) - same card as the added-to-cart toast, listing the cart */
.ava-toast.ava-toast--peek { width: 300px; }
.ava-toast--peek .ava-peek__list { list-style: none; margin: 0 0 14px; padding: 0; max-height: 276px; overflow-y: auto; }
.ava-toast--peek .ava-peek__item { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #E6E2D6; }
.ava-toast--peek .ava-peek__item:first-child { padding-top: 0; }
.ava-toast--peek .ava-peek__name { min-width: 0; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--ava-ink); }
.ava-toast--peek .ava-peek__name a { color: inherit; text-decoration: none; }
.ava-toast--peek .ava-peek__name a:hover { text-decoration: underline; text-decoration-color: var(--ava-red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ava-toast--peek .ava-peek__qty { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; color: var(--ava-muted); }
.ava-toast--peek .ava-peek__price { flex: 0 0 auto; font-size: 14px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
.ava-toast--peek .ava-peek__sub { display: flex; justify-content: space-between; margin: 0 0 14px; font-size: 15px; font-weight: 700; }
.ava-toast--peek .ava-peek__empty { margin: 0 0 14px; font-size: 14px; line-height: 1.4; color: var(--ava-muted); }
/* <<< Header cart hover card */
/* AUDIT2 2 Oct (store): card stepper after a mouse "+ ADD" (product-card-atc-a "FIRST CLICK", 238:113513): the script moves focus
   to the trash button and the kit-override rule paints :focus red, so the trash glyph stays #FF4438 until the next click.
   The frame draws it ink at rest; red stays for hover and keyboard focus (:focus-visible keeps its 2 px inset ring). */
.ava-stepper.ava-stepper button:focus:not(:focus-visible):not(:hover) { color: var(--ava-ink); }

/* ==== QA round 6 Oct 2026 (Lane C) ==== */
/* AVA-005: the branded "no photo yet" image fills the card media like a photo would. */
.cpa-card-media .ava-img-fallback { width: 100%; height: 100%; object-fit: cover; display: block; }
