/* AVA Core — Brand detail pages (Lane BR, 28 Sep 2026). Classes prefixed avb-.
   Loaded after ava-content.css (dependency) so the shared --avc-* tokens and .avc-btn/.avc-chip/.avc-faq/.avc-ph
   classes are already defined; this file only adds the layout + typography this page's raw HTML needs (it is
   not built from Elementor Heading/Icon-Box widgets, so it cannot rely on the .avc-h1/.avc-h2 "…the-title"
   descendant rules — headings are styled directly here instead). Frame: Brand Detail > Rippers 1:17431 / 1:17749. */

.ava-brand-main { display: block; }
body:has(.avb-page) { background: var(--avc-cream); } /* D42 fidelity pass: the frame's page background is cream, not white */
.avb-page { max-width: 1440px; margin: 0 auto; padding: 0 max(80px, calc((100% - 1280px) / 2)); color: var(--avc-ink); } /* D39: content aligns to the centred 1280 box above 1440 */
.avb-page h1, .avb-page h2, .avb-page h3 { font-weight: 700; margin: 0; }
.avb-h1 { font-size: 46px; line-height: 1.1; letter-spacing: -0.02em; margin: 20px 0 16px; }
.avb-page .avc-h2 { font-size: 38px; line-height: 1.15; letter-spacing: -0.01em; margin-bottom: 20px; }
.avb-page .avc-h2--sm { font-size: 28px; }
.avb-page p { margin: 0; line-height: 1.55; }
.avb-page p + p { margin-top: 1em; }
.avb-page p:last-child { margin-bottom: 0; }
.avb-section { padding: 56px 0; border-top: 1px solid var(--avc-line); }
.avb-section:first-of-type { border-top: 0; }

/* breadcrumb */
.avb-crumb { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--avc-muted); padding: 24px 0 0; }
.avb-crumb a { color: var(--avc-muted); text-decoration: none; }
.avb-crumb a:hover { color: var(--avc-red); }
.avb-crumb__sep { color: var(--avc-line); }
.avb-crumb__current { color: var(--avc-ink); font-weight: 500; }

/* hero */
.avb-hero { display: grid; grid-template-columns: 1fr 500px; gap: 56px; align-items: center; padding: 32px 0 56px; }
.avb-badge { display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 14px; border-radius: 999px; background: var(--avc-red); color: #fff; font-size: 13px; font-weight: 600; margin-bottom: 20px; }
.avb-badge .avc-ic { width: 14px; height: 14px; color: #fff; }
.avb-hero__logo { min-height: 60px; width: 163px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; background: #fff; border-radius: var(--avc-radius-sm); }
.avb-hero__logo img { max-height: 60px; max-width: 220px; object-fit: contain; }
.avb-hero__logotext { font-size: 20px; font-weight: 700; color: var(--avc-ink); }
.avb-hero__tagline { font-size: 18px; color: var(--avc-muted); max-width: 620px; }
.avb-btns { margin-top: 24px; }
.avb-hero__media { aspect-ratio: 500 / 420; }
.avb-hero__media img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--avc-radius); }

/* answer block */
.avb-answer { padding: 24px 0; font-size: 18px; line-height: 1.6; color: var(--avc-muted); max-width: 1100px; }

/* product grid */
.avb-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.avb-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.avb-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.avb-empty { color: var(--avc-muted); font-style: italic; }

/* budtender pick */
.avb-pick { display: grid; grid-template-columns: 320px 1fr; gap: 56px; align-items: center; }
.avb-pick__card .cpa-card { max-width: 320px; }
.avb-pick__quote blockquote { font-size: 20px; line-height: 1.5; font-style: italic; margin: 12px 0 0; padding: 0; border: 0; }
.avb-pick__by { color: var(--avc-muted); font-size: 15px; margin-top: 12px; }
.avb-pick__demo { display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 320 / 291; max-width: 320px; padding: 0; }
.avb-pick__demo-body { background: #fff; padding: 22px; border-radius: 0 0 var(--avc-radius) var(--avc-radius); }
.avb-pick__demo-body h3 { font-size: 18px; margin: 0 0 6px; color: var(--avc-ink); }
.avb-pick__demo-body p { font-size: 15px; color: var(--avc-muted); margin: 0; }

/* why ava recommends */
.avb-why__body { max-width: 900px; font-size: 17px; }
.avb-why__tiles { margin-top: 32px; }
.avb-tile { padding: 24px; background: var(--avc-line); border-radius: var(--avc-radius); }
.avb-attrtable-wrap { margin-top: 32px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.avb-attrtable { width: 100%; min-width: 480px; border-collapse: collapse; border: 1px solid var(--avc-line); border-radius: var(--avc-radius); overflow: hidden; }
.avb-attrtable th { text-align: left; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--avc-red); padding: 16px 20px; }
.avb-attrtable td { padding: 16px 20px; font-size: 15px; border-top: 1px solid var(--avc-line); }
.avb-attrtable td:first-child { font-weight: 600; }
.avb-attrtable td:not(:first-child), .avb-attrtable th:not(:first-child) { color: var(--avc-muted); }
.avb-tile h3 { font-size: 18px; margin-bottom: 8px; }
.avb-tile p { font-size: 14px; color: var(--avc-muted); margin: 0; }

/* story */
.avb-story { display: grid; grid-template-columns: 1fr 440px; gap: 56px; align-items: flex-start; }
.avb-story__media { aspect-ratio: 440 / 320; }
.avb-story__media img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--avc-radius); }

/* why shoppers choose */
.avb-reason { display: flex; flex-direction: column; gap: 20px; }
.avb-reason__disc { width: 44px; height: 44px; border-radius: 50%; background: var(--avc-cream); display: flex; align-items: center; justify-content: center; }
.avb-reason__disc .avc-ic { color: var(--avc-navy); width: 22px; height: 22px; }
.avb-reason p { font-size: 17px; font-weight: 500; }

/* product types */
.avb-types__row { display: flex; flex-wrap: wrap; gap: 12px; }
.avb-typechip { display: inline-flex; align-items: center; height: 47px; padding: 0 22px; border-radius: var(--avc-radius-sm); border: 1px solid var(--avc-line); font-weight: 600; font-size: 15px; color: var(--avc-ink); text-decoration: none; }
.avb-typechip:hover { border-color: var(--avc-ink); }

/* related */
.avb-related { display: grid; grid-template-columns: 1.4fr 1fr; gap: 56px; }
.avb-relcard { display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid var(--avc-line); border-radius: var(--avc-radius); text-decoration: none; color: var(--avc-ink); min-height: 120px; justify-content: center; }
.avb-relcard__logo { font-weight: 700; font-size: 17px; }
.avb-relcard__cats { font-size: 13px; color: var(--avc-muted); }
.avb-catlink { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border: 1px solid var(--avc-line); border-radius: var(--avc-radius); text-decoration: none; color: var(--avc-ink); font-weight: 600; margin-bottom: 12px; }
.avb-catlink__count { font-size: 14px; color: var(--avc-muted); font-weight: 400; }

/* deals teaser */
.avb-deals { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; background: var(--avc-cream); border-radius: var(--avc-radius); padding: 32px; border-top: 0; }

