/* ASHA DESKTOP + MOBILE POLISH  (served as /assets/asha-polish.css)
   C.O.L.E. for V.A.U.G.H.N., 2026-11-04, key cole-asha-desktop-polish-1104. Proof: /root/claude-code/checks/cole-asha-desktop-polish-1104/
   Tony 2026-11-04 ~17:58 "For ASHA on desktop there are buttons that are super long let's fix this" and ~18:00 "the testimonials
   button and font is huge let's make sure everything looks beautiful on desktop and mobile please".
   HOW IT LOADS: /index.php links this file in <head> of every public HTML page (never /cart, /checkout, /admin, /api), with
   ?v=<hash of this file>, so a browser fetches the new copy the moment this file changes.
   WHY EVERY RULE STARTS "html body": the page bodies live in site.db and carry their own <style> blocks after the head, so a
   same-selector rule here would lose on source order. Two extra type selectors outrank them without !important.
   VISUAL SIZING ONLY. No wording, price, link target, image or video changes. Colors and fonts stay the page's own. */

/* ── 1. DESKTOP BUTTONS ─────────────────────────────────────────────────────────────────────────────────────────────── */
@media (min-width:768px){
  /* Year 2 "Enroll Today" bars ran the full 1260px column. Now the same size as the page's own "Enroll today" button. */
  html body .go.wide a{display:inline-block;width:auto;max-width:100%}
  /* Block CTAs that stretched across their column (Reserve My Spot 1045px, Join the Reiki Self-Study 1260px,
     Write your review 516px): capped and centred. Card buttons already narrower than the cap keep their size. */
  html body a.kjx-btn.full,html body a.btn.block,html body a.grcta{max-width:440px;margin-left:auto;margin-right:auto;box-sizing:border-box}
  /* Long-label CTAs (539px to 593px on one line): capped at 480px, the label wraps to two balanced, centred lines. */
  html body a.btn-purple,html body a.btn,html body a.kjx-btn,html body a.ax-btn{max-width:480px;box-sizing:border-box;
    white-space:normal;text-wrap:balance;text-align:center}
}

/* ── 2. SECTION HEADINGS: always smaller than the page H1 ───────────────────────────────────────────────────────────── */
/* About Donna: "Testimonials" was 64px, the size of the page H1. Now the page's own h2 size (36px desktop, 30px phone). */
html body .adtesthead h2{font-size:36px}
/* Donna Lakes + Michael Allison profile pages: four section headings at 64px beside a 64px H1. */
html body .dnabout h2,html body .dnteach h2,html body .dnsvchead h2,html body .dncta h2,
html body .masvchead h2,html body .macta h2,html body .maembark h2{font-size:clamp(28px,3.4vw,40px)}
/* Kevin Downer: "Ready for a Healing?" was 64px under a 30px H1. The band matches his other headings (36px) and the H1
   grows to lead the page. */
html body .kvcta h2{font-size:clamp(28px,3vw,36px)}
html body .kvcard h1{font-size:clamp(30px,2.8vw,40px)}
/* Year 2: five section headings and the start-date line were 64px, the size of the H1. */
html body .y2wrap .h-1,html body .y2hero .starts{font-size:clamp(28px,3.9vw,48px)}
/* Services: the closing heading equalled the H1 and the "Hello!" card line beat it. */
html body .svc-closing h2{font-size:clamp(26px,2.8vw,40px)}
html body .svc-hello-card .svc-hello-h{font-size:clamp(28px,3vw,40px)}   /* px on purpose: this site's rem is 18px */
/* Self-Study & Community: "Community Support for All Students" equalled the H1. */
html body .sswrap h2.big{font-size:clamp(26px,3.4vw,40px)}
@media (max-width:767px){
  html body .adtesthead h2{font-size:30px}
  html body .dnabout h2,html body .dnteach h2,html body .dnsvchead h2,html body .dncta h2,
  html body .masvchead h2,html body .macta h2,html body .maembark h2,html body .kvcta h2{font-size:26px}
  html body .dnfocus h3{font-size:24px}
  html body .kvcard h1{font-size:32px}
  html body .cwfeat h2.cwfh,html body .cwsplit h2,html body .evx h2{font-size:26px}
}

