/* MoFutbol page experience v3 — canonical data, editorial, and conversion layouts. */
:root {
  --mf-exp-shell: min(1180px, calc(100% - 32px));
  --mf-exp-panel: #071811;
  --mf-exp-panel-2: #0b2118;
  --mf-exp-line: rgba(214, 230, 57, .24);
  --mf-exp-copy: #f4f7ee;
  --mf-exp-muted: #a9b7ad;
  --mf-exp-accent: #d9f33b;
  --mf-exp-radius: 18px;
}

body.mf-exp-page main { overflow: clip; }
body.mf-exp-page :where(.stl-container,.mf-core-container,.mf-ac-shell,.sv-wrap,.mf-diaspora-fix-hero__grid,.mf-diaspora-fix-shell) {
  width: var(--mf-exp-shell);
  max-width: 1180px;
  margin-inline: auto;
}
body.mf-exp-page :where(.stl-section,.mf-core-section,.mf-ac-section) { padding-block: clamp(28px, 4vw, 52px); }
body.mf-exp-page :where(h1,h2,h3,p) { text-wrap: pretty; }
body.mf-exp-page :where(p,small) { color: var(--mf-exp-muted); }
body.mf-exp-page :where(.stl-btn,.mf-core-button,.mf-ac-button,.sv-btn) { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
body.mf-exp-page :where(.stl-btn--primary,.mf-core-button--primary,.mf-ac-button--primary,.sv-btn--primary) {
  color: #071007;
  background: linear-gradient(110deg,#ffd83d 0%,#cbf33a 58%,#55db9f 100%);
  border-color: transparent;
  font-weight: 850;
}

/* Canonical live/data hub */
body.mf-exp-data :where(.mf-editorial-hero,.mf-diaspora-hero,.mf-ds-dashboard) {
  min-height: 0 !important;
  padding-block: clamp(28px,4vw,52px) !important;
  background-position: center;
}
body.mf-exp-data .mf-editorial-hero__grid {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr);
  gap: 18px;
  align-items: stretch;
}
body.mf-exp-data .mf-editorial-hero__grid > div {
  order: -1;
  padding: clamp(22px,3vw,38px);
  border: 1px solid var(--mf-exp-line);
  border-radius: var(--mf-exp-radius);
  background: linear-gradient(140deg,rgba(6,20,14,.96),rgba(8,31,24,.88));
}
body.mf-exp-data .mf-editorial-hero__panel {
  padding: 24px;
  border-radius: var(--mf-exp-radius);
  background: linear-gradient(160deg,rgba(16,43,32,.95),rgba(6,18,13,.96));
  border: 1px solid var(--mf-exp-line);
}
body.mf-exp-data .mf-unified-hero-title { max-width: 16ch; font-size: clamp(2.15rem,5vw,4.4rem); line-height: .98; margin-block: 10px 14px; }
body.mf-exp-data .mf-lede { max-width: 62ch; font-size: clamp(1rem,1.4vw,1.15rem); }
body.mf-exp-data .mf-page-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
body.mf-exp-data .mf-league-lanes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.mf-exp-data .mf-lane-card { min-height: 138px; padding:18px; border-radius:14px; background:linear-gradient(150deg,var(--mf-exp-panel-2),var(--mf-exp-panel)); }
body.mf-exp-data .mf-rail-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr); gap:16px; align-items:start; }
body.mf-exp-data .mf-info-stack { display:grid; gap:12px; }
body.mf-exp-data :where(.mf-surface-card,.mf-info-card,.mf-hscl-news-card,.mf-cta-band) { min-height:0 !important; border-radius:16px; background:linear-gradient(150deg,#0b2118,#06130e); }
body.mf-exp-data .mf-hscl-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
body.mf-exp-data .mf-utility-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.mf-exp-data .mf-cta-band { padding:22px; display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; }

/* Soccer Vision directory */
body.mf-exp-directory .sv-wrap { padding-block:32px 56px; }
body.mf-exp-directory .sv-hero { min-height:0; padding:clamp(28px,5vw,54px); gap:28px; border-radius:24px; background:linear-gradient(125deg,#0a281b 0%,#0d3a29 55%,#132317 100%); }
body.mf-exp-directory .sv-hero h1 { max-width:16ch; font-size:clamp(2.45rem,5.5vw,5rem); line-height:.96; }
body.mf-exp-directory .sv-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
body.mf-exp-directory .sv-stat { min-height:92px; padding:16px; background:rgba(5,18,12,.68); }
body.mf-exp-directory .sv-section { padding-block:42px 0; }
body.mf-exp-directory .sv-filters { display:grid; grid-template-columns:2fr repeat(4,minmax(120px,1fr)) auto auto; gap:10px; padding:14px; position:sticky; top:72px; z-index:6; }
body.mf-exp-directory .sv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
body.mf-exp-directory .sv-card { min-height:230px; padding:20px; display:flex; flex-direction:column; background:linear-gradient(145deg,#0b2117,#06140e); }
body.mf-exp-directory .sv-card__logo { width:56px; height:56px; object-fit:contain; background:#fff; border-radius:12px; padding:5px; }
body.mf-exp-directory .sv-card a { margin-top:auto; color:var(--mf-exp-accent); font-weight:800; }

/* Diaspora intelligence hubs */
body.mf-exp-diaspora :where(.mf-diaspora-fix-hero,.mf-diaspora-hero) { min-height:0 !important; padding-block:34px !important; }
body.mf-exp-diaspora .mf-diaspora-fix-hero__grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:14px; }
body.mf-exp-diaspora :where(.mf-diaspora-fix-hero__copy,.mf-diaspora-fix-hero__panel) { padding:24px; border-radius:18px; background:rgba(5,22,14,.9); border:1px solid var(--mf-exp-line); }
body.mf-exp-diaspora .mf-diaspora-fix-hero h1 { font-size:clamp(2.4rem,6vw,5rem); line-height:.95; }
body.mf-exp-diaspora .mf-diaspora-now { padding-block:26px; }
body.mf-exp-diaspora .mf-diaspora-now__grid { grid-template-columns:1.2fr repeat(3,minmax(0,1fr)); gap:12px; }
body.mf-exp-diaspora .mf-diaspora-now__feature { grid-row:auto; min-height:0; }
body.mf-exp-diaspora .mf-diaspora-tabs { overflow-x:auto; scrollbar-width:none; }
body.mf-exp-diaspora .mf-di-shell { width:var(--mf-exp-shell); margin-inline:auto; }
body.mf-exp-diaspora :where(.mf-di-command,.mf-da-command,.mf-da-daily) { min-height:0 !important; margin-block:0; }
body.mf-exp-diaspora .mf-di-static-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
body.mf-exp-diaspora .mf-static-snapshot__head { grid-column:1/-1; }
body.mf-exp-diaspora .mf-di-static-card { min-height:0; border-radius:14px; overflow:hidden; background:#071a12; }
body.mf-exp-diaspora .mf-di-static-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
body.mf-exp-diaspora .mf-official-source-board { padding-block:28px; }
body.mf-exp-diaspora .mf-diaspora-fix-content { padding-block:22px 48px; }

/* Diaspora Search dashboard */
body.mf-exp-search .mf-ds-dashboard { padding-block:28px 44px; }
body.mf-exp-search .mf-ds-shell { width:var(--mf-exp-shell); margin-inline:auto; }
body.mf-exp-search :where(.mf-ds-regions,.mf-ds-search-section,.mf-ds-intel,.mf-ds-newsletter) { padding-block:30px; }
body.mf-exp-search :where(.mf-ds-region-grid,.mf-ds-result-grid,.mf-ds-intel-grid) { gap:12px; }
body.mf-exp-search :where(.mf-africa-hero,.mf-africa-edition-rail,.mf-mofutbol-source-section,.mf-mofutbol-official-team-player-section) { padding-block:34px !important; min-height:0 !important; }
body.mf-exp-search .mf-africa-hero h1 { font-size:clamp(2.4rem,6vw,5rem); }
body.mf-exp-search .mf-mofutbol-framework { display:none; }

/* Canonical editorial media hub */
body.mf-exp-editorial .mf-core-hero { min-height:0; padding-block:38px; background:radial-gradient(circle at 88% 10%,rgba(217,243,59,.12),transparent 34%),#06130d; }
body.mf-exp-editorial .mf-core-hero__grid { grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); gap:18px; }
body.mf-exp-editorial .mf-core-title { max-width:13ch; font-size:clamp(2.6rem,6vw,5.4rem); line-height:.95; }
body.mf-exp-editorial .mf-core-visual { border-radius:18px; overflow:hidden; min-height:0; }
body.mf-exp-editorial .mf-core-visual img { aspect-ratio:16/9; object-fit:cover; }
body.mf-exp-editorial .mf-core-nav { position:sticky; top:70px; z-index:5; }
body.mf-exp-editorial .mf-core-section__head { margin-bottom:20px; }
body.mf-exp-editorial .mf-core-grid { gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }
body.mf-exp-editorial .mf-core-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.mf-exp-editorial :where(.mf-core-panel,.mf-core-card,.mf-core-cta) { min-height:0; border-radius:16px; background:linear-gradient(145deg,#0b2118,#06130e); }
body.mf-exp-editorial .mf-core-cta { padding:24px; }

/* Canonical conversion / brand portal */
body.mf-exp-conversion .mf-ac-hero { min-height:0; padding-block:42px; }
body.mf-exp-conversion .mf-ac-hero__grid { grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:18px; }
body.mf-exp-conversion .mf-ac-hero__copy { padding:clamp(24px,4vw,48px); border-radius:22px; background:linear-gradient(135deg,#0a2a1c,#08150f); border:1px solid var(--mf-exp-line); }
body.mf-exp-conversion .mf-ac-hero h1 { max-width:14ch; font-size:clamp(2.7rem,6vw,5.5rem); line-height:.95; }
body.mf-exp-conversion .mf-ac-founder { border-radius:22px; padding:20px; background:linear-gradient(150deg,#10281e,#07140e); }
body.mf-exp-conversion .mf-ac-founder__portrait img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; }
body.mf-exp-conversion .mf-ac-nav { position:sticky; top:70px; z-index:5; }
body.mf-exp-conversion :where(.mf-ac-grid article,.mf-ac-route,.mf-ac-callout,.mf-ac-contact) { min-height:0; border-radius:16px; }
body.mf-exp-conversion #partner .mf-ac-split { align-items:center; }
body.mf-exp-conversion #partner { background:radial-gradient(circle at 80% 20%,rgba(217,243,59,.12),transparent 36%),#07150f; }

@media (max-width: 900px) {
  :root { --mf-exp-shell:min(100% - 24px,1180px); }
  body.mf-exp-data .mf-editorial-hero__grid,
  body.mf-exp-data .mf-rail-grid,
  body.mf-exp-diaspora .mf-diaspora-fix-hero__grid,
  body.mf-exp-editorial .mf-core-hero__grid,
  body.mf-exp-conversion .mf-ac-hero__grid { grid-template-columns:1fr; }
  body.mf-exp-data .mf-league-lanes,
  body.mf-exp-data .mf-hscl-news-grid,
  body.mf-exp-data .mf-utility-list,
  body.mf-exp-directory .sv-grid,
  body.mf-exp-editorial .mf-core-grid,
  body.mf-exp-diaspora .mf-di-static-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.mf-exp-directory .sv-filters { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.mf-exp-diaspora .mf-diaspora-now__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  :root { --mf-exp-shell:min(100% - 20px,1180px); }
  body.mf-exp-page :where(.stl-section,.mf-core-section,.mf-ac-section) { padding-block:26px; }
  body.mf-exp-data .mf-editorial-hero__grid > div,
  body.mf-exp-data .mf-editorial-hero__panel,
  body.mf-exp-diaspora :where(.mf-diaspora-fix-hero__copy,.mf-diaspora-fix-hero__panel),
  body.mf-exp-conversion .mf-ac-hero__copy { padding:20px; }
  body.mf-exp-data .mf-league-lanes,
  body.mf-exp-data .mf-hscl-news-grid,
  body.mf-exp-data .mf-utility-list,
  body.mf-exp-directory .sv-grid,
  body.mf-exp-directory .sv-stats,
  body.mf-exp-editorial .mf-core-grid,
  body.mf-exp-editorial .mf-core-grid--two,
  body.mf-exp-diaspora .mf-di-static-grid,
  body.mf-exp-diaspora .mf-diaspora-now__grid { grid-template-columns:1fr; }
  body.mf-exp-directory .sv-hero { padding:24px 20px; }
  body.mf-exp-directory .sv-filters { grid-template-columns:1fr; }
  body.mf-exp-data .mf-cta-band { grid-template-columns:1fr; }
  body.mf-exp-page :where(.mf-page-actions,.mf-core-actions,.mf-ac-actions,.sv-actions) > * { flex:1 1 100%; }
  body.mf-exp-page :where(h1,.mf-core-title,.mf-unified-hero-title) { overflow-wrap:anywhere; }
}

@media (prefers-reduced-motion:reduce) {
  body.mf-exp-page *,body.mf-exp-page *::before,body.mf-exp-page *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
