/*
Theme Name:   WITOO Child
Theme URI:    https://whoistheownerof.com/
Description:  GeneratePress child theme for WhoIsTheOwnerOf — brand refresh v1, navy/gold palette, custom ownership components, schema injection helpers.
Author:       JSAN Media
Author URI:   https://whoistheownerof.com/
Template:     generatepress
Version:      1.0.0
Text Domain:  witoo-child
*/

/* =============================================================
   1. Brand tokens
   ============================================================= */
:root {
  --witoo-navy: #0A1628;
  --witoo-gold: #D4A256;
  --witoo-charcoal: #1F2937;
  --witoo-bg: #FAFAF7;
  --witoo-bg-dark: #0F1B2D;
  --witoo-text: #1A1A1A;
  --witoo-text-on-dark: #F1F5F9;
  --witoo-link: #2563EB;
  --witoo-slate: #94A3B8;
  --witoo-line: #E5E7EB;

  --witoo-font-display: 'Plus Jakarta Sans', -apple-system, system-ui, sans-serif;
  --witoo-font-body: 'Inter', -apple-system, system-ui, sans-serif;
  --witoo-font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --witoo-radius: 6px;
  --witoo-radius-lg: 10px;
}

/* =============================================================
   2. Base typography overrides — AGGRESSIVE site-wide enforcement
   ============================================================= */

/* Body font: Inter on every text element (overrides GP defaults + plugin styles) */
html, body,
body p, body li, body td, body th, body span, body div,
body a, body strong, body em, body small, body label,
body input, body textarea, body select, body button,
.entry-content, .entry-content *,
.widget, .widget *, .sidebar, .sidebar *,
.site-header *, .main-navigation, .main-navigation *,
.site-footer, .site-footer *,
.comments-area, .comments-area *,
.post-meta, .author, .byline,
table, table *, blockquote,
.menu, .menu *, .menu-item, .menu-item *,
.gb-block-post-grid *, .gb-grid-wrapper *, .generate-columns *,
.featured-content *, .breadcrumb, .breadcrumb *,
.pagination, .pagination * {
  font-family: var(--witoo-font-body) !important;
}

/* Display / heading font: Plus Jakarta Sans on every heading + brand element */
h1, h2, h3, h4, h5, h6,
body h1, body h2, body h3, body h4, body h5, body h6,
.entry-title, .entry-title a,
.widget-title, .widget-title a,
.site-title, .site-title a, .site-description,
.gb-headline, .gb-headline a,
.menu-toggle, .button, .wp-block-button__link,
.has-display-font, .display-font,
.gb-block-post-grid .gb-grid-wrapper h2,
.featured-content h2, .featured-content h3 {
  font-family: var(--witoo-font-display) !important;
  letter-spacing: -0.01em;
}

/* Numbers / mono: IBM Plex Mono for tickers, percentages, dates, code */
code, pre, kbd, samp, var,
.ticker, .pct, .num, .data, .stat-num,
.witoo-pct, .woc-ticker, .woc-v,
.wh-stat .num, .wh-stat .lbl,
.witoo-last-verified,
[class*="-mono"], [class*="mono-"],
time.published, time.updated {
  font-family: var(--witoo-font-mono) !important;
}

/* Base body sizing */
body, .entry-content {
  color: var(--witoo-text);
  font-size: 17px;
  line-height: 1.7;
}
h1, h2, h3, h4, h5, h6,
.entry-title, .widget-title, .site-title {
  color: var(--witoo-navy);
  font-weight: 700;
}
.entry-content h2 {
  font-size: 28px;
  margin: 2.5em 0 0.75em;
  padding-top: 0.5em;
  border-top: 2px solid var(--witoo-navy);
}
.entry-content h3 { font-size: 22px; margin: 1.75em 0 0.5em; }
.entry-content p, .entry-content li { font-size: 17px; }
.entry-content a { color: var(--witoo-link); text-decoration: none; }
.entry-content a:hover { text-decoration: underline; }

/* =============================================================
   3. Header & nav
   ============================================================= */
