/*
  RKVV DEM / Playerz — Definitive Design System
  v15.9.3 — WordPress-theme preparation layer
  This file is intentionally loaded LAST. New theme components should use these tokens.
*/
:root{
  /* Brand colors */
  --color-navy:#00152f;
  --color-navy-2:#00234f;
  --color-blue:#0757bd;
  --color-blue-2:#0b67d9;
  --color-grass:#78d34d;
  --color-white:#ffffff;
  --color-surface:#f7f9fc;
  --color-surface-blue:#eef5ff;
  --color-line:#dfe7ef;
  --color-text:#00152f;
  --color-muted:#66778b;
  --color-gold:#c99a42;

  /* Backwards-compatible project aliases */
  --navy:var(--color-navy);
  --navy-2:var(--color-navy-2);
  --blue:var(--color-blue);
  --blue-2:var(--color-blue-2);
  --lime:var(--color-grass);
  --grass:var(--color-grass);
  --paper:var(--color-white);
  --soft:var(--color-surface);
  --soft-blue:var(--color-surface-blue);
  --line:var(--color-line);
  --muted:var(--color-muted);

  /* Typography — one family throughout the complete website */
  --font-family-base:"Matter","Matter SQ",Manrope,"Helvetica Neue",Arial,sans-serif;
  --font-site:var(--font-family-base);
  --font-display:var(--font-family-base);
  --text-2xs:10px;
  --text-xs:11px;
  --text-sm:13px;
  --text-base:16px;
  --text-md:18px;
  --text-lg:20px;
  --text-xl:24px;
  --type-h6:clamp(18px,1.45vw,22px);
  --type-h5:clamp(21px,1.8vw,28px);
  --type-h4:clamp(25px,2.25vw,34px);
  --type-h3:clamp(30px,3vw,44px);
  --type-h2:clamp(40px,4.2vw,64px);
  --type-h1:clamp(58px,6.2vw,96px);
  --lh-body:1.68;
  --lh-heading:.98;
  --tracking-heading:-.052em;

  /* Layout / scaling */
  --container:1320px;
  --container-wide:1510px;
  --page-gutter:36px;
  --section-y:clamp(88px,8vw,124px);
  --section-y-compact:clamp(64px,5.5vw,88px);
  --space-1:8px;
  --space-2:12px;
  --space-3:16px;
  --space-4:24px;
  --space-5:32px;
  --space-6:48px;
  --space-7:64px;

  /* Radius */
  --radius-button:14px;
  --radius-card-sm:18px;
  --radius-card:24px;
  --radius-card-lg:28px;
  --radius-hero:30px;
  --radius-pill:999px;

  /* Buttons / icons */
  --button-h:54px;
  --button-px:22px;
  --button-font:14px;
  --icon-circle:40px;
  --arrow-size:17px;

  /* Motion */
  --motion-fast:.28s;
  --motion-base:.42s;
  --ease-premium:cubic-bezier(.16,1,.3,1);
}

/* ---------- Typography: authoritative Matter schema ---------- */
html,body,button,input,select,textarea,table,th,td,optgroup,option{
  font-family:var(--font-family-base)!important;
}
body{font-size:var(--text-base);line-height:var(--lh-body);color:var(--color-text)}
:where(.dem-match-browser,.dem-match-browser *, .standings-browser,.standings-browser *, .standing-card,.standing-card *,
.team-page-shell,.team-page-shell *, .football-local-nav,.football-local-nav *, .app-match-card,.app-match-card *,
.result-card,.result-card *, .training-card,.training-card *, .filter-pill,.tab,.dem-filter-select,.dem-filter-search,
.dem-team-search,.dem-team-search *, .team-local-nav,.team-local-nav *){font-family:var(--font-family-base)!important}

:where(.hero-title,.football-title,.info-hero-title,.info-v14-title){font-family:var(--font-family-base)!important;font-weight:800;letter-spacing:-.06em}
:where(.h2,.section-head h2,.split-head h2,.info-v14-head h2,.team-section-head h2,.feature-copy h2){font-family:var(--font-family-base)!important;font-size:var(--type-h2);line-height:var(--lh-heading);letter-spacing:var(--tracking-heading);font-weight:800}
:where(.lead,.football-lead,.info-v14-lead,.info-hero-lead){font-family:var(--font-family-base)!important}

/* Data UI: never use a separate sports/widget type scale */
.team-local-nav a,.football-local-link,.team-category-tabs a,.filter-pill,.tab{
  font-size:14px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.01em!important;
}
.dem-team-search select,.dem-filter-select,.dem-filter-search{font-size:14px!important;font-weight:650!important}
.dem-fixture-team b,.team-side,.team-mini-club{font-size:14px!important;font-weight:700!important}
.dem-fixture-date small,.dem-fixture-date span,.dem-fixture-bottom>span,.match-meta span,.standing-card-head p{font-size:var(--text-xs)!important}
.standing-table th,.team-page-standing th{font-size:var(--text-xs)!important;font-weight:750!important;letter-spacing:.1em!important}
.standing-table td,.team-page-standing td{font-size:13px!important;line-height:1.45!important}
.standing-card-head h3{font-size:var(--type-h6)!important;letter-spacing:-.025em!important}

/* ---------- Container + section rhythm ---------- */
.container,.inner-wrap{width:min(var(--container),calc(100% - (var(--page-gutter) * 2)))!important;margin-inline:auto}
.wide,.inner-wide{width:min(var(--container-wide),calc(100% - 44px))!important;margin-inline:auto}
.section-pad{padding-block:var(--section-y)!important}
.section-pad.compact{padding-block:var(--section-y-compact)!important}
.info-v14-section,.info-section{padding-block:var(--section-y)!important}
.news-zone{padding-bottom:var(--section-y)!important}
.home-widgets,.gallery{padding-block:var(--section-y)!important}
.quick{padding-bottom:var(--section-y)!important}
.section-head,.info-v14-head,.team-section-head{margin-bottom:clamp(28px,3vw,42px)!important}

