/* ============================================================
   AVANTE homepage sections. Tokens come from avante-child.
   ============================================================ */
.avs-wrap{max-width:1200px;margin:0 auto;padding:0 20px}

/* ---------- Utility strip ---------- */
.avs-util{background:var(--indigo-900,#2E1A5E);color:#fff}
.avs-util-in{max-width:1200px;margin:0 auto;padding:8px 20px;display:flex;gap:20px;
  align-items:center;justify-content:space-between;flex-wrap:wrap}
.avs-util-items{list-style:none;display:flex;gap:26px;flex-wrap:wrap;margin:0;padding:0}
.avs-util-items li{display:flex;align-items:center;gap:8px;font-size:.9375rem}
.avs-util a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.avs-util-size{display:flex;gap:2px;align-items:center}
.avs-util-size button{min-width:44px;min-height:44px;background:none;border:0;color:#fff;
  cursor:pointer;border-radius:8px;font-weight:600;line-height:1}
.avs-util-size button[aria-pressed="true"]{background:rgba(255,255,255,.18)}
.avs-util-size button:focus-visible{outline:2px solid var(--amber-500,#F5A623);outline-offset:1px}

/* ---------- Hero ---------- */
.avs-hero{padding:36px 0 8px}
.avs-hero-grid{display:grid;gap:26px;grid-template-columns:minmax(0,1.62fr) minmax(0,.85fr);
  align-items:stretch}
.avs-hero-stage{position:relative;min-width:0}
.avs-slide{display:none;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:20px;align-items:center}
.avs-slide.is-active{display:grid}
.avs-slide-copy h1{margin:0 0 14px}
.avs-slide-copy p{font-size:1.125rem;color:var(--ink-muted,#544470);margin:0 0 24px;max-width:34ch}
.avs-slide-btns{display:flex;gap:12px;flex-wrap:wrap}
.avs-slide-media img{width:100%;height:auto;max-height:420px;object-fit:contain}
.avs-hero-nav{display:flex;gap:12px;align-items:center;margin-top:18px;flex-wrap:wrap}
.avs-hero-nav button{min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;
  background:#fff;border:1px solid var(--line,#E4DFEE);color:var(--indigo-900,#2E1A5E);font-size:17px}
.avs-hero-dots{display:flex;gap:8px}
.avs-hero-dots button{min-width:44px;min-height:44px;border:0;background:none;position:relative}
.avs-hero-dots button::after{content:"";position:absolute;inset:50% auto auto 50%;
  translate:-50% -50%;width:9px;height:9px;border-radius:50%;background:var(--line,#E4DFEE)}
.avs-hero-dots button[aria-selected="true"]::after{background:var(--amber-500,#F5A623);width:26px;border-radius:999px}

/* 9:16 reel panel — aspect-ratio + min-width:0 stop it clipping at any breakpoint */
.avs-reel{min-width:0;display:flex;flex-direction:column;gap:10px}
.avs-reel-frame{position:relative;aspect-ratio:9/16;width:100%;max-height:520px;margin-inline:auto;
  border-radius:22px;overflow:hidden;background:var(--indigo-900,#2E1A5E);
  border:1px solid var(--line,#E4DFEE);box-shadow:var(--shadow-2,0 12px 32px rgba(46,26,94,.1))}
.avs-reel-item{position:absolute;inset:0;margin:0;display:none}
.avs-reel-item.is-active{display:block}
.avs-reel-item img{width:100%;height:100%;object-fit:cover}
.avs-reel-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;
  font-size:.875rem;background:linear-gradient(to top,rgba(0,0,0,.72),transparent)}
.avs-reel-play{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;
  width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.9);color:var(--indigo-900,#2E1A5E);font-size:22px;text-decoration:none}
.avs-reel-handle{position:absolute;top:12px;left:14px;color:#fff;font-size:.8125rem;font-weight:600;
  text-shadow:0 1px 3px rgba(0,0,0,.5)}
.avs-reel-more{font-size:.9375rem;font-weight:600;color:var(--indigo-900,#2E1A5E);
  text-align:center;text-decoration:none;min-height:44px;display:flex;align-items:center;justify-content:center}
.avs-hero-assure{list-style:none;display:flex;flex-wrap:wrap;gap:10px 30px;margin:22px 0 0;padding:16px 20px;
  background:var(--glass,rgba(255,255,255,.68));backdrop-filter:blur(18px);
  border:1px solid var(--line,#E4DFEE);border-radius:var(--radius,24px)}
.avs-hero-assure li{display:flex;align-items:center;gap:9px;font-size:.9375rem;font-weight:500}

/* ---------- Category bento ---------- */
.avs-bento{padding:44px 0}
.avs-bento h2{margin:0 0 18px}
.avs-bento-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
.avs-bento-big{grid-column:span 2;grid-row:span 2;min-height:300px}
.avs-bento-big,.avs-bento-mid{position:relative;display:block;overflow:hidden;text-decoration:none;
  border-radius:var(--radius,24px);padding:22px;background:var(--lavender,#F2EFF8);
  border:1px solid var(--line,#E4DFEE);color:var(--indigo-900,#2E1A5E)}
.avs-bento-mid{min-height:150px}
.avs-bento-big:hover,.avs-bento-mid:hover{border-color:var(--violet-500,#7B5EA7)}
.avs-bento-t{position:relative;z-index:2;display:block;font-weight:600;font-size:1.15rem}
.avs-bento-t small{font-weight:500;color:var(--ink-muted,#544470)}
.avs-bento-pills{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;
  margin-top:16px;max-width:190px}
.avs-bento-pill{background:#fff;border-radius:999px;padding:9px 16px;font-size:.9375rem;
  display:flex;justify-content:space-between;align-items:center}
.avs-bento-big img{position:absolute;right:-6%;bottom:-4%;width:64%;height:auto;z-index:1;object-fit:contain}
.avs-bento-mid img{position:absolute;right:-4%;bottom:-8%;width:52%;height:auto;z-index:1;object-fit:contain}
.avs-bento-bar{list-style:none;display:grid;gap:0;margin:14px 0 0;padding:0;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  background:var(--lavender,#F2EFF8);border:1px solid var(--line,#E4DFEE);border-radius:var(--radius,24px);overflow:hidden}
.avs-bento-bar li+li{border-left:1px solid var(--line,#E4DFEE)}
.avs-bento-bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:60px;
  text-decoration:none;color:var(--indigo-900,#2E1A5E);font-weight:600;font-size:.9375rem}
.avs-bento-bar small{color:var(--ink-muted,#544470);font-weight:500}

/* ---------- Paediatric band ---------- */
.avs-paed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;
  background:var(--lavender,#F2EFF8);border:1px solid var(--line,#E4DFEE);
  border-radius:var(--radius,24px);padding:26px;margin:8px 0 44px}
.avs-paed-media img{width:100%;height:auto;max-height:290px;object-fit:contain;border-radius:18px}
.avs-paed-copy h2{margin:0 0 8px}
.avs-paed-copy p{color:var(--ink-muted,#544470);margin:0 0 18px;font-size:1.0625rem}

/* ---------- Situations ---------- */
.avs-sit{padding:8px 0 44px}
.avs-sit h2{margin:0 0 18px}
.avs-sit-grid{list-style:none;display:grid;gap:14px;padding:0;margin:0;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.avs-sit-grid a{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  min-height:150px;padding:22px 16px;text-decoration:none;background:#fff;
  border:1px solid var(--line,#E4DFEE);border-radius:var(--radius,24px);color:var(--indigo-900,#2E1A5E)}
.avs-sit-grid a:hover{border-color:var(--violet-500,#7B5EA7)}
.avs-sit-grid img{width:74px;height:74px;object-fit:contain}
.avs-sit-ico{font-size:40px;line-height:1}
.avs-sit-t{font-weight:600;font-size:1rem;line-height:1.3}
.avs-sit-b{font-size:.875rem;color:var(--ink-muted,#544470)}

/* ---------- Product rails ---------- */
.avs-rail{padding:8px 0 40px}
.avs-rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 16px}
.avs-rail-head h2{margin:0}
.avs-rail-more{font-weight:600;text-decoration:none;color:var(--indigo-900,#2E1A5E);
  min-height:44px;display:inline-flex;align-items:center}
.avs-rail-grid{list-style:none;display:grid;gap:14px;padding:0;margin:0;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.avs-pcard{background:#fff;border:1px solid var(--line,#E4DFEE);border-radius:var(--radius,24px);
  padding:16px;display:flex;flex-direction:column;gap:7px}
.avs-pcard-link{text-decoration:none;color:var(--indigo-900,#2E1A5E)}
.avs-pcard-media{display:block;background:var(--ground,#FBFAFD);border-radius:16px;padding:8px}
.avs-pcard-media img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.avs-pcard-name{display:block;margin-top:10px;font-weight:600;font-size:.9375rem;line-height:1.35}
.avs-pcard-stars{color:var(--amber-500,#F5A623);font-size:.9375rem}
.avs-pcard-stars small{color:var(--ink-muted,#544470);margin-left:4px}
.avs-pcard-price{font-size:1.25rem;font-weight:700;color:var(--indigo-900,#2E1A5E)}
.avs-pcard-price small{display:block;font-size:.875rem;font-weight:500;color:var(--ink-muted,#544470)}
.avs-pcard-price em{font-size:1rem;font-weight:600;font-style:normal;color:var(--ink-muted,#544470)}
.avs-pcard-meta{display:flex;flex-direction:column;gap:2px;font-size:.8125rem;color:var(--ink-muted,#544470)}
.avs-pcard-meta .avs-in{color:var(--success-ink,#1B5E20);font-weight:600}
.avs-pcard-add{margin-top:6px;text-decoration:none;text-align:center}
.avs-pcard-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.avs-pcard-cmp{display:flex;align-items:center;gap:7px;min-height:44px;font-size:.875rem;
  color:var(--ink-muted,#544470);cursor:pointer}
.avs-pcard-cmp input{width:18px;height:18px}
.avs-wish{min-width:44px;min-height:44px;border:0;background:none;cursor:pointer;
  font-size:20px;color:var(--violet-500,#7B5EA7)}
.avs-rail-strip{list-style:none;display:flex;gap:12px;overflow-x:auto;padding:2px 0 10px;margin:0;
  scroll-snap-type:x mandatory}
.avs-rail-strip li{flex:0 0 auto;width:150px;scroll-snap-align:start}
.avs-rail-strip a{display:block;text-decoration:none;color:var(--indigo-900,#2E1A5E);
  background:#fff;border:1px solid var(--line,#E4DFEE);border-radius:18px;padding:10px}
.avs-rail-strip img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.avs-strip-n{display:block;font-size:.8125rem;font-weight:600;line-height:1.3;margin-top:8px}
.avs-strip-p{display:block;font-size:.875rem;font-weight:700;margin-top:2px}

/* ---------- Paying & claiming ---------- */
.avs-pay{background:var(--indigo-900,#2E1A5E);color:#fff;border-radius:var(--radius,24px);
  padding:26px;margin:8px 0 40px}
.avs-pay-cols{list-style:none;display:grid;gap:20px;padding:0;margin:0 0 18px;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.avs-pay-cols li{display:grid;grid-template-columns:34px 1fr;gap:4px 12px;align-items:start}
.avs-pay-ico{grid-row:span 2;font-size:22px}
.avs-pay-t{font-weight:600}
.avs-pay-d{font-size:.875rem;opacity:.86}
.avs-pay-note{margin:0;padding-top:16px;border-top:1px solid rgba(255,255,255,.22);
  font-size:.9375rem;opacity:.92;text-align:center}

/* ---------- Reviews ---------- */
.avs-rev{padding:8px 0 40px}
.avs-rev h2{margin:0 0 18px}
.avs-rev-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.avs-rev-card{margin:0;background:#fff;border:1px solid var(--line,#E4DFEE);
  border-radius:var(--radius,24px);padding:20px}
.avs-rev-stars{color:var(--amber-500,#F5A623);font-size:1.0625rem}
.avs-rev-card p{margin:8px 0 14px;font-size:1rem;line-height:1.6}
.avs-rev-card footer{display:flex;flex-direction:column;gap:2px;font-size:.875rem}
.avs-rev-who{font-weight:600;color:var(--indigo-900,#2E1A5E)}
.avs-rev-vb{color:var(--success-ink,#1B5E20);font-weight:600}
.avs-rev-card cite{color:var(--ink-muted,#544470);font-style:normal}
.avs-rev-agg{background:#fff;border:1px solid var(--line,#E4DFEE);border-radius:var(--radius,24px);padding:20px}
.avs-rev-avg{font-size:2.75rem;font-weight:700;color:var(--indigo-900,#2E1A5E);line-height:1}
.avs-rev-n{display:block;color:var(--ink-muted,#544470);font-size:.9375rem;margin-bottom:12px}
.avs-rev-hist{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.avs-rev-hist li{display:grid;grid-template-columns:34px 1fr 46px;gap:8px;align-items:center;font-size:.875rem}
.avs-rev-bar{background:var(--lavender,#F2EFF8);border-radius:999px;height:9px;overflow:hidden}
.avs-rev-bar i{display:block;height:100%;background:var(--amber-500,#F5A623)}
.avs-rev-c{text-align:right;color:var(--ink-muted,#544470)}

/* ---------- Guides ---------- */
.avs-guides{padding:8px 0 36px}
.avs-guides h2{margin:0 0 4px}
.avs-guides-sub{margin:0 0 20px;color:var(--ink-muted,#544470);font-size:1.0625rem}
.avs-guides-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.avs-guide{background:#fff;border:1px solid var(--line,#E4DFEE);border-radius:var(--radius,24px);
  padding:16px;display:flex;flex-direction:column}
.avs-guide img{width:100%;height:170px;object-fit:cover;border-radius:16px}
.avs-guide h3{margin:14px 0 8px;font-size:1.15rem;line-height:1.3}
.avs-guide h3 a{text-decoration:none;color:var(--indigo-900,#2E1A5E)}
.avs-guide p{margin:0 0 14px;color:var(--ink-muted,#544470);font-size:.9375rem}
.avs-guide-more{margin-top:auto;font-weight:600;text-decoration:none;color:var(--violet-500,#7B5EA7);
  min-height:44px;display:inline-flex;align-items:center}
.avs-spec{background:linear-gradient(160deg,#FFF6E6,#FFEFD6);
  border:1px solid #F6E2BE;border-radius:var(--radius,24px);padding:22px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:8px}
.avs-spec-ico{font-size:34px}
.avs-spec h3{margin:0;font-size:1.25rem}
.avs-spec p{margin:0;color:var(--ink-muted,#544470);font-size:.9375rem}
.avs-spec-tel{font-size:1.6rem;font-weight:700;color:var(--amber-ink,#7A4A00);text-decoration:none;
  min-height:48px;display:inline-flex;align-items:center}
.avs-spec-hrs{font-size:.875rem!important}
.avs-spec .avs-cta,.avs-spec .avs-btn-secondary{width:100%;max-width:260px;text-decoration:none}

/* ---------- Trust strip ---------- */
.avs-trust{list-style:none;display:grid;gap:0;margin:0 0 40px;padding:0;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  background:#fff;border:1px solid var(--line,#E4DFEE);border-radius:var(--radius,24px);overflow:hidden}
.avs-trust li{display:flex;align-items:center;justify-content:center;gap:11px;min-height:74px;
  padding:14px 18px;font-size:.9375rem;font-weight:500;text-align:center}
.avs-trust li+li{border-left:1px solid var(--line,#E4DFEE)}
.avs-trust span{font-size:20px}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .avs-hero-grid{grid-template-columns:1fr}
  .avs-reel-frame{max-width:330px}
  .avs-bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .avs-bento-big{grid-column:span 2;grid-row:auto;min-height:250px}
  .avs-paed{grid-template-columns:1fr}
}
@media (max-width:767px){
  .avs-slide{grid-template-columns:1fr}
  .avs-slide-media{order:-1}
  .avs-bento-grid{grid-template-columns:1fr}
  .avs-bento-big{grid-column:auto}
  .avs-trust li+li{border-left:0;border-top:1px solid var(--line,#E4DFEE)}
  .avs-bento-bar li+li{border-left:0;border-top:1px solid var(--line,#E4DFEE)}
  .avs-util-in{justify-content:center}
}

.avs-slide-h{font-size:var(--fs-h1,clamp(2.25rem,1.4rem + 3.2vw,3.5rem));margin:0 0 14px;
  line-height:1.15;letter-spacing:-.02em;color:var(--indigo-900,#2E1A5E);font-weight:600}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* The slideshow controls are a fixed 420px of 44px targets: previous, five dots,
   next and pause. On a 390px phone that pushed the whole document to 700px wide
   and the page scrolled sideways. Shrinking the buttons would be the easy fix and
   the wrong one for readers who struggle to hit things, so the row wraps instead
   and the dots take a line of their own. */
@media (max-width:600px){
  .avs-hero-nav{ justify-content:center; gap:8px; }
  .avs-hero-dots{ order:-1; width:100%; justify-content:center; gap:4px; }
  .avs-hero-nav > button{ flex:0 0 auto; }
}

/* Nothing in a widget may push the page wider than the phone it is read on. */
@media (max-width:767px){
  .avs-hero, .avs-hero *, .avs-slide, .avs-slide *{ max-width:100%; }
  .avs-slide-media img{ width:100%; height:auto; }
}

/* The homepage was 700px wide on a 390px phone and scrolled sideways. Three
   causes, all of them a desktop layout surviving into a viewport that cannot
   hold it. Measured with the deepest-overflow walk rather than guessed. */
@media (max-width:767px){
  /* auto-fit kept resolving to more than one column because the track floor was
     wider than the screen, and each extra column pushed the document out. */
  .avs-rail-grid{ grid-template-columns:1fr; }
  .avs-bento-grid{ grid-template-columns:1fr; }
  /* A card's padding was being added to a 100% wide image. Seven pixels per
     card, but it is the reason the innermost element overflowed at all. */
  .avs-pcard, .avs-pcard *, .avs-bento-t, .avs-rail *{ box-sizing:border-box; min-width:0; }
  .avs-pcard-media{ box-sizing:border-box; }
  .avs-pcard-media img{ max-width:100%; }
  /* Belt and braces: nothing on the homepage may widen the page itself. */
  .avs-rail, .avs-bento{ overflow-x:clip; }
}
