/*
 * TESSIRVE Theme 5.17.224 — Identidad visual única.
 * No toca Core, buscador progresivo, nunito ni estructura de partidos.
 * La hierba es siempre local; los tonos vienen del switch temprano 5.17.214.
 * Un solo sistema de pintura para header, menú móvil y footer.
 */
:root{
  --tsv-field-tone-left:transparent;
  --tsv-field-tone-right:transparent;
  --tsv-field-blend:normal;
  --tsv-field-shade-start:rgba(4,18,13,.08);
  --tsv-field-shade-end:rgba(4,18,13,.20);
  --tsv-field-brightness:brightness(.82) saturate(.93) contrast(1.08);
  --tsv-menu-glass:rgba(9,25,24,.18);
  --tsv-menu-glass-strong:rgba(8,24,24,.29);
  --tsv-menu-line:rgba(255,255,255,.23);
  --tsv-footer-shade-top:rgba(3,13,10,.50);
  --tsv-footer-shade-bottom:rgba(2,10,9,.78);
  --tsv-nav-ink:#f6fff8;
}
/* La identidad neutra no recibe color artificial: queda el verde anime. */
html[data-tessirve-theme]:not([data-tessirve-theme="neutral"]){
  --tsv-field-tone-left:color-mix(in srgb,var(--theme-primary,#16884a) 94%,transparent);
  --tsv-field-tone-right:color-mix(in srgb,var(--theme-secondary,#0a5b35) 94%,transparent);
  --tsv-field-blend:color;
  --tsv-field-brightness:brightness(.82) saturate(1.04) contrast(1.10);
}
html[data-tessirve-color-mode="dark"]{
  --tsv-field-shade-start:rgba(2,7,11,.18);
  --tsv-field-shade-end:rgba(2,7,11,.29);
  --tsv-field-brightness:brightness(.66) saturate(.91) contrast(1.10);
  --tsv-menu-glass:rgba(4,11,17,.30);
  --tsv-menu-glass-strong:rgba(4,11,17,.43);
  --tsv-menu-line:rgba(255,255,255,.19);
  --tsv-footer-shade-top:rgba(2,7,12,.64);
  --tsv-footer-shade-bottom:rgba(1,5,9,.87);
}
html[data-tessirve-color-mode="dark"][data-tessirve-theme]:not([data-tessirve-theme="neutral"]){
  --tsv-field-brightness:brightness(.65) saturate(1.02) contrast(1.13);
}

/* DESKTOP + MÓVIL: paisaje horizontal de fuente, sin degradados fluorescentes. */
html body.tessirve-theme .ms-site-header::before{
  background-image:
    linear-gradient(180deg,var(--tsv-field-shade-start),var(--tsv-field-shade-end)),
    linear-gradient(110deg,var(--tsv-field-tone-left),var(--tsv-field-tone-right)),
    url('tessirve-anime-grass.webp')!important;
  background-blend-mode:normal,var(--tsv-field-blend),normal!important;
  background-position:center 48%,center 48%,center 48%!important;
  background-size:cover,cover,cover!important;
  background-repeat:no-repeat!important;
  filter:var(--tsv-field-brightness)!important;
  opacity:1!important;
  pointer-events:none!important;
}

/* La tira de competiciones no debe contrastar cromáticamente con el header. */
html body.tessirve-theme .ms-header-featured{
  background:linear-gradient(100deg,
    color-mix(in srgb,var(--theme-primary,#16884a) 26%,#0d2222 74%),
    color-mix(in srgb,var(--theme-secondary,#0a5b35) 28%,#0e2024 72%))!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  box-shadow:none!important;
}
html[data-tessirve-theme="neutral"] body.tessirve-theme .ms-header-featured{
  background:linear-gradient(100deg,#12382e,#172c2c)!important;
}
html[data-tessirve-color-mode="dark"] body.tessirve-theme .ms-header-featured{
  background:linear-gradient(100deg,
    color-mix(in srgb,var(--theme-primary,#16884a) 22%,#0a141b 78%),
    color-mix(in srgb,var(--theme-secondary,#0a5b35) 24%,#09151b 76%))!important;
}
html[data-tessirve-color-mode="dark"][data-tessirve-theme="neutral"] body.tessirve-theme .ms-header-featured{
  background:linear-gradient(100deg,#0b2823,#101f24)!important;
}

/* MENÚ PC: no cambiar el comportamiento, sólo preservar la legibilidad. */
@media(min-width:783px){
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-site-menu{
    border-color:rgba(255,255,255,.10)!important;
  }
}

/* Footer: mismo césped y paleta, pero discreto para dejar leer el legal. */
html body.tessirve-theme .ms-site-footer{
  background-color:#11251c!important;
  background-image:
    linear-gradient(180deg,var(--tsv-footer-shade-top),var(--tsv-footer-shade-bottom)),
    linear-gradient(110deg,var(--tsv-field-tone-left),var(--tsv-field-tone-right)),
    url('tessirve-anime-grass.webp')!important;
  background-blend-mode:normal,var(--tsv-field-blend),normal!important;
  background-position:center 50%,center 50%,center 52%!important;
  background-size:cover,cover,cover!important;
  background-repeat:no-repeat!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
}
html body.tessirve-theme .ms-site-footer .ms-theme-footer-strip{
  background:rgba(5,17,18,.28)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
html[data-tessirve-color-mode="dark"] body.tessirve-theme .ms-site-footer .ms-theme-footer-strip{
  background:rgba(3,9,13,.42)!important;
}
html body.tessirve-theme .ms-site-footer .ms-footer-note{
  color:rgba(255,255,255,.90)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.58)!important;
}

/* CELULAR: el campo es una sola pieza de 58px + menú extensible. */
@media(max-width:782px){
  :root{
    --tsv-field-mobile-header-h:var(--ms-header-mobile-height,58px);
    --tsv-field-mobile-sheet-h:max(1060px,125dvh);
    /* Subir el paisaje hasta una zona rica en matas, no el cielo vacío. */
    --tsv-field-mobile-grass-start:148px;
  }
  html body.tessirve-theme .ms-site-header .ms-site-header-inner{
    height:var(--tsv-field-mobile-header-h)!important;
    min-height:var(--tsv-field-mobile-header-h)!important;
    align-items:center!important;
  }
  /* La primera fila debe medir 58px completos: impide que el desplegable
     comience 18px antes y pise la franja del logo. */
  html body.tessirve-theme .ms-site-header .ms-brand{
    min-height:var(--tsv-field-mobile-header-h)!important;
    display:flex!important;
    align-items:center!important;
  }
  html body.tessirve-theme .ms-site-header::before,
  html body.tessirve-theme .ms-site-header .ms-site-header-inner > .ms-primary-nav.is-open::before{
    background-image:
      linear-gradient(180deg,var(--tsv-field-shade-start),var(--tsv-field-shade-end)),
      linear-gradient(110deg,var(--tsv-field-tone-left),var(--tsv-field-tone-right)),
      url('tessirve-anime-grass-mobile-217.webp')!important;
    background-blend-mode:normal,var(--tsv-field-blend),normal!important;
    background-size:100% var(--tsv-field-mobile-sheet-h),100% var(--tsv-field-mobile-sheet-h),100% var(--tsv-field-mobile-sheet-h)!important;
    background-repeat:no-repeat!important;
    filter:var(--tsv-field-brightness)!important;
    opacity:1!important;
  }
  html body.tessirve-theme .ms-site-header::before{
    height:var(--tsv-field-mobile-header-h)!important;
    background-position:center calc(-1 * var(--tsv-field-mobile-grass-start)),center calc(-1 * var(--tsv-field-mobile-grass-start)),center calc(-1 * var(--tsv-field-mobile-grass-start))!important;
  }
  /* El navegador deja pintar el menú debajo de la fila del logo. */
  html body.tessirve-theme .ms-site-header .ms-site-header-inner > .ms-primary-nav,
  html body.tessirve-theme .ms-site-header .ms-site-header-inner > .ms-primary-nav.is-open{
    box-sizing:border-box!important;
    position:static!important;
    inset:auto!important;
    top:auto!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    width:100vw!important;
    max-width:none!important;
    min-width:0!important;
    flex:0 0 100vw!important;
    margin:0 calc(50% - 50vw)!important;
  }
  html body.tessirve-theme .ms-site-header .ms-site-header-inner > .ms-primary-nav.is-open{
    position:relative!important;
    isolation:isolate!important;
    padding:8px 12px 13px!important;
    background:none!important;
    background-color:transparent!important;
    background-image:none!important;
    border:0!important;
    border-radius:0 0 18px 18px!important;
    box-shadow:0 13px 28px rgba(0,0,0,.18)!important;
    max-height:min(82dvh,860px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  html body.tessirve-theme .ms-site-header .ms-site-header-inner > .ms-primary-nav.is-open::before{
    content:''!important;
    display:block!important;
    pointer-events:none!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    background-position:
      center calc(-1 * (var(--tsv-field-mobile-grass-start) + var(--tsv-field-mobile-header-h))),
      center calc(-1 * (var(--tsv-field-mobile-grass-start) + var(--tsv-field-mobile-header-h))),
      center calc(-1 * (var(--tsv-field-mobile-grass-start) + var(--tsv-field-mobile-header-h)))!important;
    border-radius:0 0 18px 18px!important;
  }
  html body.tessirve-theme .ms-site-header .ms-site-header-inner > .ms-primary-nav.is-open::after{
    content:none!important;display:none!important;
  }
  html body.tessirve-theme .ms-site-header .ms-site-header-inner > .ms-primary-nav.is-open > *{
    position:relative!important;z-index:1!important;
  }
  /* Césped sin marcos duplicados: solo las opciones reciben un cristal tenue. */
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-mobile-quicklinks{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    margin:0 0 9px!important;
    padding:5px 0 7px!important;
  }
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-site-menu{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    border-top:1px solid rgba(255,255,255,.20)!important;
    box-shadow:none!important;
    margin:0!important;
    padding:7px 0 2px!important;
    column-gap:6px!important;
    row-gap:7px!important;
  }
  html body.tessirve-theme .ms-site-header .ms-primary-nav :is(.ms-mobile-quicklinks,.ms-site-menu)::before{
    content:none!important;display:none!important;
  }
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-mobile-quicklink,
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-site-menu > .ms-menu-parent > .ms-menu-parent-head{
    background:var(--tsv-menu-glass)!important;
    border:1px solid var(--tsv-menu-line)!important;
    border-radius:12px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
    color:var(--tsv-nav-ink)!important;
  }
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-menu-parent.is-open > .ms-menu-parent-head{
    background:var(--tsv-menu-glass-strong)!important;
    border-color:rgba(255,255,255,.42)!important;
  }
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-mobile-submenu,
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-mobile-submenu-inner{
    background:var(--tsv-menu-glass)!important;
  }
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-mobile-submenu-tab{
    background:var(--tsv-menu-glass)!important;
    border:1px solid var(--tsv-menu-line)!important;
    color:#fff!important;
  }
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-mobile-quicklinks-kicker>strong,
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-mobile-menu-kicker>strong{
    color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.42)!important;
  }
  html body.tessirve-theme .ms-site-header .ms-primary-nav :is(.ms-mobile-quicklink,.ms-menu-parent-toggle,.ms-site-menu a){
    color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.38)!important;
  }
  html body.tessirve-theme .ms-site-header .ms-primary-nav .ms-site-menu > li.ms-menu-sections-start::before{
    background:rgba(255,255,255,.22)!important;
  }
}