/* pickup & delivery */
.avb-pd { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.avb-pd__opt { padding: 28px; border: 1px solid var(--avc-line); border-radius: var(--avc-radius); }
.avb-pd__opt h3 { font-size: 22px; margin-bottom: 10px; }
.avb-pd__opt p { color: var(--avc-muted); }

/* compliance */
.avb-compliance { padding: 32px 0; font-size: 13px; line-height: 1.5; color: var(--avc-muted); border-top: 1px solid var(--avc-line); }

/* faq */
.avb-faq { display: grid; grid-template-columns: 380px 1fr; gap: 64px; }
.avb-faq__head { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.avb-faq__head .avc-eyebrow, .avb-faq__head p.avc-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--avc-red); margin: 0; }
.avb-faq__head h2 { font-size: 32px; }
.avb-faq__head .avc-btn { margin-top: 8px; }

/* mobile sticky bar */
.avb-sticky { display: none; }

@media (max-width: 1024px) {
  .avb-hero, .avb-story, .avb-pick, .avb-related, .avb-faq { grid-template-columns: 1fr; }
  .avb-hero__media, .avb-story__media { order: -1; }
  .avb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .avb-page { padding: 0 20px; }
  .avb-h1 { font-size: 28px; }
  .avb-page .avc-h2 { font-size: 24px; }
  .avb-section { padding: 32px 0; }
  .avb-hero { gap: 28px; padding: 12px 0 28px; }
  .avb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .avb-pd { grid-template-columns: 1fr; }
  .avb-reasons__grid.avc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .avb-faq { gap: 24px; }
  .avb-btns .avc-btn { width: 100%; }
  body { padding-bottom: 64px; } /* room for the sticky bar, D36-style */
  .avb-sticky {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #fff; border-top: 1px solid var(--avc-line);
    padding: 11px 16px; box-shadow: 0 -4px 16px rgba(0,0,0,.08);
  }
  .avb-sticky strong { display: block; font-size: 15px; }
  .avb-sticky span { display: block; font-size: 13px; color: var(--avc-muted); }
  .avb-sticky .avc-btn { min-height: 39px; padding: 0 20px; white-space: nowrap; }
}

/* AUDITOR-C2-CHIPS (28 Sep) — category chips 1:17497-1:17503: 27 tall, radius 999, 7/14 padding (6/13 + the 1px
   inside stroke), 11/600 uppercase +1%, gap 8. Inactive white + 1px #DCD8CA / ink text; active red / white text.
   Scoped to beat the theme's global <button> skin (it painted every chip red and turned the clicked one black). */