/* ── 3. PHONE TAP TARGETS: at least 44px tall ───────────────────────────────────────────────────────────────────────── */
@media (max-width:767px){
  html body .bl-cat{display:flex;align-items:center;min-height:44px;padding-top:0;padding-bottom:0}
  html body .tags a.tag,html body .bl-ptags a.tag{display:inline-flex;align-items:center;min-height:44px;font-size:14px;
    padding:0 .8rem;margin:.2rem .15rem}
  html body a.back,html body a.svc-back,html body .evcrumb a,html body .asaon-up a,html body .ax-loc-a a,html body a.gralt,
  html body .aptcard a.tel,html body .lb-card a,html body .axtp-more a,html body .ccard h4 a,html body .foot a.link,
  html body a.hck-giftbtn,html body .ax-main>.axwrap>p>a:only-child,
  html body .malinks a,html body .evdates a{display:inline-flex;align-items:center;min-height:44px}
  html body .axcty a,html body .axloc .axcty a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
  /* short words ("Taxes", "Links") also need 44px of width */
  html body .pltoc a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
  /* plain text links that sit in running copy: the tap area grows by invisible padding and the negative margin hands the
     same space back, so the line, the words around the link and the page layout do not move */
  html body .post-content p>a:only-child,html body .asaon-cities a,html body .cwsplit a:not(.cwbtn),
  html body .blcard p>a:only-child,html body .curriculum p>a:only-child,html body a.cta-button,html body .svc-feat-body h3 a,
  html body .svc-card-top h4 a,html body .in>p[style*="margin-bottom:30px"]>a:only-child{
    display:inline-block;padding:11px 6px;margin:-11px -6px}
  html body .course a.go,html body .reiki-card a.go{display:flex;align-items:center;min-height:44px}
  html body details.ax-ad-more>summary,html body details.kjx-faq>summary{min-height:44px;padding-top:9px;padding-bottom:9px;box-sizing:border-box}
  html body label.ax-human,html body label.fmcheck{display:flex;align-items:center;min-height:44px}
  html body .testi .arrow,html body .frame[data-carousel] .arrow,html body .ahx-ctl button,html body .car-btn,
  html body .masoc a{min-width:44px;min-height:44px}
  /* carousel dots keep their 11px look; transparent padding gives each one a 44px tap area */
  html body .car-dots{gap:0}
  html body .car-dots button{box-sizing:content-box;padding:16.5px;background-clip:content-box}
  html body #giftform button{min-height:44px}
}

/* ── 4. PHONE BODY TEXT: at least 16px (uppercase eyebrow labels keep their small caps style) ──────────────────────────── */
/* Each selector is the page's own rule plus "html body", so it outranks exactly the rule that made the text small. */
@media (max-width:767px){
  html body label.ax-human,html body label.fmcheck,html body p.evpnote,html body p.evdate,html body p.mashop-note,
  html body .ax-waitlist label,html body .ax-waitlist form p,
  html body .events p.list,html body .events p.note,html body section.asc p,html body .levels .lv p,html body section.learn p.intro,
  html body .ways .way p,html body section.cert p,html body section.news .card p,
  html body article.year li,html body article.course p,html body .reiki-card p,html body .selfstudy li,
  html body ul.certs li,html body .feat-list li,html body .closing p,html body .cards .card li,
  html body section.cat .card>h3+p,html body .aeh-prereq p,html body .pltoc li,
  html body .ax-subform .axs-note,html body .ax-medband .fmprivacy,html body .axtp .axtp-note,
  html body .idx .ash-enroll .wk,html body .idx .ash-enroll .foot,html body .idx .ash-love .src,
  html body .shx .ash-enroll .wk,html body .shx .ash-enroll .foot,html body .shx .ash-foryou .disc,
  html body .y2card .led,html body .svcx .asha-team .at-intro,html body .svcx .asha-team .at-title,
  html body .hck .certs li,html body .hck .feat-list li,html body .hck .course p,html body .hck .reiki-card p,
  html body .hck .closing p{font-size:16px}
  /* these lines set their size inline (style="font-size:..."), so only !important can lift them */
  html body .card>p[style*="font-size:.9rem"],html body p.svc-disclaimer,
  html body .post-content p[style*="font-size: 14px"],html body .ax-waitlist p[style*="font-size:.82rem"],
  html body .aeh-prereq p[style*="font-size:.85rem"],html body .aeh-section p[style*="font-size:.85rem"]{font-size:16px!important}
  /* Donna Lakes: "Make a Payment" card heading matched the 36px H1 */
  html body .dnpaycard h3{font-size:24px}
}
