/* =============================================================
   AKU WORLD 2.0 · bridge for the working educator parts  ·  v2-bridge.css
   The five forms, the calendar, the classrooms board and the gallery keep
   their existing markup and script (js/educators.js) untouched. Their
   layout still comes from styles/educators.css. This file points that
   stylesheet's old variables at the new tokens and replaces the old look
   (brackets, mono caps, Nostromo on small labels) with the new one.
   Load order: v2-tokens.css, educators.css, v2-pages.css, v2-bridge.css.
   ============================================================= */
.v2{ --blue:var(--galaxy); --blue-deep:var(--galaxy-deep); --mono:var(--ui); --ink:var(--deep); --ink-2:#3B3934; --ink-3:var(--muted-ink); --paper-2:#F6EFD9;
     --line-2:rgba(34,34,34,.32); --dur-fast:.18s; --ease-out:var(--ease); --nav-h:76px; --wrap:1240px; }

/* the script looks for .edu-hero to know a button sits in the page hero: keep the class, drop its old styling */
.v2 .edu-hero{ background:none; color:inherit; min-height:0; margin-top:0; display:grid; }
.v2 .cl-hero.edu-hero{ padding:clamp(120px,14vw,170px) var(--gut) clamp(48px,7vw,96px); }

/* buttons: same squared blocks as .btn */
.v2 .edu-pill{ min-height:52px; padding:14px 24px; border-width:2px; border-radius:var(--radius); font-family:var(--ui); font-weight:800; font-size:14px; letter-spacing:.02em; line-height:1.1; box-shadow:none;
  transition:transform var(--fast) var(--ease), background-color var(--fast), color var(--fast), border-color var(--fast); }
