/* FÚTBOL FALLAS · V9 mobile centering + premium footer */
.gallery-v6__label{overflow:visible!important}.gallery-v6__label .gallery-more{display:inline-flex!important;width:max-content!important;max-width:100%!important;min-height:48px!important;padding:12px 18px!important;white-space:normal!important;line-height:1.18!important;background:linear-gradient(120deg,#C8281E,#F26B1D 55%,#FFB547)!important;color:#fff!important;border:0!important}.gallery-v6__label .gallery-more::before{display:none!important}
.t-card .form,.contact-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.t-card .form .field--full,.contact-form .field--full,.sponsor-form-head{grid-column:1/-1}.sponsor-form-head h4{margin:8px 0 4px!important}.sponsor-form-head p{margin:0!important;color:var(--muted)}
.footer--v8{padding:50px 0 28px!important;background:#060d1a!important}.footer-v8{display:grid;grid-template-columns:1fr 1.5fr auto;gap:38px 55px;align-items:start}.footer-v8__links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.footer-v8__links>div{display:grid;gap:6px}.footer-v8__links b{color:var(--orange);font-size:.61rem;letter-spacing:.21em;text-transform:uppercase}.footer-v8__links a{font-size:.8rem;color:rgba(246,238,223,.7)}.footer-v8__social{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.footer-v8__social>a{width:38px;height:38px;border:1px solid rgba(246,238,223,.13);border-radius:50%;display:grid;place-items:center}.footer-v8__social svg{width:17px;height:17px}.footer-v8__made{flex-basis:100%;display:flex;justify-content:flex-end;align-items:center;gap:5px;font-size:.63rem;color:rgba(246,238,223,.45)}.footer-v8__made svg{width:14px;height:14px;color:var(--orange)}.footer-v8__bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid rgba(246,238,223,.08);font-size:.62rem;color:rgba(246,238,223,.42)}
/* Team navigation */
.team-nav .mid small{display:none!important}.team-nav .mid b{text-transform:uppercase!important;letter-spacing:.13em!important;font-size:.72rem!important}.team-nav .mid{align-items:center!important;justify-content:center!important;text-align:center!important}
@media(max-width:820px){
 html,body{max-width:100%;overflow-x:hidden}.team-body--compact>.container{width:calc(100% - 24px)!important;margin-inline:auto!important}.team-layout--compact{width:100%!important;margin:0 auto!important}.team-layout--compact .card{width:100%!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}.team-about-card,.team-pitch-card,.team-bench-card,.team-location-card{transform:none!important;left:auto!important;right:auto!important}.team-pitch-card .pitch{width:100%!important;margin-inline:auto!important}.team-body--compact .team-nav{width:100%!important;margin-inline:auto!important}
 .t-card .form,.contact-form{grid-template-columns:1fr!important}.t-card .form .field,.contact-form .field,.sponsor-form-head{grid-column:1!important}
 .footer--v8{padding:24px 0 calc(96px + env(safe-area-inset-bottom))!important}.footer-v8{display:grid!important;grid-template-columns:1fr auto!important;gap:11px 12px!important;align-items:center!important}.footer-v8__brand{min-width:0}.footer-v8__brand .brand{transform:scale(.8);transform-origin:left center}.footer-v8__brand p{display:none!important}.footer-v8__links{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;padding:10px 0!important;border-top:1px solid rgba(246,238,223,.08);border-bottom:1px solid rgba(246,238,223,.08)}.footer-v8__links>div{gap:2px!important}.footer-v8__links b{font-size:.46rem!important;letter-spacing:.1em!important;margin-bottom:1px!important}.footer-v8__links a{font-size:.59rem!important;line-height:1.3!important}.footer-v8__social{grid-column:2!important;grid-row:1!important;gap:5px!important}.footer-v8__social>a{width:33px!important;height:33px!important}.footer-v8__made{display:none!important}.footer-v8__bottom{grid-column:1/-1!important;border:0!important;padding:0!important;font-size:.52rem!important}.footer-v8__bottom span:last-child{display:none!important}
 .team-nav{grid-template-columns:1fr 1fr!important;gap:7px!important}.team-nav .mid{grid-column:1/-1!important;grid-row:2!important;min-height:56px!important}.team-nav .prev,.team-nav .next{text-align:center!important;align-items:center!important}.team-nav .mid b{font-size:.69rem!important}
 .gallery-v6__label .gallery-more{max-width:132px!important;width:132px!important;justify-content:center!important;text-align:center!important;padding:10px 8px!important;font-size:.52rem!important}
}
/* === FUTBOL FALLAS V13 INSTALL MODAL === */
.install{
  display:none!important;
}
.install.install-v13{
  --modal-bg:#081326;
  position:fixed!important;
  inset:0!important;
  z-index:10050!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  padding:18px!important;
  margin:0!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(4,9,18,.78)!important;
  backdrop-filter:blur(18px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(120%)!important;
  box-shadow:none!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .32s ease,visibility 0s .32s!important;
}
.install.install-v13.is-show{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:opacity .32s ease!important;
}
.install-v13__card{
  position:relative;
  width:min(420px,100%);
  max-height:min(680px,calc(100dvh - 36px));
  overflow:auto;
  padding:28px 24px 24px;
  border-radius:28px;
  color:#F6EEDF;
  background:
    radial-gradient(360px 230px at 100% 0%,rgba(242,107,29,.17),transparent 65%),
    linear-gradient(160deg,#0E1A33,#071223 72%);
  border:1px solid rgba(246,238,223,.13);
  box-shadow:0 38px 90px -30px rgba(0,0,0,.82);
  transform:translateY(16px) scale(.975);
  transition:transform .42s cubic-bezier(.22,1,.36,1);
}
.install.is-show .install-v13__card{transform:none}
.install-v13__close{
  position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid rgba(246,238,223,.12);border-radius:50%;background:rgba(255,255,255,.04);color:#F6EEDF;font-size:1.35rem;line-height:1;display:grid;place-items:center;
}
.install-v13__brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.install-v13__brand img{width:52px;height:52px;border-radius:15px;box-shadow:0 12px 26px -12px rgba(0,0,0,.7)}
.install-v13__brand span{display:flex;flex-direction:column;font-size:.67rem;letter-spacing:.17em;text-transform:uppercase;color:rgba(246,238,223,.48)}
.install-v13__brand b{font-family:var(--f-display);font-size:1.55rem;line-height:1;color:#fff;letter-spacing:.04em;font-weight:400;margin-bottom:4px}
.install-v13__eyebrow{color:var(--orange);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800}
.install-v13 h3{font-family:var(--f-display);font-weight:400;font-size:2.6rem;line-height:.93;margin:7px 0 9px;color:#fff}
.install-v13__intro{font-size:.82rem;line-height:1.55;color:rgba(246,238,223,.62);margin:0 0 20px}
.install-v13__steps{display:grid;gap:9px;margin:0 0 19px}
.install-v13__step{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:11px 12px;border-radius:15px;background:rgba(255,255,255,.045);border:1px solid rgba(246,238,223,.075)}
.install-v13__icon{width:42px;height:42px;border-radius:12px;background:rgba(242,107,29,.12);color:var(--orange-2);display:grid;place-items:center}
.install-v13__icon svg{width:22px;height:22px}
.install-v13__step small{display:block;font-size:.52rem;text-transform:uppercase;letter-spacing:.16em;color:var(--orange);font-weight:800;margin-bottom:2px}
.install-v13__step b{display:block;font-size:.82rem;color:#fff}
.install-v13__step p{margin:1px 0 0;font-size:.7rem;line-height:1.35;color:rgba(246,238,223,.53)}
.install-v13__ios-note{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border-radius:13px;background:rgba(246,238,223,.06);font-size:.68rem;line-height:1.4;color:rgba(246,238,223,.59)}
.install-v13__ios-note svg{width:17px;height:17px;flex:0 0 auto;color:var(--orange);margin-top:1px}
.install-v13__android{display:none}
.install-v13[data-mode="android"] .install-v13__ios{display:none}
.install-v13[data-mode="android"] .install-v13__android{display:block}
.install-v13__android .btn{width:100%;justify-content:center;margin-top:15px}
@media(min-width:821px){.install.install-v13,.install.install-v13.is-show{display:none!important}}
@media(max-width:390px){.install-v13__card{padding:24px 18px 19px;border-radius:24px}.install-v13 h3{font-size:2.25rem}.install-v13__step{grid-template-columns:38px 1fr}.install-v13__icon{width:38px;height:38px}.install-v13__brand{margin-bottom:15px}}
/* === FUTBOL FALLAS V15 GLOBAL MOBILE SAFETY === */
@media (max-width:820px){
  /* Regla global: nunca ocultar contenido esencial en Safari/iOS/PWA */
  main [data-reveal],
  main [data-inview],
  .page-hero [data-reveal],
  .page-body [data-reveal],
  .team-hero [data-reveal],
  .team-body--compact [data-reveal],
  .teams-grid [data-reveal],
  .podium [data-reveal],
  .toolbar [data-reveal],
  .table-card [data-reveal]{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    translate:none!important;
    filter:none!important;
  }

  /* Solo los wrappers visuales pueden conservar clip-path. El texto y cards no. */
  main [data-reveal]:not(.league__art):not(.page-hero__bg):not(.hero__bg){
    clip-path:none!important;
  }

  /* INDEX */
  #league .league__intro,
  #league .league__intro *,
  #league .standings,
  #league .standings *,
  #league #top5,
  #league .standings__head,
  #league .standings__cta,
  #league .season-chip,
  #league .points-system,
  #torneos .t-head,
  #torneos .t-grid,
  #torneos .t-card,
  #galeria .gallery-v6__row,
  #galeria .gallery-v6__label,
  #galeria .gallery-v6__photos,
  #galeria .gallery-v6__photo,
  #patrocinadores .sponsors-three,
  #contacto .contact-premium__inner{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    translate:none!important;
    filter:none!important;
  }

  /* CLASIFICACIÓN */
  body[data-page="standings"] .page-hero .container,
  body[data-page="standings"] .page-hero .container *,
  body[data-page="standings"] .podium,
  body[data-page="standings"] .podium *,
  body[data-page="standings"] .toolbar,
  body[data-page="standings"] .table-card,
  body[data-page="standings"] #full-table,
  body[data-page="standings"] #full-table *{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    translate:none!important;
    filter:none!important;
  }

  /* LISTADO DE EQUIPOS */
  body[data-page="teams"] .page-hero .container,
  body[data-page="teams"] .page-hero .container *,
  body[data-page="teams"] .toolbar,
  body[data-page="teams"] .teams-grid,
  body[data-page="teams"] .team-card,
  body[data-page="teams"] .team-card *{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    translate:none!important;
    filter:none!important;
  }

  /* FICHAS DE EQUIPO */
  body[data-page="team"] .team-hero .container,
  body[data-page="team"] .team-hero .container *,
  body[data-page="team"] .team-about-card,
  body[data-page="team"] .team-pitch-card,
  body[data-page="team"] .team-bench-card,
  body[data-page="team"] .team-location-card,
  body[data-page="team"] .team-nav,
  body[data-page="team"] .team-nav *{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    translate:none!important;
    filter:none!important;
  }

  /* Header retráctil SOLO Web App instalada */
  @media (display-mode:standalone){
    .header{
      transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .25s!important;
      will-change:transform;
    }
    .header.v15-header-hidden{
      transform:translateY(-120%)!important;
      opacity:0!important;
      pointer-events:none!important;
    }
  }
}

/* === FUTBOL FALLAS V16 SPONSORS === */
.sponsors-three .sponsor--real{
  position:relative;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:100%!important;
  height:126px!important;
  padding:18px 24px!important;
  overflow:hidden!important;
  text-align:center!important;
  text-decoration:none!important;
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(14,26,51,.09)!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
  transition:transform .4s var(--ease),background .35s,box-shadow .4s,border-color .35s!important;
}
.sponsors-three .sponsor--real img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:82%!important;
  max-height:62px!important;
  object-fit:contain!important;
  opacity:.86!important;
  filter:none!important;
  transition:transform .45s var(--ease),opacity .3s,filter .35s!important;
}
.sponsors-three .sponsor--real .sponsor-name{
  display:block!important;
  max-width:100%!important;
  color:#0E1A33!important;
  font-size:.61rem!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
.sponsors-three .sponsor--real::after{
  content:"";
  position:absolute;
  left:28%;right:28%;bottom:0;
  height:3px;
  background:linear-gradient(90deg,#C8281E,#F26B1D,#FFB547);
  transform:scaleX(0);
  transition:transform .4s var(--ease);
}
.sponsors-three .sponsor--real:hover{
  transform:translateY(-5px)!important;
  background:#fff!important;
  border-color:rgba(242,107,29,.2)!important;
  box-shadow:0 22px 42px -29px rgba(14,26,51,.55)!important;
}
.sponsors-three .sponsor--real:hover img{transform:scale(1.045)!important;opacity:1!important;filter:none!important}
.sponsors-three .sponsor--real:hover::after{transform:scaleX(1)}
@media(max-width:820px){
  .sponsors-three .sponsor--real{height:104px!important;padding:14px 16px!important;gap:7px!important;border-radius:15px!important}
  .sponsors-three .sponsor--real img{max-width:84%!important;max-height:54px!important;filter:none!important;opacity:1!important}
  .sponsors-three .sponsor--real .sponsor-name{font-size:.54rem!important;letter-spacing:.095em!important}
  .sponsors-three .sponsor--real:active{transform:scale(.985)!important}
}
/* === FUTBOL FALLAS V17 TOP5 MOBILE === */
@media(max-width:820px){
  /* Safari web normal estaba colapsando las filas; anulamos estilos desktop heredados. */
  #league .standings{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  #league #top5{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:295px!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    position:relative!important;
  }
  #league #top5 .standings__row{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 60px!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    min-height:56px!important;
    height:auto!important;
    margin:0!important;
    padding:9px 7px!important;
    position:relative!important;
    inset:auto!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    translate:none!important;
    clip-path:none!important;
    color:var(--cream)!important;
    border-bottom:1px solid rgba(246,238,223,.11)!important;
    text-decoration:none!important;
    box-sizing:border-box!important;
  }
  #league #top5 .standings__row:last-child{border-bottom:0!important}
  #league #top5 .standings__pos{display:block!important;font-size:.76rem!important;color:rgba(246,238,223,.55)!important}
  #league #top5 .standings__team{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;color:var(--cream)!important}
  #league #top5 .standings__team b{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:.72rem!important;color:var(--cream)!important}
  #league #top5 .crest{display:block!important;flex:0 0 auto!important;width:32px!important;height:32px!important;border-radius:9px!important;opacity:1!important;visibility:visible!important}
  #league #top5 .standings__pts{display:block!important;text-align:right!important;font-family:var(--f-display)!important;font-size:1.55rem!important;color:var(--orange-2)!important;opacity:1!important;visibility:visible!important}
  #league .standings__head{display:grid!important;grid-template-columns:34px minmax(0,1fr) 60px!important;gap:9px!important;width:100%!important;padding:8px 7px!important;box-sizing:border-box!important}
  #league .standings__cta{position:relative!important;margin-top:11px!important;z-index:2!important}
}