.avb-page .avb-chips { gap: 8px; flex-wrap: nowrap; }
.avb-page .avb-chips button.avb-chip, .avb-page .avb-chips button.avb-chip:hover, .avb-page .avb-chips button.avb-chip:focus {
  box-sizing: border-box; min-height: 0; height: 27px; margin: 0; padding: 6px 13px; border: 1px solid #DCD8CA; border-radius: 999px;
  background: #FFFFFF; color: #151515 !important; font-family: 'Krub', sans-serif; font-size: 11px; font-weight: 600; line-height: 13px;
  letter-spacing: .01em; text-transform: uppercase; box-shadow: none; cursor: pointer; white-space: nowrap;
}
.avb-page .avb-chips button.avb-chip:hover { border-color: #151515; }
.avb-page .avb-chips button.avb-chip.is-active, .avb-page .avb-chips button.avb-chip.is-active:hover, .avb-page .avb-chips button.avb-chip.is-active:focus {
  background: #FF4438; border-color: #FF4438; color: #FFFFFF !important;
}
.avb-page .avb-chips button.avb-chip:focus-visible { outline: 2px solid var(--avc-navy); outline-offset: 2px; }
.avb-grid__item[hidden] { display: none !important; }

/* AUDITOR-C2-BANDS */
/* Auditor C2 (28 Sep) — frame 1:17431: every section is a full-bleed band with its own background (cream / white /
   #151515 / red), 72px gutters (1296 content), no rules between bands. D39: above 1440 the content sits on the
   centred 1280 box. Values from the frame's node dump; the product cards stay ava_product_card() (D42b). */
body .avb-page { max-width: none; margin: 0; padding: 0; background: #EDEBE1; }
body .avb-page > section, body .avb-page > .avb-compliance { box-sizing: border-box; width: 100%; margin: 0; border: 0; border-radius: 0; padding-inline: 72px; }
@media (min-width: 1441px) { body .avb-page > section, body .avb-page > .avb-compliance, body .avb-page > .avb-faq { padding-inline: calc((100% - 1280px) / 2); } }
body .avb-page .avc-h2 { font-size: 32px; line-height: 38px; letter-spacing: -.32px; color: #151515; margin: 0; }
body .avb-page .avc-btn { min-height: 0; box-sizing: border-box; border-radius: 3px; font-size: 15px; line-height: 15px; font-weight: 600; letter-spacing: .3px; text-transform: uppercase; }
/* D1 hero 1:17477 — cream, 44/72/64/72, copy 740 + 56 + image 500x420 */
body .avb-page .avb-hero { display: grid; grid-template-columns: 740px 500px; justify-content: space-between; column-gap: 56px; align-items: center; padding-block: 44px 64px; background: #EDEBE1; }
body .avb-page .avb-hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
body .avb-page .avb-crumb { gap: 4px; padding: 0; font: 400 13px/20px 'Krub', sans-serif; color: #6B685E; }
body .avb-page .avb-crumb a, body .avb-page .avb-crumb__sep, body .avb-page .avb-crumb__current { color: #6B685E; font-weight: 400; }
body .avb-page .avb-badge { box-sizing: border-box; height: 28px; margin: 0; padding: 7px 14px; gap: 8px; font: 600 11px/13px 'Krub', sans-serif; letter-spacing: .11px; text-transform: uppercase; }
body .avb-page .avb-hero__logo { box-sizing: border-box; width: 180px; min-height: 60px; height: 60px; margin: 0; border: 1px solid #DCD8CA; border-radius: 10px; }
body .avb-page .avb-hero__logotext { font: 700 24px/28px 'Krub', sans-serif; letter-spacing: .48px; }
body .avb-page .avb-h1 { margin: 0; font: 700 38px/45px 'Krub', sans-serif; letter-spacing: -.38px; color: #151515; }
body .avb-page .avb-hero__tagline { max-width: none; font: 400 17px/26px 'Krub', sans-serif; color: #6B685E; }
body .avb-page .avb-btns { margin: 0; }
body .avb-page .avb-btns .avc-btn { padding: 16px 30px; border: 0; }
body .avb-page .avb-hero__media { width: 500px; height: 420px; aspect-ratio: auto; border-radius: 16px; overflow: hidden; }
/* D2 answer 1:17492 — cream, 8/72/36/72, 19/29 ink */
body .avb-page .avb-answer { max-width: none; padding-block: 8px 36px; background: #EDEBE1; font: 400 19px/29px 'Krub', sans-serif; color: #151515; }
body .avb-page .avb-answer p { font: inherit; color: inherit; line-height: 29px; }
/* D3 grid 1:17494 — white, 56/72, 28 gap */
body .avb-page .avb-products { display: flex; flex-direction: column; gap: 28px; padding-block: 56px; background: #fff; }
body .avb-page .avb-head { margin: 0; gap: 16px; }
/* D4 pick 1:17582 — cream, 56/72, 320 card + 40 + quote */
body .avb-page .avb-pick { grid-template-columns: 320px 1fr; gap: 40px; padding-block: 56px; background: #EDEBE1; }
body .avb-page .avb-pick__quote { display: flex; flex-direction: column; gap: 16px; }
body .avb-page .avb-pick__quote .avc-eyebrow { margin: 0; font: 600 14px/17px 'Krub', sans-serif; letter-spacing: .28px; text-transform: uppercase; color: #FF4438; }
body .avb-page .avb-pick__quote blockquote { margin: 0; font: 500 26px/36px 'Krub', sans-serif; font-style: normal; color: #151515; }
body .avb-page .avb-pick__by { margin: 0; font: 600 16px/25px 'Krub', sans-serif; color: #6B685E; }
/* R2 why 1:17592 — white, 72 all round, 32 gap */
body .avb-page .avb-why { display: flex; flex-direction: column; gap: 32px; padding-block: 72px; background: #fff; }
body .avb-page .avb-why > .avc-eyebrow { margin: 0; font: 600 14px/17px 'Krub', sans-serif; letter-spacing: .28px; text-transform: uppercase; color: #FF4438; }
body .avb-page .avb-why .avc-h2 { font-size: 34px; line-height: 40px; letter-spacing: -.34px; }
body .avb-page .avb-why__body { max-width: none; font: 400 17px/27px 'Krub', sans-serif; color: #151515; }
body .avb-page .avb-why__tiles { margin: 0; gap: 20px; }
body .avb-page .avb-tile { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; border-radius: 14px; background: #EDEBE1; }
body .avb-page .avb-tile h3 { margin: 0; font: 700 19px/23px 'Krub', sans-serif; color: #FF4438; }
body .avb-page .avb-tile p { font: 400 14px/21px 'Krub', sans-serif; color: #151515; }
body .avb-page .avb-attrtable-wrap { margin: 0; border: 1px solid #DCD8CA; border-radius: 14px; overflow: hidden; }
body .avb-page .avb-attrtable { border: 0; border-radius: 0; background: #fff; }
body .avb-page .avb-attrtable th { padding: 12px 20px; font: 600 11px/13px 'Krub', sans-serif; letter-spacing: .88px; color: #FF4438; }
body .avb-page .avb-attrtable td { padding: 12px 20px; font: 400 14px/21px 'Krub', sans-serif; border-top: .5px solid #DCD8CA; color: #151515; }
body .avb-page .avb-attrtable td:first-child { font-weight: 600; }
/* D5 story 1:17631 — cream, 72, 808 + 48 + 440x320 */
body .avb-page .avb-story { grid-template-columns: 808px 440px; justify-content: space-between; gap: 48px; align-items: center; padding-block: 72px; background: #EDEBE1; }
body .avb-page .avb-story__copy { display: flex; flex-direction: column; gap: 18px; }
body .avb-page .avb-story__copy p { font: 400 17px/27px 'Krub', sans-serif; color: #151515; }
body .avb-page .avb-story__media { width: 440px; height: 320px; aspect-ratio: auto; border-radius: 16px; overflow: hidden; }
/* D6 reasons 1:17636 — white, 72, 32 gap, 4 x 309 cards cream r16 24 padding */
body .avb-page .avb-reasons { display: flex; flex-direction: column; gap: 32px; padding-block: 72px; background: #fff; }
body .avb-page .avb-reasons__grid { gap: 20px; }
body .avb-page .avb-reason { position: relative; gap: 14px; padding: 24px; border-radius: 16px; background: #EDEBE1; }
body .avb-page .avb-reason::after { content: ""; position: absolute; inset: 0; border: 1px solid #DCD8CA; border-radius: 16px; pointer-events: none; }
body .avb-page .avb-reason__disc { width: 44px; height: 44px; background: #FF4438; }
body .avb-page .avb-reason__disc .avc-ic { color: #fff; }
body .avb-page .avb-reason p { font: 600 16px/22px 'Krub', sans-serif; color: #151515; }
/* D7 types 1:17655 — #151515, 56/72, title left, pills right */
body .avb-page .avb-types { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 56px; background: #151515; }
body .avb-page .avb-types .avc-h2 { font: 700 22px/26px 'Krub', sans-serif; letter-spacing: 0; color: #fff; }
body .avb-page .avb-typechip { box-sizing: border-box; height: 47px; padding: 12px 22px; border-radius: 999px; background: #fff; font: 600 15px/23px 'Krub', sans-serif; color: #151515; }
/* D8/D9 related 1:17664 — cream, 64/72, 735 + 48 + 513 */
body .avb-page .avb-related { grid-template-columns: 735px 513px; justify-content: space-between; gap: 48px; padding-block: 64px; background: #EDEBE1; }
body .avb-page .avb-related__col { display: flex; flex-direction: column; gap: 20px; }
body .avb-page .avb-related .avc-h2 { font: 700 22px/26px 'Krub', sans-serif; letter-spacing: 0; }
body .avb-page .avb-related .avc-grid { gap: 16px; }
body .avb-page .avb-relcard { min-height: 120px; padding: 20px; gap: 10px; border-radius: 14px; background: #fff; }
body .avb-page .avb-catlink { margin: 0; padding: 16px 20px; border-radius: 12px; background: #fff; font: 600 16px/25px 'Krub', sans-serif; }
body .avb-page .avb-catlink__count { font: 400 13px/20px 'Krub', sans-serif; }
/* D10 deals 1:17688 — red band, 32/72, white button 139x44 */
body .avb-page .avb-deals { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: nowrap; padding-block: 32px; background: #FF4438; border-radius: 0; }
body .avb-page .avb-deals > div { display: flex; flex-direction: column; gap: 4px; }
body .avb-page .avb-deals .avc-h2 { font: 700 22px/26px 'Krub', sans-serif; letter-spacing: 0; color: #fff; }
body .avb-page .avb-deals p { font: 400 16px/22px 'Krub', sans-serif; color: #fff; }
body .avb-page .avb-deals .avc-btn { padding: 15px 28px; border: 0; background: #fff; color: #FF4438 !important; font-size: 14px; line-height: 14px; letter-spacing: .28px; }
/* D11 local 1:17694 — white, 56/72, 12 gap */
body .avb-page .avb-local { display: flex; flex-direction: column; gap: 12px; padding-block: 56px; background: #fff; }
body .avb-page .avb-local .avc-h2 { font: 700 22px/26px 'Krub', sans-serif; letter-spacing: 0; }
body .avb-page .avb-local p { font: 400 17px/27px 'Krub', sans-serif; color: #151515; }
/* D12 pickup & delivery 1:17697 — cream, 48/72, 2 x 636 cards white r16 26/28 gap 12 */
body .avb-page .avb-pd { gap: 24px; padding-block: 48px; background: #EDEBE1; }
body .avb-page .avb-pd__opt { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 25px 27px; border-radius: 16px; background: #fff; }
body .avb-page .avb-pd__opt h3 { margin: 0; font: 700 22px/26px 'Krub', sans-serif; }
body .avb-page .avb-pd__opt p { font: 400 15px/22px 'Krub', sans-serif; color: #6B685E; }
body .avb-page .avb-pd__opt .avc-link { font: 600 14px/14px 'Krub', sans-serif; letter-spacing: .28px; text-transform: uppercase; color: #FF4438; }
/* D14 compliance 1:17706 — cream, 32/72, 13/21 muted */
body .avb-page .avb-compliance { padding-block: 32px; background: #EDEBE1; font: 400 13px/21px 'Krub', sans-serif; color: #6B685E; }
/* 15 FAQ 1:17708 — white, 96/80, heading 380 + 64 + accordion 836 */
body .avb-page .avb-faq { grid-template-columns: 380px 836px; gap: 64px; padding: 96px 80px; background: #fff; }
body .avb-page .avb-faq__head { gap: 14px; }
body .avb-page .avb-faq__head p.avc-eyebrow { font: 600 13px/16px 'Krub', sans-serif; letter-spacing: 1.56px; }
body .avb-page .avb-faq__head h2 { font-size: 36px; line-height: 47px; letter-spacing: -.36px; }
body .avb-page .avb-faq__head .avc-btn { margin: 0; padding: 17px 30px; }
body .avb-page .avb-faq__acc .avc-faq { background: #EDEBE1; border: 1px solid #DCD8CA; border-radius: 8px; overflow: hidden; }
body .avb-page .avb-faq__acc .avc-faq__item { background: transparent; border-radius: 0; }
body .avb-page .avb-faq__acc .avc-faq__item + .avc-faq__item { border-top: 1px solid #fff; }
body .avb-page .avb-faq__acc .avc-faq__btn { padding: 24px 28px !important; font-size: 20px !important; font-weight: 700 !important; line-height: 24px !important; }
body .avb-page .avb-why p.avc-eyebrow { margin: 0; font: 600 14px/17px 'Krub', sans-serif; letter-spacing: .28px; text-transform: uppercase; color: #FF4438; }
body .avb-page .avb-attrtable-wrap { padding: 7px 0; }
body .avb-page .avb-attrtable { margin: 0; }
body .avb-page .avb-attrtable td { padding-bottom: 11.5px; }
body .avb-page .avb-faq__acc .avc-faq { border: 0; box-shadow: inset 0 0 0 1px #DCD8CA; }
body .avb-page .avb-faq__acc .avc-faq__item + .avc-faq__item .avc-faq__btn { padding-top: 23px !important; }
body .avb-page .avb-faq__acc .avc-faq__item.is-open .avc-faq__btn { padding-bottom: 14px !important; }
body .avb-page .avb-faq__acc .avc-faq__inner { padding: 0 28px 24px !important; font-size: 16px !important; line-height: 25px !important; color: #6B685E; }
body .avb-page .avb-faq__acc .avc-faq__inner p { font-size: 16px; line-height: 25px; color: #6B685E; margin: 0; }
@media (max-width: 1439px) {
  body .avb-page .avb-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 500px); }
  body .avb-page .avb-story { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); }
  body .avb-page .avb-story__media, body .avb-page .avb-hero__media { width: 100%; }
  body .avb-page .avb-related { grid-template-columns: minmax(0, 1.43fr) minmax(0, 1fr); }
  body .avb-page .avb-faq { grid-template-columns: minmax(0, 380px) minmax(0, 1fr); }
}
@media (max-width: 1024px) {
  body .avb-page > section, body .avb-page > .avb-compliance, body .avb-page > .avb-faq { padding-inline: 40px; }
  body .avb-page .avb-hero, body .avb-page .avb-story, body .avb-page .avb-related, body .avb-page .avb-faq, body .avb-page .avb-pick { grid-template-columns: 1fr; }
  body .avb-page .avb-hero__media, body .avb-page .avb-story__media { height: auto; aspect-ratio: 500 / 420; }
  body .avb-page .avb-types { flex-direction: column; align-items: flex-start; }
}
/* mobile frame 1:17749: 20px gutters, 36/20 bands */
@media (max-width: 767px) {
  body .avb-page > section, body .avb-page > .avb-compliance, body .avb-page > .avb-faq { padding-inline: 20px; }
  body .avb-page .avb-chips { display: none; } /* D34: the mobile frame draws no category chips (1:17800) */
  body .avb-page .avb-hero { gap: 14px; padding-block: 16px 32px; }
  body .avb-page .avb-hero__copy { gap: 14px; }
  body .avb-page .avb-crumb { font-size: 12px; line-height: 18px; }
  body .avb-page .avb-hero__logo { width: 140px; height: 50px; min-height: 50px; border-radius: 8px; }
  body .avb-page .avb-hero__logotext { font-size: 20px; line-height: 22px; }
  body .avb-page .avb-h1 { font-size: 26px; line-height: 31px; letter-spacing: -.26px; }
  body .avb-page .avb-hero__tagline { font-size: 16px; line-height: 24px; }
  body .avb-page .avb-hero__media { border-radius: 14px; }
  body .avb-page .avb-answer { padding-block: 4px 28px; font-size: 16px; line-height: 24px; }
  body .avb-page .avb-answer p { line-height: 24px; }
  body .avb-page .avb-products { gap: 18px; padding-block: 36px; }
  body .avb-page .avc-h2 { font-size: 22px; line-height: 26px; letter-spacing: -.22px; }
  body .avb-page .avb-pick, body .avb-page .avb-why, body .avb-page .avb-story, body .avb-page .avb-reasons, body .avb-page .avb-related, body .avb-page .avb-local { gap: 18px; padding-block: 36px; }
  body .avb-page .avb-types, body .avb-page .avb-pd { padding-block: 32px; }
  body .avb-page .avb-pick__quote blockquote { font-size: 20px; line-height: 28px; }
  body .avb-page .avb-faq { padding: 40px 20px; gap: 14px; }
  body .avb-page .avb-faq__head h2 { font-size: 22px; line-height: 26px; }
  body .avb-page .avb-faq__head p.avc-eyebrow, body .avb-page .avb-faq__head .avc-btn { display: none; }
  body .avb-page .avb-faq__acc .avc-faq__btn { padding: 18px !important; font-size: 15px !important; font-weight: 600 !important; line-height: 20px !important; }
  body .avb-page .avb-deals { flex-direction: column; align-items: stretch; }
  body .avb-page .avb-deals .avc-btn, body .avb-page .avb-btns .avc-btn { width: 100%; justify-content: center; }
}
/* /AUDITOR-C2-BANDS */

/* AUDITOR-C2 FAQ contour 1:17709 (Group op .25, #EDEBE1 vectors at -293,-232) */
body .avb-page .avb-faq { position: relative; overflow: hidden; }
body .avb-page .avb-faq::before { content: ""; position: absolute; z-index: 0; pointer-events: none; left: calc(50% - 1013px); top: -232px; width: 585.02px; height: 1216.91px; background: #EDEBE1; opacity: .25; -webkit-mask: url("img/home-faq-contour.svg") no-repeat 0 0 / 100% 100%; mask: url("img/home-faq-contour.svg") no-repeat 0 0 / 100% 100%; }
body .avb-page .avb-faq > * { position: relative; z-index: 1; }
@media (max-width: 767px) { body .avb-page .avb-faq::before { display: none; } }

/* AUDITOR-C2b-MOBILE (28 Sep) - mobile frame 1:17749 (390 wide) governs <=767 (D34): order, sizes, padding, gaps,
   type from the node dump qa/final/parity-c/_dump/1-17749.01.txt. Hidden on mobile (CSS only, markup kept):
   the pick demo card (D4 draws the quote only), the attribute table (R2 draws tiles only), the "Shop the category"
   heading (D9 draws category rows only). */
@media (max-width: 767px) {
  /* D1 hero 1:17785 - 16/20/32/20, gap 14; order crumb > image (badge inside at 16,16) > logo > H1 > tagline > button */
  body .avb-page .avb-hero { display: flex; flex-direction: column; align-items: stretch; gap: 14px; padding-block: 16px 32px; position: relative; }
  body .avb-page .avb-hero__copy { display: contents; }
  body .avb-page .avb-crumb { order: -2; align-self: flex-start; font-size: 12px; line-height: 18px; }
  body .avb-page .avb-hero__media { order: -1; width: 100%; height: 190px; aspect-ratio: auto; border-radius: 14px; }
  body .avb-page .avb-badge { position: absolute; z-index: 2; top: 64px; left: 36px; height: 24px; padding: 6px 12px; gap: 6px; font: 600 10px/12px 'Krub', sans-serif; letter-spacing: .1px; }
  body .avb-page .avb-badge svg, body .avb-page .avb-badge .avc-ic { width: 12px; height: 12px; flex: 0 0 12px; }
  body .avb-page .avb-hero__logo { align-self: flex-start; }
  body .avb-page .avb-h1 { font-size: 26px; line-height: 31px; letter-spacing: -.26px; }
  body .avb-page .avb-hero__tagline { font-size: 16px; line-height: 24px; color: #151515; }
  body .avb-page .avb-hero .avb-btns { width: 100%; }
  body .avb-page .avb-hero .avb-btns .avc-btn { height: 44px; padding: 15px 0; font-size: 14px; line-height: 14px; letter-spacing: .28px; }
  /* D4 pick 1:17841 - 36/20, gap 16; eyebrow 12/14 +2%, quote 20/28 500, by 15/23 600 */
  body .avb-page .avb-pick { display: flex; flex-direction: column; gap: 16px; padding-block: 36px; }
  body .avb-page .avb-pick__card { display: none; }
  body .avb-page .avb-pick__quote { gap: 16px; }
  body .avb-page .avb-pick__quote .avc-eyebrow, body .avb-page .avb-pick__quote p.avc-eyebrow { font: 600 12px/14px 'Krub', sans-serif; letter-spacing: .24px; }
  body .avb-page .avb-pick__quote blockquote { font: 500 20px/28px 'Krub', sans-serif; }
  body .avb-page .avb-pick__by { font: 600 15px/23px 'Krub', sans-serif; }
  /* R2 why 1:17845 - 44/20, gap 18; eyebrow 12/14, H 24/29, body 16/25.28; 3 tiles 350 wide, r12, 16/18 pad, gap 6 */
  body .avb-page .avb-why { gap: 18px; padding-block: 44px; }
  body .avb-page .avb-why > .avc-eyebrow, body .avb-page .avb-why p.avc-eyebrow { font: 600 12px/14px 'Krub', sans-serif; letter-spacing: .24px; }
  body .avb-page .avb-why .avc-h2 { font-size: 24px; line-height: 29px; letter-spacing: -.24px; }
  body .avb-page .avb-why__body { font: 400 16px/25.28px 'Krub', sans-serif; }
  body .avb-page .avb-why__tiles { display: flex; flex-direction: column; gap: 18px; }
  body .avb-page .avb-tile { gap: 6px; padding: 16px 18px; border-radius: 12px; }
  body .avb-page .avb-tile h3 { font: 600 16px/24.8px 'Krub', sans-serif; }
  body .avb-page .avb-tile p { font: 400 13px/18.85px 'Krub', sans-serif; }
  body .avb-page .avb-attrtable-wrap { display: none; }
  /* D5 story 1:17858 - 44/20/36, gap 16; image first 350x180 r14; H 23/27, body 16/25.28 */
  body .avb-page .avb-story { display: flex; flex-direction: column; gap: 16px; padding-block: 44px 36px; }
  body .avb-page .avb-story__media { order: -1; width: 100%; height: 180px; aspect-ratio: auto; border-radius: 14px; }
  body .avb-page .avb-story__copy { gap: 16px; }
  body .avb-page .avb-story .avc-h2 { font-size: 23px; line-height: 27px; letter-spacing: -.23px; }
  body .avb-page .avb-story__copy p { font: 400 16px/25.28px 'Krub', sans-serif; }
  /* D6 reasons 1:17862 - 44/20, gap 16; H 22/26; 2-col gap 12; cards r12, 16 pad, gap 10; disc 38; text 14/600/18.48 */
  body .avb-page .avb-reasons { gap: 16px; padding-block: 44px; }
  body .avb-page .avb-reasons__grid, body .avb-page .avb-reasons__grid.avc-grid--4 { gap: 12px; }
  body .avb-page .avb-reason { gap: 10px; padding: 16px; border-radius: 12px; }
  body .avb-page .avb-reason::after { border-radius: 12px; }
  body .avb-page .avb-reason__disc { width: 38px; height: 38px; }
  body .avb-page .avb-reason p { font: 600 14px/18.48px 'Krub', sans-serif; }
  /* D7 types 1:17881 - 32/20, gap 12; title 18/22 white; pills 42 tall 10/18, 14/600/21.7, gap 8 */
  body .avb-page .avb-types { gap: 12px; padding-block: 32px; }
  body .avb-page .avb-types .avc-h2 { font: 700 18px/22px 'Krub', sans-serif; }
  body .avb-page .avb-types__row { gap: 8px; }
  body .avb-page .avb-typechip { height: 42px; padding: 10px 18px; font: 600 14px/21.7px 'Krub', sans-serif; }
  /* D8 + D9 related 1:17890 / 1:17905 - 36/20/20 + 8/20/32 (28 between); H 18/22; 3 cards 110x94 gap 10;
     category rows 350x53 r12 15/18, 15/600/23.25 + count 12/18; D9 draws no heading */
  body .avb-page .avb-related { display: flex; flex-direction: column; gap: 28px; padding-block: 36px 32px; }
  body .avb-page .avb-related__col { gap: 14px; }
  body .avb-page .avb-related__col + .avb-related__col { gap: 10px; }
  body .avb-page .avb-related__col + .avb-related__col > .avc-h2 { display: none; }
  body .avb-page .avb-related .avc-h2 { font: 700 18px/22px 'Krub', sans-serif; }
  body .avb-page .avb-related .avc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  body .avb-page .avb-relcard { box-sizing: border-box; min-height: 94px; height: auto; padding: 14px 12px; gap: 8px; border-radius: 12px; align-items: center; text-align: center; }
  body .avb-page .avb-relcard__logo { box-sizing: border-box; width: 100%; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 6px; background: #EDEBE1; font: 600 14px/21.7px 'Krub', sans-serif; color: #151515; }
  body .avb-page .avb-relcard__cats { font: 400 12px/18px 'Krub', sans-serif; color: #6B685E; }
  body .avb-page .avb-catlink { padding: 15px 18px; border-radius: 12px; font: 600 15px/23.25px 'Krub', sans-serif; }
  body .avb-page .avb-catlink__count { font: 400 12px/18px 'Krub', sans-serif; }
  /* D10 deals 1:17912 - red, 28/20, gap 12; H 20/24, body 15/21, white button 350x42 */
  body .avb-page .avb-deals { gap: 12px; padding-block: 28px; }
  body .avb-page .avb-deals > div { gap: 12px; }
  body .avb-page .avb-deals .avc-h2 { font: 700 20px/24px 'Krub', sans-serif; }
  body .avb-page .avb-deals p { font: 400 15px/21px 'Krub', sans-serif; }
  body .avb-page .avb-deals .avc-btn { height: 42px; padding: 14px 0; }
  /* D11 local 1:17917 - 36/20, gap 10; H 18/22, body 16/24.96 */
  body .avb-page .avb-local { gap: 10px; padding-block: 36px; }
  body .avb-page .avb-local .avc-h2 { font: 700 18px/22px 'Krub', sans-serif; }
  body .avb-page .avb-local p { font: 400 16px/24.96px 'Krub', sans-serif; }
  /* D12 pickup & delivery 1:17920 - 32/20, gap 12; cards r14 1px #DCD8CA inside, 18/20 pad, gap 8; 18/22, 13/18.85, link 13 */
  body .avb-page .avb-pd { gap: 12px; padding-block: 32px; }
  body .avb-page .avb-pd__opt { gap: 8px; padding: 18px 20px; border-radius: 14px; box-shadow: inset 0 0 0 1px #DCD8CA; }
  body .avb-page .avb-pd__opt h3 { font: 700 18px/22px 'Krub', sans-serif; }
  body .avb-page .avb-pd__opt p { font: 400 13px/18.85px 'Krub', sans-serif; }
  body .avb-page .avb-pd__opt .avc-link { font: 600 13px/13px 'Krub', sans-serif; letter-spacing: .26px; }
  /* D14 compliance 1:17957 - 28/20, 12/18.96 muted */
  body .avb-page .avb-compliance { padding-block: 28px; font: 400 12px/18.96px 'Krub', sans-serif; }
  body .avb-page .avb-compliance p { font: inherit; }
  /* D13 FAQ 1:17929 - white, 44/20, gap 14; H 23/27; separate cream cards r10 gap 14, 15/16 pad, q 15/600/20, answer 13/19.5, 8 gap */
  body .avb-page .avb-faq { gap: 14px; padding: 44px 20px; }
  body .avb-page .avb-faq__head h2 { font-size: 23px; line-height: 27px; letter-spacing: -.23px; }
  body .avb-page .avb-faq__acc .avc-faq { display: flex; flex-direction: column; gap: 14px; background: transparent; box-shadow: none; border-radius: 0; overflow: visible; }
  body .avb-page .avb-faq__acc .avc-faq__item { background: #EDEBE1; border-radius: 10px; box-shadow: inset 0 0 0 1px #DCD8CA; overflow: hidden; }
  body .avb-page .avb-faq__acc .avc-faq__item.is-open { box-shadow: none; }
  body .avb-page .avb-faq__acc .avc-faq__item + .avc-faq__item { border-top: 0; }
  body .avb-page .avb-faq__acc .avc-faq__q { margin: 0; }
  body .avb-page .avb-faq__acc .avc-faq__btn, body .avb-page .avb-faq__acc .avc-faq__item + .avc-faq__item .avc-faq__btn { gap: 12px; padding: 15px 16px !important; font-size: 15px !important; font-weight: 600 !important; line-height: 20px !important; }
  body .avb-page .avb-faq__acc .avc-faq__item.is-open .avc-faq__btn { padding-bottom: 8px !important; }
  body .avb-page .avb-faq__acc .avc-faq__inner { padding: 0 16px 15px !important; font-size: 13px !important; line-height: 19.5px !important; }
  body .avb-page .avb-faq__acc .avc-faq__inner p { font-size: 13px; line-height: 19.5px; }
  /* Sticky CTA 1:17960 - 64 tall, 12/16, gap 12; name 15/600/23, sub 12/18; button 138x39 13/600 +2% */
  body .avb-sticky { padding: 12px 16px; gap: 12px; }
  body .avb-sticky strong { font: 600 15px/23px 'Krub', sans-serif; }
  body .avb-sticky span { margin-top: 1px; font: 400 12px/18px 'Krub', sans-serif; }
  body .avb-sticky .avc-btn { box-sizing: border-box; height: 39px; min-height: 39px; padding: 13px 22px; font-size: 13px; line-height: 13px; letter-spacing: .26px; }
}
/* /AUDITOR-C2b-MOBILE */

/* AUDITOR-C2b-DESKTOP (28 Sep) - coordinator overlay items on 1:17477: (1) the frame breaks the H1 as "Rippers in NYC /
   Available at Ava Flower Co / (UES + Delivery)" (hard breaks inside the 740 box); the <br> after "in NYC" is in the
   markup, a 520px measure puts the second break before "(UES"; (2) placeholder fill #AD8C5C on the hero image
   1:17491 and the overview image 1:17635 (both frames, 1:17787 / 1:17859 on mobile) until photos are supplied;
   (3) the badge star 1:17481 is filled. */
body .avb-page .avb-hero__media.avc-ph, body .avb-page .avb-story__media.avc-ph { background: #AD8C5C; }
body .avb-page .avb-badge .avc-ic { fill: currentColor; stroke: currentColor; }
@media (min-width: 768px) { body .avb-page .avb-h1 { max-width: 520px; } }
@media (max-width: 767px) {
  /* AUDITOR-C2b-MOBILE (cont.) - eyebrows 12/14 beat the kit's .avc-eyebrow--sm 1.4 line height; D12 card stroke is
     inside (no 1px border box); sticky bar 1:17960 is a fixed 64 */
  body .avb-page .avb-pick__quote p.avc-eyebrow, body .avb-page .avb-why > p.avc-eyebrow { font-size: 12px !important; line-height: 14px !important; letter-spacing: .24px !important; }
  body .avb-page .avb-pd__opt { border: 0; }
  body .avb-sticky { box-sizing: border-box; height: 64px; padding-block: 0; }
}
/* /AUDITOR-C2b-DESKTOP */

/* AUDITOR-C2c — Why Ava attribute table 1:17606 = 186 tall (7 inset incl. the 1px inside stroke, header row 37, body rows 45).
 * The collapsed .5px td rules rounded every row to +.5 (section 723.3 vs frame 719): rules drawn as inset shadows (no layout),
 * cells padded so each row paints at exactly 45 (header 37), inset 6 + 1px border = the frame's 7. */
body .avb-page .avb-attrtable-wrap { padding: 6px 0; }
body .avb-page .avb-attrtable td { border-top: 0; padding-top: 11.5px; padding-bottom: 11.5px; box-shadow: inset 0 .5px 0 #DCD8CA; }
body .avb-page .avb-attrtable th { padding-bottom: 11.5px; }
body .avb-page .avb-why > .avc-eyebrow { line-height: 17px; }

/* LANE-M-BRAND (28 Sep, D44) - mobile frame 1:17749. (1) Mobile copy variants render through ava_mcopy / .ava-cd + .ava-cm
 * (brand.php); the compliance line sits below the FAQ at <=767 as the mobile frame orders it. (2) Figma lays every text
 * line out on a whole-pixel line box: 158% of 16 = 25.28 -> 25, 155% of 16 = 24.8 -> 25, 156% of 16 = 24.96 -> 25,
 * 145% of 13 = 18.85 -> 19, 158% of 12 = 18.96 -> 19, 132% of 14 = 18.48 -> 18, 150% of 13 = 19.5 -> 20; the node heights
 * (why/story body 225 = 9 x 25, tile 25 + 19, reason 36 = 2 x 18, local 125 = 5 x 25, P&D 19, compliance 95 = 5 x 19,
 * FAQ answer 60 = 3 x 20) are lines x the rounded value, so the mobile line heights use the rounded values. */
@media (max-width: 767px) {
  body .avb-page .avb-why__body, body .avb-page .avb-story__copy p { line-height: 25px; }
  body .avb-page .avb-tile h3 { line-height: 25px; }
  body .avb-page .avb-tile p, body .avb-page .avb-pd__opt p { line-height: 19px; }
  body .avb-page .avb-reason p { line-height: 18px; }
  body .avb-page .avb-local p { line-height: 25px; }
  body .avb-page .avb-compliance { line-height: 19px; }
  body .avb-page .avb-faq__acc .avc-faq__inner { line-height: 20px !important; }
  body .avb-page .avb-faq__acc .avc-faq__inner p { line-height: 20px; }
}
/* /LANE-M-BRAND */

/* FIXROUND-brand-local (29 Sep) - qa/final/fixround/brand-local.json, values from 1:17431 (1440) / 1:17749 (390).
   Frame strokes are inside the box: link cards and the attribute table draw their 1px #DCD8CA as a -1px outline. */
/* eyebrows: the kit's .avc-eyebrow / .avc-eyebrow--sm carry !important (12px .12em / 11px), so the frame tokens need it too */
@media (min-width: 768px) {
  body .avb-page .avb-pick__quote p.avc-eyebrow, body .avb-page .avb-why > p.avc-eyebrow { font-size: 14px !important; line-height: 17px !important; letter-spacing: .28px !important; }
  body .avb-page .avb-faq__head p.avc-eyebrow { font-size: 13px !important; line-height: 16px !important; letter-spacing: 1.56px !important; }
}
/* D4 pick card 1:17583: white card, 1px #DCD8CA inside, r16; image 1:17584 320x200 #FF4438; body 1:17585 18/22/20/22 gap 6;
   title 600 17/26 #151515, meta 400 14/21 #6B685E (200 + 91 = 291) */
body .avb-page .avb-pick__demo { background: #FF4438; border-radius: 16px; overflow: hidden; outline: 1px solid #DCD8CA; outline-offset: -1px; }
body .avb-page .avb-pick__demo-body { display: flex; flex-direction: column; gap: 6px; padding: 18px 22px 20px; border-radius: 0; background: #fff; }
body .avb-page .avb-pick__demo-body h3 { margin: 0; font: 600 17px/26px 'Krub', sans-serif; color: #151515; }
body .avb-page .avb-pick__demo-body p { margin: 0; font: 400 14px/21px 'Krub', sans-serif; color: #6B685E; }
/* R2 attribute table 1:17606: five equal columns of (W - 40) / 5 inside the 20px row padding (text x 92 / 343.2 / 594.4 /
   845.6 / 1096.8 at 1440); stroke inside, rows start 7px in (186 tall) */
body .avb-page .avb-attrtable-wrap { border: 0; outline: 1px solid #DCD8CA; outline-offset: -1px; padding: 7px 0; }
body .avb-page .avb-attrtable { table-layout: fixed; width: 100%; }
body .avb-page .avb-attrtable th, body .avb-page .avb-attrtable td { width: 19.3827%; padding-left: 0; padding-right: 0; } /* 251.2 / 1296 (calc(% - px) is ignored on fixed-layout cells) */
body .avb-page .avb-attrtable th:first-child, body .avb-page .avb-attrtable td:first-child { width: 20.9259%; padding-left: 20px; } /* 271.2 / 1296 */
body .avb-page .avb-attrtable th:last-child, body .avb-page .avb-attrtable td:last-child { width: 20.9259%; padding-right: 20px; }
/* D8 related brands 1:17668: top-aligned; logo tile 1:17669 194x50 #EDEBE1 r8, name 700 17/20 centred in its 180 text box;
   category 1:17671 400 13/20 at card+80 */
body .avb-page .avb-relcard { justify-content: flex-start; border: 0; outline: 1px solid #DCD8CA; outline-offset: -1px; }
@media (min-width: 768px) {
  body .avb-page .avb-relcard__logo { box-sizing: border-box; display: flex; align-items: center; justify-content: center; height: 50px; padding: 0 14px 0 0; border-radius: 8px; background: #EDEBE1; font: 700 17px/20px 'Krub', sans-serif; color: #151515; text-align: center; }
  body .avb-page .avb-relcard__cats { line-height: 20px; }
}
/* D9 category links 1:17682 (513x57) / 1:17906 (350x53): stroke inside */
body .avb-page .avb-catlink { border: 0; outline: 1px solid #DCD8CA; outline-offset: -1px; }
/* hover / focus-visible in the site's language (chips: border to ink; kit focus ring navy 2px) */
body .avb-page .avb-relcard:hover, body .avb-page .avb-catlink:hover { outline-color: #151515; }
body .avb-page .avb-relcard:hover .avb-relcard__logo, body .avb-page .avb-catlink:hover > span:first-child { color: #FF4438; }
body .avb-page .avb-relcard:focus-visible, body .avb-page .avb-catlink:focus-visible { outline: 2px solid #193E81; outline-offset: 2px; }
/* D12 pickup / delivery titles 1:17699 / 1:17922: #151515 (the theme's h3 colour #1E293B leaked through) */
body .avb-page .avb-pd__opt h3 { color: #151515; }
@media (max-width: 767px) {
  /* D1 hero 'Logo' 1:17793: 700 20px, letter-spacing 2% = .4px */
  body .avb-page .avb-hero__logotext { letter-spacing: .4px; }
  /* D8 1:17893 110x94 p14/12, tile 1:17894 90x40 at card x+10 (centred, 2px past the 86 content box), top-aligned */
  body .avb-page .avb-relcard__logo { width: 90px; flex: none; align-self: center; }
  /* D9 1:17906: 350x53, 15/18, text 600 15 / 23 */
  body .avb-page .avb-catlink { line-height: 23px; }
  /* D13 FAQ icon 1:17934: 16x16, 2px below the question's first line */
  body .avb-page .avb-faq__acc .avc-faq__ic { align-self: flex-start; margin-top: 2px; }
  body .avb-page .avb-faq__acc .avc-faq__ic svg { width: 16px; height: 16px; }
}
/* interaction (29 Sep scan): crumb hover to red (line 174's colour outranked line 23's hover); no Astra #045CB4 on the
   product-card media link or the related-brand / category cards; one visible 2px focus ring on every link */
body .avb-page .avb-crumb a:hover { color: #FF4438; }
body .avb-page a.cpa-card-media:hover, body .avb-page a.cpa-card-media:focus { color: #FF4438; }
body .avb-page a.avb-relcard:hover, body .avb-page a.avb-relcard:focus, body .avb-page a.avb-catlink:hover, body .avb-page a.avb-catlink:focus { color: #151515; }
body .avb-page a:focus-visible { outline: 2px solid #193E81; outline-offset: 2px; }
/* /FIXROUND-brand-local */

/* AUDIT-brands (29 Sep) - qa/final/audit-oct/AUDIT-brands.md B1 / B3 / B4. */
/* B1: with no uploaded brand_logo the hero tile shows the brand's name as a wordmark (brand.php, was the literal word
   "Logo"); the frame's 180 / 140 tile is the minimum and grows for long names ("Soft Power Sweets", "Papa & Barkley"). */
body .avb-page .avb-hero__logo.avb-hero__logo--text { width: auto; min-width: 180px; max-width: 100%; padding: 0 20px; }
body .avb-page .avb-hero__logo--text .avb-hero__logotext { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 767px) { body .avb-page .avb-hero__logo.avb-hero__logo--text { min-width: 140px; padding: 0 16px; } }
/* B3: hover text on the cream (#EDEBE1) surfaces stays ink - red #FF4438 on cream is 2.86:1 - and the red moves to an
   underline (pointer devices only, so a tapped FAQ question on a phone does not keep a sticky hover state). Beats
   ava-content.css .avc-faq__btn:hover (red !important) and the FIXROUND crumb / related-card hover reds above. */
body .avb-page .avb-crumb a:hover, body .avb-page .avb-crumb a:focus { color: #151515; }
body .avb-page .avb-faq__acc .avc-faq__btn:hover, body .avb-page .avb-faq__acc .avc-faq__btn:focus { color: #151515 !important; }
body .avb-page a.avb-relcard:hover .avb-relcard__logo, body .avb-page a.avb-relcard:focus .avb-relcard__logo { color: #151515; }
@media (hover: hover) {
  body .avb-page .avb-faq__acc .avc-faq__btn:hover > span:first-child, body .avb-page a.avb-relcard:hover .avb-relcard__logo {
    text-decoration: underline; text-decoration-color: #FF4438; text-decoration-thickness: 2px; text-underline-offset: 4px;
  }
  /* a global "a { text-decoration: none !important }" (traced with CSS.getMatchedStylesForNode) wins on links */
  body .avb-page .avb-crumb a:hover { text-decoration: underline !important; text-decoration-color: #FF4438 !important; text-decoration-thickness: 2px !important; text-underline-offset: 4px; }
}
/* B2: the no-stock desktop H1 "at Ava Flower Co (UES + Delivery)" keeps "(UES + Delivery)" together, like the in-stock line */
body .avb-page .avb-h1 .avb-nowrap { white-space: nowrap; }
/* B4: tap targets of at least 24px on the breadcrumb and the pickup / delivery links, without moving anything
   (padding + an equal negative margin): crumbs 18 -> 24 (20 -> 26 at >=768), links 13 -> 25 (14 -> 26). */
body .avb-page .avb-crumb a { display: inline-block; padding-block: 3px; margin-block: -3px; }
body .avb-page .avb-pd__opt .avc-link { padding-block: 6px; margin-block: -6px; }
/* /AUDIT-brands */
/* Final recheck (30 Sep): a brand with nothing in stock prints no sticky bar, so it must not keep the bar's 64 px
   (it showed as a cream strip under the dark footer at max scroll). */
@media (max-width: 767px) {
  body:not(:has(.avb-sticky)) { padding-bottom: 0; }
}
/* Final recheck F1 (30 Sep): on phones the brand grid's 161 px cards kept the 120 px ADD / SELECT button, so the price sat
   under it ("$5", "$1") and "6 similar in stock" broke one word per line. Same compact button as the /shop/ grid below 768
   (product_archive.css + ava-shop.css): round red "+" for ADD / SELECT (label kept for screen readers), small NOTIFY / VIEW. */
@media (max-width: 767px) {
  body .avb-grid .ava-atc { min-width: 0; min-height: 29px; }
  body .avb-grid .ava-atc .ava-btn[data-act="add"],
  body .avb-grid .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; }
  body .avb-grid .ava-atc .ava-btn[data-act="add"] > span,
  body .avb-grid .ava-atc .ava-btn[data-act="select"]::before { font-size: 20px; line-height: 1; font-weight: 500; }
  body .avb-grid .ava-atc .ava-btn[data-act="select"]::before { content: "+"; }
  body .avb-grid .ava-atc .ava-btn[data-act="select"] svg { display: none; }
  body .avb-grid .ava-atc .ava-btn[data-act="notify"] { min-width: 0; height: 29px; padding: 0 8px; font-size: 10px; letter-spacing: 0.06em; }
  body .avb-grid .ava-btn.ava-btn--outline, body .avb-grid .ava-btn.ava-btn--outline-red { min-width: 0; height: 29px; padding: 0 8px; font-size: 10px; }
  body .avb-grid .ava-atc .ava-stepper { width: 82px; height: 29px; }
  body .avb-grid .ava-atc .ava-stepper button { width: 26px; font-size: 15px; }
}
/* 768-1199: the brand grid's cards (three 216 px at 768, four 205-240 px just above 1024) left too little room for price + the
   120 px button, so "$100.00" ran under it; there the button sizes to its label (ADD 72 px, SELECT 97 px). */
@media (min-width: 768px) and (max-width: 1199px) {
  body .avb-grid .ava-atc { min-width: 0 !important; }
  body .avb-grid .ava-atc .ava-btn { min-width: 0 !important; padding-left: 12px !important; padding-right: 12px !important; }
}

/* >>> AUDIT2 2 Oct (dlbd): brand pages, data cases the 28 Sep pass did not cover */
/* BR01 mobile sticky bar (1:17960, 64 px, name 15/600/23 + line 12/400/18 on one line each): with a long brand name the button
   ("SHOP SOFT POWER SWEETS", 279 px) leaves ~67 px, so the name and the "On the shelf · from …" line wrapped to 2 lines each and
   ran out of the 64 px bar (Soft Power Sweets at 390; 13-letter names at 375). The text column now shrinks and each line ends
   with an ellipsis; the bar stays 64 px. */
@media (max-width: 767px) {
  body .avb-sticky > div { flex: 1 1 auto; min-width: 0; }
  body .avb-sticky > div > strong, body .avb-sticky > div > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body .avb-sticky > .avc-btn { flex: none; }
}
/* BR07 FAQ (1:17708 / 1:17929): closed rows draw the "+" in ink #151515 and only the open row's "−" in red (as About / Brands
   / events already do); the brand FAQ painted every "+" red. */
body .avb-page .avc-faq__ic .avc-ic--plus { color: #151515; }
/* <<< AUDIT2 2 Oct (dlbd) */
