/* ===== phase1-polish 2026-10-05 (hub) =====
   Suggestions 3 + 4 + 10 from huaxia-compare/SUGGESTIONS.md, approved by Daniel.
   One palette (navy #1E3A5F, one gold #B8860B, deep gold #8A6508 for small gold text), square 0-2px
   corners, no card shadows, hairline rules; type hierarchy in rem so the Theme & font panel's text-size
   control still scales everything. No font-family is set here: Dubai stays the default and any face
   picked in the Theme & font menu still applies. Loaded right after css/site.css, so inline <style>
   blocks in a page (e.g. index.html hero object-position) still come later and win. */

/* ---------- 3. palette: default light (white) theme only ---------- */
html[data-theme="light"], html:not([data-theme]) {
  --gold: #B8860B;            /* was #D4AF37 */
  --gold-deep: #B8860B;       /* was #C5A028 */
  --gold-dark: #B8860B;
  --p1-gold-text: #8A6508;    /* small gold text on white, 5.4:1 (same value as the journal) */
  --p1-rule: #E5E7EB;
  --p1-navy: #1E3A5F;
}
html[data-theme="light"] body [class*="text-[#0284C8]"],
html:not([data-theme]) body [class*="text-[#0284C8]"],
html[data-theme="light"] body [class*="text-[#5B7C99]"],
html:not([data-theme]) body [class*="text-[#5B7C99]"] { color: var(--p1-gold-text) !important; }
html[data-theme="light"] body [class*="text-[#D4AF37]"],
html:not([data-theme]) body [class*="text-[#D4AF37]"] { color: #B8860B !important; }
html[data-theme="light"] body .ui-gold,
html:not([data-theme]) body .ui-gold,
html[data-theme="light"] body .eyebrow,
html:not([data-theme]) body .eyebrow { color: var(--p1-gold-text) !important; }

/* ---------- 3. shapes: square corners, no shadows, hairlines (all themes) ---------- */
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.hub-quicklink, .hub-quicklink-card, .masoretes-card, .ornate-card, .fact-box,
  .hub-hero-pillar, .hub-hero-pill-btn, .hub-confessional-tab, .hub-hero-eyebrow-wrap, .illus-card,
  .copy-block, .pull-quote, .bib-entry, .table-wrap, .rounded, .rounded-md, .rounded-xl, .rounded-2xl, .rounded-full,
  .btn-primary, .content-cta, .event, .tag, .hub-quicklink-badge) {
  border-radius: 2px !important;
}
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.module-card, .hub-quicklink-card, .masoretes-card, .ornate-card, .fact-box, .hub-hero-pillar,
  .hub-hero-figure, .hub-hero-pill-btn, .illus-card, .event, .shadow, .shadow-sm, .shadow-md, .shadow-lg, .shadow-xl),
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.module-card, .hub-quicklink-card, .masoretes-card, .ornate-card, .fact-box, .hub-hero-pillar,
  .hub-hero-pill-btn, .event):hover {
  box-shadow: none !important;
  transform: none !important;
}
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.hub-hero-figure picture, .module-card-thumb) {
  border-radius: 16px !important;
  overflow: hidden !important;
}
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.hub-hero-figure, .module-card, .module-card-thumb) img,
html body:not(#p1) :is(.site-main, .site-main-header, main) .hub-hero-figure img,
html body:not(#p1) :is(.site-main, .site-main-header, main) .module-card .thumb {
  border-radius: 16px !important;
}
html body.hub-page .hub-hero-quicklinks .module-card {
  overflow: visible !important;
}
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.module-card, .hub-quicklink-card):hover img { transform: none !important; }
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.hub-quicklink-card, .hub-hero-pillar, .event, .masoretes-card):hover { border-color: #B8860B !important; }
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.module-card, .module-card-thumb),
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.module-card, .module-card-thumb):hover,
html body:not(#p1) :is(.site-main, .site-main-header, main) .module-card img,
html body:not(#p1) :is(.site-main, .site-main-header, main) .module-card .thumb {
  border: 1px solid transparent !important;
}
html body:not(#p1) .site-sidebar :is(.filter-pill, .sidebar-badge, button) { border-radius: 2px !important; }
/* badges laid over photos: quiet navy plate instead of a white pill */
html body:not(#p1) :is(.site-main, .site-main-header, main) :is(.module-card-tags .tag, .hub-quicklink-badge) {
  background: rgba(21, 42, 69, 0.82) !important; color: #FFFFFF !important; border: 0 !important;
  font-size: 0.75rem !important; letter-spacing: 0.08em !important; font-weight: 600 !important;
}
html body:not(#p1) .hub-quicklink-badge i { color: #D9B45A !important; }
/* section headings: no magenta gradient bar */
html body .section-title { padding-left: 0 !important; }
html body .section-title::before { display: none !important; }

/* ---------- 4. type hierarchy (rem: follows the text-size control) ---------- */
html body { font-size: 1.125rem; }                                   /* 18px body at the default 16px */
/* site.css floors running text at max(16px, 1rem) !important; these keep that floor and win by load order */
html body main .text-body, html body .site-main .text-body { font-size: max(16px, 1.125rem) !important; line-height: 1.65; }
/* note pages: 19px / 1.7 reading text on a 720px column */
html body.note-page .site-main-body.max-w-4xl { max-width: 45rem !important; }
html body.note-page .site-main-body :is(p, li:not(.map-city-item), dd, blockquote),
html body.note-page main .site-main-body .text-body { font-size: max(16px, 1.1875rem) !important; line-height: 1.7; }
/* small print inside notes stays at the 16px floor */
html body.note-page .site-main-body :is(.fact-box, .fact-strip, .ornate-card, .bib-entry, figcaption, .figure-caption, table, .text-sm, .text-xs) :is(p, li),
html body.note-page .site-main-body :is(p, li).text-xs,
html body.note-page .site-main-body :is(p, li).text-sm,
html body.note-page .site-main-body :is(.bib-entry, figcaption, .figure-caption) { font-size: max(16px, 1rem) !important; line-height: 1.55; }
html body.note-page .site-main-header > * { max-width: 45rem; }
/* H1: large, medium weight */
html body .page-title { font-size: 2.25rem !important; font-weight: 500 !important; letter-spacing: -0.02em !important; line-height: 1.12 !important; }
@media (min-width: 768px) { html body .page-title { font-size: 2.875rem !important; } }
html body.hub-page .hub-hero-title { font-size: 2.125rem !important; font-weight: 500 !important; letter-spacing: -0.02em !important; line-height: 1.12 !important; }
@media (min-width: 768px) { html body.hub-page .hub-hero-title { font-size: 2.625rem !important; } }
/* H2 / section headings */
html body .section-title, html body.note-page .site-main-body :is(.section-title, section > h2) { font-size: 1.625rem !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: -0.01em; margin-bottom: 1rem !important; }
html body.note-page .site-main-body h2:not(.section-title) { font-size: 1.625rem; font-weight: 500; line-height: 1.2; }
html body.note-page .site-main-body h3 { font-size: 1.25rem; font-weight: 500; line-height: 1.3; }
/* lede / hero intro */
html body main .lede, html body .site-main-header .lede,
html body main .hero-intro, html body .site-main-header .hero-intro { font-size: max(16px, 1.125rem) !important; line-height: 1.6 !important; }
/* eyebrows + labels: uppercase, letter-spaced, gold, never below 12px */
html body .eyebrow, html body .hub-hero-eyebrow, html body .hub-hero-quicklinks-label {
  font-size: 0.75rem !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; font-weight: 700 !important;
}
html body:not(#p1) .hub-hero-eyebrow { background: transparent !important; border: 0 !important; border-left: 2px solid #B8860B !important; border-radius: 0 !important; padding: 0.1rem 0 0.1rem 0.75rem !important; }
html body .site-sidebar .sidebar-label { font-size: 0.75rem !important; letter-spacing: 0.14em !important; }
html body :is(.site-main, .site-sidebar) :is(.text-\[8px\], .text-\[9px\], .text-\[10px\], .text-\[11px\], .text-\[0\.65rem\], .text-\[0\.7rem\]) { font-size: 0.75rem !important; }
html body .site-main .hub-quicklink-desc { font-size: 0.8125rem !important; }
/* module cards: 4 columns at desktop so 18px titles fit; quiet footer row */
@media (min-width: 1100px) {
  html body.hub-page #modules-grid.hub-modules-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 1.25rem !important; }
}
@media (min-width: 900px) and (max-width: 1099px) {
  html body.hub-page #modules-grid.hub-modules-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 1rem !important; }
}
html body.hub-page .module-card .card-title { font-size: 1.125rem !important; font-weight: 500 !important; line-height: 1.25 !important; }
@media (max-width: 640px) { html body.hub-page .module-card .card-title { font-size: 1rem !important; } }
html body.hub-page .module-card .card-blurb { font-size: 0.875rem !important; line-height: 1.45 !important; }
html body.hub-page .module-card .card-foot { border-top: 1px solid var(--border-color); padding-top: 0.5rem; margin-top: 0.6rem; font-size: 0.75rem; }
html body.hub-page .hub-quicklink-title { font-size: 1rem !important; font-weight: 500 !important; }
html body.hub-page .hub-hero-pill-btn, html body.hub-page .hub-confessional-tab { font-size: 0.75rem !important; }

/* ---------- 10. page strip above the shared footer ---------- */
html body .site-main-footer { font-size: 0.8125rem; }
html body .site-main-footer + .mso-footer { margin-top: 0; }
/* ===== p1-footer: shared navy footer (hub + journal), phase 1 2026-10-05 ===== */
.mso-footer { background: #152A45; color: #D9DEE6; margin-top: 3rem; font-size: 0.875rem; line-height: 1.6; text-align: left; }
.mso-footer a { color: #E9EDF3; text-decoration: none; }
.mso-footer a:hover, .mso-footer a:focus-visible { color: #FFFFFF; text-decoration: underline; text-decoration-color: #B8860B; text-underline-offset: 3px; }
.mso-footer-inner { max-width: 1180px; margin: 0 auto; padding: 3rem 2rem 0; }
.mso-footer-cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 2rem; padding-bottom: 2.25rem; }
.mso-footer-brand { display: flex; align-items: center; gap: 0.7rem; margin: 0 0 0.85rem; }
.mso-footer-brand img { width: 40px; height: 40px; border-radius: 0 !important; background: transparent; flex: none; }
.mso-footer-name { font-weight: 700; font-size: 1.05rem; letter-spacing: 0.08em; text-transform: uppercase; color: #FFFFFF; line-height: 1.15; }
.mso-footer-name span { display: block; font-size: 0.75rem; letter-spacing: 0.16em; color: #D9B45A; font-weight: 600; margin-top: 2px; }
.mso-footer-about { margin: 0 0 1rem; max-width: 24em; color: #AEB7C4; }
.mso-footer-h { margin: 0 0 0.85rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #D9B45A; }
.mso-footer ul { list-style: none; margin: 0; padding: 0; }
.mso-footer li { margin: 0 0 0.45rem; }
.mso-footer-rss { display: inline-flex; align-items: center; gap: 0.45rem; color: #E9EDF3; }
.mso-footer-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1.5rem; border-top: 1px solid rgba(255, 255, 255, 0.14); padding: 1.1rem 0 1.4rem; font-size: 0.75rem; color: #98A3B3; }
.mso-footer-base nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
@media (max-width: 900px) {
  .mso-footer-inner { padding: 2.25rem 1.25rem 0; }
  .mso-footer-cols { grid-template-columns: 1fr 1fr; gap: 1.75rem 1.25rem; }
  .mso-footer-col-brand { grid-column: 1 / -1; }
}
/* ===== end p1-footer ===== */
