/* September 8 client revisions. Existing design tokens remain authoritative. */
html body [data-id="nav-link-home"] { white-space:nowrap; text-decoration:none; }
@media (min-width:1200px) {
  html body [data-id="nav-link-home"] { padding:10px; flex:0 0 auto; }
  html body [data-id="nav-panel-community"] { right:0; left:auto; }
  html body [data-id="main-nav"] { gap:4px; }
  html body [data-id="panel-box-programs"] { display:grid; grid-template-columns:repeat(2,minmax(0,max-content)); } /* shrink before the photo (review #1) */
}
@media (max-width:1199px) {
  html body [data-id="nav-link-home"] { padding:13px 2px; width:100%; justify-content:flex-start; border-bottom:1px solid var(--border); }
  html body [data-id="main-nav"] { max-height:calc(100dvh - 120px); overflow-y:auto; }
  html body [data-id^="plink-"] { white-space:normal; }
}
html body [data-id="school-highlights"] { background:var(--band-sage); }
/* The highlights list is now the photo mosaic in bp-highlights.css (10 Sep 2026). */
html body [data-id="car-pos-list"], html body [data-id="tm-pos-list"] { gap:20px; }
html body [data-id^="program-row-"][data-id$="-age"] { border-radius:0; padding:0; background:transparent; }
html body [data-id^="program-row-"][data-id$="-text"] { min-width:0; }
html body [data-id^="program-row-"][data-id$="-meta"] { align-items:flex-start; flex-direction:column; }
html body [data-id^="program-row-"][data-id$="-h3"] { text-wrap:balance; }
html body [data-id="philosophy-row"] { grid-template-columns:1fr 1fr; }
html body .bp-curriculum-dialog { width:min(900px,calc(100vw - 32px)); max-height:85dvh; overflow:auto; box-sizing:border-box; padding:40px; border:1px solid var(--border); border-radius:var(--radius-md,16px); color:var(--ink); background:var(--bg,#fff); }
html body .bp-curriculum-dialog::backdrop { background:rgba(33,52,38,.45); }
html body .bp-curriculum-dialog > [data-id] { padding:0; }
html body .bp-curriculum-dialog .bp-dialog-close { display:block; margin:0 0 24px auto; padding:10px 20px; border:1px solid var(--border); border-radius:var(--radius-pill,50px); background:var(--accent); color:white; font:600 16px 'Nunito',sans-serif; }
html body .bp-curriculum-dialog .bp-dialog-close:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
html body [data-id="bp-curriculum"] a { color:var(--label-green,#4B5F4F); text-decoration:underline; text-underline-offset:5px; }
html body [id="our-philosophy"], html body [id="learning-environment"], html body [id="blooming-path-curriculum"], html body [id="about-us"], html body [id="why-blooming-prep"], html body [id="daily-menu"], html body [id="parent-engagement"], html body [id="diversity"] { scroll-margin-top:100px; }
@media (max-width:767px) {
  html body [data-id="philosophy-row"] { grid-template-columns:1fr; }
  html body .bp-curriculum-dialog { padding:24px; }
}

/* Seven-label navigation uses the compact sheet below 1200px. */
/* 14 Sep 2026 audit #27: the four link columns share one track width; the grid and every column
   drop Elementor's 10px default inset (the Follow column had none, so it sat 10px up and left of
   its siblings, and at phone width the columns had three different left edges). */
html body [data-id="footer-grid"] { grid-template-columns:repeat(5, 1fr) !important; padding:0 !important; } /* equal tracks: 221px each holds bkheights@bloomingprep.com unbroken */
html body [data-id="footer-grid"] > * { min-width:0; padding:0 !important; }
html body [data-id="footer-grid"] a { overflow-wrap:anywhere; }
@media (max-width:1199px) { html body [data-id="footer-grid"] { grid-template-columns:1fr 1fr !important; } }
@media (max-width:767px) { html body [data-id="footer-grid"] { grid-template-columns:1fr !important; } }
@media (min-width:1200px) {
 html body [data-id="site-header"] { padding-block:12px !important; }
 html body [data-id="header-logo"] { width:260px !important; height:auto !important; }
 html body [data-id="header-inner"] { gap:20px !important; }
 html body [data-id^="nav-item-"] { padding:0 !important; }
 html body [data-id="main-nav"] { gap:4px !important; }
}

/* Footer sign-up: one cream pill with the green button inset on the right (15 Sep 2026). */
html body [data-id="footersignupform"] { gap:0 !important; padding:6px !important; border-radius:999px; /* deliberate cream pill, DECISIONS.md 2026-09-16 — not on the radius scale by decision */ background-color:#FDFAF5; }
html body [data-id="footer-signup-input"] { flex:1 1 200px !important; width:auto !important; min-width:0 !important; background-color:transparent !important; padding-block:12px !important; }
html body [data-id="footer-signup-submit"] { flex:0 0 auto; align-self:stretch; }
html body [data-id="footersignupform"] > .e-form-message, html body [data-id="footersignupform"] [data-id^="footer-signup-success"], html body [data-id="footersignupform"] [data-id^="footer-signup-error"] { flex:1 1 100% !important; margin-block-start:6px; }
/* Below 480px the pill can't hold both on one row: field and button stack, field keeps its own cream. */
@media (max-width:479px) {
 html body [data-id="footersignupform"] { padding:0 !important; gap:10px !important; background-color:transparent; }
 html body [data-id="footer-signup-input"] { background-color:#FDFAF5 !important; padding-block:14px !important; }
 html body [data-id="footer-signup-submit"] { width:100%; justify-content:space-between; }
}

/* Footer tree decor bled 30px past the phone viewport (14 Sep 2026 audit). */
@media (max-width:767px){ html body .elementor .s-footer-tree-decor { right:0 !important; } }

/* Founding Families form at 320px (14 Sep 2026 review #8): the atomic e-form is align-items:flex-start
   with a nowrap submit, so labels, legal line and submit sized to 272px inside a 228px form. Stretch the
   column, let the submit wrap, and drop the form's own 20px so the card's 20px is the one phone inset. */
html body .elementor .s-ffp-form { align-items:stretch; }
html body .elementor .s-ffp-form > * { max-width:100%; min-width:0; }
html body .elementor .s-ffp-form-submit { white-space:normal; align-self:flex-start; text-align:left; }
@media (max-width:767px){ html body .elementor .s-ffp-form { padding:0 !important; } }

/* 14 Sep 2026 — About "Our Philosophy" reads as a split section on desktop:
   heading + lead + link in the left column, both cards stacked in the right.
   Layout only; the builder tree is untouched. Tablet/mobile keep the stack. */
@media (min-width:1025px){
  html body [data-id="philosophy-inner"]{flex-direction:row !important;gap:64px;align-items:flex-start;}
  html body [data-id="philosophy-header"]{max-width:none;flex:1 1 0;}
  html body [data-id="philosophy-row"]{flex:1 1 0;width:auto;margin-block-start:0;grid-template-columns:1fr !important;}
}

/* 14 Sep 2026 audit P3: the nav was centred between a 200px logo and a 156px pill, so it sat
   ~20px left of the viewport centre. Equal outer tracks centre it on the page. */
@media (min-width:1200px){
  html body [data-id="header-inner"] { display:grid !important; grid-template-columns:1fr auto 1fr; align-items:center; }
  html body [data-id="header-cta"] { justify-self:end; }
}

/* Tap targets, 15 Sep 2026: footer link column and email links reach the 44px comfort target on
   phones (measured 37.5px and 31.5px). The legal line is deliberately left at its spec height —
   it already clears WCAG 2.5.8 AA at >=24px and padding it reshapes the client's 8 Sep last row. */
@media (max-width:767px){
  html body [data-id="footer-grid"] a{ min-height:44px; display:inline-flex; align-items:center; }
}

/* P2-11 (29 Sep 2026): the footer sign-up is now "Join Founding Families". Pages that already
   carry the Founding Families form directly above the footer (Home, Founding Families) would
   show two conversions in one view, so the footer band steps aside there. */
html body:has([data-id="founding-form-card"], [data-id="ffp-main"]) [data-id="footer-signup"]{display:none !important;}