.site-header { background: var(--witoo-navy); border-bottom: 3px solid var(--witoo-gold); }
.site-header .site-title a, .site-header .main-navigation a {
  color: var(--witoo-text-on-dark) !important;
}
.main-navigation .current-menu-item > a { color: var(--witoo-gold) !important; }

/* =============================================================
   4. Components — ownership card, shareholders table, citations
   ============================================================= */
.witoo-ownership-card {
  background: #fff;
  border: 1px solid var(--witoo-line);
  border-radius: var(--witoo-radius-lg);
  padding: 24px;
  margin: 24px 0;
}
.witoo-ownership-card .woc-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 16px; gap: 16px; flex-wrap: wrap;
}
.witoo-ownership-card .woc-company {
  font-family: var(--witoo-font-display);
  font-size: 22px; font-weight: 700; color: var(--witoo-navy);
}
.witoo-ownership-card .woc-ticker {
  font-family: var(--witoo-font-mono);
  font-size: 13px; color: #92400E;
  background: #FEF3C7; padding: 4px 10px; border-radius: 4px;
}
.witoo-ownership-card .woc-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 0; border-top: 1px solid var(--witoo-line); font-size: 15px; gap: 16px;
}
.witoo-ownership-card .woc-row .woc-k { color: var(--witoo-slate); }
.witoo-ownership-card .woc-row .woc-v {
  font-weight: 600; color: var(--witoo-navy); font-family: var(--witoo-font-mono);
  text-align: right;
}

.witoo-shareholders {
  width: 100%; border-collapse: collapse; margin: 24px 0;
  font-size: 15px; background: #fff; border-radius: var(--witoo-radius-lg); overflow: hidden;
}
.witoo-shareholders th {
  background: var(--witoo-navy); color: #fff; text-align: left;
  padding: 12px 14px; font-family: var(--witoo-font-mono);
  font-size: 12px; letter-spacing: 1px; text-transform: uppercase;
}
.witoo-shareholders td {
  padding: 12px 14px; border-bottom: 1px solid var(--witoo-line);
}
.witoo-shareholders td.witoo-pct {
  font-family: var(--witoo-font-mono); font-weight: 600;
  color: var(--witoo-navy); text-align: right; white-space: nowrap;
}

.witoo-citations {
  background: #F8FAFC; border-left: 4px solid var(--witoo-gold);
  padding: 20px 24px; margin: 32px 0;
  border-radius: 0 var(--witoo-radius) var(--witoo-radius) 0;
}
.witoo-citations h3 {
  font-family: var(--witoo-font-mono);
  font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px;
  color: var(--witoo-charcoal); margin: 0 0 12px; border: none; padding: 0;
}
.witoo-citations ol { margin: 0 0 0 20px; padding: 0; }
.witoo-citations li { margin-bottom: 8px; font-size: 14px; line-height: 1.6; }

.witoo-author-bio {
  display: flex; gap: 16px; align-items: flex-start;
  background: #fff; border: 1px solid var(--witoo-line);
  border-radius: var(--witoo-radius-lg); padding: 20px; margin: 32px 0;
}
.witoo-author-bio img {
  width: 72px; height: 72px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
}
.witoo-author-bio .wab-name {
  font-family: var(--witoo-font-display);
  font-size: 16px; font-weight: 700; color: var(--witoo-navy);
}
.witoo-author-bio .wab-title {
  font-size: 13px; color: var(--witoo-slate); margin-bottom: 8px;
}
.witoo-author-bio .wab-bio { font-size: 14px; line-height: 1.6; }
.witoo-author-bio .wab-links a {
  font-family: var(--witoo-font-mono); font-size: 12px;
  color: var(--witoo-link); margin-right: 12px;
}

.witoo-last-verified {
  display: inline-block; font-family: var(--witoo-font-mono);
  font-size: 12px; color: var(--witoo-charcoal);
  background: #FEF3C7; padding: 4px 10px; border-radius: 4px;
  margin-bottom: 16px;
}