/* ---------- Definitive button system ---------- */
.btn,.submit-btn,.footer-v10-route{
  min-height:var(--button-h);height:var(--button-h);padding-inline:var(--button-px);border-radius:var(--radius-button);
  font-family:var(--font-family-base)!important;font-size:var(--button-font)!important;font-weight:700!important;letter-spacing:-.01em;
}
.btn{gap:12px}
.btn.primary,.btn:not(.lime):not(.outline):not(.ghost){background:var(--color-blue);color:#fff}
.btn.lime,.btn.accent{background:var(--color-grass);color:var(--color-navy)}
.btn.outline{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.5);color:#fff}
.btn.secondary{background:#fff;color:var(--color-navy);border:1px solid var(--color-line)}
.btn.ghost{background:transparent;color:var(--color-navy);border:1px solid var(--color-line)}
.card-link,.read,.link-go{font-family:var(--font-family-base)!important;font-size:15px!important;font-weight:700!important;letter-spacing:-.015em!important;gap:10px}
.tab,.filter-pill,.team-category-tabs a{min-height:42px;padding:0 15px;display:inline-flex;align-items:center;border-radius:12px}

/* Icon / arrow system: straight and diagonal arrows have identical visual dimensions. */
.arrow-svg{width:var(--arrow-size)!important;height:var(--arrow-size)!important;stroke-width:1.8!important}
.round-arrow,.qarr,.agenda-arrow,.go{position:relative;overflow:hidden;display:grid;place-items:center}
.round-arrow{width:var(--icon-circle)!important;height:var(--icon-circle)!important;border-radius:50%!important}
.round-arrow .flow-arrow .arrow-svg,.qarr .flow-arrow .arrow-svg,.agenda-arrow .flow-arrow .arrow-svg,.go .flow-arrow .arrow-svg,
.footer-v10-up i .flow-arrow .arrow-svg,.footer-v10-contactcard>i .flow-arrow .arrow-svg,.footer-v10-route>i .flow-arrow .arrow-svg,.footer-v10-info>i .flow-arrow .arrow-svg{
  width:var(--arrow-size)!important;height:var(--arrow-size)!important;
}

/* ---------- Card system ---------- */
.card,.v14-card,.link-card,.person-card,.result-card,.standing-card,.app-match-card,.team-player-card,.team-mini-fixture,
.contact-info-card,.agenda-web-card,.sponsor-package{
  border-radius:var(--radius-card);border-color:var(--color-line);
}
.card--surface,.v14-card,.link-card,.person-card,.result-card,.standing-card,.app-match-card,.team-player-card,.team-mini-fixture{background:#fff}
.card--soft{background:var(--color-surface)}
.card--blue-soft{background:var(--color-surface-blue)}
.card--navy{background:var(--color-navy);color:#fff}
.card--accent{background:var(--color-grass);color:var(--color-navy)}
/* Non-clickable cards never scale. Full-card anchors/buttons may keep the subtle JS lift. */
:where(.news-card,.agenda-card,.v14-card,.person-card,.result-card,.standing-card,.app-match-card,.team-player-card):not(a):not(button):hover{transform:none!important}
:where(.news-card,.v14-card,.person-card):not(a):not(button):hover img{transform:none!important}

/* ---------- Desktop header integrated into home hero ---------- */
@media(min-width:821px){
  body > .site-header,body.info-page > .site-header,body.football-page > .site-header{
    top:27px!important;height:94px!important;width:min(1480px,calc(100% - 64px))!important;
    background:rgba(255,255,255,.84)!important;backdrop-filter:blur(22px) saturate(1.16)!important;-webkit-backdrop-filter:blur(22px) saturate(1.16)!important;
  }
  .site-header .desktop-nav a:not(.btn){font-size:14px!important}
  body:not(.football-page):not(.info-page) .hero-shell{padding-top:12px!important}
}

/* ---------- Compact team player cards ---------- */
.team-player-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
.team-player-card{border-radius:20px!important}
.team-player-photo{aspect-ratio:1/1!important;min-height:0!important}
.team-player-photo img{object-position:center 20%}
.team-player-fallback{width:64px!important;height:64px!important;font-size:20px!important}
.team-player-copy{padding:13px 14px 14px!important}
.team-player-copy small{font-size:9px!important}.team-player-copy h3{font-size:16px!important;margin-top:3px!important}.team-player-copy p{font-size:11px!important;margin-top:4px!important}
.team-local-nav{min-height:56px!important;padding:8px 11px!important;gap:6px!important;border-radius:18px!important}
.team-local-nav a{padding:11px 15px!important;border-radius:11px!important}
@media(max-width:1180px) and (min-width:821px){.team-player-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:820px){
  /* Mobile menu is deliberately NOT restyled here: v15.9.2 menu behavior is frozen. */
  :root{--page-gutter:17px;--section-y:clamp(68px,16vw,92px);--section-y-compact:58px;--button-h:48px;--button-px:17px}
  .container,.inner-wrap{width:calc(100% - 34px)!important}
  .team-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .team-player-photo{aspect-ratio:1/1.02!important}
  .team-player-copy{padding:11px 12px 12px!important}.team-player-copy h3{font-size:15px!important}
  .team-local-nav{width:calc(100% - 18px)!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important}
  .team-local-nav::-webkit-scrollbar{display:none}
  .team-local-nav a{white-space:nowrap!important;font-size:13px!important}
}

/* ---------- News drag rail ---------- */
.news-rail{scroll-snap-type:x proximity;scroll-behavior:auto;overscroll-behavior-x:contain}
.news-card{scroll-snap-align:start}
.drag-cursor{position:fixed;left:0;top:0;z-index:2147483000;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:rgba(0,21,47,.92);color:#fff;font:700 11px/1 var(--font-family-base);letter-spacing:.02em;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.8);will-change:transform,opacity;box-shadow:0 12px 34px rgba(0,21,47,.22)}
.drag-cursor.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.drag-cursor.is-dragging{background:var(--color-blue);transform:translate(-50%,-50%) scale(.92)}
@media(pointer:fine){.news-rail{cursor:none!important;user-select:none}.news-rail a{cursor:none!important}}
@media(pointer:coarse){.drag-cursor{display:none!important}.news-rail{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}}

/* ---------- Desktop menu contact footer (mobile menu remains untouched) ---------- */
@media(min-width:821px){
  .menu-footer{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr)!important;gap:14px!important;margin-top:28px!important;padding-top:22px!important;font-size:13px!important}
  .menu-footer-location,.menu-footer-contact-links{border:1px solid rgba(0,74,173,.10);background:rgba(255,255,255,.58);border-radius:17px;padding:14px 15px}
  .menu-footer-location{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center}
  .menu-footer-contact-links{display:grid;gap:8px}
  .menu-footer-contact-links a{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;color:var(--color-navy)}
  .menu-footer-icon{width:40px;height:40px;border-radius:13px;background:var(--color-surface-blue);color:var(--color-blue);display:grid;place-items:center}
  .menu-footer-contact-links .menu-footer-icon{width:32px;height:32px;border-radius:10px}
  .menu-footer-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .menu-footer-location strong,.menu-footer-contact-links strong{display:block;font-size:14px;line-height:1.25;color:var(--color-navy)}
  .menu-footer-location small,.menu-footer-contact-links small{display:block;margin-top:3px;font-size:12px;line-height:1.45;color:var(--color-muted)}
  .menu-address-link{display:block;color:inherit;text-decoration:none}.menu-address-link:hover small{color:var(--color-blue)}
  .menu-field-inline{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:var(--color-blue);font-size:12px;font-weight:750;text-decoration:none}.menu-field-inline svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
}

/* ---------- Footer sponsor strip + legal row ---------- */
.footer-v10-sponsors{display:none!important;border-top:1px solid rgba(255,255,255,.10);padding:25px 0 27px;display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}
.footer-v10-sponsors-label small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#718399;font-weight:750}.footer-v10-sponsors-label a{display:inline-flex;align-items:center;margin-top:5px;color:#e7edf5;font-size:14px;font-weight:650}
.footer-v10-sponsorlogos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.footer-v10-sponsor{min-height:70px;border-radius:14px;background:#fff;display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;padding:8px 10px 7px;overflow:hidden}
.footer-v10-sponsor img{width:100%;height:38px;object-fit:contain}.footer-v10-sponsor span{font-size:9px;line-height:1.1;color:#667383;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.footer-v10-bottom{grid-template-columns:1fr auto 1fr!important;gap:22px!important}
.footer-v10-legal-left{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.footer-v10-legal-left .mkv-credit{padding-left:9px;border-left:1px solid rgba(255,255,255,.15)}
.footer-v10-tagline{justify-self:center}.footer-v10-legal-right{justify-self:end!important;display:flex!important;gap:9px!important;align-items:center}
@media(max-width:900px){.footer-v10-sponsors{grid-template-columns:1fr}.footer-v10-sponsorlogos{grid-template-columns:repeat(3,1fr)}.footer-v10-bottom{grid-template-columns:1fr!important}.footer-v10-tagline{justify-self:start}.footer-v10-legal-right{justify-self:start!important}}
@media(max-width:560px){.footer-v10-sponsorlogos{grid-template-columns:repeat(2,1fr)}.footer-v10-sponsor:last-child{grid-column:1/-1}.footer-v10-legal-left{display:grid;gap:4px}.footer-v10-legal-left .mkv-credit{padding-left:0;border-left:0}}

/* WordPress mapping helpers — use these classes in blocks/templates. */
.ds-section{padding-block:var(--section-y)}.ds-section--compact{padding-block:var(--section-y-compact)}.ds-section--soft{background:var(--color-surface)}.ds-section--blue{background:var(--color-surface-blue)}.ds-container{width:min(var(--container),calc(100% - (var(--page-gutter) * 2)));margin-inline:auto}
.ds-card{border:1px solid var(--color-line);border-radius:var(--radius-card);background:#fff;padding:24px}.ds-card--soft{background:var(--color-surface)}.ds-card--blue{background:var(--color-surface-blue)}.ds-card--navy{background:var(--color-navy);color:#fff}.ds-card--accent{background:var(--color-grass);color:var(--color-navy)}


/* ========================================================================
   v15.9.3 FINAL — authoritative theme layer
   WordPress preparation: every reusable visual decision belongs here.
   Mobile menu mechanics are intentionally excluded/frozen.
   ======================================================================== */
:root{
  /* TYPE SCALE */
  --type-caption:11px;
  --type-label:12px;
  --type-ui:14px;
  --type-body-sm:14px;
  --type-body:16px;
  --type-body-lg:18px;
  --type-card-title:clamp(19px,1.55vw,24px);
  --type-section:clamp(40px,4.2vw,64px);
  --type-page:clamp(54px,5.5vw,86px);

  /* BREAKPOINT REFERENCE */
  --bp-mobile:820px;
  --bp-tablet:1180px;

  /* COMPONENT SIZING */
  --button-h-sm:44px;
  --button-h-md:54px;
  --button-h-lg:60px;
  --icon-circle-sm:36px;
  --icon-circle-md:40px;
  --icon-circle-lg:48px;
}

/* One text family everywhere. SVGs remain vector artwork and are excluded. */
body :where(a,button,p,span,strong,b,small,em,i,h1,h2,h3,h4,h5,h6,li,label,input,select,textarea,option,th,td,caption,time){
  font-family:var(--font-family-base)!important;
}
body{font-size:var(--type-body)!important;line-height:var(--lh-body)!important}

/* Standard headings and body copy. */
:where(.lead,.football-lead,.info-v14-lead,.info-hero-lead,.section-head>p,.split-head>p,.team-section-head>p){
  font-size:var(--type-body)!important;line-height:1.68!important;
}
:where(.hero-title,.football-title,.info-v14-title,.info-hero-title){font-size:var(--type-page)}
:where(.h2,.section-head h2,.split-head h2,.info-v14-head h2,.info-head h2,.team-section-head h2,.feature-copy h2){font-size:var(--type-section)!important}

/* Football / programme / results / standings use the exact same site UI scale. */
:where(.football-local-link,.team-local-nav a,.team-category-tabs a,.tab,.filter-pill,.dem-team-search select,.dem-filter-select,.dem-filter-search){
  font-size:var(--type-ui)!important;line-height:1.25!important;font-weight:700!important;letter-spacing:-.01em!important;
}
:where(.dem-fixture-team b,.team-side,.team-mini-club,.standing-table td,.team-page-standing td,.app-match-card,.result-card){
  font-size:var(--type-body-sm)!important;line-height:1.45!important;
}
:where(.standing-table th,.team-page-standing th,.dem-fixture-date small,.dem-fixture-date span,.dem-fixture-bottom>span,.match-meta span){
  font-size:var(--type-caption)!important;
}
.standing-card-head h3{font-size:var(--type-card-title)!important}
.standing-card-head p{font-size:var(--type-label)!important}

/* Definitive buttons. Reuse these classes in the future WordPress theme. */
.btn,.ds-button,.submit-btn{min-height:var(--button-h-md);height:var(--button-h-md);padding-inline:var(--button-px);border-radius:var(--radius-button);font-size:var(--type-ui)!important;font-weight:700!important;gap:12px}
.btn--sm,.ds-button--sm{min-height:var(--button-h-sm);height:var(--button-h-sm);padding-inline:17px}
.btn--lg,.ds-button--lg{min-height:var(--button-h-lg);height:var(--button-h-lg);padding-inline:28px;font-size:15px!important}
.btn.primary,.ds-button--primary{background:var(--color-blue);color:#fff;border:1px solid transparent}
.btn.lime,.btn.accent,.ds-button--accent{background:var(--color-grass);color:var(--color-navy);border:1px solid transparent}
.btn.secondary,.ds-button--secondary{background:#fff;color:var(--color-navy);border:1px solid var(--color-line)}
.btn.outline,.ds-button--outline{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.5)}
.btn.ghost,.ds-button--ghost{background:transparent;color:var(--color-navy);border:1px solid var(--color-line)}
.ds-button--text{min-height:0;height:auto;padding:0;border:0;background:transparent;color:var(--color-blue)}

/* Arrow/icon sizing: straight and diagonal icons are mathematically identical. */
:where(.arrow-svg,.flow-arrow .arrow-svg){width:var(--arrow-size)!important;height:var(--arrow-size)!important;stroke-width:1.8!important;vector-effect:non-scaling-stroke}
:where(.round-arrow,.qarr,.agenda-arrow,.go){width:var(--icon-circle-md)!important;height:var(--icon-circle-md)!important;min-width:var(--icon-circle-md)!important;border-radius:50%!important;display:grid!important;place-items:center!important}
:where(.round-arrow,.qarr,.agenda-arrow,.go) :where(.arrow-svg,.flow-arrow .arrow-svg){width:var(--arrow-size)!important;height:var(--arrow-size)!important}

/* Card families — future WordPress blocks map directly to these modifiers. */
.ds-card,.card,.v14-card,.link-card,.person-card,.result-card,.standing-card,.app-match-card,.team-player-card,.team-mini-fixture,.contact-info-card,.agenda-web-card,.sponsor-package{
  border-radius:var(--radius-card);border:1px solid var(--color-line);
}
.ds-card{padding:var(--space-4);background:#fff}
.ds-card--surface{background:#fff}.ds-card--soft{background:var(--color-surface)}.ds-card--blue{background:var(--color-surface-blue)}.ds-card--navy{background:var(--color-navy);color:#fff}.ds-card--accent{background:var(--color-grass);color:var(--color-navy)}
.ds-card--data{padding:0;overflow:hidden}.ds-card--media{overflow:hidden}.ds-card--interactive{transition:transform var(--motion-fast) var(--ease-premium),box-shadow var(--motion-fast) var(--ease-premium),border-color var(--motion-fast) var(--ease-premium)}
@media(pointer:fine){.ds-card--interactive:hover{transform:translateY(-2px);box-shadow:0 20px 54px rgba(0,21,47,.08);border-color:rgba(7,87,189,.22)}}

/* Only a whole-card link is allowed to lift. Ordinary content cards stay perfectly still. */
:where(.news-card,.agenda-card,.v14-card,.person-card,.result-card,.standing-card,.app-match-card,.team-player-card):not(a):not(button):hover{transform:none!important}
:where(.news-card,.v14-card,.person-card):not(a):not(button):hover img{transform:none!important}

/* Consistent section rhythm across all templates. */
:where(.section-pad,.info-v14-section,.info-section,.football-section,.home-widgets,.competition-preview,.agenda-section,.gallery,.quick){padding-top:var(--section-y)!important;padding-bottom:var(--section-y)!important}
:where(.info-v14-section.compact,.section-pad.compact,.ds-section--compact){padding-top:var(--section-y-compact)!important;padding-bottom:var(--section-y-compact)!important}
:where(.news-zone){padding-top:var(--section-y-compact)!important;padding-bottom:var(--section-y)!important}
:where(.section-head,.info-v14-head,.info-head,.split-head,.team-section-head){margin-bottom:clamp(28px,3vw,42px)!important}

/* Home desktop hero: image starts higher, with the header visibly sitting inside it. */
@media(min-width:821px){
  body:not(.info-page):not(.football-page) .hero-shell{padding-top:14px!important}
  .hero>.site-header{top:18px!important;left:26px!important;right:26px!important;height:94px!important;border-radius:24px!important;background:rgba(255,255,255,.82)!important;backdrop-filter:blur(22px) saturate(1.16)!important;-webkit-backdrop-filter:blur(22px) saturate(1.16)!important}
  .site-header .desktop-nav a:not(.btn){font-size:14px!important;font-weight:650!important}
}

/* Compact players: portrait remains readable while the team page shows more at once. */
.team-player-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
.team-player-card{border-radius:20px!important}
.team-player-photo{aspect-ratio:1/1!important;min-height:0!important}
.team-player-copy{padding:13px 14px 14px!important}.team-player-copy h3{font-size:16px!important}.team-player-copy p{font-size:12px!important}.team-player-copy small{font-size:10px!important}
@media(max-width:1180px) and (min-width:821px){.team-player-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:820px){
  :root{--page-gutter:17px;--section-y:clamp(68px,16vw,92px);--section-y-compact:58px;--button-h-md:48px;--button-px:17px}
  .team-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .team-player-copy{padding:11px 12px 12px!important}.team-player-copy h3{font-size:15px!important}
  /* IMPORTANT: menu scrolling/open-state rules are intentionally not changed here. */
}

/* Board contact strip becomes a reusable icon contact component. */
.contact-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;background:transparent!important;border:0!important;padding:0!important}
.contact-strip>div{position:relative!important;min-height:112px!important;padding:21px 20px 20px 66px!important;border:1px solid var(--color-line)!important;border-radius:20px!important;background:linear-gradient(145deg,var(--color-surface-blue),#fff)!important}
.contact-strip .contact-strip-icon{position:absolute;left:18px;top:20px;width:34px;height:34px;border-radius:11px;background:#fff;color:var(--color-blue);display:grid;place-items:center;border:1px solid rgba(7,87,189,.08)}
.contact-strip .contact-strip-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-strip small{font-size:var(--type-caption)!important;text-transform:uppercase;letter-spacing:.1em;color:var(--color-blue)!important;font-weight:800!important}.contact-strip b,.contact-strip a{display:block;margin-top:7px;font-size:15px!important;line-height:1.45;color:var(--color-navy)!important;font-weight:750!important}
@media(max-width:820px){.contact-strip{grid-template-columns:1fr!important}.contact-strip>div{min-height:94px!important}}

/* Veldindeling component. */
.field-map-shell{border:1px solid var(--color-line);border-radius:var(--radius-card-lg);background:#fff;padding:clamp(12px,2vw,24px);box-shadow:0 18px 60px rgba(0,21,47,.05)}
.field-map-shell img{display:block;width:100%;height:auto;border-radius:20px;background:#fff;object-fit:contain}
.field-map-meta{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:14px;padding:3px 4px;color:var(--color-muted);font-size:var(--type-label)}
.field-map-meta strong{color:var(--color-navy);font-size:var(--type-ui)}

/* Small Veldindeling shortcut inside the existing menu contact block; scrolling mechanics untouched. */
.menu-mobile-fieldlink{display:inline-flex!important;align-items:center!important;gap:7px!important;margin-top:5px!important;color:var(--color-blue)!important;font-size:12px!important;font-weight:800!important}
.menu-mobile-fieldlink svg{width:14px!important;height:14px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:821px){.menu-field-inline{display:inline-flex!important;align-items:center;gap:6px;margin-top:5px;color:var(--color-blue);font-size:12px;font-weight:800}.menu-field-inline svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}}

/* Footer legal line stays one intentional row on desktop. */
@media(min-width:901px){.footer-v10-bottom{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}.footer-v10-legal-left{justify-self:start}.footer-v10-legal-right{justify-self:end!important}.footer-v10-tagline{justify-self:center}}

/* ========================================================================
   v15.9.4 — canonical form system
   The editable-field look comes from wijzigingen.html and is shared by all
   mail forms. Existing page-specific submit button variants are preserved.
   ======================================================================== */
:root{
  --form-bg:#fff;
  --form-field-bg:#f7f9fc;
  --form-field-border:#dbe5ef;
  --form-field-border-focus:#0757bd;
  --form-field-radius:18px;
  --form-label:11px;
  --form-value:16px;
  --form-gap:12px;
}
.dem-mail-form{
  font-family:var(--font-family-base)!important;
}
.dem-mail-form .form-two,
.dem-mail-form .field-grid,
.dem-mail-form .v15-formgrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:var(--form-gap)!important;
}
.dem-mail-form .form-full,
.dem-mail-form .field.full,
.dem-mail-form .v15-field.full{grid-column:1/-1!important}
.dem-mail-form label:not(.form-hp),
.dem-mail-form .field,
.dem-mail-form .v15-field{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  padding:15px 17px 16px!important;
  border:1px solid var(--form-field-border)!important;
  border-radius:var(--form-field-radius)!important;
  background:linear-gradient(145deg,#fff,var(--form-field-bg))!important;
  color:var(--color-navy)!important;
  transition:border-color .25s var(--ease-premium),box-shadow .25s var(--ease-premium),background .25s var(--ease-premium)!important;
}
.dem-mail-form label:not(.form-hp):focus-within,
.dem-mail-form .field:focus-within,
.dem-mail-form .v15-field:focus-within{
  border-color:rgba(7,87,189,.45)!important;
  box-shadow:0 0 0 4px rgba(7,87,189,.07)!important;
  background:#fff!important;
}
.dem-mail-form label:not(.form-hp)>span:first-child,
.dem-mail-form .field>label,
.dem-mail-form .v15-field>small{
  display:block!important;
  margin:0!important;
  color:var(--color-blue)!important;
  font-family:var(--font-family-base)!important;
  font-size:var(--form-label)!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.dem-mail-form .v15-field>span{
  color:var(--color-navy)!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:750!important;
  letter-spacing:-.01em!important;
}
.dem-mail-form :where(input,select,textarea){
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:var(--color-navy)!important;
  font-family:var(--font-family-base)!important;
  font-size:var(--form-value)!important;
  line-height:1.45!important;
  font-weight:600!important;
  letter-spacing:-.015em!important;
}
.dem-mail-form input,.dem-mail-form select{min-height:27px!important}
.dem-mail-form textarea{min-height:104px!important;resize:vertical!important}
.dem-mail-form select{appearance:none!important;-webkit-appearance:none!important;padding-right:26px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2300152f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:16px!important}
.dem-mail-form :where(input,textarea)::placeholder{color:#91a0b2!important;font-weight:500!important;opacity:1!important}
.dem-mail-form input[readonly]{color:#738397!important}
.dem-mail-form .form-head{margin-bottom:24px!important}
.dem-mail-form .form-head small{font-size:var(--type-caption)!important;color:var(--color-blue)!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.dem-mail-form .form-head h2{font-size:var(--type-h3)!important;line-height:1!important;margin:9px 0 10px!important}
.dem-mail-form .form-head p{font-size:var(--type-body)!important;color:var(--color-muted)!important;line-height:1.65!important;margin:0!important}
.dem-mail-form>.form-actions,.dem-mail-form .form-actions{display:flex!important;align-items:center!important;gap:14px!important;margin-top:18px!important;flex-wrap:wrap!important}
.dem-mail-form>.submit-btn,.dem-mail-form>button[type="submit"]{margin-top:18px!important}
.dem-mail-form .form-status{display:inline-block!important;min-height:20px!important;font-size:13px!important;font-weight:650!important;color:var(--color-muted)!important}
.dem-mail-form .form-status.is-success{color:#28783d!important}.dem-mail-form .form-status.is-error{color:#b72c34!important}.dem-mail-form .form-status.is-loading{color:var(--color-blue)!important}
.dem-mail-form .form-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;padding:0!important;border:0!important}
.v15-form.dem-mail-form{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.v15-form.dem-mail-form .v15-formgrid{margin:0!important}
@media(max-width:700px){
  .dem-mail-form .form-two,.dem-mail-form .field-grid,.dem-mail-form .v15-formgrid{grid-template-columns:1fr!important}
  .dem-mail-form .form-full,.dem-mail-form .field.full,.dem-mail-form .v15-field.full{grid-column:1!important}
  .dem-mail-form label:not(.form-hp),.dem-mail-form .field,.dem-mail-form .v15-field{padding:13px 14px 14px!important;border-radius:16px!important}
  .dem-mail-form :where(input,select,textarea){font-size:16px!important} /* prevents iOS zoom */
}
.news-rail.is-dragging{scroll-snap-type:none!important;scroll-behavior:auto!important}
.news-rail.is-dragging *{pointer-events:none!important}

/* v15.9.4 final polish --------------------------------------------------- */
/* Forms: the Wijzigingen field language is the single canonical form style. */
.dem-mail-form label:not(.form-hp){font-family:var(--font-family-base)!important;font-size:var(--form-label)!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:var(--color-blue)!important}
.dem-mail-form label:not(.form-hp) :where(input,select,textarea){text-transform:none!important;letter-spacing:-.015em!important}
.dem-mail-form label:not(.form-hp)>span:first-child{font:inherit!important;color:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important}
.dem-mail-form .v15-field>span{font-family:var(--font-family-base)!important;text-transform:none!important;letter-spacing:-.01em!important}
.dem-mail-form :where(input,select,textarea){pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;touch-action:manipulation!important;caret-color:var(--color-blue)!important}

/* FAQ: one visual/spacing language, matching info-voor-ouders.html. */
.faq-list{display:block!important;border-top:1px solid var(--info-line,var(--color-line))!important;gap:0!important}
.faq-list .faq-item{border:0!important;border-bottom:1px solid var(--info-line,var(--color-line))!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}
.faq-list .faq-item summary{padding:23px 0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:20px!important;align-items:center!important;font-family:var(--font-family-base)!important;font-size:clamp(20px,2vw,28px)!important;line-height:1.2!important;font-weight:660!important;letter-spacing:-.03em!important;color:var(--color-navy)!important}
.faq-list .faq-item summary:after{width:42px!important;height:42px!important;border:1px solid rgba(0,74,173,.14)!important;border-radius:50%!important;background:#fff!important;color:var(--color-blue)!important;font-size:20px!important;transition:transform .45s var(--ease-premium),background .45s var(--ease-premium)!important}
.faq-list .faq-item[open] summary:after{transform:rotate(45deg)!important;background:#eef5ff!important}
.faq-list .faq-answer{padding:0 72px 25px 0!important;color:#60738a!important;font-family:var(--font-family-base)!important;font-size:16px!important;line-height:1.72!important;max-width:none!important}
@media(max-width:820px){.faq-list .faq-item summary{grid-template-columns:minmax(0,1fr) 40px!important;padding:19px 0!important}.faq-list .faq-item summary:after{width:38px!important;height:38px!important}.faq-list .faq-answer{padding-right:10px!important;font-size:15px!important}}

/* Full, uncropped official field map. */
.field-map-shell{overflow:visible!important}
.field-map-shell img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;border-radius:20px!important}

/* News drag: direct movement + gentle inertial release, no card scaling. */
.news-rail{cursor:none!important;overscroll-behavior-inline:contain;scroll-behavior:auto!important;-webkit-overflow-scrolling:touch}
.news-rail.is-dragging{cursor:none!important;user-select:none!important;-webkit-user-select:none!important}
.news-card:hover .news-image img{transform:none!important}
.drag-cursor{margin:0!important;transition:opacity .18s ease,background .18s ease!important;transform:translate3d(-9999px,-9999px,0)!important}
.drag-cursor.is-visible{opacity:1!important}.drag-cursor.is-dragging{background:var(--color-blue)!important}
@media(pointer:coarse){.news-rail{cursor:auto!important;scroll-snap-type:x proximity}.drag-cursor{display:none!important}}


/* v15.9.5 — Normen & Waarden commissie: keep avatar and copy selectors separate. */
.v15-personlist{gap:14px}
.v15-person{min-height:88px;padding:18px 20px;gap:14px}
.v15-person>.v15-avatar{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important;margin:0!important;border-radius:50%!important;background:#edf4ff!important;color:var(--blue)!important;font-size:13px!important;font-weight:780!important;line-height:1!important}
.v15-person>div{min-width:0}
.v15-person>div>b{display:block;font-family:var(--font-body);font-size:var(--text-lg);line-height:1.15;font-weight:750;letter-spacing:-.02em;color:var(--navy)}
.v15-person>div>span{display:block;margin-top:5px;color:var(--text-muted,#738397);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.4}
@media(max-width:720px){.v15-person{min-height:78px;padding:16px 18px}.v15-person>.v15-avatar{width:40px!important;height:40px!important;min-width:40px!important;flex-basis:40px!important}}


/* ==========================================================
   v15.10.0 — News, forms, sponsors, header mark & team media
   WordPress-ready additions; mobile menu intentionally untouched.
   ========================================================== */
:root{
  --shadow-card:0 20px 58px rgba(0,21,47,.08);
  --form-field-height:56px;
  --form-field-radius:14px;
  --table-row-height:58px;
}
.site-header .brand img{object-fit:contain!important}

/* Canonical form system — aanmelden.html remains the visual source. */
.dem-mail-form{position:relative}
.dem-mail-form .form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.dem-mail-form .form-full{grid-column:1/-1}
.dem-mail-form label{display:grid;gap:9px;min-width:0}
.dem-mail-form :where(input:not([type=checkbox]):not([type=radio]),select){width:100%;min-height:var(--form-field-height);height:var(--form-field-height);padding:0 17px;border:1px solid var(--color-line);border-radius:var(--form-field-radius);background:#fff;color:var(--color-navy);font-size:15px!important;font-weight:560!important;outline:0;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}
.dem-mail-form textarea{width:100%;min-height:142px;padding:16px 17px;border:1px solid var(--color-line);border-radius:var(--form-field-radius);background:#fff;color:var(--color-navy);font-size:15px!important;font-weight:560!important;line-height:1.58!important;resize:vertical;outline:0;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}
.dem-mail-form :where(input,select,textarea)::placeholder{color:#98a5b5}
.dem-mail-form :where(input,select,textarea):focus{border-color:rgba(7,87,189,.65);box-shadow:0 0 0 4px rgba(7,87,189,.10);background:#fff}
.dem-mail-form :where(input,select,textarea):invalid:not(:placeholder-shown){border-color:rgba(202,65,65,.46)}
.dem-mail-form .form-check{display:flex!important;align-items:flex-start;gap:11px!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;line-height:1.5!important;color:var(--color-navy)!important;font-weight:650!important}
.dem-mail-form .form-check :where(input[type=checkbox],input[type=radio]){appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;margin:0;border:1px solid #b8c4d1;background:#fff;display:grid;place-items:center;transition:.2s ease}
.dem-mail-form .form-check input[type=checkbox]{border-radius:6px}.dem-mail-form .form-check input[type=radio]{border-radius:50%}
.dem-mail-form .form-check :where(input[type=checkbox],input[type=radio])::after{content:"";width:9px;height:9px;transform:scale(0);transition:transform .18s ease;background:var(--color-blue)}
.dem-mail-form .form-check input[type=checkbox]::after{border-radius:2px}.dem-mail-form .form-check input[type=radio]::after{border-radius:50%}
.dem-mail-form .form-check :where(input[type=checkbox],input[type=radio]):checked::after{transform:scale(1)}
.dem-mail-form .form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:25px}
.form-status{min-height:20px;font-size:13px!important;font-weight:700!important;line-height:1.45!important}
.form-status.is-success{color:#267a31}.form-status.is-error{color:#b13c3c}.form-status.is-loading,.form-status.is-info{color:#5d7086}
.dem-mail-form .btn.is-loading{opacity:.72;cursor:wait}.dem-mail-form .btn.is-loading .btn-arrow{animation:demFormPulse .9s ease-in-out infinite alternate}
@keyframes demFormPulse{to{transform:translateX(4px)}}
.form-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:720px){.dem-mail-form .form-two{grid-template-columns:1fr;gap:17px}.dem-mail-form .form-full{grid-column:auto}.dem-mail-form .form-actions{align-items:stretch}.dem-mail-form .form-actions .btn{width:100%;justify-content:center}.form-status{width:100%}}

/* News overview/detail — same Playerz/Matter system, no generic blog cards. */
.news-index-shell{padding-bottom:var(--section-y)}
.news-index-head{width:min(var(--container),calc(100% - (var(--page-gutter)*2)));margin:0 auto;padding:var(--section-y-compact) 0 32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:30px;align-items:end}
.news-index-head h2{font-size:var(--type-section)!important;line-height:.98!important;letter-spacing:-.055em;margin:0}.news-index-head p{margin:0;color:var(--color-muted);font-size:var(--type-body)!important;line-height:1.68}
.news-index-grid{width:min(var(--container),calc(100% - (var(--page-gutter)*2)));margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.news-index-card{grid-column:span 4;display:flex;flex-direction:column;min-height:510px;border:1px solid var(--color-line);border-radius:var(--radius-card);overflow:hidden;background:#fff;text-decoration:none;color:var(--color-navy);transition:box-shadow var(--motion-base) var(--ease-premium),border-color var(--motion-base) var(--ease-premium)}
.news-index-card:first-child{grid-column:span 8}.news-index-card:first-child .news-index-media{height:390px}
.news-index-media{height:248px;background:#eaf1f8;overflow:hidden}.news-index-media img{width:100%;height:100%;object-fit:cover;display:block;transition:none!important}.news-index-media.is-logo img{object-fit:contain;padding:42px;background:#eef5ff}
.news-index-copy{padding:23px 24px 25px;display:flex;flex-direction:column;flex:1}.news-index-copy time{font-size:var(--type-caption)!important;letter-spacing:.12em;text-transform:uppercase;color:#748397;font-weight:800}.news-index-copy h3{font-size:clamp(22px,2vw,30px)!important;line-height:1.08!important;letter-spacing:-.04em;margin:12px 0 12px}.news-index-copy p{margin:0 0 18px;color:var(--color-muted);line-height:1.62;font-size:14px!important}.news-index-copy .read{margin-top:auto}
@media(pointer:fine){.news-index-card:hover{box-shadow:var(--shadow-card);border-color:rgba(7,87,189,.22)}.news-index-card:hover .read i{transform:translateX(3px)}}
.news-detail{padding-bottom:var(--section-y)}.news-detail-cover{width:min(var(--wide),calc(100% - (var(--page-gutter)*2)));margin:26px auto 0;border-radius:var(--radius-hero);overflow:hidden;min-height:clamp(360px,48vw,650px);background:#eaf1f8}.news-detail-cover img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block}.news-detail-cover.is-logo img{object-fit:contain;padding:8vw;background:#eef5ff}
.news-detail-layout{width:min(1040px,calc(100% - (var(--page-gutter)*2)));margin:0 auto;padding:clamp(55px,6vw,84px) 0 0;display:grid;grid-template-columns:180px minmax(0,1fr);gap:42px}.news-detail-meta{position:sticky;top:110px;align-self:start}.news-detail-meta small{display:block;color:#8794a5;font-size:10px!important;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin-bottom:8px}.news-detail-meta time{font-size:14px!important;font-weight:750;color:var(--color-navy)}.news-detail-body .news-lead{font-size:clamp(20px,2vw,27px)!important;line-height:1.45!important;letter-spacing:-.025em;color:var(--color-navy);font-weight:620;margin:0 0 38px}.news-detail-body h2{font-size:clamp(30px,3.2vw,46px)!important;line-height:1.02!important;letter-spacing:-.045em;margin:46px 0 18px}.news-detail-body p{font-size:17px!important;line-height:1.78!important;color:#53667b;margin:0 0 20px}.news-detail-note{margin:36px 0;padding:22px 24px;border-radius:18px;background:var(--color-surface-blue);border:1px solid #d9e8f9;color:#496078}.news-detail-actions{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid var(--color-line);padding-top:28px;margin-top:48px}.news-related{width:min(var(--container),calc(100% - (var(--page-gutter)*2)));margin:var(--section-y-compact) auto 0}.news-related h2{font-size:var(--type-h4)!important;margin:0 0 22px}.news-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.news-related-card{border-top:1px solid var(--color-line);padding-top:18px;color:var(--color-navy);text-decoration:none}.news-related-card time{font-size:10px!important;text-transform:uppercase;letter-spacing:.12em;color:#8190a1;font-weight:800}.news-related-card strong{display:block;font-size:20px!important;line-height:1.18;margin-top:8px;letter-spacing:-.025em}
@media(max-width:900px){.news-index-head{grid-template-columns:1fr}.news-index-grid{grid-template-columns:1fr 1fr}.news-index-card,.news-index-card:first-child{grid-column:auto}.news-index-card:first-child .news-index-media,.news-index-media{height:250px}.news-detail-layout{grid-template-columns:1fr;gap:20px}.news-detail-meta{position:static}.news-related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.news-index-grid{grid-template-columns:1fr}.news-index-card{min-height:0}.news-index-media,.news-index-card:first-child .news-index-media{height:240px}.news-detail-cover{min-height:310px}.news-detail-layout{padding-top:42px}.news-detail-body p{font-size:16px!important}.news-detail-actions{align-items:stretch;flex-direction:column}.news-related-grid{grid-template-columns:1fr}}

/* Correct drag cursor: JS owns its exact pointer position. */
.drag-cursor{position:fixed!important;left:-200px;top:-200px;z-index:9999!important;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(12px);box-shadow:0 12px 35px rgba(0,21,47,.16);color:var(--color-navy);font-size:11px!important;font-weight:800!important;letter-spacing:.03em;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.92)!important;transition:opacity .16s ease,transform .16s ease,background .16s ease!important}
.drag-cursor.is-visible{opacity:1!important}.drag-cursor.is-dragging{transform:translate(-50%,-50%) scale(1)!important;color:#fff;background:rgba(7,87,189,.92)!important}
@media(pointer:coarse){.news-rail{cursor:auto!important;scroll-snap-type:x proximity}.drag-cursor{display:none!important}}

/* Home sponsor field: logo-first, no white logo cards. */
.home-sponsors{padding:var(--section-y-compact) 0;background:#f5f8fb;border-top:1px solid #e5ebf2}.home-sponsors-inner{width:min(var(--container),calc(100% - (var(--page-gutter)*2)));margin:auto}.home-sponsors-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.home-sponsors-head h2{margin:0;font-size:var(--type-h3)!important;letter-spacing:-.045em}.home-sponsors-head p{max-width:480px;margin:0;color:var(--color-muted);line-height:1.6}.home-sponsor-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:22px;align-items:center}.home-sponsor-logo{min-height:100px;display:flex;align-items:center;justify-content:center;padding:10px;text-decoration:none;border:0;background:transparent}.home-sponsor-logo img{display:block;width:100%;height:66px;max-width:190px;object-fit:contain}.home-sponsor-logo.is-main img{height:84px;max-width:230px}.home-sponsor-logo span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:900px){.home-sponsor-grid{grid-template-columns:repeat(3,1fr)}.home-sponsor-logo.is-main{grid-column:span 2}.home-sponsors-head{display:block}.home-sponsors-head p{margin-top:12px}}
@media(max-width:560px){.home-sponsor-grid{grid-template-columns:repeat(2,1fr);gap:13px}.home-sponsor-logo.is-main{grid-column:1/-1}.home-sponsor-logo{min-height:82px}.home-sponsor-logo img{height:50px}.home-sponsor-logo.is-main img{height:68px}}

/* Footer sponsor marks stay transparent and compact. */
.footer-v10-sponsorlogos{align-items:center!important;gap:18px!important}.footer-v10-sponsor{min-height:54px!important;padding:3px 5px!important;background:transparent!important;border:0!important;border-radius:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.footer-v10-sponsor img{width:100%!important;height:34px!important;max-width:138px!important;object-fit:contain!important;filter:none!important}.footer-v10-sponsor.is-main img{height:46px!important;max-width:158px!important}.footer-v10-sponsor span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}.footer-v10-info{font-size:15px!important}.footer-v10-info .footer-v10-icon{width:42px!important;height:42px!important}.footer-v10-info small{font-size:13px!important;line-height:1.55!important}.footer-v10-bottom{align-items:center!important}.footer-v10-legal-right a:last-child{margin-left:4px}

/* Team media only appears when the dataset contains a verified team photo. */
.team-photo-feature{display:none;margin:0 0 30px;border-radius:var(--radius-card);overflow:hidden;background:#eaf1f8;border:1px solid var(--color-line)}.team-photo-feature.is-visible{display:block}.team-photo-feature img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;background:#eef3f8}.team-photo-feature figcaption{padding:13px 16px;color:var(--color-muted);font-size:12px!important;font-weight:700!important}

/* Champion photos: never leave a broken/empty visual. */
.champ-card img[data-fallback-ready]{background:#eef5ff}.champ-image-fallback{min-height:220px;display:grid;place-items:center;text-align:center;padding:30px;border-radius:18px;background:linear-gradient(145deg,#eef5ff,#f8fbff);color:var(--color-blue);font-weight:800}.champ-image-fallback img{width:84px;height:84px;object-fit:contain;margin:0 auto 12px}
