/* ==========================================================================
   AVA Flower — product page (PDP) styles for the child-theme shortcodes (.cpc-*)
   Frame: 1:3426 (desktop) / 1:1939 (mobile); stock states 1:30611 / 1:30668 / 1:30720.
   Colors come from the Elementor kit globals (Lane A): Primary red, Secondary ink, Text gray, Accent navy.
   ========================================================================== */

:root {
    --ava-red: var(--e-global-color-primary, #FF4438);
    --ava-ink: var(--e-global-color-secondary, #151515);
    --ava-gray: var(--e-global-color-text, #6B685E);
    --ava-navy: var(--e-global-color-accent, #193E81);
    --ava-border: var(--e-global-color-3ecb720, #DCD8CA);
    --ava-cream: var(--e-global-color-984693e, #EDEBE1);
    --ava-cream-2: #F7F6F1;
    --ava-gold: var(--e-global-color-c9a9610, #C9A961);
    --ava-green: #1E7A46;
    --ava-radius: 4px;
    --ava-radius-lg: 12px;
}

/* Legacy description blocks that some products still carry in post_content */
#product_details h2 { color: var(--ava-ink); font-size: 22px; font-weight: 700; }
#product_details p { color: var(--ava-ink); font-size: 16px; line-height: 24px; margin-bottom: 16px; }
ul.product-highlights { list-style: none !important; padding-left: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 40px; margin: 0; font-size: 14px; color: #333; }
.product-highlights li { position: relative; padding-left: 22px; line-height: 1.3; font-size: 14px; }
.product-highlights li::before { content: "\2713"; position: absolute; left: 0; top: 1px; color: var(--ava-red); font-weight: bold; font-size: 13px; }
@media (max-width: 480px) { .product-highlights { grid-template-columns: 1fr; } }

/* Shared type helpers */
.cpc-eyebrow { color: var(--ava-red); font-weight: 600; font-size: 12px; line-height: 120%; letter-spacing: 0.12em; text-transform: uppercase; margin: 0; }
.cpc-h2 { color: var(--ava-ink); font-weight: 700; font-size: 22px; line-height: 120%; margin: 4px 0 0; }
.cpc-section-copy { font-size: 16px; line-height: 24px; margin: 0 0 14px; }

/* ==========================================================================
   1. Buy box
   ========================================================================== */
.cpc-product-summary { width: 100%; max-width: 640px; box-sizing: border-box; font-family: inherit; color: var(--ava-ink); }
.cpc-product-summary *, .cpc-product-summary *::before, .cpc-product-summary *::after { box-sizing: border-box; }
.cpc-product-summary [hidden] { display: none !important; }

.cpc-header-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 20px; }
.cpc-brand-name { font-size: 13px; font-weight: 600; color: var(--ava-gray); text-transform: uppercase; letter-spacing: 0.08em; text-decoration: none; }
a.cpc-brand-name:hover { color: var(--ava-ink); }
.cpc-rating-box { display: inline-flex; align-items: center; gap: 4px; font-size: 15px; color: var(--ava-gray); text-decoration: none; }
.cpc-rating-box:hover .cpc-review-count { text-decoration: underline; }
.cpc-star { color: var(--ava-gold); font-size: 16px; line-height: 1; }
.cpc-rating-value { font-weight: 700; color: var(--ava-ink); }
.cpc-review-count { color: var(--ava-gray); font-weight: 400; }
.cpc-dot-sep { color: var(--ava-gray); margin: 0 6px; font-weight: 400; }

.cpc-product-title { font-size: 44px; font-weight: 700; color: var(--ava-ink); line-height: 1.05; margin: 10px 0 14px !important; letter-spacing: -0.01em; }

.cpc-meta-row { display: flex; align-items: center; flex-wrap: wrap; font-size: 16px; line-height: 1.5; color: var(--ava-gray); font-weight: 400; margin: 0; padding-bottom: 18px; border-bottom: 1px solid var(--ava-border); }
.cpc-meta-row .cpc-dot-sep { margin: 0 5px; }
.cpc-meta-thc { color: var(--ava-red); font-weight: 700; }
.cpc-dominance-row { display: flex; gap: 14px; flex-wrap: wrap; font-size: 14px; color: var(--ava-gray); margin-top: 10px; }
.cpc-grow-type::before { content: "·"; margin-right: 10px; }
.cpc-grow-type:first-child::before { content: none; }

/* Chips (shared) */
.cpc-chip { display: inline-flex; align-items: center; border-radius: 3px; padding: 4px 8px; font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.2; }
.cpc-chip--outline { border: 1px solid var(--ava-ink); color: var(--ava-ink); background: #fff; }
.cpc-chip--red { border-color: var(--ava-red); color: var(--ava-red); }
.cpc-discontinued-chip-row { margin: 16px 0 0; padding-bottom: 18px; border-bottom: 1px solid var(--ava-border); }
.cpc-product-summary[data-state="discontinued"] .cpc-meta-row { border-bottom: 0; padding-bottom: 0; }

/* Attributes */
.cpc-product-form { margin: 0; }
.cpc-attributes-section { margin: 20px 0 0; }
.cpc-attribute-row { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.cpc-attribute-label { width: 60px; font-size: 14px; line-height: 1.55; font-weight: 600; color: var(--ava-ink); flex-shrink: 0; }
.cpc-pills-container { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cpc-pill-btn { background: #fff; border: 1px solid var(--ava-border); border-radius: var(--ava-radius); padding: 11px 18px; font-size: 13px; line-height: 1; font-weight: 600; color: var(--ava-ink); cursor: pointer; transition: background .15s, color .15s, border-color .15s; outline: none; }
.cpc-pill-btn:hover:not(:disabled):not(.is-selected) { border-color: var(--ava-ink); }
.cpc-pill-btn:focus-visible { outline: 2px solid var(--ava-red); outline-offset: 2px; }
.cpc-pill-btn.is-selected { background: var(--ava-red) !important; color: #fff !important; border-color: var(--ava-red) !important; }
.cpc-pill-btn.is-out-of-stock, .cpc-pill-btn:disabled { background: #fff !important; border-color: #E6E4E0 !important; color: #B0ADA7 !important; cursor: not-allowed !important; }
.cpc-product-summary[data-state="soldout"] .cpc-pill-btn.is-selected .cpc-pill-label { text-decoration: line-through; }
.cpc-oos-label { font-weight: 400; font-size: 13px; }

/* Price */
.cpc-pricing-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 22px 0 12px; flex-wrap: wrap; }
.cpc-prices-left { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.cpc-regular-price { font-size: 26px; line-height: 1.1; font-weight: 700; color: #B7B5AE; text-decoration: line-through; }
.cpc-active-price { font-size: 36px; line-height: 1.1; font-weight: 700; color: var(--ava-ink); letter-spacing: -0.01em; }
.cpc-unit-price { font-size: 15px; line-height: 1.5; font-weight: 400; color: var(--ava-gray); }
.cpc-product-summary[data-state="soldout"] .cpc-active-price { color: var(--ava-ink); }

/* Stock line */
.cpc-stock-row { display: flex; align-items: center; gap: 8px; font-size: 15px; line-height: 1.5; color: var(--ava-ink); margin-bottom: 20px; flex-wrap: wrap; }
.cpc-status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex-shrink: 0; background: var(--ava-navy); }
.cpc-stock-row[data-stock-state="out"] .cpc-status-dot { background: var(--ava-red); }
.cpc-stock-row .cpc-stock-out { display: none; }
.cpc-stock-row[data-stock-state="out"] .cpc-stock-in { display: none; }
.cpc-stock-row[data-stock-state="out"] .cpc-stock-out { display: inline; }
.cpc-low-stock { color: var(--ava-red); }
.cpc-outstock-msg { color: var(--ava-ink); }
.cpc-outstock-sub { color: var(--ava-ink); }

/* Buttons */
.cpc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 52px; padding: 0 20px; border: 1px solid var(--ava-red); border-radius: var(--ava-radius); background: var(--ava-red); color: #fff; font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .2s, border-color .2s, color .2s; font-family: inherit; }
.cpc-btn:hover:not(:disabled), .cpc-btn:focus-visible { background: var(--ava-ink); border-color: var(--ava-ink); color: #fff; }
.cpc-btn:focus-visible { outline: 2px solid var(--ava-red); outline-offset: 2px; }
.cpc-btn:disabled { opacity: .7; cursor: not-allowed; }
.cpc-btn--black { background: var(--ava-ink); border-color: var(--ava-ink); }
.cpc-btn--black:hover:not(:disabled) { background: var(--ava-red); border-color: var(--ava-red); }
.cpc-btn--red { background: var(--ava-red); border-color: var(--ava-red); }
.cpc-actions-row { display: flex; gap: 12px; }
.cpc-add-to-cart-btn { position: relative; }
.cpc-add-to-cart-btn .cpc-btn-added { display: none; align-items: center; gap: 8px; }
.cpc-add-to-cart-btn.is-added { background: var(--ava-green) !important; border-color: var(--ava-green) !important; }
.cpc-add-to-cart-btn.is-added .cpc-btn-label { display: none; }
.cpc-add-to-cart-btn.is-added .cpc-btn-added { display: inline-flex; }
.cpc-btn.is-loading { opacity: .75; pointer-events: none; }
.cpc-notify-btn.is-on-list { background: var(--ava-green) !important; border-color: var(--ava-green) !important; opacity: 1; }

/* Notify me (inline capture) */
.cpc-notify { margin-top: 14px; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-lg); padding: 18px 20px; background: #fff; }
.cpc-notify-fields { display: flex; align-items: center; gap: 10px; border: 1px solid var(--ava-border); border-radius: var(--ava-radius); padding: 4px 4px 4px 14px; background: #fff; }
.cpc-notify-fields:focus-within { border-color: var(--ava-ink); }
.cpc-notify-icon { color: var(--ava-gray); display: inline-flex; }
.cpc-notify-email { flex: 1; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 8px 0 !important; font-size: 15px !important; color: var(--ava-ink) !important; outline: none !important; }
.cpc-notify-submit { width: auto; height: 44px; padding: 0 18px; flex-shrink: 0; }
.cpc-notify-fine { margin: 10px 0 0; font-size: 13px; color: var(--ava-gray); text-align: center; }
.cpc-notify-error { margin: 10px 0 0; font-size: 13px; color: var(--ava-red); }
.cpc-notify-done { text-align: left; }
.cpc-notify-check { display: inline-flex; color: var(--ava-green); margin-bottom: 10px; }
.cpc-notify-done-title { font-size: 20px; font-weight: 700; color: var(--ava-ink); margin: 0 0 4px; }
.cpc-notify-done-copy { font-size: 15px; color: var(--ava-gray); margin: 0 0 14px; }
.cpc-notify-sent { border: 1px solid var(--ava-border); background: var(--ava-cream-2); border-radius: var(--ava-radius); padding: 12px 14px; text-align: center; font-size: 15px; color: var(--ava-gray); }
.cpc-notify-sent-email { color: var(--ava-ink); font-weight: 600; }
.cpc-similar-link { display: block; margin-top: 16px; text-align: center; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ava-ink); text-decoration: none; }
.cpc-similar-link:hover { color: var(--ava-red); }

/* Discontinued */
.cpc-discontinued { margin-top: 20px; }
.cpc-discontinued-card { display: flex; gap: 14px; align-items: flex-start; background: var(--ava-cream-2); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-lg); padding: 22px 22px 20px; margin-bottom: 18px; }
.cpc-discontinued-icon { color: var(--ava-ink); display: inline-flex; margin-top: 2px; }
.cpc-discontinued-title { font-size: 19px; font-weight: 700; color: var(--ava-ink); margin: 0 0 6px; }
.cpc-discontinued-copy { font-size: 15px; line-height: 1.5; color: var(--ava-gray); margin: 0; }
.cpc-similar-eyebrow { margin: 24px 0 12px; font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ava-gray); }
.cpc-similar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.cpc-mini-card { display: block; border: 1px solid var(--ava-border); border-radius: var(--ava-radius); background: #fff; text-decoration: none; color: var(--ava-ink); overflow: hidden; }
.cpc-mini-card:hover { border-color: var(--ava-ink); }
.cpc-mini-media { display: block; aspect-ratio: 1 / 1; background: var(--ava-cream); }
.cpc-mini-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cpc-mini-body { display: flex; flex-direction: column; gap: 4px; padding: 12px; }
.cpc-mini-body .cpc-chip { align-self: flex-start; margin-bottom: 4px; }
.cpc-mini-brand { font-size: 12px; color: var(--ava-gray); }
.cpc-mini-name { font-size: 15px; font-weight: 700; line-height: 1.3; }
.cpc-mini-thc { font-size: 12px; color: var(--ava-gray); }
.cpc-mini-price { font-size: 15px; font-weight: 700; margin-top: 2px; }

@media (max-width: 767px) {
    .cpc-product-summary { max-width: none; }
    .cpc-product-title { font-size: 32px; margin: 8px 0 12px !important; }
    .cpc-attribute-row { align-items: flex-start; }
    .cpc-attribute-label { padding-top: 11px; width: 56px; }
    .cpc-active-price { font-size: 34px; }
    .cpc-similar-grid { grid-template-columns: 1fr 1fr; }
}

/* ==========================================================================
   2. Gallery: SALE badge and dots (EAEL product images widget)
   ========================================================================== */
.eael-single-product-images .product_image_slider__container { position: relative; }
.eael-single-product-images .ast-onsale-card.ava-badge--sale { position: absolute; top: 20px; left: 20px; z-index: 5; background: var(--ava-red); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1; padding: 8px 12px; border-radius: 4px; box-shadow: none; transform: none; }
.ava-gallery-dots { position: absolute; left: 0; right: 0; bottom: 18px; z-index: 5; display: flex; justify-content: center; gap: 10px; pointer-events: none; }
.ava-gallery-dot { pointer-events: auto; width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; background: var(--ava-ink); opacity: .9; cursor: pointer; }
.ava-gallery-dot.is-active { background: var(--ava-red); }
.ava-gallery-dot:focus-visible { outline: 2px solid var(--ava-red); outline-offset: 2px; }
@media (max-width: 767px) {
    .eael-single-product-images .product_image_slider__thumbnails, .eael-single-product-images .swiper-thumbs, .eael-single-product-images .thumb-slider { display: none !important; }
}

/* ==========================================================================
   3. Empty-section collapse: Elementor cards whose shortcode rendered nothing
   ========================================================================== */
.elementor-widget-shortcode.ava-empty { display: none !important; }
.e-con.ava-empty-section { display: none !important; }
.e-con:has(> .elementor-widget-shortcode > .elementor-widget-container > .elementor-shortcode:empty):not(:has(.elementor-widget:not(.elementor-widget-shortcode):not(.elementor-widget-heading))) { display: none !important; }
.e-con:has(> .elementor-widget-shortcode.ava-empty):not(:has(.elementor-widget:not(.ava-empty):not(.elementor-widget-heading))) { display: none !important; }

/* ==========================================================================
   4. What to Expect (navy card)
   ========================================================================== */
.cpc-experience-copy { color: var(--ava-cream); }
ul.cpc-experience-tag { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0; padding: 0; list-style: none; }
ul.cpc-experience-tag li { background: #fff; border: 1px solid #fff; border-radius: 20px; padding: 7px 13px; color: var(--ava-ink); font-size: 12px; font-weight: 600; line-height: 12px; letter-spacing: 0.02em; }
.cpc-bi-sec { display: flex; justify-content: flex-start; gap: 14px; margin-top: 18px; }
.cpc-bi-sec .cpc-best-col, .cpc-bi-sec .cpc-ideal-col { flex: 0 1 370px; }
.cpc-bi-sec h4 { color: #fff; font-size: 15px; line-height: 1.55; font-weight: 600; margin: 0; }
.cpc-bi-sec ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cpc-bi-sec ul li { color: #fff; font-weight: 400; font-size: 14px; line-height: 1.55; flex-basis: 100%; position: relative; padding-left: 30px; }
.cpc-bi-sec .cpc-best-col ul li::before { content: ''; position: absolute; background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="10" viewBox="0 0 14 10" fill="none"><path d="M0.825195 5.3252L4.5752 9.0752L12.8252 0.825195" stroke="%23FF4438" stroke-width="1.65" stroke-linecap="round" stroke-linejoin="round"/></svg>'); width: 20px; height: 20px; background-repeat: no-repeat; top: 6px; left: 0; }
.cpc-bi-sec .cpc-ideal-col ul li::before { content: ''; position: absolute; background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="2" viewBox="0 0 11 2" fill="none"><path d="M0.825195 0.825195H9.8252" stroke="%23A9B4CF" stroke-width="1.65" stroke-linecap="round"/></svg>'); width: 18px; height: 3px; background-repeat: no-repeat; top: 8px; left: 0; }

/* ==========================================================================
   5. Tastes & Smells Like (cream card)
   ========================================================================== */
.cpc-taste-copy { color: var(--ava-ink); }
ul.cpc-taste-tags { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0 0 14px; padding: 0; list-style: none; }
ul.cpc-taste-tags li { background: #fff; border: 1px solid #fff; border-radius: 20px; padding: 7px 13px; color: var(--ava-ink); font-size: 12px; font-weight: 600; line-height: 12px; letter-spacing: 0.02em; }
.cpc-taste-aroma-wrapper { width: 100%; }
.cpc-aroma-intensity { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 15px; line-height: 1.4; color: var(--ava-ink); }
.cpc-aroma-title { font-weight: 400; }
.cpc-aroma-dots { display: inline-flex; align-items: center; gap: 7px; }
.cpc-aroma-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ava-ink); display: inline-block; flex-shrink: 0; }
.cpc-aroma-dot.is-active { background: var(--ava-red) !important; }
.cpc-aroma-level { font-weight: 700; }

/* ==========================================================================
   6. Description facts, onset tiles, note, tip
   ========================================================================== */
ul.cpc-description-points { display: flex; margin: 0; padding: 0; list-style: none; flex-wrap: wrap; gap: 10px 14px; }
ul.cpc-description-points li { flex: 0 0 calc(50% - 7px); font-size: 14px; line-height: 1.35; color: var(--ava-ink); font-weight: 400; position: relative; padding-left: 30px; }
ul.cpc-description-points li::before { content: ''; position: absolute; background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="9" viewBox="0 0 12 9" fill="none"><path d="M0.866211 4.20003L3.53288 6.8667L10.1995 0.866699" stroke="%23FF4438" stroke-width="1.73333" stroke-linecap="round"/></svg>'); width: 18px; height: 18px; background-repeat: no-repeat; left: 0; top: 5px; background-size: 18px; }
ul.cpc-description-points li span { font-weight: 700; margin-right: 4px; }
.cpc-instructions { margin-top: 28px; }
.cpc-instructions .cpc-instructions-row { display: flex; justify-content: space-between; gap: 24px; margin-top: 16px; }
.cpc-instructions .cpc-instructions-col { flex: 1; border: 1px solid var(--ava-border); border-radius: 8px; padding: 18px 20px; text-align: center; background: #fff; }
.cpc-instructions .cpc-instructions-col h4 { font-weight: 700; font-size: 18px; line-height: 1.2; color: var(--ava-ink); margin: 0 0 4px; }
.cpc-instructions .cpc-instructions-col span { font-weight: 400; font-size: 11px; line-height: 1.5; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ava-gray); }
.cpc-range-note { display: flex; align-items: center; gap: 12px; margin-top: 16px; background: var(--ava-navy); color: #fff; border-radius: 8px; padding: 14px 18px; font-size: 14px; line-height: 1.45; }
.cpc-range-icon { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1.5px solid #fff; border-radius: 50%; font-size: 12px; font-weight: 700; font-style: normal; flex-shrink: 0; }
.cpc-beginner-tip { margin: 16px 0 0; font-size: 13px; line-height: 1.45; color: var(--ava-ink); }

/* ==========================================================================
   7. FAQ accordion
   ========================================================================== */
.cpc-faq-section { width: 100%; box-sizing: border-box; }
.cpc-faq-header-wrap { margin-bottom: 20px; }
.cpc-faq-subtitle { color: var(--ava-red); font-weight: 600; font-size: 12px; line-height: 1.2; letter-spacing: 0.12em; text-transform: uppercase; margin: 0; }
.cpc-faq-main-title { color: var(--ava-ink); font-weight: 700; font-size: 24px; line-height: 1.2; margin: 4px 0 0; }
.cpc-faq-accordion { background: #fff; border: 1px solid #EBE7DF; border-radius: 12px; overflow: hidden; }
.cpc-faq-item { border-bottom: 1px solid #EBE7DF; }
.cpc-faq-item:last-child { border-bottom: none; }
.cpc-faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; background: transparent; border: none; padding: 20px 24px; cursor: pointer; text-align: left; font-family: inherit; box-shadow: none !important; }
.cpc-faq-question:hover { background: #FAF9F6; }
.cpc-faq-question:focus { background: transparent; }
.cpc-faq-question:focus-visible { outline: 2px solid var(--ava-red); outline-offset: -2px; }
.cpc-faq-question-text { font-size: 16px; font-weight: 700; color: var(--ava-ink); line-height: 1.35; flex: 1; padding-right: 16px; }
.cpc-faq-toggle-icon { position: relative; width: 18px; height: 18px; flex-shrink: 0; }
.cpc-faq-toggle-icon::before, .cpc-faq-toggle-icon::after { content: ''; position: absolute; background: var(--ava-ink); top: 50%; left: 50%; transform: translate(-50%, -50%); transition: transform .2s, opacity .2s, background .2s; }
.cpc-faq-toggle-icon::before { width: 14px; height: 2px; }
.cpc-faq-toggle-icon::after { width: 2px; height: 14px; }
.cpc-faq-item.is-active .cpc-faq-toggle-icon::before { background: var(--ava-red); }
.cpc-faq-item.is-active .cpc-faq-toggle-icon::after { opacity: 0; transform: translate(-50%, -50%) rotate(90deg); }
.cpc-faq-answer { padding: 0 24px 22px; overflow: hidden; }
.cpc-faq-answer-inner, .cpc-faq-answer-inner p { font-size: 15px; line-height: 1.6; color: var(--ava-gray); font-weight: 400; margin: 0 0 10px; }
.cpc-faq-answer-inner p:last-child { margin-bottom: 0; }

/* ==========================================================================
   8. Lab rail
   ========================================================================== */
.cpc-lab-data-sec .cpc-lab-top, .cpc-lab-data-sec .cpc-lab-terpenes, .cpc-lab-data-sec .cpc-lab-batch-fact { margin-top: 20px; }
.cpc-lab-data-sec h4 { font-weight: 700; font-size: 18px; line-height: 1.2; color: var(--ava-ink); margin: 0 0 14px !important; }
.cpc-lab-data-sec ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cpc-lab-data-sec ul li { flex-basis: 100%; font-weight: 600; font-size: 13px; line-height: 1.2; letter-spacing: 0.02em; display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--ava-ink); }
.cpc-lab-data-sec ul li { line-height: 1.35; }
.cpc-lab-data-sec ul li .cpc-lab-data-label { display: block; }
.cpc-lab-data-sec .cpc-lab-note { display: block; margin-top: 2px; font-weight: 400; font-size: 11px; color: var(--ava-gray); }
.cpc-lab-data-sec ul li sub { display: inline; bottom: 0; margin-left: 4px; font-size: 10px; font-weight: 400; color: var(--ava-gray); vertical-align: baseline; line-height: 1; }
.cpc-lab-data-sec .cpc-lab-data-value { white-space: nowrap; }
.cpc-lab-data-sec .cpc-lab-thc-total { background: #fff; border: 1px solid var(--ava-border); padding: 12px 20px; border-radius: 12px; display: flex; justify-content: space-between; align-items: center; margin-top: 18px; }
.cpc-lab-data-sec .cpc-lab-thc-total h6 { font-weight: 600; font-size: 20px; line-height: 1.55; margin: 0; }
.cpc-lab-data-sec .cpc-lab-thc-total span { background: rgba(163, 163, 163, .25); border-radius: 4px; padding: 3px 8px; font-weight: 600; font-size: 20px; line-height: 1; letter-spacing: 0.02em; color: var(--ava-ink); }
.cpc-terp-toggle { display: flex; width: 100%; justify-content: space-between; align-items: center; background: transparent; border: 0; padding: 12px 0 0; margin: 0; font-family: inherit; font-size: 11px; color: var(--ava-gray); cursor: pointer; box-shadow: none !important; }
.cpc-terp-toggle:hover { color: var(--ava-ink); background: transparent; }
.cpc-terp-toggle-icon { font-size: 16px; line-height: 1; color: var(--ava-ink); }
.cpc-lab-data-sec .cpc-lab-cta { margin-top: 20px; }
.cpc-lab-data-sec .cpc-lab-cta a { display: flex; align-items: center; justify-content: center; gap: 10px; height: 48px; border: 1px solid var(--ava-ink); border-radius: 6px; background: #fff; font-weight: 600; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ava-ink); text-decoration: none; transition: background .2s, color .2s; }
.cpc-lab-data-sec .cpc-lab-cta a::before { content: ""; width: 12px; height: 17px; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="17" viewBox="0 0 12 17" fill="none"><path d="M0.708008 0.708496H6.54134L10.708 4.87516V15.7085H0.708008V0.708496Z" stroke="%23151515" stroke-width="1.41667" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center; }
.cpc-lab-data-sec .cpc-lab-cta a:hover { background: var(--ava-ink); color: #fff; }
.cpc-lab-data-sec .cpc-lab-cta a:hover::before { filter: invert(1); }

/* ==========================================================================
   9. Brand card (red container in template 757)
   ========================================================================== */
.cpc-brand-card { color: #fff; display: flex; flex-direction: column; min-height: 320px; }
.cpc-brand-eyebrow { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 12px; color: #fff; }
.cpc-brand-logo img { max-height: 56px; width: auto; display: block; }
.cpc-brand-title { font-size: 40px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; margin: 0; line-height: 1.1; }
.cpc-brand-blurb { font-size: 15px; line-height: 23px; margin-top: 14px; max-width: 560px; }
.cpc-brand-blurb p { margin: 0 0 10px; color: #fff; }
.cpc-brand-blurb p:last-child { margin-bottom: 0; }
.cpc-brand-more { margin-top: auto; padding-top: 70px; align-self: flex-start; font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #fff; text-decoration: none; display: inline-flex; gap: 12px; align-items: center; }
.cpc-brand-more:hover { color: var(--ava-ink); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 767px) {
    .cpc-faq-main-title { font-size: 20px; }
    .cpc-faq-question { padding: 16px 18px; }
    .cpc-faq-question-text { font-size: 15px; }
    .cpc-faq-answer { padding: 0 18px 18px; }
    .cpc-faq-answer-inner, .cpc-faq-answer-inner p { font-size: 14px; }
    .cpc-bi-sec { flex-wrap: wrap; }
    ul.cpc-description-points li { flex: 0 0 100%; }
    .cpc-instructions .cpc-instructions-row { gap: 10px; }
    .cpc-instructions .cpc-instructions-col { padding: 16px 8px; }
    .cpc-instructions .cpc-instructions-col span { font-size: 10px; }
    .cpc-brand-card { min-height: 0; }
    .cpc-brand-more { padding-top: 40px; }
}

/* ==========================================================================
   10. Kit button reset: Lane A's kit styles every <button> red/uppercase (.elementor-kit-7 button); these controls are not CTAs
   ========================================================================== */
.elementor-kit-7 .cpc-pill-btn, .elementor-kit-7 .cpc-faq-question, .elementor-kit-7 .cpc-terp-toggle, .elementor-kit-7 .ava-gallery-dot,
.cpc-product-summary .cpc-pill-btn, .cpc-faq-section .cpc-faq-question, .cpc-lab-data-sec .cpc-terp-toggle, .ava-gallery-dots .ava-gallery-dot {
    text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important;
}
.elementor-kit-7 .cpc-pill-btn, .elementor-kit-7 .cpc-pill-btn:hover, .elementor-kit-7 .cpc-pill-btn:focus { background-color: #fff !important; color: var(--ava-ink) !important; border-radius: var(--ava-radius) !important; }
.elementor-kit-7 .cpc-pill-btn:hover:not(:disabled):not(.is-selected) { border-color: var(--ava-ink) !important; }
.elementor-kit-7 .cpc-pill-btn.is-selected, .elementor-kit-7 .cpc-pill-btn.is-selected:hover, .elementor-kit-7 .cpc-pill-btn.is-selected:focus { background-color: var(--ava-red) !important; color: #fff !important; border-color: var(--ava-red) !important; }
.elementor-kit-7 .cpc-pill-btn:disabled, .elementor-kit-7 .cpc-pill-btn:disabled:hover { background-color: #fff !important; color: #B0ADA7 !important; border-color: #E6E4E0 !important; }
.elementor-kit-7 .cpc-faq-question, .elementor-kit-7 .cpc-faq-question:focus { background-color: transparent !important; color: var(--ava-ink) !important; border-radius: 0 !important; font-weight: 400 !important; }
.elementor-kit-7 .cpc-faq-question:hover { background-color: #FAF9F6 !important; color: var(--ava-ink) !important; }
.elementor-kit-7 .cpc-terp-toggle, .elementor-kit-7 .cpc-terp-toggle:hover, .elementor-kit-7 .cpc-terp-toggle:focus { background-color: transparent !important; color: var(--ava-gray) !important; font-weight: 400 !important; }
.elementor-kit-7 .cpc-terp-toggle:hover { color: var(--ava-ink) !important; }
.elementor-kit-7 .ava-gallery-dot, .elementor-kit-7 .ava-gallery-dot:hover { background-color: var(--ava-ink) !important; border-radius: 50% !important; }
.elementor-kit-7 .ava-gallery-dot.is-active, .elementor-kit-7 .ava-gallery-dot.is-active:hover { background-color: var(--ava-red) !important; }
.elementor-kit-7 .cpc-notify-submit { width: auto; }

/* Mobile trust row: the 375 frame shows Express Pickup & Delivery · 21+ with ID only (template 757 icon-list da38025) */
@media (max-width: 767px) {
    .elementor-element-da38025 .elementor-icon-list-item:nth-child(-n+2) { display: none !important; }
    .elementor-element-da38025 .elementor-icon-list-items { justify-content: flex-start; gap: 12px 21px; }
}

/* ==========================================================================
   11. B3 sticky add-to-cart bar (1:29228 / 1:28916 / 1:28900 / 1:28883 / 1:28862) and the optional page strip
   ========================================================================== */
.ava-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: #fff; box-shadow: 0 -6px 24px rgba(21, 21, 21, .10); border-top: 1px solid var(--ava-border); padding: 10px 16px 12px; font-family: inherit; color: var(--ava-ink); }
.ava-sticky[hidden] { display: none !important; }
.ava-sticky *, .ava-sticky *::before, .ava-sticky *::after { box-sizing: border-box; }
body.ava-has-sticky { padding-bottom: 150px; }
.ava-sticky__inner { max-width: 1280px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.ava-sticky__tabs { display: flex; gap: 8px; }
.ava-sticky__tab { flex: 1; border: 1px solid var(--ava-border); background: #fff !important; color: var(--ava-gray) !important; border-radius: var(--ava-radius); padding: 8px 10px; font-size: 11px; font-weight: 600 !important; letter-spacing: 0.08em; text-transform: uppercase; }
.ava-sticky__tab.is-active { border-color: var(--ava-ink); color: var(--ava-ink) !important; }
.ava-sticky__tab.is-done .ava-sticky__check, .ava-sticky__incart .ava-sticky__check { color: var(--ava-green); }
.ava-sticky__tiles { display: flex; gap: 8px; }
.ava-sticky__tiles[hidden] { display: none; }
.ava-sticky__tile { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 4px 8px; border: 1px solid var(--ava-border) !important; border-radius: var(--ava-radius) !important; background: #fff !important; color: var(--ava-ink) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; cursor: pointer; line-height: 1.1; }
.ava-sticky__tile:hover:not(:disabled):not(.is-selected) { border-color: var(--ava-ink) !important; }
.ava-sticky__tile:focus-visible { outline: 2px solid var(--ava-red); outline-offset: 2px; }
.ava-sticky__tile.is-selected, .ava-sticky__tile.is-selected:hover { background: var(--ava-red) !important; border-color: var(--ava-red) !important; color: #fff !important; }
.ava-sticky__tile.is-unavailable, .ava-sticky__tile:disabled { color: #B0ADA7 !important; border-color: #E6E4E0 !important; cursor: not-allowed; }
.ava-sticky__tile.is-unavailable .ava-sticky__tile-price, .ava-sticky__tile.is-struck .ava-sticky__tile-label { text-decoration: line-through; }
.ava-sticky__tile-label { font-size: 15px; font-weight: 700; }
.ava-sticky__tile-unit { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ava-gray); font-weight: 500; }
.ava-sticky__tile.is-selected .ava-sticky__tile-unit { color: rgba(255, 255, 255, .85); }
.ava-sticky__tile-price { font-size: 13px; font-weight: 700; margin-top: 2px; }
.ava-sticky__best { position: absolute; top: -8px; left: 50%; transform: translateX(-50%); white-space: nowrap; background: var(--ava-gray); color: #fff; font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 6px; border-radius: 3px; font-weight: 600; }
.ava-sticky__conflict { margin: -4px 0 0; font-size: 12px; color: var(--ava-red); }
.ava-sticky__conflict[hidden] { display: none; }
.ava-sticky__row { display: flex; align-items: center; gap: 12px; }
.ava-sticky__mini { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1; }
.ava-sticky__thumb { width: 48px; height: 48px; border-radius: 6px; object-fit: cover; background: var(--ava-ink); flex-shrink: 0; }
.ava-sticky__text { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.ava-sticky__name { font-size: 15px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ava-sticky__spec { font-size: 12px; color: var(--ava-gray); }
.ava-sticky__stock { font-size: 12px; font-weight: 500; }
.ava-sticky__stock.is-in { color: var(--ava-green); }
.ava-sticky__stock.is-out { color: var(--ava-red); }
.ava-sticky__cta { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.ava-sticky__btn { width: auto; min-width: 150px; height: 48px; padding: 0 22px; }
.ava-sticky__btn.is-added { background: var(--ava-green) !important; border-color: var(--ava-green) !important; opacity: 1; }
.ava-sticky__stepper { display: inline-flex; align-items: center; border: 1px solid var(--ava-border); border-radius: var(--ava-radius); height: 48px; overflow: hidden; }
.ava-sticky__step { width: 44px; height: 100%; border: 0 !important; background: #fff !important; color: var(--ava-ink) !important; font-size: 18px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 0 !important; }
.ava-sticky__step:hover { background: var(--ava-cream-2) !important; color: var(--ava-ink) !important; }
.ava-sticky__qty { min-width: 32px; text-align: center; font-weight: 700; font-size: 15px; }
.ava-sticky__view, .ava-sticky__incart { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ava-ink); text-decoration: none; white-space: nowrap; }
.ava-sticky__view:hover { color: var(--ava-red); }
.ava-sticky__notify[hidden] { display: none; }
.ava-sticky__notify-fields { display: flex; gap: 8px; }
.ava-sticky__email { flex: 1; min-width: 0; height: 48px; border: 1px solid var(--ava-border) !important; border-radius: var(--ava-radius) !important; padding: 0 14px !important; font-size: 15px !important; background: #fff !important; }
.ava-sticky__email:focus { border-color: var(--ava-ink) !important; outline: none !important; }
.ava-sticky__notify-submit { width: auto; height: 48px; padding: 0 18px; flex-shrink: 0; }
.ava-sticky__notify-error { margin: 6px 0 0; font-size: 12px; color: var(--ava-red); }
@media (min-width: 768px) {
    .ava-sticky { padding: 12px 40px; }
    .ava-sticky__inner { flex-direction: row; align-items: center; gap: 24px; }
    .ava-sticky__tiles { flex: 0 1 auto; }
    .ava-sticky__tile { flex: 0 0 auto; min-width: 88px; padding: 8px 12px 7px; }
    .ava-sticky__row { flex: 1; }
    body.ava-has-sticky { padding-bottom: 96px; }
    .ava-sticky__tabs { flex: 0 0 auto; flex-direction: column; }
}
@media (max-width: 767px) {
    .ava-sticky__btn { min-width: 0; padding: 0 16px; }
    .ava-sticky__view { display: none; }
}
/* Optional non-PDP strip ("Ready when you are"), on only when ava_sticky_strip = yes */
.ava-strip { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: #fff; border-top: 1px solid var(--ava-border); box-shadow: 0 -6px 24px rgba(21, 21, 21, .10); padding: 12px 16px; }
.ava-strip__inner { max-width: 1280px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ava-strip__text { display: flex; flex-direction: column; line-height: 1.3; }
.ava-strip__text strong { font-size: 15px; color: var(--ava-ink); }
.ava-strip__meta { font-size: 12px; color: var(--ava-gray); }
.ava-strip__actions { display: flex; gap: 10px; }
.ava-strip__actions .cpc-btn { width: auto; height: 44px; padding: 0 18px; }
.cpc-btn--outline { background: #fff; color: var(--ava-ink); border-color: var(--ava-ink); }

/* Sticky bar: state details from 1:28916 */
.ava-sticky__tab.is-active { background: var(--ava-ink) !important; border-color: var(--ava-ink) !important; color: #fff !important; }
.ava-sticky__tab.is-done { background: #E3F2E7 !important; border-color: #E3F2E7 !important; color: var(--ava-green) !important; }
.ava-sticky__tab.is-done .ava-sticky__check { color: var(--ava-green); }
.ava-sticky__tile--option { padding: 14px 8px; }
.ava-sticky__tile--option .ava-sticky__tile-label { font-size: 14px; }
.ava-sticky__best { background: var(--ava-gold); color: #fff; }
.ava-sticky__stepper { border: 1.5px solid var(--ava-red); }
.ava-sticky__step { color: var(--ava-red) !important; font-weight: 600; }
.ava-sticky__view { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 20px; background: var(--ava-red); color: #fff; border-radius: var(--ava-radius); font-size: 13px; }
.ava-sticky__view:hover { background: var(--ava-ink); color: #fff; }
.ava-sticky__btn.is-onlist { background: #E3F2E7 !important; border-color: #B9DEC5 !important; color: var(--ava-green) !important; opacity: 1; }
.ava-sticky__stock.is-note { color: var(--ava-gray); font-weight: 400; }
.ava-sticky__fold { border: 0 !important; background: transparent !important; color: var(--ava-ink) !important; padding: 0 4px !important; font-size: 12px; line-height: 1; cursor: pointer; vertical-align: middle; border-radius: 0 !important; }
.ava-sticky.is-folded .ava-sticky__tiles, .ava-sticky.is-folded .ava-sticky__tabs { display: none; }
.ava-sticky__notify { order: -1; }
.ava-sticky[data-state="notifyCapture"] .ava-sticky__tiles, .ava-sticky[data-state="notifyCapture"] .ava-sticky__tabs { display: none; }
@media (max-width: 767px) { .ava-sticky__view { display: inline-flex; } .ava-sticky__cta { gap: 8px; } .ava-sticky__view { padding: 0 14px; } }
@media (min-width: 768px) { .ava-sticky.is-folded .ava-sticky__tiles { display: flex; } .ava-sticky__fold { display: none; } }
/* The footer's "Ready when you are" strip is replaced by the sticky bar on product pages */
body.single-product .elementor-element-c4afa0f, body.single-product .ava-ready-strip { display: none !important; }

/* Sticky bar: axis groups (desktop frame 1:29228: mini left, groups with caps labels in the middle, CTA right) */
.ava-sticky__tiles { display: flex; gap: 16px; flex-wrap: wrap; }
.ava-sticky__group { display: flex; flex-direction: column; gap: 6px; min-width: 0; width: 100%; }
.ava-sticky__group-label { display: none; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ava-gray); font-weight: 500; }
.ava-sticky__group-tiles { display: flex; gap: 8px; }
.ava-sticky__group-tiles .ava-sticky__tile { flex: 1 1 0; }
.ava-sticky__fold { border: 0 !important; background: transparent !important; color: var(--ava-ink) !important; padding: 6px !important; font-size: 13px; line-height: 1; cursor: pointer; border-radius: 0 !important; flex-shrink: 0; }
.ava-sticky__fold[hidden] { display: none !important; }
.ava-sticky.is-folded .ava-sticky__fold { transform: rotate(180deg); }
.ava-sticky__tile.is-unavailable { cursor: pointer; }
.ava-sticky__tile.is-unavailable .ava-sticky__tile-label, .ava-sticky__tile.is-unavailable .ava-sticky__tile-price { text-decoration: line-through; }
.ava-sticky[data-state="optionSoldOut"] .ava-sticky__tile.is-selected, .ava-sticky[data-state="notifyCapture"] .ava-sticky__tile.is-selected, .ava-sticky[data-state="onTheList"] .ava-sticky__tile.is-selected { background: #fff !important; color: #B0ADA7 !important; border-color: var(--ava-red) !important; }
@media (max-width: 767px) {
    .ava-sticky[data-layout="counter"][data-step="1"] .ava-sticky__group[data-axis="2"], .ava-sticky[data-layout="counter"][data-step="2"] .ava-sticky__group[data-axis="1"] { display: none; }
}
@media (min-width: 768px) {
    .ava-sticky__inner { flex-direction: row; align-items: center; gap: 28px; }
    .ava-sticky__row { display: contents; }
    .ava-sticky__mini { order: 1; flex: 0 1 300px; }
    .ava-sticky__fold { display: none !important; }
    .ava-sticky__tabs { display: none !important; }
    .ava-sticky__tiles { order: 2; flex: 1 1 auto; gap: 28px; flex-wrap: nowrap; }
    .ava-sticky.is-folded .ava-sticky__tiles { display: flex; }
    .ava-sticky__group { width: auto; }
    .ava-sticky__group-label { display: block; }
    .ava-sticky__group-tiles .ava-sticky__tile { flex: 0 0 auto; min-width: 72px; padding: 8px 14px 7px; }
    .ava-sticky__tile-unit { display: none; }
    .ava-sticky__conflict { order: 2; }
    .ava-sticky__notify { order: 2; flex: 1 1 auto; }
    .ava-sticky__notify-fields { width: 100%; }
    .ava-sticky__cta { order: 3; margin-left: auto; }
    .ava-sticky[data-state="inCartOne"] .ava-sticky__tiles, .ava-sticky[data-state="inCartMany"] .ava-sticky__tiles, .ava-sticky[data-state="justAdded"] .ava-sticky__tiles { display: flex; }
    .ava-sticky[data-state="productSoldOut"] .ava-sticky__tiles, .ava-sticky[data-state="notifyCapture"] .ava-sticky__tiles, .ava-sticky[data-state="onTheList"] .ava-sticky__tiles { display: none; }
}

/* Sticky bar mini: title row = name + fold toggle inline; spec never wraps */
.ava-sticky__title-row { display: flex; align-items: center; gap: 2px; min-width: 0; }
.ava-sticky__title-row .ava-sticky__name { flex: 0 1 auto; min-width: 0; }
.ava-sticky__fold { padding: 2px 4px !important; font-size: 11px; }
.ava-sticky__spec, .ava-sticky__stock { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 767px) { .ava-sticky__btn { min-width: 0; padding: 0 14px; font-size: 13px; } .ava-sticky__mini { gap: 10px; } .ava-sticky__thumb { width: 44px; height: 44px; } }

/* Sticky bar: in-cart row on mobile */
.ava-sticky__step svg { display: inline-block; width: 15px; height: 15px; stroke: currentColor; fill: none; }
a.ava-sticky__view, a.ava-sticky__view:visited { background: var(--ava-red); color: #fff; }
a.ava-sticky__view:hover, a.ava-sticky__view:focus { background: var(--ava-ink); color: #fff; }
@media (max-width: 767px) {
    .ava-sticky__stepper { height: 44px; }
    .ava-sticky__step { width: 34px; font-size: 16px; }
    .ava-sticky__qty { min-width: 24px; font-size: 14px; }
    .ava-sticky__view { height: 44px; padding: 0 12px; font-size: 12px; letter-spacing: 0.06em; }
    .ava-sticky[data-state="inCartOne"] .ava-sticky__name, .ava-sticky[data-state="inCartMany"] .ava-sticky__name, .ava-sticky[data-state="justAdded"] .ava-sticky__name { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.2; font-size: 14px; }
    .ava-sticky[data-state="inCartOne"] .ava-sticky__fold, .ava-sticky[data-state="inCartMany"] .ava-sticky__fold, .ava-sticky[data-state="justAdded"] .ava-sticky__fold { align-self: flex-start; }
    .ava-sticky__cta { gap: 8px; }
    .ava-sticky__btn { height: 48px; }
}

/* ==========================================================================
   B4 — Auto-reorder opt-in (mobile PDP frame 1:1939 block 8; sits between the trust row and the LOVE Club strip)
   ========================================================================== */
.ava-reorder { width: 100%; max-width: 640px; font-family: inherit; color: var(--ava-ink); margin: 6px 0 0; }
.ava-reorder *, .ava-reorder *::before, .ava-reorder *::after { box-sizing: border-box; }
.ava-reorder [hidden] { display: none !important; }
.ava-reorder__toggle { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 14px; line-height: 1.4; margin: 0; }
.ava-reorder__check { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ava-reorder__box { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; border: 1.5px solid var(--ava-red); border-radius: 3px; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: #fff; transition: background .15s; }
.ava-reorder__box svg { width: 11px; height: 8px; opacity: 0; }
.ava-reorder__check:checked ~ .ava-reorder__box { background: var(--ava-red); }
.ava-reorder__check:checked ~ .ava-reorder__box svg { opacity: 1; }
.ava-reorder__check:focus-visible ~ .ava-reorder__box { outline: 2px solid var(--ava-red); outline-offset: 2px; }
.ava-reorder__label { font-weight: 600; color: var(--ava-ink); }
.ava-reorder__label-sub { font-weight: 400; color: var(--ava-gray); }
.ava-reorder__card { margin-top: 14px; background: #fff; border: 1px solid var(--ava-border); border-radius: 8px; padding: 18px 16px 16px; box-shadow: 0 1px 2px rgba(21, 21, 21, .04); }
.ava-reorder__title { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: var(--ava-ink); }
.ava-reorder__radios { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ava-reorder__radio { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid var(--ava-border); border-radius: 999px; background: #fff; color: var(--ava-ink); font-size: 14px; font-weight: 500; cursor: pointer; margin: 0; transition: background .15s, border-color .15s, color .15s; }
.ava-reorder__radio input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ava-reorder__dot { flex: 0 0 16px; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid var(--ava-border); background: #fff; position: relative; }
.ava-reorder__radio:hover { border-color: var(--ava-ink); }
.ava-reorder__radio.is-selected { background: var(--ava-red); border-color: var(--ava-red); color: #fff; }
.ava-reorder__radio.is-selected .ava-reorder__dot { border-color: #fff; background: #fff; }
.ava-reorder__radio.is-selected .ava-reorder__dot::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--ava-ink); }
.ava-reorder__radio:has(input:focus-visible) { outline: 2px solid var(--ava-red); outline-offset: 2px; }
.ava-reorder__copy { margin: 14px 0 0; font-size: 14px; line-height: 1.5; color: var(--ava-ink); }
.ava-reorder__checks { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 13px; color: var(--ava-ink); }
.ava-reorder__checks li { display: inline-flex; align-items: center; gap: 8px; }
.ava-reorder__checks svg { width: 12px; height: 9px; color: var(--ava-red); }
.ava-reorder__fine { margin: 14px 0 0; font-size: 12px; line-height: 1.5; color: var(--ava-gray); }
.ava-reorder__fine a { color: var(--ava-gray); text-decoration: underline; }
.ava-reorder__fine a:hover { color: var(--ava-ink); }
@media (max-width: 420px) { .ava-reorder__radios { gap: 8px; } .ava-reorder__radio { padding: 0 12px; font-size: 13px; } }

/* ==========================================================================
   B7 — Shelves: A2 cards in a scroll track (mobile frame blocks 18–19: two cards + peek, red/black dots)
   ========================================================================== */
.ava-shelf { position: relative; }
.ava-shelf *, .ava-shelf *::before, .ava-shelf *::after { box-sizing: border-box; }
.ava-shelf__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 24px) / 4); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 6px 0 4px; }
.ava-shelf__track::-webkit-scrollbar { display: none; }
.ava-shelf__item { scroll-snap-align: start; min-width: 0; display: flex; }
.ava-shelf__item > .cpa-product-card, .ava-shelf__item > article { flex: 1 1 auto; width: 100%; }
.ava-shelf .ava-shelf__arrow { position: absolute; top: 50%; transform: translateY(-50%); left: -56px; width: 36px; height: 36px; border-radius: 50% !important; border: 1px solid var(--ava-red) !important; background: #fff !important; color: var(--ava-red) !important; padding: 0 !important; min-height: 0 !important; box-shadow: none !important; cursor: pointer; z-index: 2; font-size: 0; display: inline-flex; align-items: center; justify-content: center; }
.ava-shelf .ava-shelf__arrow--next { left: auto; right: -56px; }
.ava-shelf .ava-shelf__arrow::before { content: ""; width: 8px; height: 8px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-left: 3px; }
.ava-shelf .ava-shelf__arrow--next::before { transform: rotate(-135deg); margin-left: -3px; }
.ava-shelf .ava-shelf__arrow:hover { background: var(--ava-red) !important; color: #fff !important; }
.ava-shelf .ava-shelf__arrow:disabled { opacity: .3; cursor: default; }
.ava-shelf .ava-shelf__arrow:focus-visible { outline: 2px solid var(--ava-red); outline-offset: 2px; }
.ava-shelf__dots { display: flex; justify-content: center; gap: 12px; margin-top: 24px; }
.ava-shelf__dots:empty { display: none; }
.ava-shelf .ava-shelf__dot { width: 9px; height: 9px; border-radius: 50% !important; background: var(--ava-ink) !important; border: 0 !important; padding: 0 !important; min-height: 0 !important; box-shadow: none !important; cursor: pointer; font-size: 0; }
.ava-shelf .ava-shelf__dot.is-active { background: var(--ava-red) !important; }
.ava-shelf .ava-shelf__dot:focus-visible { outline: 2px solid var(--ava-red); outline-offset: 2px; }
@media (max-width: 1400px) { .ava-shelf .ava-shelf__arrow { left: -14px; } .ava-shelf .ava-shelf__arrow--next { right: -14px; left: auto; } }
@media (max-width: 1024px) { .ava-shelf__track { grid-auto-columns: calc((100% - 2 * 16px) / 3); gap: 16px; } }
@media (max-width: 767px) {
    .ava-shelf__track { grid-auto-columns: 46%; gap: 14px; }
    .ava-shelf .ava-shelf__arrow { display: none; }
    .ava-shelf__dots { margin-top: 18px; }
}

/* ==========================================================================
   B7 — Map + navy "Visit Ava on the Upper East Side" card (mobile frame block 20)
   ========================================================================== */
.ava-visit { display: flex; flex-direction: column; border-radius: var(--ava-radius-lg); overflow: hidden; background: var(--ava-navy); color: #fff; font-family: inherit; }
.ava-visit *, .ava-visit *::before, .ava-visit *::after { box-sizing: border-box; }
.ava-visit__map { position: relative; background: #E6E2D6; min-height: 220px; }
.ava-visit__map iframe { display: block; width: 100%; height: 100%; min-height: 220px; border: 0; }
.ava-visit__map-missing { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--ava-gray); font-size: 13px; }
.ava-visit__card { padding: 26px 22px 26px; display: flex; flex-direction: column; gap: 16px; }
.ava-visit__title { margin: 0; font-size: 22px; line-height: 1.2; font-weight: 700; color: #fff; }
.ava-visit__rows { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ava-visit__rows li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 1.45; }
.ava-visit__rows svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; color: var(--ava-red); }
.ava-visit__rows span { display: flex; flex-direction: column; }
.ava-visit__rows small { font-size: 14px; color: rgba(255, 255, 255, .85); }
.ava-visit__rows em { font-style: normal; }
.ava-visit__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ava-visit__chips span { display: inline-flex; align-items: center; min-height: 32px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 999px; font-size: 13px; font-weight: 500; color: #fff; }
.ava-visit__btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.ava-visit__btn { flex: 1 1 160px; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 18px; border-radius: var(--ava-radius); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.ava-visit__btn--white { background: #fff; color: var(--ava-navy); border: 1px solid #fff; }
.ava-visit__btn--white:hover, .ava-visit__btn--white:focus-visible { background: var(--ava-ink); border-color: var(--ava-ink); color: #fff; }
.ava-visit__btn--outline { background: transparent; color: #fff; border: 1px solid #fff; }
.ava-visit__btn--outline:hover, .ava-visit__btn--outline:focus-visible { background: #fff; color: var(--ava-navy); }
.ava-visit__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (min-width: 900px) {
    .ava-visit { flex-direction: row; min-height: 440px; }
    .ava-visit__map { flex: 1 1 56%; min-height: 440px; }
    .ava-visit__card { flex: 1 1 44%; padding: 44px 44px; justify-content: center; gap: 20px; }
    .ava-visit__title { font-size: 30px; }
    .ava-visit__btn { flex: 0 1 auto; min-width: 180px; }
}

/* ==========================================================================
   B5 — Reviews (mobile PDP frame 1:1939 block 17): summary tile, tag chips, cards, store reply, LOAD MORE, WRITE A REVIEW
   ========================================================================== */
.ava-rev { font-family: inherit; color: var(--ava-ink); }
.ava-rev *, .ava-rev *::before, .ava-rev *::after { box-sizing: border-box; }
.ava-rev [hidden] { display: none !important; }
.ava-rev__summary { display: flex; align-items: center; gap: 18px; background: var(--ava-cream); border-radius: 8px; padding: 18px 20px; margin: 4px 0 18px; }
.ava-rev__avg { font-size: 40px; font-weight: 700; line-height: 1; color: var(--ava-ink); letter-spacing: -0.02em; }
.ava-rev__summary-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ava-rev__summary-line { margin: 0; font-size: 13px; color: var(--ava-gray); }
.ava-rev__summary.is-empty .ava-rev__avg { color: var(--ava-gray); }
.ava-rev__stars { display: inline-flex; gap: 2px; line-height: 1; }
.ava-rev__star { color: #D9D6CD; display: inline-flex; }
.ava-rev__star.is-on { color: var(--ava-red); }
.ava-rev__star svg { width: 16px; height: 16px; }
.ava-rev__sep { margin: 0 4px; color: var(--ava-gray); }
.ava-rev__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.ava-rev .ava-rev__tag { display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px !important; border: 1px solid var(--ava-border) !important; border-radius: 999px !important; background: #fff !important; color: var(--ava-ink) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer; box-shadow: none !important; min-width: 0; transition: background .15s, color .15s, border-color .15s; }
.ava-rev .ava-rev__tag:hover { border-color: var(--ava-ink) !important; }
.ava-rev .ava-rev__tag.is-active { background: var(--ava-red) !important; border-color: var(--ava-red) !important; color: #fff !important; }
.ava-rev .ava-rev__tag:focus-visible { outline: 2px solid var(--ava-red); outline-offset: 2px; }
.ava-rev__list { display: flex; flex-direction: column; gap: 14px; }
.ava-rev__card { background: #fff; border: 1px solid var(--ava-border); border-radius: 12px; padding: 18px 18px 16px; }
.ava-rev__card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.ava-rev__verified { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: var(--ava-navy); }
.ava-rev__verified svg { width: 12px; height: 9px; }
.ava-rev__quote { margin: 0; font-size: 16px; line-height: 1.5; color: var(--ava-ink); }
.ava-rev__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ava-rev__chip { display: inline-flex; align-items: center; min-height: 26px; padding: 0 12px; border-radius: 999px; background: var(--ava-ink); color: #fff; font-size: 12px; font-weight: 500; }
.ava-rev__meta { margin: 12px 0 0; font-size: 13px; color: var(--ava-gray); }
.ava-rev__reply { margin-top: 14px; background: var(--ava-cream); border-radius: 10px; padding: 14px 16px; }
.ava-rev__reply-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ava-rev__avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--ava-red); color: #fff; font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ava-rev__reply-who { font-weight: 700; font-size: 14px; color: var(--ava-ink); }
.ava-rev__reply-when { font-size: 12px; color: var(--ava-gray); margin-left: auto; }
.ava-rev__reply-text { margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: var(--ava-ink); }
.ava-rev__reply-foot { margin: 8px 0 0; font-size: 12px; color: var(--ava-gray); }
.ava-rev__none { margin: 0; font-size: 14px; color: var(--ava-gray); }
.ava-rev__actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
.ava-rev .ava-rev__more, .ava-rev .ava-rev__write, .ava-rev .ava-rev__cancel { border: 0 !important; background: transparent !important; padding: 0 !important; min-height: 0 !important; box-shadow: none !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; cursor: pointer; border-radius: 0 !important; }
.ava-rev .ava-rev__more { color: var(--ava-ink) !important; }
.ava-rev .ava-rev__more:hover { color: var(--ava-red) !important; }
.ava-rev .ava-rev__more.is-loading { opacity: .5; cursor: progress; }
.ava-rev .ava-rev__write { color: var(--ava-red) !important; margin-left: auto; }
.ava-rev .ava-rev__write:hover { color: var(--ava-ink) !important; }
.ava-rev .ava-rev__more:focus-visible, .ava-rev .ava-rev__write:focus-visible, .ava-rev .ava-rev__cancel:focus-visible { outline: 2px solid var(--ava-red); outline-offset: 3px; }
.ava-rev__gate { margin: 12px 0 0; font-size: 14px; color: var(--ava-gray); }
.ava-rev__gate a { color: var(--ava-red); font-weight: 600; text-decoration: underline; }
.ava-rev__gate.is-ok { color: var(--ava-green); font-weight: 500; }
.ava-rev__form { margin-top: 18px; background: #fff; border: 1px solid var(--ava-border); border-radius: 12px; padding: 22px 20px; display: flex; flex-direction: column; gap: 18px; }
.ava-rev__form-title { margin: 0; font-size: 18px; font-weight: 700; }
.ava-rev__field { display: flex; flex-direction: column; gap: 8px; }
.ava-rev__field-label { font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ava-ink); }
.ava-rev__field-label em { font-style: normal; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--ava-gray); }
.ava-rev__pick { display: inline-flex; gap: 4px; }
.ava-rev__pick-star { cursor: pointer; color: #D9D6CD; margin: 0; display: inline-flex; }
.ava-rev__pick-star input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ava-rev__pick-star svg { width: 30px; height: 30px; transition: color .1s; }
.ava-rev__pick-star.is-on { color: var(--ava-red); }
.ava-rev__pick-star:has(input:focus-visible) { outline: 2px solid var(--ava-red); outline-offset: 2px; border-radius: 4px; }
.ava-rev__pick-tags, .ava-rev__pick-rec { display: flex; flex-wrap: wrap; gap: 8px; }
.ava-rev__pick-tag { margin: 0; cursor: pointer; }
.ava-rev__pick-tag input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ava-rev__pick-tag span { display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border: 1px solid var(--ava-border); border-radius: 999px; font-size: 13px; font-weight: 500; color: var(--ava-ink); background: #fff; transition: background .15s, color .15s, border-color .15s; }
.ava-rev__pick-tag:hover span { border-color: var(--ava-ink); }
.ava-rev__pick-tag input:checked + span { background: var(--ava-ink); border-color: var(--ava-ink); color: #fff; }
.ava-rev__pick-tag input:focus-visible + span { outline: 2px solid var(--ava-red); outline-offset: 2px; }
.ava-rev__pick-tag.is-disabled span { opacity: .45; }
.ava-rev__form textarea { width: 100%; min-height: 110px; padding: 12px 14px; border: 1px solid var(--ava-border) !important; border-radius: 8px !important; font: inherit; font-size: 15px; color: var(--ava-ink); background: #fff !important; resize: vertical; }
.ava-rev__form textarea:focus { border-color: var(--ava-ink) !important; outline: none !important; }
.ava-rev__form-fine { margin: 0; font-size: 12px; color: var(--ava-gray); }
.ava-rev__form-error { margin: 0; font-size: 13px; color: var(--ava-red); }
.ava-rev__form-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.ava-rev .ava-rev__submit { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 22px !important; border: 1px solid var(--ava-red) !important; border-radius: var(--ava-radius) !important; background: var(--ava-red) !important; color: #fff !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; cursor: pointer; box-shadow: none !important; min-height: 0 !important; }
.ava-rev .ava-rev__submit:hover:not(:disabled), .ava-rev .ava-rev__submit:focus-visible { background: var(--ava-ink) !important; border-color: var(--ava-ink) !important; }
.ava-rev .ava-rev__submit:disabled { opacity: .6; cursor: progress; }
.ava-rev .ava-rev__cancel { color: var(--ava-gray) !important; }
.ava-rev .ava-rev__cancel:hover { color: var(--ava-ink) !important; }
@media (min-width: 900px) {
    .ava-rev__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
    .ava-rev__summary { display: inline-flex; min-width: 360px; }
    .ava-rev__form { max-width: 720px; }
}
@media (max-width: 767px) {
    .ava-rev__avg { font-size: 34px; }
    .ava-rev__actions { justify-content: space-between; }
}

/* Kit button globals repaint .cpc-btn--black red (.elementor-kit-7 button beats .cpc-btn--black): NOTIFY ME / PICK A STRAIN are black at rest, red on hover (frames 1:30611, 1:29228) */
.elementor-kit-7 .cpc-btn--black, .cpc-btn--black, .elementor-kit-7 .cpc-btn--black:focus { background-color: var(--ava-ink) !important; border-color: var(--ava-ink) !important; color: #fff !important; }
.elementor-kit-7 .cpc-btn--black:hover:not(:disabled), .cpc-btn--black:hover:not(:disabled) { background-color: var(--ava-red) !important; border-color: var(--ava-red) !important; color: #fff !important; }
.elementor-kit-7 .cpc-btn--black:disabled { opacity: .85; }
.elementor-kit-7 .cpc-notify-btn.is-on-list, .elementor-kit-7 .cpc-notify-btn.is-on-list:hover { background-color: var(--ava-green) !important; border-color: var(--ava-green) !important; }

/* Round 2 (375): A2 cards in the 46%-wide shelf slots — the card CTA keeps its 120px min-width and hides the price; compact it inside the shelves only (frame: price left, small red control right) */
@media (max-width: 767px) {
    .ava-shelf .cpa-card-footer { align-items: center; gap: 8px; padding-top: 12px; }
    .ava-shelf .cpa-card-price { font-size: 17px; }
    .ava-shelf .ava-atc, .ava-shelf .ava-atc .ava-btn.ava-btn, .ava-shelf .ava-stepper { min-width: 0 !important; }
    .ava-shelf .ava-atc .ava-btn.ava-btn { height: 36px; padding: 0 10px !important; font-size: 11px !important; letter-spacing: 0.06em !important; }
    .ava-shelf .ava-stepper { height: 36px; }
    .ava-shelf .cpa-card-body { padding-left: 14px; padding-right: 14px; }
    .ava-visit__btns { flex-wrap: nowrap; gap: 10px; }
    .ava-visit__btn { flex: 1 1 0; min-width: 0; padding: 0 8px; font-size: 12px; letter-spacing: 0.06em; }
}
/* ==========================================================================================================
   Fidelity pass — Lane S1 (27 Sep): template 757 against `PDP - Desktop` 1:3426 (eight section captures,
   content box 100–1340 = 1240) and `pdp-mobile`. Numbers in qa/laneS1/pdp-spec.md. Section paddings and column
   widths live in the Elementor data (tools/qa/S1_757_layout.py); this block carries type, spacing and components.
   ========================================================================================================== */

/* ---- breadcrumb strip (44, cream): 13 px, "/" #DCD8CA spaced 8, current item ink 600 (markup: shop.php) ---- */
.ava-pdp-crumb-band .woocommerce-breadcrumb,
.elementor-757 .elementor-element.elementor-element-6e53783 .woocommerce-breadcrumb { font-family: 'Krub', sans-serif; font-size: 13px !important; line-height: 24px !important; font-weight: 400; color: #6B685E; margin: 0; }
.ava-pdp-crumb-band .woocommerce-breadcrumb a { color: #6B685E; text-decoration: none; }
.ava-pdp-crumb-band .woocommerce-breadcrumb a:hover { color: var(--ava-red); }
.ava-pdp-crumb-band .woocommerce-breadcrumb .ava-crumb-sep { color: #DCD8CA; margin: 0 8px; }
.ava-pdp-crumb-band .woocommerce-breadcrumb .ava-crumb:last-child { color: #151515; font-weight: 600; }

/* ---- hero gallery: white card 560 (1 px #DCD8CA, radius 12), SALE 47 × 24 at 20 / 20, thumbs 96 × 96 cards
        radius 8 pitch 115 at +14, the active one 2 px red; no zoom trigger, no dots on desktop ---- */
.ava-pdp-hero .eael-single-product-images .product_image_slider__container { border: 1px solid #DCD8CA; border-radius: 12px; overflow: hidden; background: #ffffff; }
.ava-pdp-hero .eael-single-product-images .product_image_slider__trigger { display: none !important; }
.ava-pdp-hero .eael-single-product-images .ast-onsale-card.ava-badge--sale { top: 20px; left: 20px; height: 24px; padding: 0 10px; display: inline-flex; align-items: center; font-size: 10px; font-weight: 600; letter-spacing: 0.08em; }
@media (min-width: 768px) {
    .ava-pdp-hero .ava-gallery-dots { display: none; }
    .ava-pdp-hero .eael-single-product-images .product_image_slider__thumbs { margin-top: 14px; }
    .ava-pdp-hero .eael-single-product-images .product_image_slider__thumbs .swiper-wrapper { transform: none !important; gap: 19px !important; }
    .ava-pdp-hero .eael-single-product-images .product_image_slider__thumbs .swiper-slide { width: 96px !important; height: 96px; margin: 0 !important; flex: 0 0 96px; border: 1px solid #DCD8CA; border-radius: 8px; overflow: hidden; background: #ffffff; box-sizing: border-box; cursor: pointer; }
    .ava-pdp-hero .eael-single-product-images .product_image_slider__thumbs .swiper-slide-thumb-active { border: 2px solid var(--ava-red); }
    .ava-pdp-hero .eael-single-product-images .product_image_slider__thumbs__image, .ava-pdp-hero .eael-single-product-images .product_image_slider__thumbs__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
}

/* ---- buy box (x 719–1340): brand 12.5 / 500 / .1em, title 43 / 700 / 50, meta 16 / 24, rule at +17, size pills
        34 tall from x 794, price 34.5 / 700 with the struck 23.5 / 400 and 16 px per-gram, SAVE badge right,
        stock 13.5 / 20, qty 114 × 52 + ADD TO CART 50 tall, trust row 11.5 / 500 ---- */
.ava-pdp-hero .cpc-product-summary { max-width: none; }
.ava-pdp-hero .cpc-brand-name { font-size: 12.5px; line-height: 16px; font-weight: 500; letter-spacing: 0.1em; color: #6B685E; }
.ava-pdp-hero .cpc-rating-box { font-size: 16.5px; line-height: 20px; font-weight: 500; color: #6B685E; }
.ava-pdp-hero .cpc-rating-box .cpc-star { color: #AD8C5C; font-size: 16.5px; }
.ava-pdp-hero .cpc-header-row { min-height: 20px; }
.ava-pdp-hero .cpc-product-title { font-size: 43px; line-height: 50px; letter-spacing: -0.01em; margin: 11px 0 16px !important; }
.ava-pdp-hero .cpc-meta-row { font-size: 16px; line-height: 24px; padding-bottom: 17px; border-bottom-color: #DEDACC; }
.ava-pdp-hero .cpc-meta-thc { font-weight: 700; }
.ava-pdp-hero .cpc-attributes-section { margin: 17px 0 0; }
.ava-pdp-hero .cpc-attribute-row { gap: 12px; margin-bottom: 17px; min-height: 34px; }
.ava-pdp-hero .cpc-attribute-label { width: 63px; font-size: 15px; line-height: 20px; font-weight: 600; }
.ava-pdp-hero .cpc-pills-container { gap: 12px; }
.ava-pdp-hero .cpc-pill-btn, .elementor-kit-7 .ava-pdp-hero .cpc-pill-btn { height: 34px; padding: 0 16px !important; font-size: 13px !important; line-height: 32px !important; font-weight: 600 !important; border-radius: 4px !important; }
.ava-pdp-hero .cpc-pricing-row { margin: 16px 0 0; align-items: center; min-height: 38px; }
.ava-pdp-hero .cpc-prices-left { display: flex; align-items: baseline; gap: 10px; }
.ava-pdp-hero .cpc-regular-price { font-size: 23.5px; line-height: 38px; font-weight: 400; }
.ava-pdp-hero .cpc-active-price { font-size: 34.5px; line-height: 38px; letter-spacing: 0; }
.ava-pdp-hero .cpc-unit-price { font-size: 16px; line-height: 20px; }
.cpc-save-badge { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 4px; background: var(--ava-red); color: #ffffff; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; }
.ava-pdp-hero .cpc-stock-row { margin: 9px 0 0; font-size: 13.5px; line-height: 20px; gap: 6px; }
.ava-pdp-hero .cpc-status-dot { width: 8px; height: 8px; }
.ava-pdp-hero .cpc-low-stock { color: var(--ava-red); }
.ava-pdp-hero .cpc-actions-row { margin-top: 22px; gap: 12px; align-items: center; }
.cpc-qty { display: inline-flex; align-items: center; justify-content: space-between; flex: 0 0 114px; width: 114px; height: 52px; padding: 0 6px; border: 1px solid #151515; border-radius: 4px; background: #ffffff; box-sizing: border-box; }
.cpc-qty[hidden] { display: none !important; }
.cpc-qty .cpc-qty-btn, .elementor-kit-7 .cpc-qty .cpc-qty-btn, .cpc-qty .cpc-qty-btn:hover, .cpc-qty .cpc-qty-btn:focus { -webkit-appearance: none; appearance: none; width: 32px; height: 40px; padding: 0 !important; margin: 0; border: 0 !important; border-radius: 4px !important; background: transparent !important; color: #151515 !important; font-size: 18px !important; font-weight: 500 !important; line-height: 1 !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important; cursor: pointer; }
.cpc-qty .cpc-qty-btn[disabled] { opacity: 0.35; cursor: default; }
.cpc-qty .cpc-qty-btn:focus-visible { outline: 2px solid var(--ava-red); outline-offset: -2px; }
.cpc-qty .cpc-qty-val { min-width: 20px; text-align: center; font-size: 15px; font-weight: 600; color: #151515; font-variant-numeric: tabular-nums; }
.ava-pdp-hero .cpc-actions-row .cpc-add-to-cart-btn, .ava-pdp-hero .cpc-actions-row .cpc-notify-btn { flex: 1 1 auto; height: 50px; border-radius: 4px; font-size: 15.5px; font-weight: 700; letter-spacing: 0.04em; }
.ava-pdp-hero .elementor-element-367b17c { margin-top: 19px; }
.ava-pdp-hero .elementor-element-da38025 .elementor-icon-list-items { gap: 0 18px; justify-content: flex-start; }
.ava-pdp-hero .elementor-element-da38025 .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.ava-pdp-hero .elementor-element-da38025 .elementor-icon-list-item::after { display: none !important; }
.ava-pdp-hero .elementor-element-da38025 .elementor-icon-list-icon { width: 18px; height: 18px; margin-right: 9px; }
.ava-pdp-hero .elementor-element-da38025 .elementor-icon-list-icon svg, .ava-pdp-hero .elementor-element-da38025 .elementor-icon-list-icon img { width: 18px !important; height: 18px !important; }
.ava-pdp-hero .elementor-element-da38025 .elementor-icon-list-text { font-size: 11.5px !important; line-height: 16px !important; font-weight: 500 !important; color: #6B685E !important; padding: 0 !important; }
.ava-pdp-hero .elementor-element-40964d9 { margin-top: 17px; }
.ava-pdp-hero .elementor-element-1f9db88 { margin-top: 18px !important; min-height: 70px; padding: 0 16px !important; border-radius: 8px; }
.ava-pdp-hero .elementor-element-1f9db88 .elementor-icon-box-title, .ava-pdp-hero .elementor-element-1f9db88 .elementor-icon-box-title * { font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; margin: 0 !important; }
.ava-pdp-hero .elementor-element-1f9db88 .elementor-icon-box-description { font-size: 12px !important; line-height: 17px !important; color: #CCC9BD !important; margin: 0 !important; }
.ava-pdp-hero .elementor-element-1f9db88 .elementor-button { font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; }

/* ---- auto-reorder (frame: 18 px red box + 13 / 400 muted line; card 621 × 215 at +12: 1 px #E8E6DE radius 10 padding 16,
        "Reorder frequency" 15 / 600, four 37 px pills 13.5 / 500 in a 4-column grid gap 20, copy 13 px, ticks, fine 12 px) ---- */
.ava-pdp-hero .ava-reorder { max-width: none; margin: 0; }
.ava-pdp-hero .ava-reorder__toggle { align-items: center; gap: 10px; font-size: 13px; line-height: 18px; }
.ava-pdp-hero .ava-reorder__label, .ava-pdp-hero .ava-reorder__label-sub { font-weight: 400; color: #6B685E; }
.ava-pdp-hero .ava-reorder__box { margin-top: 0; border-radius: 4px; }
.ava-pdp-hero .ava-reorder__card { margin-top: 12px; border: 1px solid #E8E6DE; border-radius: 10px; padding: 14px 16px 16px; box-shadow: none; }
.ava-pdp-hero .ava-reorder__title { font-size: 15px; line-height: 20px; font-weight: 600; margin: 0 0 14px; }
.ava-pdp-hero .ava-reorder__radios { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ava-pdp-hero .ava-reorder__radio { height: 37px; min-height: 37px; justify-content: center; border-radius: 999px; font-size: 13.5px; font-weight: 500; }
.ava-pdp-hero .ava-reorder__copy { margin: 18px 0 0; font-size: 13px; line-height: 18px; }
.ava-pdp-hero .ava-reorder__checks { margin: 21px 0 0 !important; font-size: 13px; line-height: 18px; }
.ava-pdp-hero .ava-reorder__fine { margin: 22px 0 0; font-size: 12px; line-height: 16px; }

/* ---- decision support (1226, white): snapshot navy 812 × 359, tastes cream 812 × 202, description, onset tiles 78 tall
        (value 18.5 / 600 + label 11 / 500 / .1em), navy note 50, tip 14 px; lab card 378 × 854 ---- */
.ava-pdp-decision .elementor-element-2fb6af3, .ava-pdp-decision .elementor-element-a74fed5 { margin-top: 2px !important; }
.ava-pdp-decision ul.cpc-experience-tag li, .ava-pdp-decision ul.cpc-taste-tags li { height: 26px; display: inline-flex; align-items: center; padding: 0 13px; }
.ava-pdp-decision .cpc-bi-sec { margin-top: 15px; }
.ava-pdp-decision .elementor-element-2fa2417, .ava-pdp-decision .elementor-element-2fa2417 .elementor-heading-title { line-height: 18px !important; }
.ava-pdp-decision .elementor-element-2fa2417 { margin-top: 12px !important; }
.ava-pdp-decision ul.cpc-taste-tags { margin-bottom: 12px; }
.ava-pdp-decision .cpc-aroma-intensity { font-size: 13px; line-height: 18px; gap: 10px; }
.ava-pdp-decision .elementor-element-f3f35a4 .eael-single-product-description h2 { font-size: 22px !important; line-height: 26px !important; margin: 0 0 16px !important; }
.ava-pdp-decision .elementor-element-f3f35a4 .eael-single-product-description h2 strong { font-weight: 700; }
.ava-pdp-decision .elementor-element-f3f35a4 .eael-single-product-description p { font-size: 16px; line-height: 26px; margin: 0; }
.ava-pdp-decision .cpc-instructions { margin-top: 24px; }
.ava-pdp-decision .cpc-instructions .cpc-h2, .ava-pdp-decision .cpc-instructions h2 { font-size: 22px; line-height: 26px; margin: 2px 0 0; }
.ava-pdp-decision .cpc-instructions .cpc-instructions-row { margin-top: 19px; gap: 26px; }
.ava-pdp-decision .cpc-instructions .cpc-instructions-col { padding: 19px 16px; border-color: #EBE7DF; }
.ava-pdp-decision .cpc-instructions .cpc-instructions-col h4 { font-size: 18.5px; line-height: 22px; font-weight: 600; margin: 0 0 4px; }
.ava-pdp-decision .cpc-instructions .cpc-instructions-col span { display: block; font-size: 11px; line-height: 16px; font-weight: 500; letter-spacing: 0.1em; }
.ava-pdp-decision .cpc-range-note { margin-top: 24px; min-height: 50px; padding: 0 18px; box-sizing: border-box; font-size: 14px; line-height: 20px; }
.ava-pdp-decision .cpc-beginner-tip { margin-top: 23px; font-size: 14px; line-height: 20px; }
.ava-pdp-decision .cpc-lab-data-sec .cpc-lab-thc-total { margin-top: 21px; }

/* ---- brand + FAQ (535, cream): brand card 596 × 407 red (eyebrow 11 / 600 / .14em at +68, logo 45, blurb 15 / 23 max 500,
        link 12 / 700 / .1em bottom-aligned 64 from the edge); FAQ: eyebrow + 22 / 700 H, card 596 × 347 (open 110, closed 58,
        question 15 / 600 / 20 at 22 / 25, answer 14 / 21) ---- */
.ava-pdp-brandfaq .cpc-brand-card { min-height: 100%; height: 100%; }
.ava-pdp-brandfaq .cpc-brand-eyebrow { font-size: 11px; line-height: 14px; font-weight: 600; letter-spacing: 0.14em; margin: 26px 0 8px; }
.ava-pdp-brandfaq .cpc-brand-logo img { height: 45px; max-height: 45px; }
.ava-pdp-brandfaq .cpc-brand-blurb { margin-top: 10px; max-width: 500px; font-size: 15px; line-height: 23px; }
.ava-pdp-brandfaq .cpc-brand-more { padding-top: 24px; margin-bottom: 24px; font-size: 12px; line-height: 14px; font-weight: 700; letter-spacing: 0.1em; gap: 10px; }
.ava-pdp-brandfaq .elementor-element-8477384 > .elementor-element, .ava-pdp-brandfaq .elementor-element-b1a2c3d, .ava-pdp-brandfaq .elementor-element-b1a2c3d > .elementor-widget-container, .ava-pdp-brandfaq .elementor-element-b1a2c3d .elementor-shortcode { height: 100%; }
.ava-pdp-brandfaq .cpc-faq-header-wrap { margin-bottom: 16px; }
.ava-pdp-brandfaq .elementor-element-03d3f95 > .e-con-inner, .ava-pdp-brandfaq .elementor-element-03d3f95 { align-items: stretch !important; }
.ava-pdp-brandfaq .elementor-element-8477384 { align-self: stretch !important; }
.ava-pdp-brandfaq .elementor-element-b1a2c3d { flex: 1 1 auto; }
.ava-pdp-brandfaq .cpc-faq-subtitle { font-size: 12px; line-height: 14px; font-weight: 500; letter-spacing: 0.12em; }
.ava-pdp-brandfaq .cpc-faq-main-title { font-size: 22px; line-height: 26px; margin: 4px 0 0; }
.ava-pdp-brandfaq .cpc-faq-section .cpc-faq-question, .ava-pdp-brandfaq .cpc-faq-section .cpc-faq-question:hover, .ava-pdp-brandfaq .cpc-faq-section .cpc-faq-question:focus { padding: 19px 25px 19px 22px !important; }
.ava-pdp-brandfaq .cpc-faq-section .cpc-faq-item.is-active .cpc-faq-question { padding-bottom: 11px !important; }
.ava-pdp-brandfaq .cpc-faq-question-text { font-size: 15px !important; line-height: 20px !important; font-weight: 600 !important; }
.ava-pdp-brandfaq .cpc-faq-toggle-icon { width: 14px; height: 14px; }
.ava-pdp-brandfaq .cpc-faq-answer { padding: 0 25px 18px 22px; }
.ava-pdp-brandfaq .cpc-faq-answer-inner, .ava-pdp-brandfaq .cpc-faq-answer-inner p { font-size: 14px; line-height: 21px; }
.ava-pdp-brandfaq .cpc-faq-answer-inner { margin: 0 !important; }

/* ---- reviews (736, white; frame pdp-desktop-reviews): left tile 360 cream radius 12 padding 28 ("4.5" 46 / 700, 16 px stars,
        14 px line, chips 26 tall 12 / 600, WRITE A REVIEW 304 × 39 outline) | gap 48 | cards 832 cream radius 12 padding 24
        gap 16 (stars 14 + age 13, quote 15 / 24, black chips 22 tall 12 / 500, author 13 / 400 + ✓ Verified navy right,
        reply white radius 8 inset 28 padding 18); LOAD MORE REVIEWS 12 / 700 / .08em under the cards ---- */
@media (min-width: 900px) {
    .ava-pdp-reviews-band .ava-rev { display: grid; grid-template-columns: 360px minmax(0, 1fr); grid-template-rows: auto auto auto 1fr auto; column-gap: 48px; align-items: start; }
    .ava-pdp-reviews-band .ava-rev::before { content: ""; grid-column: 1; grid-row: 1 / 4; align-self: stretch; background: var(--ava-cream); border-radius: 12px; }
    .ava-pdp-reviews-band .ava-rev__summary-slot { grid-column: 1; grid-row: 1; position: relative; z-index: 1; padding: 24px 28px 0; }
    .ava-pdp-reviews-band .ava-rev__tags-slot { grid-column: 1; grid-row: 2; position: relative; z-index: 1; padding: 0 28px; }
    .ava-pdp-reviews-band .ava-rev__actions { display: contents; }
    .ava-pdp-reviews-band .ava-rev .ava-rev__write { grid-column: 1; grid-row: 3; position: relative; z-index: 1; margin: 22px 28px 28px !important; width: calc(100% - 56px); }
    .ava-pdp-reviews-band .ava-rev__list, .ava-pdp-reviews-band .ava-rev__none { grid-column: 2; grid-row: 1 / 5; display: flex; flex-direction: column; align-items: stretch; gap: 16px; }
    .ava-pdp-reviews-band .ava-rev .ava-rev__more { grid-column: 2; grid-row: 5; justify-self: start; margin-top: 24px !important; }
    .ava-pdp-reviews-band .ava-rev__gate, .ava-pdp-reviews-band .ava-rev__form { grid-column: 1 / -1; }
    .ava-pdp-reviews-band .ava-rev__summary { display: block; min-width: 0; background: none; padding: 0; margin: 0; }
}
.ava-pdp-reviews-band .ava-rev__avg { display: block; font-size: 46px; line-height: 50px; letter-spacing: 0; }
.ava-pdp-reviews-band .ava-rev__summary-body { gap: 10px; margin-top: 10px; }
.ava-pdp-reviews-band .ava-rev__summary .ava-rev__star svg { width: 16px; height: 16px; }
.ava-pdp-reviews-band .ava-rev__summary-line { font-size: 14px; line-height: 20px; color: #6B685E; }
.ava-pdp-reviews-band .ava-rev__tags { gap: 8px; margin: 20px 0 0; }
.ava-pdp-reviews-band .ava-rev .ava-rev__tag { min-height: 26px !important; height: 26px; padding: 0 12px !important; font-size: 12px !important; font-weight: 600 !important; background: #ffffff !important; }
.ava-pdp-reviews-band .ava-rev .ava-rev__tag.is-active { background: var(--ava-red) !important; }
.ava-pdp-reviews-band .ava-rev .ava-rev__write { display: inline-flex; align-items: center; justify-content: center; height: 39px !important; min-height: 39px !important; border: 1px solid #151515 !important; border-radius: 4px !important; color: #151515 !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; text-transform: uppercase; }
.ava-pdp-reviews-band .ava-rev .ava-rev__write:hover { background: #151515 !important; color: #ffffff !important; }
.ava-pdp-reviews-band .ava-rev__card { background: var(--ava-cream); border: 0; border-radius: 12px; padding: 24px; }
.ava-pdp-reviews-band .ava-rev__card-head { justify-content: flex-start; gap: 10px; margin-bottom: 10px; }
.ava-pdp-reviews-band .ava-rev__card .ava-rev__star svg { width: 14px; height: 14px; }
.ava-pdp-reviews-band .ava-rev__ago { font-size: 13px; line-height: 18px; color: #6B685E; }
.ava-pdp-reviews-band .ava-rev__quote { font-size: 15px; line-height: 24px; }
.ava-pdp-reviews-band .ava-rev__chips { gap: 6px; margin-top: 12px; }
.ava-pdp-reviews-band .ava-rev__chip { min-height: 22px; height: 22px; padding: 0 10px; font-size: 12px; font-weight: 500; }
.ava-pdp-reviews-band .ava-rev__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; font-size: 13px; line-height: 18px; color: #6B685E; }
.ava-pdp-reviews-band .ava-rev__meta .ava-rev__verified { font-size: 13px; font-weight: 500; }
.ava-pdp-reviews-band .ava-rev__reply { margin: 16px 0 0 28px; background: #ffffff; border-radius: 8px; padding: 18px; }
.ava-pdp-reviews-band .ava-rev__avatar { width: 22px; height: 22px; font-size: 12px; }
.ava-pdp-reviews-band .ava-rev__reply-who { font-size: 14px; font-weight: 600; }
.ava-pdp-reviews-band .ava-rev__reply-when { margin-left: 0; font-size: 13px; color: #6B685E; }
.ava-pdp-reviews-band .ava-rev__reply-text { margin-top: 10px; font-size: 14px; line-height: 20px; }
.ava-pdp-reviews-band .ava-rev .ava-rev__more { font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; text-transform: uppercase; color: #151515 !important; }

/* ---- shelves "Complete Your Order" / "More like this" (689 each; frames pdp-desktop-complete-order / -similar): eyebrow
        11.5 / 600 / .14em, H 29.5 / 600, five 228 × 480 cards (gap 25): media #151515 235, body 17 / 19 / 20, cat 11 / 600 /
        .08em + rating 12 / 400, brand 10 / 600 / .12em muted, title 17 / 600 / 26, black THC chip 24 tall 11 / 600, footer
        pinned: price 20 / 700 + unit 13 / 400, CTA 99 × 37; no arrows / dots when the five fit ---- */
.ava-pdp-cross-band .elementor-widget-heading:first-child .elementor-heading-title, .ava-pdp-related-band .elementor-widget-heading:first-child .elementor-heading-title { font-size: 11.5px !important; line-height: 14px !important; font-weight: 600 !important; letter-spacing: 0.14em !important; }
.ava-pdp-cross-band .elementor-widget-heading:nth-child(2) .elementor-heading-title, .ava-pdp-related-band .elementor-widget-heading:nth-child(2) .elementor-heading-title { font-size: 29.5px !important; line-height: 34px !important; font-weight: 600 !important; }
.ava-pdp-cross-band .elementor-widget-heading:first-child, .ava-pdp-related-band .elementor-widget-heading:first-child { margin-bottom: 0 !important; }
.ava-pdp-cross-band .elementor-widget-heading:nth-child(2), .ava-pdp-related-band .elementor-widget-heading:nth-child(2) { margin: 4px 0 0 !important; }
.ava-pdp-cross-band .elementor-widget-shortcode, .ava-pdp-related-band .elementor-widget-shortcode { margin-top: 30px !important; }
@media (min-width: 768px) {
    .ava-shelf .ava-shelf__track { grid-auto-columns: 228px; gap: 25px; padding: 0; }
    .ava-shelf:has(.ava-shelf__item:nth-child(5):last-child) .ava-shelf__arrow, .ava-shelf:has(.ava-shelf__item:nth-child(5):last-child) .ava-shelf__dots { display: none !important; }
    .ava-shelf .cpa-product-card { height: 480px; border-radius: 12px; display: flex; flex-direction: column; }
    .ava-shelf .cpa-card-media { flex: 0 0 235px; height: 235px; aspect-ratio: auto; background: #151515; }
    .ava-shelf .cpa-card-body { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; padding: 17px 18px 19px 19px; }
    .ava-shelf .cpa-card-meta-row { margin-bottom: 8px; }
    .ava-shelf .cpa-card-cat { font-size: 11px; line-height: 14px; font-weight: 600; letter-spacing: 0.08em; }
    .ava-shelf .cpa-card-strain { display: none; }
    .ava-shelf .cpa-card-rating { font-size: 12px; font-weight: 400; }
    .ava-shelf .cpa-card-brand { font-size: 10px; line-height: 14px; font-weight: 600; letter-spacing: 0.12em; color: #6B685E; margin-bottom: 8px; }
    .ava-shelf .cpa-card-body .cpa-card-title { font-size: 17px; line-height: 26px; font-weight: 600; margin: 0; -webkit-line-clamp: 3; }
    .ava-shelf .cpa-card-specs, .ava-shelf .cpa-card-dominance { display: none; }
    .ava-shelf .cpa-card-thc-chip { display: inline-flex; align-items: center; align-self: flex-start; height: 24px; margin-top: 11px; padding: 0 8px; border-radius: 4px; background: #151515; color: #ffffff; font-size: 11px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
    .ava-shelf .cpa-card-footer { margin-top: auto; padding-top: 12px; align-items: center; }
    .ava-shelf .cpa-card-price, .ava-shelf .cpa-card-from { font-size: 20px; line-height: 24px; font-weight: 700; }
    .ava-shelf .cpa-card-unit { font-size: 13px; line-height: 17px; }
    .ava-shelf .ava-atc { min-width: 99px; }
    .ava-shelf .ava-btn.ava-btn { min-width: 99px; width: 99px; height: 37px; padding: 0 8px; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; }
    .ava-shelf .ava-stepper { width: 99px; height: 37px; }
}

/* ---- local store (428, cream; frame pdp-desktop-local-store): card 1240 × 300 radius 12 = map 440 | navy 800 padding 36 44 38
        with the frame's ring artwork (img/pdp-visit-rings.png, x 907–1340): eyebrow 11.5 / 600 / .14em red, "Visit the shop"
        28 / 700, pin + clock columns (14 / 23; clock at +318), chips 32 tall 12.5 / 400 (gap 9), buttons 41 tall
        (GET DIRECTIONS 161 white, STORE DETAILS 153 outline 1.5 px) 13.5 / 600 / .05em gap 11 ---- */
.ava-visit__eyebrow { margin: 0; font-size: 11.5px; line-height: 14px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ava-red); }
@media (min-width: 900px) {
    .ava-pdp-visit-band .ava-visit { flex-direction: row; min-height: 300px; border-radius: 12px; }
    .ava-pdp-visit-band .ava-visit__map { flex: 0 0 440px; min-height: 300px; }
    .ava-pdp-visit-band .ava-visit__map iframe { height: 300px; min-height: 300px; }
    .ava-pdp-visit-band .ava-visit__card { flex: 1 1 auto; gap: 0; padding: 36px 44px 38px; background: url(../img/pdp-visit-rings.png) no-repeat right 0 top 0 / 433px 300px; }
    .ava-pdp-visit-band .ava-visit__title { margin: 14px 0 0; font-size: 28px; line-height: 34px; }
    .ava-pdp-visit-band .ava-visit__rows { display: grid; grid-template-columns: 274px 1fr; gap: 0; margin-top: 14px; }
    .ava-pdp-visit-band .ava-visit__rows li { gap: 10px; font-size: 14px; line-height: 23px; }
    .ava-pdp-visit-band .ava-visit__rows svg { flex: 0 0 14px; width: 14px; height: 14px; margin-top: 4px; }
    .ava-pdp-visit-band .ava-visit__rows small { font-size: 14px; line-height: 23px; color: #ffffff; }
    .ava-pdp-visit-band .ava-visit__chips { gap: 9px; margin-top: 17px; }
    .ava-pdp-visit-band .ava-visit__chips span { min-height: 32px; padding: 0 12px; border-color: rgba(255, 255, 255, 0.5); font-size: 12.5px; font-weight: 400; }
    .ava-pdp-visit-band .ava-visit__btns { gap: 11px; margin-top: 16px; }
    .ava-pdp-visit-band .ava-visit__btn { flex: 0 0 auto; min-height: 41px; height: 41px; padding: 0 20px; border-radius: 4px; font-size: 13.5px; font-weight: 600; letter-spacing: 0.05em; }
    .ava-pdp-visit-band .ava-visit__btn--white { min-width: 161px; }
    .ava-pdp-visit-band .ava-visit__btn--outline { min-width: 153px; border-width: 1.5px; }
}
@media (max-width: 767px) { .ava-visit__eyebrow { display: none; } }

/* reviews card anatomy per width (desktop frame: stars + age / author + Verified; mobile frame: stars + Verified / author · age) */
.ava-rev__m { display: none; }
@media (max-width: 767px) { .ava-rev__d { display: none !important; } .ava-rev__m { display: inline; } .ava-rev__card-head .ava-rev__verified.ava-rev__m, .ava-rev__reply-foot.ava-rev__m { display: flex; } .ava-pdp-reviews-band .ava-rev__card-head { justify-content: space-between; } }

/* sold-out / no-price / discontinued boards draw no auto-reorder row (pdp-no-variant-sold-out, pdp-one-variant-sold-out, pdp-discontinued) */
.ava-pdp-hero:has(.cpc-product-summary:not([data-state="idle"])) .elementor-element-40964d9 { display: none !important; }

/* ---- sticky bar (frames stickybar-system-desktop / -mobile): the ladder draws no "SIZE" group label; on desktop the spec
        and the stock share one line ("THC 24.1% · $12.86/g · In stock"), name 15 / 600 ---- */
.ava-sticky[data-layout="ladder"] .ava-sticky__group-label { display: none; }
.ava-sticky__name { font-weight: 600; }
@media (min-width: 768px) {
    .ava-sticky__text { display: block; }
    .ava-sticky__text > .ava-sticky__name, .ava-sticky__text > .ava-sticky__title-row { display: block; }
    .ava-sticky__text > .ava-sticky__spec, .ava-sticky__text > .ava-sticky__stock { display: inline; }
    .ava-sticky__text > .ava-sticky__spec:not(:empty) + .ava-sticky__stock:not(:empty)::before { content: " ·  "; color: var(--ava-gray); font-weight: 400; }
}
/* ==== mobile 375 (frame pdp-mobile; gutters 19) ==== */
@media (max-width: 767px) {
    /* crumb: one line (the frame never wraps it) */
    .ava-pdp-crumb-band .woocommerce-breadcrumb, .elementor-757 .elementor-element.elementor-element-6e53783 .woocommerce-breadcrumb { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13px !important; line-height: 24px !important; }
    .ava-pdp-crumb-band .woocommerce-breadcrumb .ava-crumb:last-child { font-weight: 500; }
    /* buy box: brand 11 / 600 / .1em at +23 under the gallery, title 30 / 700 / 36 (-.02em), meta 15 / 22, size pills 34 from
       x 79 (rows 11 apart), price 31.5 / 700, stock, ADD TO CART 340 x 51 (the mobile frame has no qty box and no SAVE badge) */
    .ava-pdp-hero .cpc-header-row { margin-top: 0; }
    .ava-pdp-hero .eael-single-product-images .product_image_slider__container { margin-bottom: 0 !important; }
    .ava-pdp-hero .cpc-brand-name { font-size: 11px; line-height: 16px; font-weight: 600; letter-spacing: 0.1em; }
    .ava-pdp-hero .cpc-rating-box { font-size: 14px; }
    .ava-pdp-hero .cpc-product-title { font-size: 30px; line-height: 36px; letter-spacing: -0.02em; margin: 5px 0 10px !important; }
    .ava-pdp-hero .cpc-meta-row { font-size: 15px; line-height: 22px; padding-bottom: 12px; }
    .ava-pdp-hero .cpc-attributes-section { margin-top: 13px; }
    .ava-pdp-hero .cpc-attribute-row { align-items: flex-start; margin-bottom: 11px; }
    .ava-pdp-hero .cpc-attribute-label { width: 48px; line-height: 34px; }
    .ava-pdp-hero .cpc-pills-container { gap: 11px 12px; }
    .ava-pdp-hero .cpc-pricing-row { margin-top: 7px; }
    .ava-pdp-hero .cpc-active-price { font-size: 31.5px; line-height: 36px; }
    .ava-pdp-hero .cpc-regular-price { font-size: 23.5px; line-height: 36px; }
    .ava-pdp-hero .cpc-unit-price { font-size: 15px; }
    .ava-pdp-hero .cpc-save-badge, .ava-pdp-hero .cpc-qty { display: none !important; }
    .ava-pdp-hero .cpc-stock-row { margin-top: 10px; }
    .ava-pdp-hero .cpc-actions-row { margin-top: 36px; }
    .ava-pdp-hero .cpc-actions-row .cpc-add-to-cart-btn, .ava-pdp-hero .cpc-actions-row .cpc-notify-btn { height: 51px; }
    .ava-pdp-hero .elementor-element-367b17c { margin-top: 48px; }
    .ava-pdp-hero .elementor-element-da38025 .elementor-icon-list-text { font-size: 12px !important; font-weight: 400 !important; }
    .ava-pdp-hero .elementor-element-40964d9 { margin-top: 13px; }
    .ava-pdp-hero .ava-reorder__radios { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .ava-pdp-hero .ava-reorder__card { padding: 24px; }
    .ava-pdp-hero .elementor-element-1f9db88 { margin-top: 15px !important; min-height: 90px; }
    .ava-pdp-hero .elementor-element-1f9db88 .elementor-icon-box-title, .ava-pdp-hero .elementor-element-1f9db88 .elementor-icon-box-title * { font-size: 15px !important; }
    /* decision support: snapshot 339 x 516 (padding 20 17 19), tastes 239, description 19 / 700 H + 15 / 23 body, tiles 104 x 72
       gap 13, navy note 54, tip 13 / 19 */
    .ava-pdp-decision .elementor-element-209afda, .ava-pdp-decision .elementor-element-bcf8d50 { padding: 20px 17px 19px !important; }
    .ava-pdp-decision .elementor-element-46b5b00 .elementor-heading-title, .ava-pdp-decision .elementor-element-13be4d5 .elementor-heading-title, .ava-pdp-decision .elementor-element-f3f35a4 .eael-single-product-description h2, .ava-pdp-decision .cpc-instructions .cpc-h2 { font-size: 19px !important; line-height: 24px !important; }
    .ava-pdp-decision .cpc-experience-copy, .ava-pdp-decision .cpc-taste-copy { font-size: 14px; line-height: 21px; }
    .ava-pdp-decision .elementor-element-f3f35a4 .eael-single-product-description p { font-size: 15px; line-height: 23px; }
    .ava-pdp-decision .cpc-instructions .cpc-instructions-row { gap: 13px; margin-top: 16px; }
    .ava-pdp-decision .cpc-instructions .cpc-instructions-col { padding: 15px 6px; }
    .ava-pdp-decision .cpc-range-note { margin-top: 11px; min-height: 54px; }
    .ava-pdp-decision .cpc-beginner-tip { margin-top: 17px; font-size: 13px; line-height: 19px; }
    /* the lab card joins the cream brand / FAQ band (the mobile frame draws one continuous cream band from 3100) */
    .ava-pdp-decision .elementor-element-2c98730 { margin: 28px -19px 0 !important; width: calc(100% + 38px) !important; max-width: none; border: 0 !important; border-radius: 0 !important; padding: 24px 24px 26px !important; }
    /* brand + FAQ */
    .ava-pdp-brandfaq .cpc-brand-eyebrow { margin-top: 0; }
    .ava-pdp-brandfaq .cpc-brand-more { margin-bottom: 0; }
    .ava-pdp-brandfaq .cpc-faq-main-title { font-size: 19px; line-height: 24px; }
    .ava-pdp-brandfaq .cpc-faq-section .cpc-faq-question, .ava-pdp-brandfaq .cpc-faq-section .cpc-faq-question:hover, .ava-pdp-brandfaq .cpc-faq-section .cpc-faq-question:focus { padding: 19px 18px 19px 16px !important; }
    .ava-pdp-brandfaq .cpc-faq-answer { padding: 0 18px 18px 16px; }
    /* reviews: summary tile 339 x 72 ("4.5" 36 / 700 left, stars + line right), chips, cards, LOAD MORE left + WRITE right */
    .ava-pdp-reviews-band .ava-rev__summary { display: flex; align-items: center; gap: 14px; min-height: 72px; padding: 0 18px; margin: 0 0 16px; border-radius: 12px; }
    .ava-pdp-reviews-band .ava-rev__avg { font-size: 36px; line-height: 40px; }
    .ava-pdp-reviews-band .ava-rev__summary-body { margin-top: 0; gap: 6px; }
    .ava-pdp-reviews-band .ava-rev__tags { margin: 0 0 16px; }
    .ava-pdp-reviews-band .ava-rev__card { padding: 18px; }
    .ava-pdp-reviews-band .ava-rev__reply { margin-left: 0; }
    .ava-pdp-reviews-band .ava-rev .ava-rev__write { border: 0 !important; height: auto !important; min-height: 0 !important; color: var(--ava-red) !important; }
    /* shelves: two 160-wide cards (gap 14) + dots */
    .ava-shelf .ava-shelf__track { grid-auto-columns: 160px; gap: 14px; }
    .ava-pdp-cross-band .elementor-widget-heading:nth-child(2) .elementor-heading-title, .ava-pdp-related-band .elementor-widget-heading:nth-child(2) .elementor-heading-title { font-size: 19px !important; line-height: 24px !important; font-weight: 700 !important; }
    .ava-pdp-cross-band .elementor-widget-shortcode, .ava-pdp-related-band .elementor-widget-shortcode { margin-top: 16px !important; }
    /* local store: map 110 on top, navy 232 */
    .ava-pdp-visit-band .ava-visit__map, .ava-pdp-visit-band .ava-visit__map iframe { min-height: 110px; height: 110px; }
    .ava-pdp-visit-band .ava-visit__card { padding: 20px 20px 22px; gap: 12px; }
    .ava-pdp-visit-band .ava-visit__title { font-size: 17px; line-height: 22px; }
    .ava-pdp-visit-band .ava-visit__rows li, .ava-pdp-visit-band .ava-visit__rows small { font-size: 13px; line-height: 19px; }
    .ava-pdp-visit-band .ava-visit__chips { flex-wrap: nowrap; gap: 6px; }
    .ava-pdp-visit-band .ava-visit__chips span { min-height: 32px; padding: 0 9px; font-size: 11.5px; white-space: nowrap; }
    .ava-pdp-visit-band .ava-visit__btns { flex-wrap: nowrap; gap: 10px; }
    .ava-pdp-visit-band .ava-visit__btn { flex: 1 1 0; min-width: 0; min-height: 40px; height: 40px; padding: 0 8px; font-size: 12px; }
}

/* mobile shelves = the collection's mobile card anatomy (frame pdp-mobile shelves: round 29 px red "+", compact stepper,
   the black THC chip under the title) */
@media (max-width: 767px) {
    .ava-shelf .ava-atc { min-width: 0; min-height: 29px; }
    .ava-shelf .ava-atc .ava-btn[data-act="add"], .ava-shelf .ava-atc .ava-btn[data-act="select"] { width: 29px; min-width: 29px; height: 29px; padding: 0; border-radius: 50%; font-size: 0; line-height: 0; gap: 0; justify-content: center; }
    .ava-shelf .ava-atc .ava-btn[data-act="add"] > span, .ava-shelf .ava-atc .ava-btn[data-act="select"]::before { font-size: 20px; line-height: 1; font-weight: 500; }
    .ava-shelf .ava-atc .ava-btn[data-act="select"]::before { content: "+"; }
    .ava-shelf .ava-atc .ava-btn[data-act="select"] svg { display: none; }
    .ava-shelf .ava-atc .ava-btn[data-act="notify"] { min-width: 0; height: 29px; padding: 0 8px; font-size: 10px; letter-spacing: 0.06em; }
    .ava-shelf .ava-atc .ava-stepper { width: 82px; height: 29px; }
    .ava-shelf .ava-atc .ava-stepper button { width: 26px; font-size: 15px; }
    .ava-shelf .cpa-card-thc-chip { display: inline-flex; align-items: center; align-self: flex-start; height: 20px; margin-top: 6px; padding: 0 6px; border-radius: 3px; background: #151515; color: #ffffff; font-size: 9.5px; font-weight: 600; text-transform: uppercase; }
    .ava-shelf .cpa-card-specs, .ava-shelf .cpa-card-dominance { display: none; }
}

/* ==== tablet / laptop (no frames): keep the 1440 composition in a fluid box with 40 px gutters; the hero and the decision
   row stack below 900 px, where the two columns can no longer hold the buy box and the lab card ==== */
@media (min-width: 768px) and (max-width: 1320px) {
    .ava-pdp-crumb-band, .ava-pdp-hero, .ava-pdp-decision, .ava-pdp-brandfaq, .ava-pdp-reviews-band, .ava-pdp-cross-band, .ava-pdp-related-band, .ava-pdp-visit-band { padding-left: 40px !important; padding-right: 40px !important; }
    .ava-pdp-hero .elementor-element-da38025 .elementor-icon-list-items { flex-wrap: wrap; row-gap: 8px; }
    .ava-shelf .ava-shelf__track { grid-auto-columns: calc((100% - 4 * 25px) / 5); }
}
@media (min-width: 768px) and (max-width: 1100px) {
    .ava-shelf .ava-shelf__track { grid-auto-columns: calc((100% - 2 * 25px) / 3); }
    .ava-shelf .ava-shelf__arrow, .ava-shelf .ava-shelf__dots { display: flex !important; }
}
@media (min-width: 768px) and (max-width: 900px) {
    .ava-pdp-hero > .e-con-inner, .ava-pdp-decision .elementor-element-eda6078, .ava-pdp-brandfaq .elementor-element-03d3f95 > .e-con-inner { flex-direction: column !important; }
    .ava-pdp-hero .elementor-element-283254b, .ava-pdp-hero .elementor-element-d65cbbe, .ava-pdp-decision .elementor-element-5a66f6e, .ava-pdp-decision .elementor-element-2c98730, .ava-pdp-brandfaq .elementor-element-8477384, .ava-pdp-brandfaq .elementor-element-0343d90 { width: 100% !important; max-width: none; }
    .ava-pdp-reviews-band .ava-rev { grid-template-columns: 1fr; }
    .ava-pdp-reviews-band .ava-rev::before, .ava-pdp-reviews-band .ava-rev__summary-slot, .ava-pdp-reviews-band .ava-rev__tags-slot, .ava-pdp-reviews-band .ava-rev .ava-rev__write, .ava-pdp-reviews-band .ava-rev__list, .ava-pdp-reviews-band .ava-rev__none, .ava-pdp-reviews-band .ava-rev .ava-rev__more { grid-column: 1; grid-row: auto; }
    .ava-pdp-reviews-band .ava-rev::before { display: none; }
    .ava-pdp-reviews-band .ava-rev__summary-slot, .ava-pdp-reviews-band .ava-rev__tags-slot { background: var(--ava-cream); }
    .ava-pdp-reviews-band .ava-rev__summary-slot { border-radius: 12px 12px 0 0; }
    .ava-pdp-reviews-band .ava-rev__tags-slot { border-radius: 0 0 12px 12px; padding-bottom: 20px; margin-bottom: 16px; }
}

/* >>> Lane V2 pdp */
/* d = Figma 1:3481: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-3481-d-product-custom.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-6e53783 span.ava-crumb-sep { color: #6b685e !important; line-height: 19.5px !important; display: inline-block !important; vertical-align: top !important; padding-top: 2.25px !important; padding-bottom: 2.25px !important; }
}

/* d = Figma 1:3489: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-3489-d-product-custom.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 a.cpc-brand-name { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 1.04px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 span.cpc-meta-thc { line-height: 24.8px !important; position: relative !important; top: -0.4px !important; margin-bottom: -0.8px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 div.cpc-attribute-label { font-size: 14px !important; line-height: 21.7px !important; position: relative !important; top: -0.85px !important; margin-bottom: -1.7px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 span.cpc-pill-label { letter-spacing: 0.26px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 span.cpc-instock-msg { font-size: 14px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 span.cpc-qty-val { font-weight: 700 !important; line-height: 23.25px !important; padding-top: 0.75px !important; padding-bottom: 0.75px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 button.cpc-qty-btn { font-weight: 700 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 span.cpc-btn-label { letter-spacing: 0.3px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-da38025 span.elementor-icon-list-text { font-size: 12px !important; font-weight: 400 !important; color: #151515 !important; line-height: 18px !important; position: relative !important; top: -1px !important; margin-bottom: -2px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-40964d9 span.ava-reorder__label { font-size: 12px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-c085f27 .elementor-icon-box-title > span { line-height: 21.7px !important; display: inline-block !important; vertical-align: top !important; position: relative !important; top: -0.85px !important; margin-bottom: -1.7px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-c085f27 p.elementor-icon-box-description { color: #edebe1 !important; line-height: 18px !important; position: relative !important; top: -0.5px !important; margin-bottom: -1px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-c6da12a span.elementor-button-text { font-weight: 600 !important; letter-spacing: 0.24px !important; }
}

/* d = Figma 1:3615: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-3615-d-product-custom.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-46b5b00 > h2.elementor-heading-title { line-height: 26.4px !important; position: relative !important; top: -1.2px !important; margin-bottom: -2.4px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-2fa2417 > span.elementor-heading-title { letter-spacing: 0 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-13be4d5 > h2.elementor-heading-title { line-height: 26.4px !important; position: relative !important; top: -1.2px !important; margin-bottom: -2.4px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-a74fed5 span.cpc-aroma-title { font-size: 12px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-f3f35a4 h2 > strong { color: #151515 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-03ae890 .cpc-instructions-col > h4 { font-size: 18px !important; font-weight: 700 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-03ae890 .cpc-instructions-col > span { font-weight: 400 !important; letter-spacing: 0 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-03ae890 div.cpc-range-note { font-size: 13px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-03ae890 p.cpc-beginner-tip { font-size: 13px !important; line-height: 18.85px !important; padding-top: 0.57px !important; padding-bottom: 0.57px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-e6783d3 .cpc-lab-thc-total > h6 { color: #151515 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-e6783d3 span.cpc-lab-data-label { letter-spacing: 0 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-e6783d3 .cpc-lab-data-label > sub { letter-spacing: 0 !important; color: #151515 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-e6783d3 .cpc-lab-cta > a { letter-spacing: 0.26px !important; }
}

/* d = Figma 1:3821: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-3821-d-product-custom.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-b1a2c3d p.cpc-brand-eyebrow { font-size: 12px !important; letter-spacing: 1.44px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-b1a2c3d a.cpc-brand-more { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.26px !important; line-height: 13px !important; padding-top: 24.5px !important; padding-bottom: 0.5px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-175108e h3.cpc-faq-subtitle { font-weight: 600 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-175108e span.cpc-faq-question-text { line-height: 23.25px !important; position: relative !important; top: -1.62px !important; margin-bottom: -3.25px !important; }
}

/* d = Figma 1:3869: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-3869-d-product-custom.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-be40bce > p.elementor-heading-title { font-size: 12px !important; letter-spacing: 1.44px !important; line-height: 14.4px !important; position: relative !important; top: -0.7px !important; margin-bottom: -1.4px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-c803581 > h2.elementor-heading-title { letter-spacing: -0.3px !important; line-height: 33px !important; padding-top: 3px !important; padding-bottom: 3px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-d3ec563 button.ava-rev__write { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.26px !important; }
}

/* d = Figma 1:3954: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-3954-d-product-custom.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-721a729 > p.elementor-heading-title { font-size: 12px !important; letter-spacing: 1.44px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-20c0b13 > h2.elementor-heading-title { font-size: 30px !important; font-weight: 700 !important; letter-spacing: -0.3px !important; line-height: 33px !important; padding-top: 0.5px !important; padding-bottom: 0.5px !important; }
}

/* d = Figma 1:4069: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-4069-d-product-custom.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-6e6badd > p.elementor-heading-title { font-size: 12px !important; letter-spacing: 1.44px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-4085858 > h2.elementor-heading-title { font-size: 30px !important; font-weight: 700 !important; letter-spacing: -0.3px !important; line-height: 33px !important; padding-top: 0.5px !important; padding-bottom: 0.5px !important; }
}

/* d = Figma 1:4184: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-4184-d-product-custom.css.css) */
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de p.ava-visit__eyebrow { font-size: 12px !important; letter-spacing: 1.44px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de h3.ava-visit__title { line-height: 33.04px !important; padding-top: 0.48px !important; padding-bottom: 0.48px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de li > span { line-height: 21px !important; padding-top: 1px !important; padding-bottom: 1px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de .ava-visit__chips > span { font-size: 12px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de a.ava-visit__btn.ava-visit__btn--white { font-size: 13px !important; letter-spacing: 0.26px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de a.ava-visit__btn.ava-visit__btn--white:not(:hover):not(:focus-visible) { color: #193e81 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de a.ava-visit__btn.ava-visit__btn--outline { font-size: 13px !important; letter-spacing: 0.26px !important; }
}

/* m = Figma 1:1939: generated by tools/qa/V2_fixgen.py (node ids per rule in qa/laneV2/cmp/pdp-1-1939-m-product-custom.css.css) */
@media (max-width: 767px) {
  html body:not(#v2x) .elementor-757 .elementor-element-6e53783 .ava-crumb > a { font-size: 12px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-6e53783 span.ava-crumb-sep { font-size: 12px !important; color: #6b685e !important; line-height: 18px !important; display: inline-block !important; vertical-align: top !important; padding-top: 3px !important; padding-bottom: 3px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-5ffa5ff span.ast-on-card-button.ast-onsale-card.ava-badge { font-size: 11.47px !important; letter-spacing: 0.918px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 a.cpc-brand-name { font-size: 12px !important; letter-spacing: 0.96px !important; line-height: 14.4px !important; padding-top: 0.8px !important; padding-bottom: 0.8px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-68922d0 span.cpc-instock-msg { font-size: 13px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-40964d9 span.ava-reorder__label { font-size: 12px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-c085f27 .elementor-icon-box-title > span { font-size: 14px !important; line-height: 21.7px !important; display: inline-block !important; vertical-align: top !important; position: relative !important; top: -0.85px !important; margin-bottom: -1.7px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-c085f27 span > span { font-size: 14px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-c085f27 p.elementor-icon-box-description { color: #edebe1 !important; line-height: 18px !important; position: relative !important; top: -0.5px !important; margin-bottom: -2px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-c6da12a span.elementor-button-text { font-weight: 600 !important; letter-spacing: 0.24px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-46b5b00 > h2.elementor-heading-title { line-height: 22.8px !important; padding-top: 0.6px !important; padding-bottom: 0.6px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-2fa2417 > span.elementor-heading-title { font-size: 11px !important; letter-spacing: 0 !important; color: #ffffff !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-13be4d5 > h2.elementor-heading-title { line-height: 22.8px !important; padding-top: 0.6px !important; padding-bottom: 0.6px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-a74fed5 span.cpc-aroma-title { font-size: 12px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-f3f35a4 h2 > strong { color: #151515 !important; line-height: 22.8px !important; display: inline-block !important; vertical-align: top !important; padding-top: 0.6px !important; padding-bottom: 0.6px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-03ae890 li > span { line-height: 19.6px !important; display: inline-block !important; vertical-align: top !important; position: relative !important; top: -0.35px !important; margin-bottom: -0.7px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-03ae890 .cpc-description-points > li { line-height: 19.6px !important; top: -0.35px !important; margin-bottom: -0.7px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-03ae890 .cpc-instructions-col > h4 { font-size: 16px !important; font-weight: 700 !important; line-height: 19.2px !important; padding-top: 1.4px !important; padding-bottom: 1.4px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-03ae890 div.cpc-range-note { font-size: 13px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-e6783d3 .cpc-lab-thc-total > h6 { color: #151515 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-e6783d3 span.cpc-lab-data-label { letter-spacing: 0 !important; text-transform: none !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-e6783d3 .cpc-lab-data-label > sub { letter-spacing: 0 !important; color: #151515 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-e6783d3 .cpc-lab-batch-fact > h4 { text-transform: none !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-e6783d3 .cpc-lab-cta > a { letter-spacing: 0.26px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-b1a2c3d p.cpc-brand-eyebrow { font-size: 12px !important; letter-spacing: 1.44px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-b1a2c3d a.cpc-brand-more { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.26px !important; line-height: 13px !important; padding-top: 24.5px !important; padding-bottom: 0.5px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-175108e h3.cpc-faq-subtitle { font-weight: 600 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-175108e h2.cpc-faq-main-title { line-height: 22.8px !important; padding-top: 0.6px !important; padding-bottom: 0.6px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-175108e span.cpc-faq-question-text { line-height: 23.25px !important; position: relative !important; top: -1.62px !important; margin-bottom: -3.25px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-be40bce > p.elementor-heading-title { font-size: 12px !important; letter-spacing: 1.44px !important; line-height: 14.4px !important; position: relative !important; top: -0.7px !important; margin-bottom: -1.4px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-c803581 > h2.elementor-heading-title { font-size: 19px !important; line-height: 22.8px !important; padding-top: 2.9px !important; padding-bottom: 2.9px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-d3ec563 button.ava-rev__write { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.26px !important; line-height: 13px !important; position: relative !important; top: -0.5px !important; margin-bottom: -1px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-721a729 > p.elementor-heading-title { font-size: 12px !important; letter-spacing: 1.44px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-20c0b13 > h2.elementor-heading-title { line-height: 22.8px !important; padding-top: 0.6px !important; padding-bottom: 0.6px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-6e6badd > p.elementor-heading-title { font-size: 12px !important; letter-spacing: 1.44px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-4085858 > h2.elementor-heading-title { line-height: 22.8px !important; padding-top: 0.6px !important; padding-bottom: 0.6px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de li > span { font-size: 11px !important; line-height: 16.5px !important; padding-top: 1.25px !important; padding-bottom: 1.25px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de .ava-visit__chips > span { font-size: 11px !important; font-weight: 400 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de a.ava-visit__btn.ava-visit__btn--white { font-size: 13px !important; letter-spacing: 0.26px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de a.ava-visit__btn.ava-visit__btn--white:not(:hover):not(:focus-visible) { color: #193e81 !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-cb5b2de a.ava-visit__btn.ava-visit__btn--outline { font-size: 13px !important; letter-spacing: 0.26px !important; }
}

/* hand-written (components, boxes, states) */
/* PDP buy box (Figma hero 1:3489, mobile 1:1939): exact tokens from the Figma API */
html body:not(#v2x) .elementor-757 .cpc-pill-btn, html body:not(#v2x) .elementor-757 .cpc-product-form .cpc-add-to-cart-btn { box-shadow: none !important; }
html body:not(#v2x) .elementor-757 .cpc-status-dot { background-color: #193E81 !important; }
html body:not(#v2x) .elementor-757 .cpc-regular-price { font-weight: 700 !important; letter-spacing: -0.24px !important; color: rgba(21, 21, 21, 0.25) !important; }
html body:not(#v2x) .elementor-757 .cpc-save-badge { border-radius: 3px !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: 0.8px !important; line-height: 12px !important; }
html body:not(#v2x) .elementor-757 .cpc-pill-label { letter-spacing: 0.26px !important; }
@media (min-width: 1025px) {
  html body:not(#v2x) .elementor-757 .cpc-meta-row { line-height: 24.8px !important; }
  html body:not(#v2x) .elementor-757 .cpc-product-title { font-size: 44px !important; line-height: 45.76px !important; letter-spacing: -0.44px !important; }
  html body:not(#v2x) .elementor-757 .cpc-attribute-label { font-size: 14px !important; line-height: 21.7px !important; }
  html body:not(#v2x) .elementor-757 .cpc-pill-btn { height: 35px !important; padding-left: 18px !important; padding-right: 18px !important; }
  html body:not(#v2x) .elementor-757 .cpc-active-price { font-size: 36px !important; letter-spacing: -0.36px !important; }
  html body:not(#v2x) .elementor-757 .cpc-regular-price { font-size: 24px !important; }
  html body:not(#v2x) .elementor-757 .cpc-unit-price { font-size: 15px !important; line-height: 22.5px !important; }
  html body:not(#v2x) .elementor-757 .cpc-stock-in, html body:not(#v2x) .elementor-757 .cpc-instock-msg { font-size: 14px !important; line-height: 21px !important; }
  html body:not(#v2x) .elementor-757 .cpc-qty { width: 115px !important; height: 54px !important; border-color: #DCD8CA !important; }
  html body:not(#v2x) .elementor-757 .cpc-qty-val { font-weight: 700 !important; }
  html body:not(#v2x) .elementor-757 .cpc-qty-btn { font-weight: 700 !important; }
  html body:not(#v2x) .elementor-757 .cpc-product-form .cpc-add-to-cart-btn { letter-spacing: 0.3px !important; }
  html body:not(#v2x) .elementor-757 .cpc-product-form .cpc-add-to-cart-btn .cpc-btn-label { letter-spacing: 0.3px !important; }
}
@media (max-width: 767px) {
  html body:not(#v2x) .elementor-757 .cpc-meta-row { line-height: 23.25px !important; }
  html body:not(#v2x) .elementor-757 .cpc-product-title { line-height: 31.8px !important; letter-spacing: -0.3px !important; }
  html body:not(#v2x) .elementor-757 .cpc-attribute-label { font-size: 14px !important; }
  html body:not(#v2x) .elementor-757 .cpc-pill-btn { height: 33px !important; }
  html body:not(#v2x) .elementor-757 .cpc-active-price { font-size: 36px !important; letter-spacing: -0.36px !important; }
  html body:not(#v2x) .elementor-757 .cpc-regular-price { font-size: 24px !important; }
  html body:not(#v2x) .elementor-757 .cpc-unit-price { line-height: 22.5px !important; }
  html body:not(#v2x) .elementor-757 .cpc-stock-in, html body:not(#v2x) .elementor-757 .cpc-instock-msg { font-size: 13px !important; }
  html body:not(#v2x) .elementor-757 .cpc-product-form .cpc-add-to-cart-btn { height: 49px !important; letter-spacing: 0.3px !important; }
  html body:not(#v2x) .elementor-757 .cpc-product-form .cpc-add-to-cart-btn .cpc-btn-label { letter-spacing: 0.3px !important; }
}
/* sticky add-to-cart bar (mobile system 1:28916 ladder, simple bar 1:28900) */
@media (max-width: 767px) {
  html body:not(#v2x) .ava-sticky[data-layout="ladder"] { border-radius: 8px 8px 0 0 !important; border-top-color: #DBD9C9 !important; padding: 11px 16px 14px !important; box-shadow: 0 2px 14px rgba(0, 0, 0, 0.12) !important; }
  html body:not(#v2x) .ava-sticky[data-layout="none"] { padding: 11px 16px 12px !important; }
  html body:not(#v2x) .ava-sticky .ava-sticky__tile { border-radius: 8px !important; border-color: #DBD9C9 !important; box-shadow: none !important; padding: 10px 6px !important; gap: 1px !important; }
  html body:not(#v2x) .ava-sticky .ava-sticky__tile.is-selected { border-color: #FF4438 !important; }
  html body:not(#v2x) .ava-sticky .ava-sticky__tile-label { font-size: 14px !important; line-height: 18px !important; }
  html body:not(#v2x) .ava-sticky .ava-sticky__tile-unit { font-weight: 600 !important; letter-spacing: 0.18px !important; line-height: 12px !important; color: #6B695E !important; }
  html body:not(#v2x) .ava-sticky .ava-sticky__tile.is-selected .ava-sticky__tile-unit { color: #FFE5E0 !important; }
  html body:not(#v2x) .ava-sticky .ava-sticky__tile-price { font-size: 12px !important; font-weight: 600 !important; line-height: 16px !important; }
  html body:not(#v2x) .ava-sticky .ava-sticky__best { background-color: #AD8C5C !important; border-radius: 4px !important; padding: 3px 7px !important; line-height: 10px !important; letter-spacing: 0.24px !important; }
  html body:not(#v2x) .ava-sticky[data-layout="ladder"] .ava-sticky__thumb { width: 42px !important; height: 42px !important; border-radius: 8px !important; }
  html body:not(#v2x) .ava-sticky[data-layout="ladder"] .ava-sticky__name { font-size: 14px !important; font-weight: 700 !important; line-height: 18px !important; }
  html body:not(#v2x) .ava-sticky[data-layout="ladder"] .ava-sticky__spec { font-size: 11.5px !important; line-height: 15px !important; color: #6B695E !important; }
  html body:not(#v2x) .ava-sticky[data-layout="ladder"] .ava-sticky__stock { font-size: 11.5px !important; font-weight: 400 !important; line-height: 15px !important; color: #2E6E3E !important; }
  html body:not(#v2x) .ava-sticky[data-layout="ladder"] .ava-sticky__btn { height: 44px !important; border-radius: 8px !important; padding: 0 20px !important; box-shadow: none !important; font-size: 14px !important; letter-spacing: 0.14px !important; }
  html body:not(#v2x) .ava-sticky[data-layout="none"] .ava-sticky__name { font-size: 13px !important; line-height: 20.15px !important; }
  html body:not(#v2x) .ava-sticky[data-layout="none"] .ava-sticky__spec { line-height: 18px !important; }
  html body:not(#v2x) .ava-sticky[data-layout="none"] .ava-sticky__btn { height: 44px !important; padding: 0 24px !important; box-shadow: none !important; font-size: 14px !important; letter-spacing: 0.28px !important; }
}

/* second pass (LEFT rows reviewed): navy #193E81 on the beginner note + local store card, stat / FAQ / shelf strokes #DCD8CA,
   FAQ radius 10 (desktop without stroke), shelf cards 6 / 8 with a 3 px Add, store chips white, outline 1.4 px, formula line 12 / #151515 */
html body:not(#v2x) .elementor-757 .cpc-range-note { background-color: #193E81 !important; }
html body:not(#v2x) .elementor-757 .cpc-instructions-col { border-color: #DCD8CA !important; }
html body:not(#v2x) .elementor-757 .cpc-faq-accordion { border-radius: 10px !important; }
html body:not(#v2x) .elementor-757 .cpc-faq-item { border-bottom-color: #DCD8CA !important; }
html body:not(#v2x) .elementor-757 .ava-visit { background-color: #193E81 !important; }
html body:not(#v2x) .elementor-757 .ava-visit__chips span { border-color: #FFFFFF !important; }
html body:not(#v2x) .elementor-757 .cpc-lab-data-label small { font-size: 12px !important; line-height: 14.85px !important; color: #151515 !important; }
html body:not(#v2x) .elementor-757 .cpc-lab-cta > a { border-width: 1.4px !important; }
html body:not(#v2x) .elementor-757 .ava-shelf .cpa-product-card { border-color: #DCD8CA !important; }
@media (min-width: 768px) {
  html body:not(#v2x) .elementor-757 .cpc-faq-accordion { border-color: transparent !important; }
  html body:not(#v2x) .elementor-757 .ava-shelf .cpa-product-card { border-radius: 6px !important; }
  html body:not(#v2x) .elementor-757 .ava-shelf .ava-atc .ava-btn { border-radius: 3px !important; }
  html body:not(#v2x) .elementor-757 .ava-visit__btn--outline { border-width: 1.4px !important; }
}
@media (max-width: 767px) {
  html body:not(#v2x) .elementor-757 .cpc-faq-accordion { border-color: #DCD8CA !important; }
  html body:not(#v2x) .elementor-757 .ava-shelf .cpa-product-card { border-radius: 8px !important; }
  /* round 29 px "+" as drawn (1:2476): the "Add" label stays for screen readers via aria-label; Lane B's 11 px rule had made it spill out of the circle */
  html body:not(#v2x) .elementor-757 .ava-shelf .ava-atc .ava-btn[data-act="add"], html body:not(#v2x) .elementor-757 .ava-shelf .ava-atc .ava-btn[data-act="select"] { font-size: 0 !important; letter-spacing: 0 !important; }
  html body:not(#v2x) .elementor-757 .ava-shelf .ava-atc .ava-btn[data-act="add"] > span, html body:not(#v2x) .elementor-757 .ava-shelf .ava-atc .ava-btn[data-act="select"]::before { font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0.3px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-1f9db88 { border-radius: 6px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-209afda, html body:not(#v2x) .elementor-757 .elementor-element-bcf8d50 { border-radius: 10px !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-2c98730 { border-radius: 12px !important; box-shadow: inset 0 0 0 1px #DCD8CA !important; }
  html body:not(#v2x) .elementor-757 .elementor-element-8477384 { border-radius: 10px !important; box-shadow: inset 0 0 0 1px #DCD8CA !important; }
  html body:not(#v2x) .elementor-757 .ava-rev__summary { border-radius: 10px !important; box-shadow: inset 0 0 0 1px #DCD8CA !important; }
  html body:not(#v2x) .elementor-757 .ava-pdp-visit-band .ava-visit { border-radius: 10px !important; }
}
/* <<< Lane V2 pdp */

/* >>> Auditor B — reviews (Figma MCP tokens: desktop 1:3869 / card 1:3922, mobile 1:2368; D38 title line) */
.ava-rev__title { margin: 0; font-size: 15px; font-weight: 700; line-height: 22.5px; color: #151515; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__card { display: flex; flex-direction: column; gap: 10px; border: 0; border-radius: 10px; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__card > * { margin: 0 !important; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__stars { gap: 2px; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__chips { gap: 6px; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__chip { height: auto; min-height: 0; padding: 4px 9px; font-size: 11px; font-weight: 400; line-height: 16.5px; color: #EDEBE1; background: #151515; border-radius: 20px; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__meta { font-size: 12px; line-height: 18px; color: #6B685E; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__verified { font-size: 12px; font-weight: 400; line-height: 18px; gap: 5px; color: #193E81; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__verified svg { width: 9px; height: 7px; margin: 0 2.5px; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply { display: flex; flex-direction: column; background: #ffffff; border-radius: 8px; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply > * { margin: 0; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply-head { gap: 8px; flex-wrap: nowrap; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__avatar { width: 24px; height: 24px; flex: 0 0 24px; font-size: 13px; font-weight: 700; line-height: 17px; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply-who { font-size: 13px; font-weight: 600; line-height: 17px; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply-when { font-size: 12px; line-height: 16px; color: #6B695E; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev .ava-rev__more, html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev .ava-rev__write:not(.ava-rev__write--btn) { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.26px !important; line-height: 13px !important; }
html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev .ava-rev__tag { letter-spacing: 0.24px !important; line-height: 12px !important; }
@media (min-width: 768px) {
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__avg { font-size: 48px; line-height: 52.8px; letter-spacing: -0.48px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__summary-body { margin-top: 16px; gap: 16px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__summary .ava-rev__star svg { width: 18px; height: 18px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__summary-line { font-size: 14px; line-height: 21.7px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__card { padding: 20px 24px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__card-head { gap: 12px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__card .ava-rev__star svg { width: 15px; height: 15px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__ago { font-size: 12px; line-height: 18px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__quote { font-size: 15px; line-height: 22.5px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply { margin: 4px 0 0 28px !important; padding: 14px 18px; gap: 8px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply-when { margin-left: 4px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply-text { font-size: 13px; line-height: 17px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev .ava-rev__more { margin-top: 16px !important; }
}
@media (max-width: 767px) {
  .ava-rev__title { display: none; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__summary { gap: 16px; min-height: 0; padding: 16px 18px; border-radius: 10px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__avg { font-size: 36px; line-height: 39.6px; letter-spacing: -0.36px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__summary-body { gap: 4px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__summary .ava-rev__star svg { width: 15px; height: 15px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__summary-line { font-size: 12px; line-height: 18px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__list { gap: 16px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__card { padding: 16px 18px; box-shadow: inset 0 0 0 1px #DCD8CA; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__card .ava-rev__star svg { width: 14px; height: 14px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__card-head .ava-rev__verified { font-size: 11px; line-height: 16.5px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__quote { font-size: 14px; line-height: 21px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply { margin: 4px 0 0 16px !important; padding: 12px 14px; gap: 7px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply-head { justify-content: space-between; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply-who { margin-right: auto; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply-text { font-size: 12px; line-height: 16px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__reply-foot { font-size: 11px; line-height: 14px; color: #6B695E; }
}
@media (min-width: 901px) { /* two-column reviews layout only (768–900 keeps Lane S1's stacked tablet layout) */
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__summary-slot { padding: 28px 28px 0; }
  /* the frame's summary box is 351 tall with WRITE A REVIEW pinned 28 from its bottom; the tags slot keeps that height for up to three tag rows */
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__tags-slot { padding: 16px 28px 0; min-height: 115px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__tags { margin: 0; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev .ava-rev__write { margin: 16px 28px 28px !important; }
}
@media (min-width: 768px) and (max-width: 900px) { /* tablet stacked layout (no frame): one cream tile, tags inset like the summary, padded WRITE A REVIEW */
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__summary { margin-bottom: 0; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__tags-slot { padding: 16px 20px 20px; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev__tags { margin: 0; }
  html body:not(#abx) .elementor-757 .ava-pdp-reviews-band .ava-rev .ava-rev__write { padding: 0 28px !important; }
}
/* <<< Auditor B — reviews */

/* >>> Auditor B — PDP tokens (Figma MCP: desktop 1:3489 / 1:3615 / 1:3954 / 1:4069, mobile 1:1986 / 1:2113 / 1:2161 / 1:2212 / 1:2447 / 1:2702) */
/* reviews heading: eyebrow → title 6 px, title → columns 28 px (desktop mh 1:3870); 4 / 16 px on mobile (1:2369) */
html body:not(#abx) .elementor-757 .elementor-element-be40bce { margin-bottom: 4px !important; }
html body:not(#abx) .elementor-757 .elementor-element-d3ec563 { margin-top: 13px !important; }
/* out-of-stock size chip: text #151515 at 25 % (label and "(out of stock)" one 600 run), 1 px #DCD8CA stroke */
html body:not(#abx) .elementor-757 .cpc-pill-btn.is-out-of-stock, html body:not(#abx) .elementor-757 .cpc-pill-btn:disabled { color: rgba(21, 21, 21, 0.25) !important; border-color: #DCD8CA !important; }
html body:not(#abx) .elementor-757 .cpc-pill-btn .cpc-oos-label { font-weight: 600; }
/* rating slot (desktop 16 / 600 "4.5" +0.32 px, "· 124 reviews" 16 / 400 / 24, 18 px gold star) */
html body:not(#abx) .elementor-757 .cpc-rating-box .cpc-star { font-size: 18px; line-height: 18px; color: #AD8C5C; }
html body:not(#abx) .elementor-757 .cpc-rating-box .cpc-rating-value { font-size: 16px; font-weight: 600; letter-spacing: 0.32px; line-height: 16px; }
html body:not(#abx) .elementor-757 .cpc-rating-box .cpc-dot-sep, html body:not(#abx) .elementor-757 .cpc-rating-box .cpc-review-count { font-size: 16px; font-weight: 400; line-height: 24px; }
/* aroma intensity level 12 / 700 (both frames) */
html body:not(#abx) .elementor-757 .cpc-aroma-rating-text, html body:not(#abx) .elementor-757 .cpc-aroma-level, html body:not(#abx) .elementor-757 .cpc-aroma-count { font-size: 12px !important; line-height: 18px !important; }
/* range note: 22 px icon box (1:3729), text at 18 + 22 + 12 */
html body:not(#abx) .elementor-757 .cpc-range-icon { width: 22px; height: 22px; flex: 0 0 22px; font-size: 11px; }
/* shelves (desktop Product card 1:3954): badge pill 24 tall r 3 padding 6 10, brand 11 / 600 / .88 px #6B685E */
@media (min-width: 768px) {
  html body:not(#abx) .elementor-757 .ava-shelf .cpa-card-badge { height: 24px !important; min-height: 24px; padding: 6px 10px !important; border-radius: 3px !important; line-height: 12px !important; }
  html body:not(#abx) .elementor-757 .ava-shelf .cpa-card-brand { font-size: 11px !important; line-height: 13.2px !important; letter-spacing: 0.88px !important; color: #6B685E !important; }
}
@media (max-width: 767px) {
  /* reviews heading on mobile */
  html body:not(#abx) .elementor-757 .elementor-element-be40bce { margin-bottom: 0.5px !important; }
  html body:not(#abx) .elementor-757 .elementor-element-d3ec563 { margin-top: 0.7px !important; }
  /* trust strip 1:2054: four items in two 160.5 px columns (gap 18), rows 18 apart, 18 below ADD TO CART, 12 / 400 / 18 #151515 */
  html body:not(#abx) .elementor-757 .elementor-element-367b17c { margin-top: 18px !important; }
  html body:not(#abx) .elementor-757 .elementor-element-da38025 .elementor-icon-list-items { display: grid !important; grid-template-columns: 160.5px 160.5px; column-gap: 18px !important; row-gap: 18px !important; margin: 0 !important; }
  html body:not(#abx) .elementor-757 .elementor-element-da38025 .elementor-icon-list-item, html body:not(#abx) .elementor-757 .elementor-element-da38025 .elementor-icon-list-item:nth-child(-n+2) { display: flex !important; margin: 0 !important; padding: 0 !important; }
  html body:not(#abx) .elementor-757 .elementor-element-da38025 .elementor-icon-list-icon { margin-right: 7px !important; }
  html body:not(#abx) .elementor-757 .elementor-element-da38025 span.elementor-icon-list-text { font-size: 12px !important; line-height: 18px !important; color: #151515 !important; top: 0 !important; white-space: nowrap; }
  html body:not(#abx) .elementor-757 .elementor-element-40964d9 { margin-top: 14px !important; }
  /* decision cards 1:2114 / 1:2162: padding 18, chips 7 12 */
  html body:not(#abx) .elementor-757 .ava-pdp-decision .elementor-element-209afda, html body:not(#abx) .elementor-757 .ava-pdp-decision .elementor-element-bcf8d50 { padding: 18px !important; }
  html body:not(#abx) .elementor-757 .ava-pdp-decision .cpc-experience-tag > li, html body:not(#abx) .elementor-757 .ava-pdp-decision .cpc-taste-tags > li { padding-left: 12px !important; padding-right: 12px !important; }
  /* dosing tiles 1:2212: 72 tall (16 0), labels 11 / 400 / 16.5, no tracking */
  html body:not(#abx) .elementor-757 .cpc-instructions .cpc-instructions-col { padding: 16px 0 !important; }
  html body:not(#abx) .elementor-757 .cpc-instructions .cpc-instructions-col span { font-size: 11px !important; font-weight: 400 !important; letter-spacing: 0 !important; line-height: 16.5px !important; }
  html body:not(#abx) .elementor-757 .cpc-range-note { padding: 14px 18px !important; min-height: 0 !important; height: auto !important; }
  html body:not(#abx) .elementor-757 .cpc-range-note span:not(.cpc-range-icon), html body:not(#abx) .elementor-757 .cpc-range-note p { font-size: 13px; line-height: 18.85px; }
  /* brand card 1:2320: padding 18 */
  html body:not(#abx) .elementor-757 .ava-pdp-brandfaq .elementor-element-8477384 { padding: 18px !important; }
  /* shelves (mobile Product card 1:2447): badge 18 tall 8 / 600 / .64 px, brand 10 / 600 / .8 px #6B685E, title 16 / 600 / 24.8, price 15 / 700 / 18 */
  html body:not(#abx) .elementor-757 .ava-shelf .cpa-card-badge { height: 18px !important; min-height: 18px; padding: 4px 7px !important; border-radius: 3px !important; font-size: 8px !important; line-height: 9.6px !important; letter-spacing: 0.64px !important; }
  html body:not(#abx) .elementor-757 .ava-shelf .cpa-card-brand { font-size: 10px !important; line-height: 12px !important; letter-spacing: 0.8px !important; color: #6B685E !important; }
  html body:not(#abx) .elementor-757 .ava-shelf .cpa-card-body .cpa-card-title { font-size: 16px !important; line-height: 24.8px !important; }
  html body:not(#abx) .elementor-757 .ava-shelf .cpa-card-price, html body:not(#abx) .elementor-757 .ava-shelf .cpa-card-from { font-size: 15px !important; line-height: 18px !important; }
  /* local store card 1:2702: title 17 / 700 / 20.4, rows 11 / 400 / 16.5 white, chips 29 tall (6 11) */
  html body:not(#abx) .elementor-757 .ava-pdp-visit-band .ava-visit__title { line-height: 20.4px !important; }
  html body:not(#abx) .elementor-757 .ava-pdp-visit-band .ava-visit__rows small { font-size: 11px !important; line-height: 16.5px !important; color: #ffffff !important; }
  html body:not(#abx) .elementor-757 .ava-pdp-visit-band .ava-visit__chips span { min-height: 29px !important; padding: 0 11px !important; font-size: 11px !important; }
}
/* sold-out stock line: red dot (boards 1:30611 / 1:30668; the V2 navy rule applies to in-stock only) */
html body:not(#abx) .elementor-757 .cpc-stock-row[data-stock-state="out"] .cpc-status-dot, html body:not(#abx) .elementor-757 .cpc-product-summary[data-state="soldout"] .cpc-status-dot { background-color: #FF4438 !important; }
/* discontinued board 1:30720 ends after YOU MIGHT ALSO LIKE: no trust strip, no LOVE Club bar */
.ava-pdp-hero:has(.cpc-product-summary[data-state="discontinued"]) .elementor-element-367b17c, .ava-pdp-hero:has(.cpc-product-summary[data-state="discontinued"]) .elementor-element-1f9db88 { display: none !important; }
/* sticky bar (desktop ladder 1:29228): a long product name truncates inside its 240 px column instead of running under the size tiles */
@media (min-width: 768px) { html body:not(#abx) .ava-sticky__text > .ava-sticky__title-row { display: flex; min-width: 0; overflow: hidden; } }
/* coordinator decisions 28 Sep: gallery thumbs at the frame size (1:3496: 5 × 99.14 at a 115.2 pitch under the 560 image, r 10.72), scaling with the column below 1440 */
@media (min-width: 768px) {
  html body:not(#abx) .ava-pdp-hero .eael-single-product-images .product_image_slider__thumbs .swiper-wrapper { gap: 16.08px !important; }
  html body:not(#abx) .ava-pdp-hero .eael-single-product-images .product_image_slider__thumbs .swiper-slide { width: calc((100% - 4 * 16.08px) / 5) !important; flex: 0 0 calc((100% - 4 * 16.08px) / 5) !important; height: auto !important; aspect-ratio: 1 / 1; border-radius: 10.72px !important; }
}
/* mobile section gutters 18 as drawn (every PDP-mobile section p 20 18); the lab card stays full bleed; shelf cards 164 with an 11 gap (1:2447) */
@media (max-width: 767px) {
  html body:not(#abx) .elementor-757 .elementor-element-26ea4f0, html body:not(#abx) .elementor-757 .elementor-element-36c79cf, html body:not(#abx) .elementor-757 .elementor-element-63219c7, html body:not(#abx) .elementor-757 .elementor-element-db7ad41, html body:not(#abx) .elementor-757 .elementor-element-565363c, html body:not(#abx) .elementor-757 .elementor-element-02779cb, html body:not(#abx) .elementor-757 .elementor-element-492eebf, html body:not(#abx) .elementor-757 .elementor-element-c3a3336 { padding-left: 18px !important; padding-right: 18px !important; }
  html body:not(#abx) .elementor-757 .ava-pdp-decision .elementor-element-2c98730 { margin-left: -18px !important; margin-right: -18px !important; width: calc(100% + 36px) !important; }
  html body:not(#abx) .elementor-757 .ava-shelf .ava-shelf__track { grid-auto-columns: 164px !important; gap: 11px !important; }
}
/* <<< Auditor B — PDP tokens */
/* >>> LANE-M-STORE2 (28 Sep 2026): PDP local store card 1:2702, mobile only — the row text (address
   line + "Near…" line + both hours lines) must all sit at 11/400/16.5 white like the frame's single
   "Quick Facts" text block; only the .ava-visit__rows small (the "Near…" line) had that size, so the
   address line and the hours <em> lines stayed at the base 13/19 mobile size and overflowed 2 lines
   taller than drawn. Card gap (12) and the rows list's own gap (14, inherited from the desktop base
   rule since ≤767 never reset it) also run 2px over the frame's 10px rhythm; card padding was 20/20/22
   vs the frame's 18 on every side. Fixes the local-store block from 408px to the frame's 382px at 375. */
@media (max-width: 767px) {
  .ava-pdp-visit-band .ava-visit__card { padding: 18px 18px 18px; gap: 10px; }
  .ava-pdp-visit-band .ava-visit__rows { gap: 10px; }
  .ava-pdp-visit-band .ava-visit__rows li, .ava-pdp-visit-band .ava-visit__rows small { font-size: 11px; line-height: 16.5px; }
}
/* <<< LANE-M-STORE2 */
/* >>> ORCHESTRATOR (28 Sep 22:55): PDP local store 1:2702 at 375, the last 10 px — frame sbody 232 = 18 + title 20 + 10 + rows 2x34 (+10) + 10 + chips 29 + 10 + buttons 39 + 18; ours had title 20.4, rows 2x35.5 (text at 16.5 = 33 + icon leftovers), buttons 40 with a 6 px top margin. */
@media (max-width: 767px) {
  .ava-pdp-visit-band .ava-visit__title { line-height: 20px; }
  .ava-pdp-visit-band .ava-visit__rows li { min-height: 0; height: 34px; line-height: 17px; overflow: hidden; }
  .ava-pdp-visit-band .ava-visit__rows li, .ava-pdp-visit-band .ava-visit__rows small, .ava-pdp-visit-band .ava-visit__rows em { line-height: 17px; }
  .ava-pdp-visit-band .ava-visit__btns { margin-top: 0; }
  .ava-pdp-visit-band .ava-visit__btn { height: 39px; min-height: 39px; padding-top: 0; padding-bottom: 0; display: inline-flex; align-items: center; justify-content: center; }
}
/* <<< ORCHESTRATOR PDP local */
/* >>> ORCHESTRATOR (28 Sep 23:25): PDP shelf card footer states — user report: in-cart stepper clipped at the card bottom and the SELECT button / 'From $x/g' line misaligned. Causes: the shelf card is a fixed 480px box with overflow hidden and the 3-line title clamp never applied (no -webkit-box), so a 4-line title pushed the footer 25px past the bottom; the variable-price block wrapped 'From $11.43/g' onto a third line beside the 99px button and the footer centred the button on it. */
@media (min-width: 768px) {
  .ava-shelf .cpa-product-card { height: 480px; } /* fixed as the frame draws; the title clamp keeps the footer inside */
  .ava-shelf .cpa-card-body .cpa-card-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; max-height: 78px; }
}
.ava-shelf .cpa-card-footer { align-items: center; }
.ava-shelf .cpa-card-footer:has(.cpa-card-unit), .ava-shelf .cpa-card-footer:has(.ava-stepper) { align-items: flex-end; }
.ava-shelf .cpa-card-pricing { flex: 1 1 auto; min-width: 0; }
.ava-shelf .cpa-card-price-row { flex-wrap: nowrap; }
.ava-shelf .cpa-card-unit { white-space: nowrap; font-size: 11px; line-height: 15px; }
.ava-shelf .ava-atc { flex: 0 0 auto; }
@media (min-width: 768px) { .ava-shelf .cpa-card-footer:has(.cpa-card-from) { gap: 8px; } .ava-shelf .cpa-card-footer:has(.cpa-card-from) .ava-atc, .ava-shelf .cpa-card-footer:has(.cpa-card-from) .ava-btn.ava-btn { width: 88px; min-width: 88px; padding: 0 6px; } } /* 'From $80' (85px) + gap + button must fit the 189px footer */
/* <<< ORCHESTRATOR shelf footer */
/* >>> ORCHESTRATOR (29 Sep 00:40): PDP buy box auto-reorder opt-in 1:3574 + LOVE band 1:3608, desktop tokens from get_design_context — user report: gap above the checkbox (frame 16, ours 4), card 10 below the row, card padding 16 / radius 12 / #DCD8CA, pills 37 tall on ONE row (flex, space-between, 13/500, padding 0 14 0 13, gap 7, dot 14), copy 13/20, check chips 12/500 28 tall, fine 11/16, LOVE band 16 below the card. */
@media (min-width: 768px) {
  .ava-pdp-hero .elementor-element-40964d9 { margin-top: 16px !important; }
  .ava-pdp-hero .elementor-element-1f9db88 { margin-top: 16px !important; }
  .ava-pdp-hero .ava-reorder__card { margin-top: 10px; padding: 15px; border: 1px solid #DCD8CA; border-radius: 12px; } /* 15 + 1px border = the frame's 16 inside edge */
  .ava-pdp-hero .ava-reorder__title { font-size: 15px; line-height: 20px; font-weight: 600; margin: 0 0 16px; }
  .ava-pdp-hero .ava-reorder__radios { display: flex !important; flex-wrap: wrap; justify-content: space-between; gap: 8px 0; }
  .ava-pdp-hero .ava-reorder__radio { flex: 0 0 auto; height: 37px; min-height: 37px; padding: 0 14px 0 13px; gap: 7px; font-size: 13px; line-height: 17px; font-weight: 500; border: 1.5px solid #DCD8CA; border-radius: 20px; justify-content: flex-start; white-space: nowrap; }
  .ava-pdp-hero .ava-reorder__dot { flex: 0 0 14px; width: 14px; height: 14px; border: 1.5px solid #DCD8CA; }
  .ava-pdp-hero .ava-reorder__radio.is-selected { border-color: #FF4438; background: #FF4438; }
  .ava-pdp-hero .ava-reorder__radio.is-selected .ava-reorder__dot { background: #151515; border-color: #151515; }
  .ava-pdp-hero .ava-reorder__radio.is-selected .ava-reorder__dot::after { display: none; }
  .ava-pdp-hero .ava-reorder__copy { margin: 16px 0 0; font-size: 13px; line-height: 20px; }
  .ava-pdp-hero .ava-reorder__checks { margin: 16px 0 0 !important; gap: 8px; font-size: 12px; font-weight: 500; line-height: 16px; }
  .ava-pdp-hero .ava-reorder__checks li { height: 28px; padding: 6px 10px; border-radius: 14px; background: #fff; gap: 6px; }
  .ava-pdp-hero .ava-reorder__checks svg { width: 8px; height: 6px; }
  .ava-pdp-hero .ava-reorder__fine { margin: 16px 0 0; font-size: 11px; line-height: 16px; }
  .ava-pdp-hero .ava-reorder__fine a { text-decoration: underline !important; text-underline-position: from-font; color: #6B685E; } /* frame 1:3607: 'Read terms here' underlined */
}
/* <<< ORCHESTRATOR auto-reorder */
/* >>> FIXROUND-pdp-collection (29 Sep, fixer): values from Figma get_metadata / get_design_context 1:2076 (mobile Frequency Panel), 1:2105 (mobile LOVE band),
   1:3608 / 1:3613 (desktop LOVE band), 1:3557 (trust strip), 1:3517 / 1:2022 (size chips). Tablet 768-1024 had the pre-V2 tokens (V2 blocks start at 1025). */
@media (max-width: 767px) {
  /* Frequency Panel 1:2076: 339 x 334 at +28, 1px #DCD8CA inside, radius 12, padding 16 (15 + border), column gap 16 */
  html body:not(#fx) .ava-pdp-hero .ava-reorder__card { margin-top: 10px; padding: 15px; border: 1px solid #DCD8CA; border-radius: 12px; box-shadow: none; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__title { font-size: 15px; line-height: 20px; font-weight: 600; margin: 0 0 16px; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__radios { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__radio { height: 37px; min-height: 37px; padding: 0 14px 0 13px; gap: 7px; font-size: 13px; line-height: 17px; font-weight: 500; border: 1.5px solid #DCD8CA; border-radius: 20px; justify-content: flex-start; white-space: nowrap; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__dot { flex: 0 0 14px; width: 14px; height: 14px; border: 1.5px solid #DCD8CA; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__radio.is-selected { border-color: #FF4438; background: #FF4438; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__radio.is-selected .ava-reorder__dot { background: #151515; border-color: #151515; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__radio.is-selected .ava-reorder__dot::after { display: none; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__copy { margin: 16px 0 0; font-size: 13px; line-height: 20px; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__checks { margin: 16px 0 0 !important; gap: 8px; font-size: 12px; font-weight: 500; line-height: 16px; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__checks li { height: 28px; padding: 6px 10px; border-radius: 14px; background: #fff; gap: 6px; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__checks svg { width: 8px; height: 6px; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__fine { margin: 16px 0 0; font-size: 11px; line-height: 16px; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__fine a { font-size: 11px; color: #6B685E; text-decoration: underline !important; text-underline-position: from-font; }
  /* LOVE band 1:2105: 339 x 88, 14 below the panel, cc column 236 (title 22 + 2 + two 18px lines), JOIN FREE 29 wide at x=294 (16 from the right) */
  html body:not(#fx) .elementor-757 .elementor-element-1f9db88 { margin-top: 14px !important; min-height: 88px !important; gap: 12px !important; }
  html body:not(#fx) .elementor-757 .elementor-element-1f9db88 > .e-con-inner { gap: 12px !important; }
  html body:not(#fx) .elementor-757 .elementor-element-1f9db88 .elementor-element:has(> .elementor-element-c085f27) { flex: 1 1 auto !important; min-width: 0; }
  html body:not(#fx) .elementor-757 .elementor-element-1f9db88 .elementor-element:has(> .elementor-element-c6da12a) { flex: 0 0 auto !important; width: min-content !important; max-width: min-content !important; }
  html body:not(#fx) .elementor-757 .elementor-element-c6da12a, html body:not(#fx) .elementor-757 .elementor-element-c6da12a .elementor-button { width: min-content !important; text-align: right !important; }
  html body:not(#fx) .elementor-757 .elementor-element-c085f27 .elementor-icon-box-title > span { line-height: 22px !important; top: 0 !important; margin-bottom: 0 !important; }
  html body:not(#fx) .elementor-757 .elementor-element-c085f27 p.elementor-icon-box-description { top: 0 !important; margin: 2px 0 0 !important; }
}
@media (max-width: 359px) { html body:not(#fx) .ava-pdp-hero .ava-reorder__radio { white-space: normal; } }
/* every width: LOVE band radius 6 (1:3608 desktop, 1:2105 mobile); JOIN FREE right-aligned 16 from the band edge (1:3613 x=549 w=59 in 624) */
html body:not(#fx) .elementor-757 .elementor-element-1f9db88 { border-radius: 6px !important; }
@media (min-width: 768px) {
  html body:not(#fx) .elementor-757 .elementor-element-c6da12a { align-self: flex-end !important; margin-left: auto !important; margin-right: 0 !important; width: auto !important; }
  html body:not(#fx) .elementor-757 .elementor-element-c6da12a .elementor-button { white-space: nowrap; padding-left: 0 !important; padding-right: 0 !important; }
}
/* size chips 1:3517 / 1:2022: gap 10 both ways */
html body:not(#fx) .ava-pdp-hero .cpc-pills-container { gap: 10px !important; }
/* trust strip 1:3557 at 1025+: items start on the checkbox's left edge (no inline-list -9px pull), text at 25 (18 icon + 7) */
@media (min-width: 1025px) {
  html body:not(#fx) .elementor-757 .elementor-element-da38025 .elementor-icon-list-items { margin: 0 !important; }
  html body:not(#fx) .elementor-757 .elementor-element-da38025 .elementor-icon-list-icon { margin-right: 7px !important; }
}
/* tablet 768-1024 (no frame; FIDELITY rule 8): the V2 tokens + the mobile frame's 2 x 2 composition where the 1440 row cannot fit the 442 px buy column (no orphans) */
@media (min-width: 768px) and (max-width: 1024px) {
  html body:not(#fx) .elementor-757 .elementor-element-da38025 .elementor-icon-list-items { display: grid !important; grid-template-columns: 160.5px 160.5px; column-gap: 18px !important; row-gap: 18px !important; margin: 0 !important; }
  html body:not(#fx) .elementor-757 .elementor-element-da38025 .elementor-icon-list-item { display: flex !important; margin: 0 !important; padding: 0 !important; }
  html body:not(#fx) .elementor-757 .elementor-element-da38025 .elementor-icon-list-icon { width: 18px !important; margin-right: 7px !important; }
  html body:not(#fx) .elementor-757 .elementor-element-da38025 span.elementor-icon-list-text { font-size: 12px !important; font-weight: 400 !important; line-height: 18px !important; color: #151515 !important; white-space: nowrap; }
  html body:not(#fx) .elementor-757 .elementor-element-c085f27 .elementor-icon-box-title > span { font-size: 14px !important; line-height: 22px !important; display: inline-block !important; vertical-align: top !important; }
  html body:not(#fx) .elementor-757 .elementor-element-c085f27 p.elementor-icon-box-description { color: #EDEBE1 !important; line-height: 18px !important; }
  html body:not(#fx) .elementor-757 .elementor-element-c6da12a span.elementor-button-text { font-weight: 600 !important; letter-spacing: 0.24px !important; }
  html body:not(#fx) .ava-pdp-hero .ava-reorder__radios { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}
/* interaction: sold-out size chip is selectable (-> notify state, same as the sticky tile); selected = red pill, struck label (existing rule) */
html body:not(#fx) .cpc-pill-btn.is-out-of-stock:not(:disabled) { cursor: pointer !important; }
html body:not(#fx) .elementor-757 .cpc-pill-btn.is-out-of-stock:not(.is-selected):hover { border-color: #151515 !important; }
html body:not(#fx) .elementor-757 .cpc-pill-btn.is-out-of-stock.is-selected { background: #FF4438 !important; border-color: #FF4438 !important; color: #fff !important; }
html body:not(#fx) .elementor-757 .cpc-pill-btn.is-out-of-stock.is-selected .cpc-oos-label { color: #fff !important; }
/* interaction: quantity stepper hover = the site's ink -> red language (disabled '-' stays muted) */
html body:not(#fx) .cpc-qty .cpc-qty-btn:not([disabled]):hover { color: #FF4438 !important; }
/* interaction: desktop gallery thumbs are keyboard targets now (product-custom.js) */
html body:not(#fx) .product_image_slider__thumbs .swiper-slide:focus-visible { outline: 2px solid #FF4438 !important; outline-offset: -2px; }
/* functional: WooCommerce's own 'View cart' link after ADD TO CART is not in the frame (the sticky bar + toast carry the in-cart state) */
html body:not(#fx) .cpc-actions-row .added_to_cart.wc-forward { display: none !important; }
/* <<< FIXROUND-pdp-collection */
/* >>> LEFTOVER-pdp (29 Sep): 375 LOVE band JOIN FREE 1:2110 = 29 x 24 at y 32 in the 88 band (vertically centred).
   The button was an inline-block on the widget's line box, so the strut pushed it 3.5 px down (y 35.5); a block anchor lets the band's align-items:center place it. */
@media (max-width: 767px) {
  html body:not(#fx):not(#lop) .elementor-757 .elementor-element-c6da12a .elementor-button-wrapper { line-height: 0 !important; }
  html body:not(#fx):not(#lop) .elementor-757 .elementor-element-c6da12a .elementor-button { display: block !important; }
  html body:not(#fx):not(#lop) .elementor-757 .elementor-element-c6da12a .elementor-button-content-wrapper { display: block !important; }
}
/* <<< LEFTOVER-pdp */
/* AUDIT-pdp (29 Sep) >>> client click-through audit, findings P1 P3 P7-P13 (qa/final/audit-oct/AUDIT-pdp.md) */
/* P1: the stock line is hidden for an unpriced product (the [hidden] attribute must win over the row's flex display) */
html body:not(#aud) .cpc-stock-row[hidden] { display: none !important; }
/* P3: the kit's button padding (12px 24px) left the 48 px sticky step a 0 px content box, so the trash icon collapsed to 0 x 15 */
html body:not(#aud) .ava-sticky .ava-sticky__step { padding: 0 !important; }
html body:not(#aud) .ava-sticky .ava-sticky__step svg { flex: 0 0 15px; width: 15px !important; height: 15px !important; min-width: 15px; max-width: none; }
/* P8: breadcrumb hover was brand red on cream (2.86:1); hover is now ink plus an underline */
html body:not(#aud) .ava-pdp-crumb-band .woocommerce-breadcrumb a:hover, html body:not(#aud) .elementor-757 .elementor-element-6e53783 .woocommerce-breadcrumb a:hover,
html body:not(#aud) .ava-pdp-crumb-band .woocommerce-breadcrumb a:focus-visible, html body:not(#aud) .elementor-757 .elementor-element-6e53783 .woocommerce-breadcrumb a:focus-visible { color: #151515 !important; text-decoration: underline !important; text-underline-offset: 3px; }
/* P11: breadcrumb links get a 24 px tall hit box (same line height, no shift) */
html body:not(#aud) .ava-pdp-crumb-band .woocommerce-breadcrumb a, html body:not(#aud) .elementor-757 .elementor-element-6e53783 .woocommerce-breadcrumb a { display: inline-block; line-height: 24px; min-height: 24px; vertical-align: top; }
/* P9: rating star gold #AD8C5C on cream was 2.63:1; a deeper gold of the same hue passes 3:1 on cream and white */
html body:not(#abx):not(#aud) .elementor-757 .cpc-rating-box .cpc-star, html body:not(#aud) .ava-pdp-hero .cpc-rating-box .cpc-star { color: #8F7143 !important; }
/* P10: a sold-out size chip is still a live button (it opens the notify state), so its label must be readable: grey ink 5.5:1 and a struck size */
html body:not(#abx):not(#aud) .elementor-757 .cpc-pill-btn.is-out-of-stock:not(.is-selected):not(:disabled) { color: #6B685E !important; }
html body:not(#abx):not(#aud) .elementor-757 .cpc-pill-btn.is-out-of-stock:not(.is-selected):not(:disabled) .cpc-pill-label { text-decoration: line-through; text-decoration-thickness: 1px; }
/* P11: shelf dots were 9 x 9 buttons; the button is now a 24 x 24 target and the 9 px dot is drawn inside it (dot centres stay put) */
html body:not(#aud) .ava-shelf .ava-shelf__dots { gap: 0; margin-top: 16.5px; margin-bottom: -7.5px; }
html body:not(#aud) .ava-shelf .ava-shelf__dot { position: relative; width: 24px !important; height: 24px !important; min-width: 24px; background: transparent !important; box-sizing: border-box !important; }
html body:not(#aud) .ava-shelf .ava-shelf__dot::before { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background: #151515; }
html body:not(#aud) .ava-shelf .ava-shelf__dot.is-active::before { background: #FF4438; }
@media (max-width: 767px) {
  html body:not(#aud) .ava-shelf .ava-shelf__dots { margin-top: 10.5px; }
  /* P11: gallery dots 10 x 10 -> 24 x 24 targets, same 10 px dots */
  html body:not(#aud) .ava-gallery-dots { gap: 0; bottom: 11px; }
  html body:not(#aud) .ava-gallery-dots .ava-gallery-dot { position: relative; width: 24px !important; height: 24px !important; padding: 0 !important; border: 0 !important; background: transparent !important; opacity: 1; box-sizing: border-box !important; }
  html body:not(#aud) .ava-gallery-dots .ava-gallery-dot::before { content: ""; position: absolute; left: 7px; top: 7px; width: 10px; height: 10px; border-radius: 50%; background: #151515; opacity: .9; }
  html body:not(#aud) .ava-gallery-dots .ava-gallery-dot.is-active::before { background: #FF4438; opacity: 1; }
  /* P11: WRITE A REVIEW was a 13 px tall text button at 375 */
  html body:not(#abx):not(#aud) .elementor-757 .ava-pdp-reviews-band .ava-rev .ava-rev__write { min-height: 24px !important; display: inline-flex !important; align-items: center; }
}
/* P13: the review list dims while a tag filter is fetched (the REST round trip takes ~2 s on this server) */
html body:not(#aud) .ava-rev.is-busy .ava-rev__list { opacity: .45; transition: opacity .15s ease-out; pointer-events: none; }
/* <<< AUDIT-pdp */
/* AUDIT-groupB (29 Sep) >>> orchestrator round, group B: NEW-PDP-375-footer-strip, N1-N4, P1, N3 (qa/final/audit-oct/AUDIT-pdp.md) */
/* footer strip: reserve the sticky bar's live height (set by product-custom.js from the bar's box, folded or unfolded), not a fixed 150 / 96 px */
html body.ava-has-sticky:not(#aud) { padding-bottom: var(--ava-sticky-h, 150px); }
@media (min-width: 768px) { html body.ava-has-sticky:not(#aud) { padding-bottom: var(--ava-sticky-h, 96px); } }
/* N1: only the active gallery slide may show; the slides carry the frame's white so an earlier photo never shows around a letterboxed one */
html body:not(#aud) .eael-single-product-images .product_image_slider__container > .swiper > .swiper-wrapper > .swiper-slide,
html body:not(#aud) .eael-single-product-images .product_image_slider__container > .swiper-container > .swiper-wrapper > .swiper-slide { background-color: #ffffff; }
html body:not(#aud) .eael-single-product-images .product_image_slider__container > .swiper > .swiper-wrapper > .swiper-slide:not(.swiper-slide-active),
html body:not(#aud) .eael-single-product-images .product_image_slider__container > .swiper-container > .swiper-wrapper > .swiper-slide:not(.swiper-slide-active) { pointer-events: none; }
/* N2: a sold-out sticky size tile is a live button (it opens the notify state): the P10 chip treatment, grey ink #6B685E (5.5:1) and a struck size */
html body:not(#v2x):not(#aud) .ava-sticky .ava-sticky__tile.is-unavailable:not(:disabled),
html body:not(#v2x):not(#aud) .ava-sticky[data-state="optionSoldOut"] .ava-sticky__tile.is-unavailable.is-selected:not(:disabled),
html body:not(#v2x):not(#aud) .ava-sticky[data-state="notifyCapture"] .ava-sticky__tile.is-unavailable.is-selected:not(:disabled),
html body:not(#v2x):not(#aud) .ava-sticky[data-state="onTheList"] .ava-sticky__tile.is-unavailable.is-selected:not(:disabled) { color: #6B685E !important; }
html body:not(#v2x):not(#aud) .ava-sticky .ava-sticky__tile.is-unavailable:not(:disabled) .ava-sticky__tile-label { text-decoration: line-through; text-decoration-thickness: 1px; }
/* N2: BEST VALUE was white on #C9A961 (2.25:1) at 1440 and on #AD8C5C (3.14:1) at 375; the deeper gold of the P9 star keeps the look at 4.5:1 */
html body:not(#v2x):not(#aud) .ava-sticky .ava-sticky__best { background-color: #8F7143 !important; color: #ffffff !important; }
@media (max-width: 767px) {
  /* N4: the fold toggle (18 x 15) and the brand eyebrow link (16 px tall) get 24 px hit boxes; negative margins keep their layout boxes, so nothing moves */
  html body:not(#aud) .ava-sticky .ava-sticky__title-row .ava-sticky__fold { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0 !important; margin: -4.5px -2.85px !important; }
  html body:not(#v2x):not(#aud) .cpc-header-row a.cpc-brand-name { padding-top: 4.8px !important; padding-bottom: 4.8px !important; margin-top: -4px !important; margin-bottom: -4px !important; }
}
/* P1: the unavailable line (WooCommerce core text) sits where the stock line sits, with the sold-out dot */
html body:not(#aud) .cpc-stock-row.cpc-unavailable { margin-top: 9px; }
/* N3: 'From $80.00' ran 20-35 px under the SELECT button on narrow cards (shelf 1440 / 768, shop 768); the price may wrap after 'From' (a smaller prefix), so the amount is never covered */
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; }
@media (min-width: 768px) {
  /* N3 on the fixed 480 px shelf card: 'From' sits on its own compact line above the amount (same on every shelf width), and the 13 px it takes
     comes from the footer's top padding (12 -> 1), the THC chip's top margin (11 -> 2) and the unit line's top margin (5 -> 1), so a 3-line title keeps its full 78 px */
  html body:not(#abx):not(#aud) .ava-shelf .cpa-card-footer .cpa-card-price .cpa-card-from { flex: 0 0 100%; font-size: 12px !important; line-height: 13px !important; }
  html body:not(#abx):not(#aud) .ava-shelf .cpa-card-footer:has(.cpa-card-from) { padding-top: 1px !important; }
  html body:not(#abx):not(#aud) .ava-shelf .cpa-product-card:has(.cpa-card-from) .cpa-card-thc-chip { margin-top: 2px !important; }
  html body:not(#abx):not(#aud) .ava-shelf .cpa-card-footer:has(.cpa-card-from) .cpa-card-unit { margin-top: 1px !important; }
}
/* <<< AUDIT-groupB */
/* >>> Final regression (30 Sep) */
/* C-1 phones: WRITE A REVIEW is a plain red text link below 768, but the desktop outlined-button hover (line 845, #151515 fill,
   white text) still applied, so after a tap it became a black bar hugging the letters. On phones it keeps the text-link hover. */
@media (max-width: 767px) {
    .ava-pdp-reviews-band .ava-rev .ava-rev__write:hover { background: transparent !important; color: var(--ava-ink) !important; }
}
/* <<< Final regression (30 Sep) */

/* 30 Sep: Product page extras (custom_product_code.php, group_ava_pdp_extras). A product's own line under Best for /
   Not ideal for and its own Tastes heading replace the template's fixed ones (template 757 widgets 2fa2417 / 13be4d5,
   hidden only when the product sets its own); the potency panel reuses the lab rail's own markup and classes. */
.elementor-757 .elementor-element-2fb6af3:has(.cpc-experience-note) + .elementor-element-2fa2417 { display: none; }
.elementor-757 .elementor-element-13be4d5:has(+ .elementor-element-a74fed5 .cpc-taste-heading) { display: none; }
.cpc-experience-note { margin: 14px 0 0; font-size: 12px; line-height: 18px; color: #EDEBE1; }
html body .elementor-757 .cpc-taste-aroma-wrapper h2.cpc-taste-heading { margin: 0 0 15px !important; padding: 0; font-family: Krub, sans-serif; font-weight: 700; font-size: 22px; line-height: 26.4px; color: var(--ava-ink); text-transform: none; letter-spacing: 0; }
/* a description with more than one paragraph (the template's text has margin 0): one blank line between them */
.elementor-757 .elementor-element-f3f35a4 .eael-single-product-description p + p { margin-top: 12px; }
.cpc-lab-data-sec .cpc-ingredients { margin-top: 20px; } /* spaced like the other sections (Figma has no rules between them) */
.cpc-lab-data-sec .cpc-ingredients summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; list-style: none; cursor: pointer; font-weight: 700; font-size: 18px; line-height: 1.2; color: var(--ava-ink); }
.cpc-lab-data-sec .cpc-ingredients summary::-webkit-details-marker { display: none; }
.cpc-lab-data-sec .cpc-ingredients summary .cpc-terp-toggle-icon { transition: transform .2s; }
.cpc-lab-data-sec .cpc-ingredients[open] summary .cpc-terp-toggle-icon { transform: rotate(45deg); }
.cpc-lab-data-sec .cpc-ingredients p { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--ava-ink); }

/* 1 Oct: terpene rows past the top 5 stay folded until "click to expand" (the li display:flex rule above beat [hidden]). */
.cpc-lab-data-sec ul li.cpc-terp--more[hidden] { display: none; }
/* AUDIT2 2 Oct (store) >>> */
/* 1. Products without a photo (84 of the 93 published today): EAEL prints one empty slide, so the white 1 px #DCD8CA r12
   gallery card collapses to 2 px (1440: a 4 px red thumb ring floats under it; 375: the gallery disappears and the page
   opens on the brand line). Keep the frame's empty gallery card square (hero-buy-box 1:3489 / pdp-mobile 1:1986) and drop the empty thumb strip. */
.elementor-widget-eael-woo-product-images .product_image_slider__container .swiper-slide:not(:has(img)) { aspect-ratio: 1 / 1; height: auto; }
.elementor-widget-eael-woo-product-images .product_image_slider__thumbs:not(:has(img)) { display: none !important; }

/* 2. Desktop sticky bar (StickyBar / Desktop, 1:29228, measured on the board PNG): ladder bar 1 + 13 + 56 + 13 = 83 and the
   no-size bar 1 + 13 + 44 + 13 = 71, thumb 40 × 40 r6, size tiles 56 tall with 1 px #DBD9C9 r6, ADD TO CART 134 × 44 ending at
   x 1360 (ours: bars 77 / 73, thumb 48, tiles 52 #E6E4E0 r4, button 150 × 48). */
@media (min-width: 768px) {
	html body:not(#v2x) .ava-sticky[data-layout="ladder"], html body:not(#v2x) .ava-sticky[data-layout="none"] { padding-top: 13px !important; padding-bottom: 13px !important; }
	html body:not(#v2x) .ava-sticky .ava-sticky__thumb { width: 40px !important; height: 40px !important; border-radius: 6px !important; }
	html body:not(#v2x) .ava-sticky[data-layout="ladder"] .ava-sticky__tile { min-height: 56px; justify-content: center; border-radius: 6px !important; }
	html body:not(#v2x) .ava-sticky[data-layout="ladder"] .ava-sticky__tile:not(.is-selected):not(:hover) { border-color: #DBD9C9 !important; }
	html body:not(#v2x) .ava-sticky .ava-sticky__btn { min-width: 134px; height: 44px; padding-left: 17px; padding-right: 17px; }
}

/* 3. Lab rail "Top 5 shown (click to expand)" (decision-support 1:3615 / pdp-mobile lab card): #193E81 10 px text (underlined on
   desktop only) and a #193E81 "+". It renders only with more than five terpenes (1489 today), so the 28 Sep pass on 492 (five) never
   saw it; ours is 11 px grey with an ink "+". */
.cpc-lab-data-sec .cpc-terp-toggle .cpc-terp-toggle-text { color: #193E81 !important; font-size: 10px; }
.cpc-lab-data-sec .cpc-terp-toggle .cpc-terp-toggle-icon { color: #193E81 !important; }
@media (min-width: 768px) { .cpc-lab-data-sec .cpc-terp-toggle .cpc-terp-toggle-text { text-decoration: underline; text-underline-offset: 2px; } }

/* 4. Product with no purchasable variation (490 today: 12 variations without a price): WooCommerce's "This product is currently
   out of stock and unavailable." is longer than the 375 buy column, so the wrapping stock row dropped it under its dot (dot alone
   on a line). Keep dot + message on one row, the dot on the first text line (1440 unchanged: one line either way). */
html body:not(#aud) .cpc-stock-row.cpc-unavailable { flex-wrap: nowrap; align-items: flex-start; }
html body:not(#aud) .cpc-stock-row.cpc-unavailable .cpc-status-dot { flex: 0 0 auto; margin-top: 6px; }
html body:not(#aud) .cpc-stock-row.cpc-unavailable .cpc-status-text { min-width: 0; }
/* <<< AUDIT2 2 Oct (store) */

/* ==== QA round 6 Oct 2026 (Lane C) ==== */
/* AVA-005: a product without a photo shows the branded "no photo yet" image in the gallery (EAEL), not an empty white box;
   the empty thumbnail strip and the zoom trigger are hidden. */
.ava-pi-fallback .image_slider__image img.ava-img-fallback { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.ava-pi-fallback .product_image_slider__thumbs,
.ava-pi-fallback .product_image_slider__trigger { display: none !important; }