.v2 .edu-pill::before, .v2 .edu-pill::after{ content:none; }
.v2 .edu-pill:hover{ transform:translateY(-2px); box-shadow:none; }
.v2 .edu-pill:active{ transform:translateY(1px); }
.v2 .edu-pill:focus-visible{ outline:3px solid var(--galaxy); outline-offset:3px; }
.v2 .edu-pill--solid{ --bg:var(--deep); --fg:#fff; --edge:var(--deep); }
.v2 .edu-pill--solid:hover{ --bg:var(--galaxy); --edge:var(--galaxy); }
.v2 .edu-pill.is-busy{ opacity:.6; pointer-events:none; }
/* on the dark board: the warm light button, white outline for the second action */
.v2 .edu-board .edu-pill--solid, .v2 .edu-preview .edu-pill--solid{ --bg:var(--starlight); --fg:#1B1608; --edge:var(--starlight); }
.v2 .edu-board .edu-pill--solid:hover{ --bg:#fff; --edge:#fff; --fg:var(--deep); }
.v2 .edu-board .edu-pill--ghost{ --fg:#fff; --edge:rgba(255,255,255,.7); }
.v2 .edu-board .edu-pill:focus-visible{ outline-color:var(--starlight); }

/* small labels: sentence case in Agrandir, no mono caps */
.v2 .edu-proj__k, .v2 .edu-board__count, .v2 .edu-board__status, .v2 .edu-board__clear, .v2 .edu-proj__status, .v2 .edu-form__status, .v2 .edu-form__note,
.v2 .edu-preview__k, .v2 .edu-cal__label, .v2 .edu-cal__legend, .v2 .edu-cal__dow, .v2 .edu-cal__chip, .v2 .edu-piece__cap, .v2 .edu-say span, .v2 .edu-cal__month, .v2 .edu-form__file span{
  font-family:var(--ui); font-weight:500; text-transform:none; letter-spacing:0; font-size:13px; }
.v2 .edu-board__count{ font-size:var(--t-small); color:rgba(255,255,255,.78); }
.v2 .edu-board__status{ color:rgba(255,255,255,.78); }
.v2 .edu-preview__k{ color:var(--starlight); }
.v2 .edu-cal .edu-cal__month{ font-family:var(--ui); font-weight:800; text-transform:none; letter-spacing:0; font-size:1rem; }

/* headings inside working parts: Agrandir Grand Heavy, sentence case */
.v2 .edu-board__h, .v2 .edu-dialog__title, .v2 .edu-proj__school, .v2 .edu-form__done b, .v2 .edu-h{ font-family:var(--ui); font-weight:800; text-transform:none; letter-spacing:-.015em; line-height:1.05; }
.v2 .edu-dialog__title{ font-size:1.35rem; }
.v2 .edu-proj__school{ font-size:1.2rem; line-height:1.15; }
.v2 .edu-board__h{ font-size:clamp(1.9rem,3.6vw,3rem); }

/* board: night ground, plain cards (no glow) */
.v2 .edu-board{ background:var(--night); padding:clamp(56px,8.5vw,120px) 0; }
.v2 .edu-board__head{ text-align:left; margin-inline:0; max-width:760px; }
.v2 .edu-board__sub{ margin-inline:0; color:rgba(255,255,255,.8); }
.v2 .edu-board__near{ justify-content:flex-start; }
.v2 .edu-board__zip input{ height:52px; border:2px solid rgba(255,255,255,.7); border-radius:var(--radius); background:transparent; font-size:16px; }
.v2 .edu-board__zip input::placeholder{ color:rgba(255,255,255,.72); }
.v2 .edu-board__zip input:focus-visible{ outline:3px solid var(--starlight); outline-offset:2px; }
.v2 .edu-board__list .edu-proj{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.22); border-radius:var(--radius); }
.v2 .edu-board__list .edu-proj__k{ color:rgba(255,255,255,.78); }
.v2 .edu-proj__teacher{ color:rgba(255,255,255,.8); }
.v2 .edu-proj__pic{ border-radius:var(--radius); }
.v2 .edu-proj__status{ color:var(--starlight); } .v2 .edu-proj__status::before{ background:var(--starlight); box-shadow:none; }
.v2 .edu-proj__funded{ background:var(--energy); color:var(--energy-ink); font-family:var(--ui); font-weight:800; font-size:13px; letter-spacing:.02em; border-radius:var(--radius); }
.v2 .edu-proj__funded::before, .v2 .edu-proj__funded::after{ content:none; }
.v2 .edu-board__list .edu-proj.is-funded{ background:rgba(3,233,164,.08); border-color:rgba(3,233,164,.5); }
.v2 .edu-center{ text-align:left; max-width:none; }

/* persistent labels: every input shows its label above it at all times (the old forms hid them and leaned on placeholders) */
.v2 .edu-form label > .sr, .v2 .edu-board__zip > .sr{ position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal; display:block; margin:0 0 6px;
  font-family:var(--ui); font-weight:500; font-size:14px; line-height:1.3; color:var(--deep); }
.v2 .edu-board__zip > .sr{ color:#fff; }
.v2 .edu-board__near{ align-items:flex-end; }
.v2 .edu-form__grid{ align-items:end; }
.v2 .edu-form__pair{ align-items:end; }
.v2 .edu-form .edu-cal__month, .v2 .edu-cal__month{ font-family:var(--ui) !important; font-weight:800; text-transform:none !important; letter-spacing:0 !important; font-size:1rem; }
.v2 .edu-form__ask{ margin:14px 0 0; padding:12px 14px; border-left:4px solid var(--galaxy); background:#fff; font-size:var(--t-small); line-height:1.45; color:var(--deep); }
.v2 p.edu-proj__school{ margin:0; color:#fff; }
@media (max-width:760px){ .v2 #f-project .edu-preview{ position:static; } }

/* sample data (preview only, ?sample=1): every card is tagged and carries no donation link */
.v2 .edu-proj__sample{ display:inline-flex; align-self:flex-start; margin-top:6px; padding:13px 18px; border:2px dashed rgba(255,255,255,.6); border-radius:var(--radius); font-family:var(--ui); font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.02em; color:rgba(255,255,255,.8); }
/* empty board: only the teacher strip shows (the supporter message lives in #help-now) */
.v2 .edu-board:has(.edu-board__h[hidden]){ padding-block:clamp(32px,4vw,56px); }
.v2 .edu-board:has(.edu-board__h[hidden]) .edu-board__head{ display:none; }
.is-sample .edu-board__list .edu-proj:not(.edu-proj--join){ position:relative; }
.is-sample .edu-board__list .edu-proj:not(.edu-proj--join)::before{ content:"Sample"; position:absolute; top:0; right:0; padding:4px 10px; background:var(--starlight); color:#1B1608; font-family:var(--ui); font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }

/* dialogs + forms */
.v2 .edu-dialog{ border-radius:var(--radius); background:var(--paper); border:2px solid var(--deep); }
.v2 .edu-dialog__head{ background:var(--paper); border-bottom:2px solid var(--deep); }
.v2 .edu-dialog__x{ border:2px solid var(--deep); border-radius:var(--radius); width:44px; height:44px; color:var(--deep); }
.v2 .edu-dialog__x:hover{ background:var(--deep); color:#fff; }
.v2 .edu-form input:not([type="checkbox"]):not([type="file"]), .v2 .edu-form select, .v2 .edu-form textarea{ border:2px solid var(--deep); border-radius:var(--radius); background:#fff; font-size:16px; min-height:52px; }
.v2 .edu-form input:hover, .v2 .edu-form select:hover, .v2 .edu-form textarea:hover{ border-color:var(--galaxy); }
.v2 .edu-form input:focus-visible, .v2 .edu-form select:focus-visible, .v2 .edu-form textarea:focus-visible{ outline:3px solid var(--galaxy); outline-offset:2px; border-color:var(--galaxy); }
.v2 .edu-form input::placeholder, .v2 .edu-form textarea::placeholder{ color:#6B675F; }
.v2 .edu-form .is-invalid{ border-color:var(--error) !important; }
.v2 .edu-form__status{ color:var(--error); font-size:var(--t-small); } .v2 .edu-form__status.is-ok{ color:var(--galaxy); }
.v2 .edu-preview{ background:var(--night); border-radius:var(--radius); }
/* calendar */
.v2 .edu-cal__day, .v2 .edu-cal__chip, .v2 .edu-cal__nav{ border-radius:var(--radius); }

/* gallery (appears only when approved art exists) */
.v2 .edu-sec--dark{ background:var(--night); }
.v2 .edu-sec .edu-h{ font-size:clamp(1.9rem,3.6vw,3rem); }
.v2 .edu-line--dark{ color:rgba(255,255,255,.8); }


/* ---------- Stage 4C final refinements: dialogs ---------- */
/* Grade and Number of students: a full-width row split evenly, so the Grade menu is not squeezed */
.v2 .edu-form__grid > .edu-form__pair{ grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:end; }
.v2 .edu-form__grid{ gap:14px 12px; }
.v2 .edu-form select{ width:100%; min-height:52px; padding:13px 14px; }
.v2 .edu-form label > .sr{ min-height:1.3em; }
/* the whole form stays reachable: the dialog scrolls inside itself, the title stays put, and the send button is never cut off */
.v2 .edu-dialog{ max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scroll-padding:84px 0 24px; }
.v2 .edu-dialog__head{ position:sticky; top:0; z-index:5; }
.v2 .edu-form{ padding-bottom:calc(28px + env(safe-area-inset-bottom,0px)); }
.v2 .edu-form__intro{ margin-bottom:12px; }
@media (max-width:760px){
  .v2 .edu-dialog{ width:100%; max-width:100%; max-height:100dvh; height:100dvh; margin:0; border-left:0; border-right:0; }
  .v2 .edu-form__grid{ grid-template-columns:1fr; }
  .v2 .edu-form__grid > .edu-form__pair{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2 #f-project .edu-form__grid{ grid-template-columns:1fr; }
  .v2 #f-project .edu-form__intro{ display:block; }
}
@media (max-width:760px){ .v2 .edu-form__pair select{ padding-inline:10px; font-size:15px; } .v2 .edu-form__pair label > .sr{ min-height:2.6em; display:flex; align-items:flex-end; } }
