/* ============================================================================
 *  IntMap · the organisation pages, the contact form and the support page   (sales-channels)
 * ----------------------------------------------------------------------------
 *  Loaded after css/pages.css and css/landing.css (scripts/org-pages.mjs writes the order) and built
 *  on their palette (--pg-*), so these pages are the same family as the landing pages in light and dark.
 *  iOS-style: grouped fields on a rounded surface, 44-px targets, hairlines, no emoji.
 * ========================================================================== */

.og-form{
  background:var(--pg-surface); border:1px solid var(--pg-line-soft); border-radius:var(--pg-radius);
  box-shadow:var(--pg-shadow); padding:24px; max-width:820px; display:grid; gap:16px;
}
.og-row{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.og-field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.og-field label{ font-size:14px; font-weight:600; color:var(--pg-ink); }
.og-form input:not([type="checkbox"]),.og-form select,.og-form textarea{
  font:inherit; font-size:16px; color:var(--pg-ink); background:var(--pg-surface-2);
  border:1px solid var(--pg-line); border-radius:12px; padding:10px 12px; min-height:44px; width:100%;
  box-sizing:border-box; -webkit-appearance:none; appearance:none;
}
.og-form select{
  background-image:linear-gradient(45deg,transparent 50%,var(--pg-mut) 50%),linear-gradient(135deg,var(--pg-mut) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%; background-size:5px 5px; background-repeat:no-repeat; padding-right:34px;
}
.og-form textarea{ resize:vertical; min-height:150px; line-height:1.5; }
.og-form input:focus,.og-form select:focus,.og-form textarea:focus{ outline:none; border-color:var(--pg-accent); box-shadow:0 0 0 3px var(--pg-accent-soft); }
.og-form [aria-invalid="true"]{ border-color:#d70015; }
.og-hint{ margin:0; font-size:13px; color:var(--pg-mut); }
.og-consent{ display:flex; gap:10px; align-items:flex-start; font-size:15px; color:var(--pg-ink-2); }
.og-consent input{ width:20px; height:20px; margin-top:2px; flex:0 0 auto; accent-color:var(--pg-accent); }
.og-actions{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.og-send{ border:none; font-family:inherit; cursor:pointer; }
.og-send[disabled]{ opacity:.55; pointer-events:none; }
.og-status{ margin:0; font-size:15px; color:var(--pg-ink-2); }
.og-status.is-ok{ color:#248a3d; }
.og-status.is-bad{ color:#d70015; }

/* the field no person sees (supabase/functions/_shared/inquiry-shape.js HONEYPOT): off-screen rather
   than display:none, because some form-filling bots skip fields that are not rendered */
.og-trap{ position:absolute !important; left:-10000px !important; width:1px; height:1px; overflow:hidden; }

.og-list{ max-width:820px; padding-left:20px; color:var(--pg-ink-2); }
.og-list li{ margin:6px 0; }

.og-stats{ margin-top:16px; }
.og-supporters{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); gap:10px; }
.og-supporters li{ background:var(--pg-surface); border:1px solid var(--pg-line-soft); border-radius:14px; padding:12px 14px; }
.og-supporters li.og-muted{ grid-column:1 / -1; color:var(--pg-mut); background:transparent; border:none; padding:0; }
.og-sup-name{ display:block; font-weight:600; color:var(--pg-ink); }
.og-sup-when{ display:block; font-size:13px; color:var(--pg-mut); }
.og-sup-note{ display:block; font-size:14px; color:var(--pg-ink-2); margin-top:4px; }

@media (max-width:640px){
  .og-row{ grid-template-columns:minmax(0,1fr); }
  .og-form{ padding:18px; }
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .og-status.is-ok{ color:#30d158; }
  :root:not([data-theme="light"]) .og-status.is-bad,:root:not([data-theme="light"]) .og-form [aria-invalid="true"]{ color:#ff453a; border-color:#ff453a; }
}
[data-theme="dark"] .og-status.is-ok{ color:#30d158; }
[data-theme="dark"] .og-status.is-bad{ color:#ff453a; }
[data-theme="dark"] .og-form [aria-invalid="true"]{ border-color:#ff453a; }

/* the bar: five destinations, the language and the map. On a desktop the links sit right of the brand;
   on a phone they scroll sideways inside their own strip instead of widening the page (landing.css's
   rule: nothing may make the page wider than the screen). */
.og-nav{ display:flex; align-items:center; gap:2px; flex:1 1 auto; min-width:0; justify-content:flex-end;
  overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.og-nav::-webkit-scrollbar{ display:none; }
@media (max-width:900px){ .og-nav{ justify-content:flex-start; } }
/* (community-next) corrections.html — the published log and the reader's own reports (js/org-page.js ⑤) */
.og-corr{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.og-corr li{ background:var(--pg-surface); border:1px solid var(--pg-line-soft); border-radius:14px; padding:12px 14px; display:grid; gap:4px; }
.og-corr li.og-muted{ color:var(--pg-mut); background:transparent; border:none; padding:0; }
.og-corr-top{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color:var(--pg-mut); }
.og-corr-status{ font-size:12px; font-weight:600; padding:2px 9px; border-radius:980px; background:var(--pg-line-soft); color:var(--pg-ink); }
.og-corr-status.is-fixed{ background:#34c759; color:#fff; }
.og-corr-status.is-confirmed, .og-corr-status.is-cannot_fix{ background:#ff9f0a; color:#fff; }
.og-corr-place{ font-weight:600; color:var(--pg-ink); }
.og-corr-text{ font-size:14px; color:var(--pg-ink-2); white-space:pre-wrap; overflow-wrap:anywhere; }
.og-corr-links{ display:flex; gap:14px; font-size:14px; }

/* (press-room) the press room: a description with its Copy button, the downloadable files */
.og-copy-tile{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.og-copy-text{ margin:0; color:var(--pg-ink-2); line-height:1.6; }
.og-copy-tile .og-copy{ margin-left:0; border:1px solid var(--pg-line); cursor:pointer; font-family:inherit; }
.og-sub{ font-size:17px; margin:28px 0 8px; color:var(--pg-ink); }
.og-files{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.og-files .og-muted{ color:var(--pg-mut); font-size:13px; margin-left:8px; }

/* (curriculum-sales-kit) curriculum.html — the unit map. A unit row: its wording (with the other language and the
   document's own phrase under it), the links, and «Make a tour for this unit»; a group heading spans the row. */
.cu-table table{ font-size:15px; }
.cu-table td:first-child{ width:38%; }
.cu-table td:last-child{ width:200px; }
.cu-group th{ background:var(--pg-accent-soft); color:var(--pg-ink); font-size:14px; font-weight:600; }
.cu-group .cu-other{ display:inline; margin-left:6px; }
.cu-unit{ display:block; font-weight:600; color:var(--pg-ink); }
.cu-other{ display:block; font-size:13px; color:var(--pg-mut); margin-top:2px; }
.cu-basis{ display:block; font-size:13px; color:var(--pg-ink-2); margin-top:6px; }
.cu-links{ list-style:none; padding:0; margin:0; display:grid; gap:6px; }
.cu-links .og-muted{ color:var(--pg-mut); font-size:12px; margin-left:4px; }
.cu-none{ display:inline-block; font-size:13px; font-weight:600; color:var(--pg-mut); padding:2px 10px; border-radius:980px; border:1px solid var(--pg-line); }
.cu-make{ margin-left:0; display:inline-flex; text-align:center; }
.cu-make-n{ display:block; font-size:12px; color:var(--pg-mut); margin-top:4px; }
.cu-jump{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:16px; }
.cu-source{ margin-bottom:8px; }
@media (max-width:640px){
  .cu-table td:first-child,.cu-table td:last-child{ width:auto; }
}

/* (curriculum-sales-kit) school-handout.html — one sheet for a school's staff. On screen it is a page of the family; printed,
   it is ONE A4 sheet: the named page `handout` sets the paper, the bar, the footer and the print button go, and the type
   and spacing tighten (tests/curriculum-sales-kit.spec.js prints it to PDF and counts the pages). */
.og-handout-brand{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:17px; margin:0 0 6px; color:var(--pg-ink); }
.og-handout-dl{ display:grid; grid-template-columns:max-content minmax(0,1fr); gap:6px 16px; margin:0; }
.og-handout-dl dt{ font-weight:600; color:var(--pg-ink); }
.og-handout-dl dd{ margin:0; color:var(--pg-ink-2); overflow-wrap:anywhere; }
.og-print{ border:none; font-family:inherit; cursor:pointer; }
@page handout{ size:A4; margin:12mm; }
@media print{
  body[data-org-page="school-handout"]{ page:handout; background:#fff !important; color:#000; }
  body[data-org-page="school-handout"] .lp-top,
  body[data-org-page="school-handout"] .lp-foot,
  body[data-org-page="school-handout"] .og-noprint{ display:none !important; }
  body[data-org-page="school-handout"] .lp-main{ padding:0 !important; max-width:none !important; }
  body[data-org-page="school-handout"] .lp-hero{ padding:0 0 6px !important; min-height:0 !important; }
  body[data-org-page="school-handout"] .lp-sec{ padding:6px 0 !important; margin:0 !important; }
  body[data-org-page="school-handout"] h1{ font-size:20px !important; margin:0 0 4px !important; }
  body[data-org-page="school-handout"] h2{ font-size:14px !important; margin:0 0 4px !important; }
  body[data-org-page="school-handout"] .lp-lede{ font-size:12px !important; margin:0 !important; }
  body[data-org-page="school-handout"] .lp-grid2{ gap:6px !important; }
  body[data-org-page="school-handout"] .lp-tile{ padding:7px 10px !important; box-shadow:none !important; border-radius:8px !important; break-inside:avoid; }
  body[data-org-page="school-handout"] .lp-tile h3{ font-size:12px !important; margin:0 0 2px !important; }
  body[data-org-page="school-handout"] .lp-tile p{ font-size:10px !important; line-height:1.4 !important; margin:0 0 2px !important; }
  body[data-org-page="school-handout"] .lp-steps{ margin:0 !important; gap:6px !important; }
  body[data-org-page="school-handout"] .lp-steps li{ padding:6px 10px !important; box-shadow:none !important; }
  body[data-org-page="school-handout"] .lp-steps h3{ font-size:12px !important; margin:0 0 2px !important; }
  body[data-org-page="school-handout"] .lp-steps p{ font-size:10px !important; line-height:1.4 !important; margin:0 !important; }
  body[data-org-page="school-handout"] .og-handout-dl{ font-size:10px; gap:2px 10px; }
  body[data-org-page="school-handout"] a{ color:#000 !important; text-decoration:none; }
}