.witoo-related {
  background: #F8FAFC; border-radius: var(--witoo-radius-lg);
  padding: 24px; margin: 32px 0;
}
.witoo-related h3 {
  font-family: var(--witoo-font-display); font-size: 18px;
  margin: 0 0 12px; color: var(--witoo-navy); border: none; padding: 0;
}
.witoo-related ul { list-style: none; padding: 0; margin: 0; }
.witoo-related li { padding: 6px 0; border-bottom: 1px solid var(--witoo-line); }
.witoo-related li:last-child { border-bottom: none; }
.witoo-related a {
  color: var(--witoo-charcoal); text-decorat

/* ===== WITOO HOMEPAGE STYLES (v3 Letterboxd) — auto-injected ===== */
/* =========================================================
   Homepage v3 — Letterboxd-inspired · Mobile-first · Dark
   Container reset to escape GP wrapper
   ========================================================= */

/* Hide GP page title on this page */
body.page-id-16720 .entry-header,
body.page-id-16720 .entry-title{display:none !important}
body.page-id-16720 .inside-article{padding:0 !important;background:transparent !important}
body.page-id-16720 .entry-content{margin:0 !important;padding:0 !important;max-width:none !important}

/* Full-bleed dark background — break out of GP container */
body.page-id-16720{background:#0A1628 !important}
body.page-id-16720 .site,
body.page-id-16720 .site-content,
body.page-id-16720 .content-area,
body.page-id-16720 main,
body.page-id-16720 article{background:transparent !important;max-width:none !important;padding:0 !important;margin:0 !important;width:100% !important}
body.page-id-16720 .site.grid-container{max-width:none !important;padding:0 !important}

/* The actual homepage wrapper */
.lb-app{font-family:'Inter',-apple-system,system-ui,sans-serif;background:#0A1628;color:#F1F5F9;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}
.lb-app *{box-sizing:border-box}
.lb-app a{color:inherit;text-decoration:none}
.lb-app img{display:block;max-width:100%;height:auto}
.lb-container{max-width:1280px;margin:0 auto;padding:0 16px}
@media(min-width:768px){.lb-container{padding:0 24px}}

/* === Sticky search bar (top) === */
.lb-searchbar{position:sticky;top:0;z-index:100;background:rgba(10,22,40,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #1F2937;padding:12px 16px}
@media(min-width:768px){.lb-searchbar{padding:16px 24px}}
.lb-search-inner{max-width:1280px;margin:0 auto;display:flex;gap:12px;align-items:center}
.lb-search-form{flex:1;display:flex;background:#1F2937;border:1px solid #374151;border-radius:10px;overflow:hidden;transition:border 0.15s}
.lb-search-form:focus-within{border-color:#D4A256}
.lb-search-form input{flex:1;background:transparent;border:none;outline:none;padding:11px 14px;color:#F1F5F9;font-family:'Inter',sans-serif;font-size:14px}
.lb-search-form input::placeholder{color:#94A3B8}
.lb-search-form button{background:transparent;border:none;color:#D4A256;padding:0 14px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.lb-search-form button svg{width:18px;height:18px}

/* === Hero · big poster lead === */
.lb-hero{padding:24px 0 16px}
@media(min-width:768px){.lb-hero{padding:32px 0 24px}}
.lb-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#D4A256;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:12px}
.lb-hero-poster{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:16/10;background:#1F2937;display:block}
@media(min-width:768px){.lb-hero-poster{aspect-ratio:21/9}}
.lb-hero-poster img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.lb-hero-poster:hover img{transform:scale(1.03)}
.lb-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(10,22,40,0.4) 60%,rgba(10,22,40,0.97) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px}
@media(min-width:768px){.lb-hero-overlay{padding:32px 40px}}
.lb-hero-overlay .badge{display:inline-block;background:#D4A256;color:#0A1628;padding:4px 10px;border-radius:4px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:10px;align-self:flex-start}
.lb-hero-overlay h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800;color:#fff;letter-spacing:-0.02em;line-height:1.1;margin:0 0 8px}
@media(min-width:768px){.lb-hero-overlay h1{font-size:48px}}
@media(min-width:1024px){.lb-hero-overlay h1{font-size:60px}}
.lb-hero-overlay .dek{color:#CBD5E1;font-size:13px;line-height:1.5;max-width:540px;margin:0;display:none}
@media(min-width:768px){.lb-hero-overlay .dek{display:block;font-size:15px;margin-top:6px}}
.lb-hero-overlay .meta{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#94A3B8;letter-spacing:0.5px;margin-top:10px}

/* === Section headers === */
.lb-section{padding:32px 0}
@media(min-width:768px){.lb-section{padding:40px 0}}
.lb-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}
.lb-section-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:800;color:#fff;letter-spacing:-0.015em;margin:0}
@media(min-width:768px){.lb-section-head h2{font-size:22px}}
.lb-section-head .more{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#94A3B8;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.lb-section-head .more a{color:#D4A256}

/* === Category chips · horizontal scroll on mobile === */
.lb-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.lb-chips::-webkit-scrollbar{display:none}
.lb-chip{flex-shrink:0;background:#1F2937;border:1px solid #374151;border-radius:30px;padding:8px 14px;font-family:'Inter',sans-serif;font-weight:500;font-size:13px;color:#F1F5F9;display:inline-flex;align-items:center;gap:6px;transition:all 0.15s;white-space:nowrap}
.lb-chip:hover,.lb-chip.active{background:#D4A256;border-color:#D4A256;color:#0A1628}
.lb-chip .n{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#94A3B8;font-weight:600}
.lb-chip:hover .n,.lb-chip.active .n{color:#0A1628}

/* === POSTER GRID — the heart of the design === */
.lb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:520px){.lb-grid{grid-template-columns:repeat(3,1fr);gap:14px}}
@media(min-width:768px){.lb-grid{grid-template-columns:repeat(4,1fr);gap:16px}}
@media(min-width:1024px){.lb-grid{grid-template-columns:repeat(5,1fr);gap:18px}}
@media(min-width:1280px){.lb-grid{grid-template-columns:repeat(6,1fr);gap:18px}}

.lb-poster{display:block;position:relative;background:#1F2937;border-radius:10px;overflow:hidden;transition:transform 0.2s}
.lb-poster:hover{transform:translateY(-3px)}
.lb-poster .img-wrap{position:relative;aspect-ratio:3/4;overflow:hidden;background:#0A1628}
.lb-poster .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.lb-poster:hover .img-wrap img{transform:scale(1.06)}
.lb-poster .img-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,22,40,0.95) 100%);pointer-events:none}
.lb-poster .info{position:absolute;bottom:0;left:0;right:0;padding:10px 12px;z-index:2}
.lb-poster .cat{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#D4A256;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:4px;display:block}
.lb-poster .name{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:700;color:#fff;line-height:1.2;letter-spacing:-0.01em;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(min-width:768px){.lb-poster .name{font-size:14px}}

/* Verified badge in corner */
.lb-poster .verified{position:absolute;top:8px;right:8px;background:rgba(10,22,40,0.85);color:#D4A256;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.5px;padding:3px 7px;border-radius:4px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);font-weight:600;z-index:2}

/* === Trending strip — wide cards horizontal scroll === */
.lb-rail{display:flex;gap:12px;overflow-x:auto;padding:4px 0 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding-left:16px;padding-right:16px}
.lb-rail::-webkit-scrollbar{display:none}
@media(min-width:768px){.lb-rail{margin:0;padding:4px 0 12px}}
.lb-rail-card{flex-shrink:0;width:240px;background:#1F2937;border-radius:10px;overflow:hidden;transition:transform 0.2s}
.lb-rail-card:hover{transform:translateY(-3px)}
.lb-rail-card .img-wrap{aspect-ratio:16/9;background:#0A1628;overflow:hidden}
.lb-rail-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.lb-rail-card:hover .img-wrap img{transform:scale(1.05)}
.lb-rail-card .body{padding:14px}
.lb-rail-card .cat{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#D4A256;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin-bottom:6px}
.lb-rail-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;color:#fff;letter-spacing:-0.01em;line-height:1.25;margin:0 0 6px}
.lb-rail-card .meta{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#94A3B8;letter-spacing:0.5px}

/* === Stats banner === */
.lb-stats-band{background:#1F2937;border-top:1px solid #374151;border-bottom:1px solid #374151;padding:24px 0;margin:32px 0}
@media(min-width:768px){.lb-stats-band{padding:32px 0;margin:48px 0}}
.lb-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(min-width:520px){.lb-stats{grid-template-columns:repeat(4,1fr);gap:20px}}
.lb-stat{text-align:center}
.lb-stat .n{font-family:'IBM Plex Mono',monospace;font-size:28px;font-weight:600;color:#D4A256;letter-spacing:-1px;line-height:1;display:block}
@media(min-width:768px){.lb-stat .n{font-size:36px}}
.lb-stat .l{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#94A3B8;letter-spacing:1.5px;text-transform:uppercase;margin-top:6px;font-weight:600}

/* === About / authority === */
.lb-about{padding:32px 0 48px}
.lb-about .inner{background:linear-gradient(135deg,#1F2937,#0A1628);border:1px solid #374151;border-radius:14px;padding:28px 24px}
@media(min-width:768px){.lb-about .inner{padding:48px 40px}}
.lb-about h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:24px;font-weight:800;color:#fff;letter-spacing:-0.02em;line-height:1.15;margin:0 0 14px}
@media(min-width:768px){.lb-about h2{font-size:32px}}
.lb-about p{color:#CBD5E1;font-size:14px;line-height:1.7;margin-bottom:14px}
@media(min-width:768px){.lb-about p{font-size:15px}}
.lb-about p strong{color:#D4A256;font-weight:600}
.lb-about .ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.lb-about .ctas a{display:inline-block;padding:11px 18px;border-radius:8px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.3px;text-transform:none;transition:all 0.15s}
.lb-about .ctas .primary{background:#D4A256;color:#0A1628}
.lb-about .ctas .primary:hover{background:#E5BC78;transform:translateY(-1px)}
.lb-about .ctas .ghost{background:transparent;color:#fff;border:1px solid #374151}
.lb-about .ctas .ghost:hover{border-color:#D4A256;color:#D4A256}

/* === Sources strip === */
.lb-sources{padding:24px 0;border-top:1px solid #1F2937}
.lb-sources .label{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#94A3B8;letter-spacing:2px;text-transform:uppercase;font-weight:600;text-align:center;margin-bottom:14px}
.lb-sources .names{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;align-items:center}
@media(min-width:768px){.lb-sources .names{gap:32px}}
.lb-sources .names span{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14px;color:#94A3B8;letter-spacing:-0.01em}
@media(min-width:768px){.lb-sources .names span{font-size:16px}}

/* === Group brands footer === */
.lb-group{padding:24px 0 96px;border-top:1px solid #1F2937;text-align:center}
@media(min-width:768px){.lb-group{padding:24px 0 32px}}
.lb-group .label{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#94A3B8;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.lb-group .brands{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;align-items:center}
.lb-group .brands a{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:16px;color:#F1F5F9;letter-spacing:-0.5px}
.lb-group .brands a:hover{color:#D4A256}
.lb-group .brands .sep{color:#D4A256;font-size:10px}

/* === Mobile bottom action bar === */
.lb-bottombar{position:fixed;bottom:0;left:0;right:0;background:rgba(10,22,40,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid #1F2937;display:flex;justify-content:space-around;padding:8px 0;z-index:90}
@media(min-width:768px){.lb-bottombar{display:none}}
.lb-bottombar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;color:#94A3B8;font-family:'Inter',sans-serif;font-size:10px;font-weight:600;letter-spacing:0.3px}
.lb-bottombar a:hover,.lb-bottombar a.active{color:#D4A256}
.lb-bottombar a svg{width:20px;height:20px}
/* ===== END WITOO HOMEPAGE STYLES ===== */
