:root{--ink:#0b1220;--ink2:#121c2d;--paper:#f5f3ee;--orange:#f05a28;--orange2:#ff7844;--display:"Barlow Condensed",Impact,sans-serif;--body:"Inter",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}img{max-width:100%}.site-header{position:absolute;z-index:20;inset:0 0 auto;min-height:92px;padding:0 clamp(24px,6vw,96px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;color:#fff}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);letter-spacing:.04em}.brand>span:last-child{display:flex;align-items:baseline}.brand strong{font-size:27px;line-height:1;font-style:italic}.brand small{color:var(--orange2);font-size:14px;font-weight:800}.brand-ball{width:40px;height:40px;border:3px solid var(--orange);border-radius:50%;position:relative;transform:rotate(-15deg)}.brand-ball:before,.brand-ball:after{content:"";position:absolute;inset:3px 15px;border-left:2px solid var(--orange);border-right:2px solid var(--orange);border-radius:50%}.brand-ball:after{inset:15px 3px;border:0;border-top:2px solid var(--orange);border-bottom:2px solid var(--orange)}.main-menu{display:flex;align-items:center;gap:38px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.main-menu a:not(.nav-cta){padding:35px 0 30px;border-bottom:3px solid transparent}.main-menu a:hover,.main-menu a.active{color:var(--orange2);border-color:var(--orange)}.nav-cta{background:var(--orange);padding:14px 20px;border-radius:3px}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:24px;height:2px;margin:5px;background:#fff}.menu-toggle i{position:absolute;clip:rect(0,0,0,0)}.hero{min-height:780px;color:#fff;position:relative;overflow:hidden;padding:180px clamp(24px,8vw,140px) 110px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.55fr);gap:9vw;align-items:center;background:linear-gradient(90deg,#070d18 0%,#0a1220f2 55%,#151f30dd),radial-gradient(circle at 80% 45%,#f05a284d,transparent 28%)}.hero:after{content:"BASKET";position:absolute;right:-25px;top:150px;font:800 210px/1 var(--display);color:#ffffff08;transform:rotate(90deg)}.hero-content,.score-card{position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:12px;font-weight:800;letter-spacing:.16em;color:#c8ced8}.eyebrow>span{width:28px;height:3px;background:var(--orange)}.eyebrow.dark{color:#687182}h1,h2,h3{font-family:var(--display);text-transform:uppercase;margin-top:0}.hero h1{max-width:800px;margin-bottom:24px;font-size:clamp(64px,7.4vw,116px);line-height:.84;letter-spacing:-.035em}.hero h1 em,.value-section h2 em{color:var(--orange);font-style:normal}.hero-copy{max-width:630px;color:#c3cad5;font-size:clamp(16px,1.35vw,20px);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 52px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:0 25px;border:1px solid transparent;border-radius:3px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;transition:.2s}.primary{background:var(--orange);color:#fff}.primary:hover{background:var(--orange2);transform:translateY(-2px)}.ghost,.outline{color:#fff;border-color:#ffffff59}.ghost:hover,.outline:hover{border-color:var(--orange);color:var(--orange2)}.hero-proof{display:flex;gap:clamp(26px,5vw,72px);border-top:1px solid #ffffff1f;padding-top:26px}.hero-proof div{display:flex;flex-direction:column;gap:5px}.hero-proof strong{font:700 18px var(--display);text-transform:uppercase}.hero-proof span{font-size:11px;color:#828d9d}.score-card{padding:30px;background:#0f1929db;border:1px solid #ffffff29;box-shadow:0 30px 80px #0005;backdrop-filter:blur(10px)}.score-topline{display:flex;justify-content:space-between;color:#919bab;font-size:10px;font-weight:800;letter-spacing:.13em}.live-dot{color:#7ae38b}.live-dot:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;background:#43cf61;border-radius:50%;box-shadow:0 0 0 4px #43cf6124}.score-league{display:flex;align-items:center;gap:18px;margin:30px 0}.score-league img{width:66px;height:66px;object-fit:contain;background:#fff;border-radius:8px}.score-league div{display:flex;flex-direction:column}.score-league strong{font:700 30px/1 var(--display);text-transform:uppercase}.score-league span{color:var(--orange2);margin-top:5px}.score-card hr{border:0;border-top:1px solid #ffffff1f}.score-card p{color:#aeb7c5;font-size:14px;line-height:1.65}.text-link{display:inline-flex;gap:18px;margin-top:10px;font-size:12px;font-weight:800;text-transform:uppercase}.text-link span{color:var(--orange)}.quick-access{margin:-42px auto 0;max-width:1380px;width:calc(100% - 48px);position:relative;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;box-shadow:0 18px 60px #1419231f}.quick-access a{min-height:116px;display:flex;align-items:center;gap:19px;padding:24px 30px;border-right:1px solid #e7e8eb}.quick-access a>b{font:800 32px var(--display);color:#d9dce1}.quick-access a>span{display:flex;flex:1;flex-direction:column;gap:6px}.quick-access strong{font:700 18px var(--display);text-transform:uppercase}.quick-access small{color:#7b8390}.quick-access i{font-style:normal}.quick-access a:hover i{color:var(--orange);transform:translateX(5px)}.value-section{max-width:1240px;margin:auto;padding:130px 30px 120px}.section-heading{display:grid;grid-template-columns:1fr 1.15fr;gap:20px 70px;align-items:end}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin:0;font-size:clamp(48px,5.3vw,80px);line-height:.95}.section-heading>p:last-child{margin:0;color:#667080;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:70px}.service-grid article{padding:34px;background:#fff;border-bottom:4px solid transparent;transition:.2s}.service-grid article:hover{transform:translateY(-6px);border-color:var(--orange);box-shadow:0 18px 50px #14192317}.service-grid article>span{display:inline-block;margin-bottom:48px;font:800 42px var(--display);color:var(--orange)}.service-grid h3{margin-bottom:10px;font-size:25px}.service-grid p{color:#687180;font-size:14px;line-height:1.65}.commercial-section{display:grid;grid-template-columns:1fr 1px 1fr;gap:clamp(40px,7vw,110px);padding:90px clamp(28px,9vw,160px);background:var(--ink2);color:#fff}.commercial-section h2{max-width:520px;font-size:clamp(38px,3.4vw,56px);line-height:1}.commercial-section p:not(.eyebrow){max-width:520px;min-height:52px;color:#aeb7c5;line-height:1.65}.commercial-separator{background:#ffffff1f}.site-footer{padding:55px clamp(24px,7vw,110px) 30px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;color:#fff;background:#080e18}.site-footer p{color:#7f8998}.site-footer nav{display:flex;gap:25px;font-size:12px}.site-footer>small{grid-column:2/-1;color:#596273;border-top:1px solid #ffffff1f;padding-top:20px}.whatsapp-fab{position:fixed;z-index:30;right:22px;bottom:22px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#22c763;box-shadow:0 8px 25px #0004;font-size:12px;font-weight:800}
/* La misma identidad visual se aplica, sin tocar la lógica, a torneos y contacto. */
body:not(.home-page){background:#eef1f5!important;color:var(--ink)!important;font-family:var(--body)!important}body:not(.home-page) #mainNav{background:var(--ink)!important;min-height:78px;box-shadow:0 4px 18px #0409112e}body:not(.home-page) #mainNav .nav-link{color:#d8dde5!important;font:700 12px var(--body);text-transform:uppercase;letter-spacing:.06em}body:not(.home-page) #mainNav .nav-link:hover{color:var(--orange2)!important}body:not(.home-page) .page-section{padding-top:105px!important}body:not(.home-page) .form-select{min-height:48px;border:1px solid #d9dee7;border-radius:6px;box-shadow:0 3px 12px #141b270d;font-size:14px}body:not(.home-page) #tabs{border:0;border-radius:8px;overflow:hidden;box-shadow:0 8px 30px #141b2714}body:not(.home-page) #tabs>ul{display:flex;gap:6px;padding:8px 10px 0;overflow-x:auto;background:#fff;border:0;border-bottom:1px solid #e4e7ec}body:not(.home-page) #tabs>ul li{flex:0 0 auto;border:0!important;border-radius:5px 5px 0 0;background:#162033!important}body:not(.home-page) #tabs>ul li a{padding:10px 18px!important;color:#fff!important;font-size:12px;font-weight:700}body:not(.home-page) #tabs>ul li.ui-tabs-active{background:var(--orange)!important}body:not(.home-page) #tabs>div{background:#fff;color:var(--ink)}body:not(.home-page) .card{border-color:#e1e5eb;border-radius:7px}body:not(.home-page) table{color:var(--ink)}body:not(.home-page) table thead th,body:not(.home-page) table tfooter th{background:var(--ink)!important;color:#fff!important}body:not(.home-page) footer{background:#080e18!important;color:#7f8998!important}
@media(max-width:900px){.site-header{min-height:74px;padding:0 20px}.menu-toggle{display:block;position:relative;z-index:22}.main-menu{display:none;position:absolute;top:74px;left:0;right:0;padding:18px 24px 26px;flex-direction:column;align-items:stretch;gap:0;background:#0b1220}.main-menu.is-open{display:flex}.main-menu a:not(.nav-cta){padding:14px 0;border-bottom:1px solid #ffffff1f}.nav-cta{margin-top:15px;text-align:center}.hero{min-height:auto;padding:135px 24px 90px;grid-template-columns:1fr;gap:55px}.hero h1{font-size:clamp(58px,16vw,86px)}.hero-proof{gap:18px;flex-wrap:wrap}.score-card{max-width:520px}.quick-access{grid-template-columns:1fr}.quick-access a{min-height:96px;border-right:0;border-bottom:1px solid #e7e8eb}.section-heading,.service-grid{grid-template-columns:1fr}.section-heading .eyebrow{grid-column:auto}.service-grid article>span{margin-bottom:22px}.commercial-section{grid-template-columns:1fr}.commercial-separator{width:100%;height:1px}.site-footer{grid-template-columns:1fr}.site-footer nav{flex-direction:column;gap:12px}.site-footer>small{grid-column:auto}body:not(.home-page) .page-section{padding-top:92px!important}body:not(.home-page) .page-section .d-flex{flex-wrap:wrap}body:not(.home-page) #tabs>ul li a{padding:10px 12px!important}body:not(.home-page) .col-sm-11,body:not(.home-page) .col-sm-1{width:100%}}
@media(max-width:520px){.hero-actions .button{width:100%}.hero-proof{display:grid;grid-template-columns:1fr 1fr}.quick-access{width:calc(100% - 24px)}.value-section{padding:95px 18px 80px}.commercial-section{padding:70px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}

/* Página de torneos: selección inicial y contenido */
.tournament-page .tournament-page-section {
  min-height: calc(100vh - 78px);
  padding: 132px clamp(20px,5vw,88px) 70px !important;
  background:
    radial-gradient(circle at 92% 6%,rgba(240,90,40,.08),transparent 22%),
    #eef1f5;
}
.tournament-hero-bar {
  max-width: 1420px;
  margin: 0 auto 30px;
}
.tournament-kicker {
  margin: 0 0 9px;
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}
.tournament-hero-bar h1 {
  margin: 0 0 9px;
  color: var(--ink);
  font: 800 clamp(42px,4.2vw,66px)/.95 var(--display);
  letter-spacing: -.02em;
}
.tournament-hero-bar>p:last-child {
  margin: 0;
  color: #697384;
  font-size: 15px;
}
.tournament-filter-card {
  max-width: 1420px;
  margin: 0 auto 30px;
  padding: 22px 26px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr);
  align-items: center;
  background: #fff;
  border: 1px solid #e0e5ec;
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(14,24,39,.07);
}
.tournament-filter {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 16px;
}
.filter-step {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--orange);
  font: 800 17px var(--display);
}
.filter-control { min-width: 0; flex: 1; }
.filter-control label {
  display: block;
  margin: 0 0 7px;
  color: #5f6877;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.tournament-page .filter-control .form-select {
  width: 100%;
  min-height: 52px;
  padding-left: 15px;
  border-color: #dce2e9;
  background-color: #fafbfc;
  box-shadow: none;
  font-size: 15px;
}
.tournament-page .filter-control .form-select:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(240,90,40,.12);
}
.tournament-page .filter-control .form-select:disabled {
  color: #929aa6;
  background-color: #f0f2f5;
  cursor: not-allowed !important;
}
.filter-connector { height: 1px; margin: 23px 8px 0; background: #dce2e9; }
.tournament-empty-state {
  max-width: 1420px;
  min-height: 330px;
  margin: 0 auto;
  padding: clamp(38px,5vw,72px);
  display: grid;
  grid-template-columns: minmax(210px,.7fr) minmax(0,1.3fr);
  align-items: center;
  gap: clamp(35px,7vw,100px);
  overflow: hidden;
  position: relative;
  color: #fff;
  background: linear-gradient(120deg,#0b1220,#162238);
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(11,18,32,.18);
}
.tournament-empty-state:after {
  content: "TORNEOS";
  position: absolute;
  right: -20px;
  bottom: -40px;
  color: rgba(255,255,255,.025);
  font: 800 150px/1 var(--display);
  pointer-events: none;
}
.empty-ball {
  width: min(220px,70vw);
  aspect-ratio: 1;
  justify-self: center;
  position: relative;
  border: 8px solid var(--orange);
  border-radius: 50%;
  transform: rotate(-13deg);
  box-shadow: 0 0 70px rgba(240,90,40,.12);
}
.empty-ball:before,.empty-ball:after {
  content: "";
  position: absolute;
  border-radius: 50%;
}
.empty-ball:before {
  inset: 13px 80px;
  border-left: 5px solid var(--orange);
  border-right: 5px solid var(--orange);
}
.empty-ball:after {
  inset: 80px 13px;
  border-top: 5px solid var(--orange);
  border-bottom: 5px solid var(--orange);
}
.empty-copy { position: relative; z-index: 1; }
.empty-copy h2 {
  max-width: 700px;
  margin: 0 0 17px;
  font: 800 clamp(34px,3.7vw,56px)/.98 var(--display);
}
.empty-copy>p:not(.tournament-kicker) {
  max-width: 650px;
  margin: 0;
  color: #adb7c6;
  line-height: 1.7;
}
.empty-features { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.empty-features span {
  padding: 8px 12px;
  color: #dce2ea;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 30px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.tournament-no-selection .tournament-data-container { display: none; }
.tournament-has-selection .tournament-hero-bar { margin-bottom: 22px; }
.tournament-data-container { max-width: 1500px; margin: 0 auto; padding: 0 !important; }
.tournament-data-row { margin: 0 !important; }
.tournament-main-column { width: 100% !important; }
.sponsor-sidebar { display: none !important; }
.tournament-page #tabs>ul {
  width: 100%;
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 8px;
  padding: 10px 12px 0 !important;
  overflow: visible;
  box-sizing: border-box;
}
.tournament-page #tabs>ul::-webkit-scrollbar { display: none; }
.tournament-page #tabs>ul:before,
.tournament-page #tabs>ul:after {
  content: none !important;
  display: none !important;
}
.tournament-page #tabs>ul li {
  min-width: 0;
  width: auto !important;
  margin: 0 !important;
}
.tournament-page #tabs>ul li a {
  width: 100%;
  min-height: 45px;
  padding: 0 10px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden;
  outline: 0;
  white-space: nowrap;
  text-align: center;
  text-overflow: ellipsis;
}
.tournament-page #tabs>ul li.ui-tabs-active {
  box-shadow: 0 7px 16px rgba(240,90,40,.2);
}
.tournament-page #tabs { border-radius: 12px; }
.tournament-page #tabs>div { padding: 18px; }

@media(max-width:760px) {
  .tournament-page .tournament-page-section { padding: 108px 14px 45px !important; }
  .tournament-hero-bar { margin-bottom: 22px; padding: 0 5px; }
  .tournament-filter-card { grid-template-columns: 1fr; gap: 18px; padding: 18px; }
  .filter-connector { width: 1px; height: 18px; margin: -10px 0 -10px 20px; }
  .tournament-empty-state { grid-template-columns: 1fr; padding: 40px 24px; text-align: center; }
  .empty-ball { width: 128px; border-width: 6px; }
  .empty-ball:before { inset: 8px 45px; border-width: 4px; }
  .empty-ball:after { inset: 45px 8px; border-width: 4px; }
  .empty-copy>p:not(.tournament-kicker) { margin-inline: auto; }
  .empty-features { justify-content: center; }
  .tournament-page #tabs>ul { gap: 4px; padding: 7px 7px 0 !important; }
  .tournament-page #tabs>ul li a { min-height: 42px; padding: 0 4px !important; font-size: 10px !important; }
  .tournament-page #tabs>div { padding: 10px; }
}

@media(max-width:430px) {
  .tournament-page #tabs>ul { gap: 3px; padding-inline: 5px !important; }
  .tournament-page #tabs>ul li a { min-height: 40px; padding-inline: 2px !important; font-size: 8.5px !important; letter-spacing: -.01em; }
}

/* Resumen del torneo */
.tournament-overview { display: grid; gap: 16px; }
.tournament-profile {
  min-height: 230px;
  padding: 24px 28px;
  display: grid;
  grid-template-columns: 190px minmax(0,1fr) auto;
  align-items: center;
  gap: 28px;
  overflow: hidden;
  position: relative;
  color: #fff;
  background: linear-gradient(120deg,#0b1220,#18243a);
  border-radius: 14px;
  box-shadow: 0 14px 32px rgba(16,26,42,.16);
}
.tournament-profile:after {
  content: "BASKET";
  position: absolute;
  right: -18px;
  bottom: -33px;
  color: rgba(255,255,255,.035);
  font: 800 118px/1 var(--display);
  letter-spacing: .04em;
  pointer-events: none;
}
.tournament-profile-logo {
  width: 190px;
  height: 190px;
  padding: 12px;
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 13px;
}
.tournament-profile-logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.tournament-profile-copy { min-width: 0; position: relative; z-index: 1; }
.tournament-profile-kicker {
  display: block;
  margin-bottom: 9px;
  color: var(--orange2);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.tournament-profile-copy h2 {
  max-width: 780px;
  margin: 0;
  color: #fff;
  font: 800 clamp(30px,3vw,46px)/.98 var(--display);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.tournament-profile-copy p { margin: 13px 0 0; color: #aeb8c8; font-size: 12px; }
.tournament-profile-status {
  position: relative;
  z-index: 1;
  padding: 9px 13px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #82e5a9;
  background: rgba(18,161,80,.13);
  border: 1px solid rgba(89,215,139,.25);
  border-radius: 30px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tournament-profile-status i {
  width: 8px;
  height: 8px;
  background: #35d474;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(53,212,116,.13);
}
.tournament-overview-grid {
  display: grid;
  grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr);
  gap: 16px;
  align-items: start;
}
.tournament-birthdays,
.tournament-activity {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce2ea;
  border-radius: 12px;
  box-shadow: 0 7px 24px rgba(16,26,42,.06);
}
.tournament-birthdays > header,
.tournament-activity > header {
  padding: 15px 18px;
  color: #fff;
  background: var(--ink);
}
.tournament-birthdays > header span,
.tournament-activity > header span {
  display: block;
  margin-bottom: 3px;
  color: var(--orange2);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.tournament-birthdays > header h3,
.tournament-activity > header h3 {
  margin: 0;
  color: #fff;
  font: 800 22px/1 var(--display);
  text-transform: uppercase;
}
.birthday-list,
.activity-list { padding: 10px; display: grid; gap: 8px; }
.birthday-item {
  min-height: 74px;
  padding: 9px 11px;
  display: grid;
  grid-template-columns: 50px minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  background: #f7f8fa;
  border: 1px solid #e2e6ec;
  border-radius: 9px;
}
.birthday-item.is-today { background: #fff2ec; border-color: #ffc7b3; }
.birthday-date {
  width: 50px;
  height: 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--orange);
  border-radius: 8px;
}
.birthday-date strong { font: 800 22px/1 var(--display); }
.birthday-date span { font-size: 7px; font-weight: 800; letter-spacing: .06em; }
.birthday-person { min-width: 0; }
.birthday-person h4 {
  margin: 0;
  color: var(--ink);
  font: 700 15px/1.08 var(--display);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.birthday-person p { margin: 5px 0 0; color: #7a8492; font-size: 9px; overflow-wrap: anywhere; }
.birthday-today {
  padding: 5px 8px;
  color: #fff;
  background: #13a151;
  border-radius: 20px;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}
.activity-item {
  min-height: 62px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 94px minmax(0,1fr);
  align-items: center;
  gap: 13px;
  position: relative;
  background: #f8f9fb;
  border: 1px solid #e4e8ee;
  border-radius: 8px;
}
.activity-item:before {
  content: "";
  position: absolute;
  left: -1px;
  top: 12px;
  bottom: 12px;
  width: 3px;
  background: var(--orange);
  border-radius: 0 3px 3px 0;
}
.activity-time { display: flex; flex-direction: column; gap: 3px; }
.activity-time strong { color: var(--ink); font-size: 10px; }
.activity-time span { color: var(--orange); font-size: 9px; font-weight: 800; }
.activity-item p { margin: 0; color: #434d5d; font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }

@media(max-width:900px) {
  .tournament-profile { grid-template-columns: 140px minmax(0,1fr); min-height: 190px; padding: 20px; }
  .tournament-profile-logo { width: 140px; height: 140px; }
  .tournament-profile-status { position: absolute; top: 18px; right: 18px; }
  .tournament-overview-grid { grid-template-columns: 1fr; }
}
@media(max-width:560px) {
  .tournament-profile { padding: 16px; grid-template-columns: 92px minmax(0,1fr); gap: 14px; }
  .tournament-profile-logo { width: 92px; height: 92px; padding: 7px; }
  .tournament-profile-copy h2 { font-size: 24px; }
  .tournament-profile-copy p { display: none; }
  .tournament-profile-status { top: 10px; right: 10px; padding: 5px 8px; font-size: 7px; }
  .tournament-profile-status i { width: 6px; height: 6px; }
  .activity-item { grid-template-columns: 78px minmax(0,1fr); gap: 8px; }
  .birthday-item { grid-template-columns: 46px minmax(0,1fr) auto; gap: 8px; }
  .birthday-date { width: 46px; height: 48px; }
}

/* Cards de equipos */
.team-grid-wrap { padding: 4px 0 10px !important; }
.team-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 18px;
  margin: 0 !important;
}
.team-card-col {
  min-width: 0;
  padding: 0 !important;
}
.team-card {
  height: 100%;
  min-height: 260px;
  display: grid;
  grid-template-columns: 104px minmax(0,1fr);
  overflow: hidden;
  background: #fff;
  border: 1px solid #e0e5ec;
  border-radius: 12px;
  box-shadow: 0 6px 22px rgba(16,26,42,.07);
  transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.team-card:hover {
  transform: translateY(-4px);
  border-color: rgba(240,90,40,.45);
  box-shadow: 0 16px 38px rgba(16,26,42,.12);
}
.team-card-visual {
  padding: 18px 10px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background: linear-gradient(145deg,#f4f6f9,#e9edf3);
  border-right: 1px solid #e2e7ed;
}
.team-card-visual img {
  width: 84px;
  height: 84px;
  padding: 4px;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(14,24,39,.1);
}
.team-card-content {
  min-width: 0;
  padding: 18px 17px 15px;
  display: flex;
  flex-direction: column;
}
.team-card-head {
  min-height: 58px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.team-label {
  display: block;
  margin-bottom: 4px;
  color: #8b94a3;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.team-card-head h3 {
  margin: 0;
  color: var(--ink);
  font: 700 21px/1.05 var(--display);
  overflow-wrap: anywhere;
}
.team-position {
  flex: 0 0 auto;
  min-width: 34px;
  height: 34px;
  padding: 0 7px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--orange);
  border-radius: 7px;
  font: 800 16px var(--display);
}
.team-record {
  margin-top: 13px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  overflow: hidden;
  border: 1px solid #e5e8ed;
  border-radius: 8px;
}
.team-record div {
  padding: 8px 3px 7px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  border-right: 1px solid #e5e8ed;
}
.team-record div:last-child { border-right: 0; }
.team-record span,.team-points small {
  color: #8a93a1;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
}
.team-record strong { color: var(--ink); font-size: 14px; }
.team-points {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  margin: 11px 0 13px;
  padding: 0 3px;
}
.team-points>span {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  border-right: 1px solid #e7e9ee;
}
.team-points>span:last-child { border-right: 0; }
.team-points strong { color: #3c4654; font-size: 12px; }
.team-diff.positive strong { color: #159447; }
.team-diff.negative strong { color: #c33b2a; }
.team-card-footer {
  margin-top: auto;
  padding-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid #e6e9ee;
}
.team-card-footer>span { color: #7a8492; font-size: 10px; }
.team-card-footer>span strong { color: #3e4855; }
.team-roster-button {
  min-height: 36px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fff;
  background: var(--ink);
  border: 0;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background .2s ease;
}
.team-roster-button:hover { background: var(--orange); }
.team-roster-button b { color: var(--orange2); font-size: 14px; }
.team-roster-button:hover b { color: #fff; }

@media(max-width:1280px) {
  .team-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:960px) {
  .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
  .team-grid { grid-template-columns: 1fr; gap: 12px; }
  .team-card { grid-template-columns: 92px minmax(0,1fr); min-height: 245px; }
  .team-card-visual { padding-inline: 8px; }
  .team-card-visual img { width: 74px; height: 74px; }
  .team-card-content { padding: 15px 13px 13px; }
  .team-card-footer { align-items: stretch; flex-direction: column; }
  .team-roster-button { width: 100%; }
}

/* Detalle individual desde las tablas de puntos y triples */
.leaderboard-player-row { cursor: pointer; transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.leaderboard-player-row:hover { position: relative; z-index: 1; background: #fff7f2 !important; box-shadow: inset 4px 0 0 var(--orange); transform: translateX(2px); }
.leaderboard-player-row:focus-visible { position: relative; z-index: 2; outline: 3px solid rgba(247, 82, 37, .28); outline-offset: -3px; }
.team-triples-player.player-history-trigger { cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.team-triples-player.player-history-trigger:hover { border-color: var(--orange); box-shadow: 0 8px 20px rgba(13, 24, 42, .10); transform: translateY(-2px); }
.team-triples-player.player-history-trigger:focus-visible { outline: 3px solid rgba(247, 82, 37, .3); outline-offset: 2px; }
.player-history-modal .modal-dialog { max-width: 1460px; }
.player-history-modal .modal-content { overflow: hidden; border: 0; border-radius: 18px; box-shadow: 0 28px 70px rgba(5, 13, 27, .32); }
.player-history-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 118px;
  padding: 24px 34px;
  background: var(--ink);
  color: #fff;
}
.player-history-header span,
.player-history-panel > header span { display: block; margin-bottom: 6px; color: var(--orange); font: 800 10px var(--body); letter-spacing: .16em; }
.player-history-header h2 { margin: 0; font: 800 38px/1 var(--display); text-transform: uppercase; }
.player-history-header p { margin: 7px 0 0; color: #aeb9ca; font: 700 12px var(--body); text-transform: uppercase; }
.player-history-header .btn-close { width: 22px; height: 22px; opacity: .9; }
.player-history-body { padding: 24px; background: #edf1f6; }
.player-history-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.player-history-stat { position: relative; overflow: hidden; min-height: 82px; padding: 16px 18px; border: 1px solid #dce3ec; border-radius: 12px; background: #fff; }
.player-history-stat::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: #91a0b5; content: ""; }
.player-history-stat.points::before { background: var(--orange); }
.player-history-stat.single::before { background: #e5ae26; }
.player-history-stat.double::before { background: #278ac8; }
.player-history-stat.triple::before { background: #7850c7; }
.player-history-stat span { display: block; color: #8490a2; font: 800 10px var(--body); letter-spacing: .09em; }
.player-history-stat strong { display: block; margin-top: 5px; color: var(--ink); font: 800 28px/1 var(--display); }
.player-history-layout { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(280px, .72fr); gap: 18px; align-items: start; }
.player-history-side { display: grid; gap: 18px; align-content: start; }
.player-history-panel { padding: 22px; border: 1px solid #dce3ec; border-radius: 14px; background: #fff; }
.player-history-panel > header { padding-bottom: 15px; border-bottom: 1px solid #e3e8ef; }
.player-history-panel > header h3 { margin: 0; color: var(--ink); font: 800 26px/1 var(--display); text-transform: uppercase; }
.player-history-matches { display: grid; gap: 10px; margin-top: 16px; }
.player-history-match {
  --outcome: #8290a3;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(270px, 1.15fr) 100px;
  align-items: center;
  gap: 15px;
  min-height: 102px;
  padding: 13px 15px;
  border: 1px solid #e0e6ed;
  border-left: 5px solid var(--outcome);
  border-radius: 11px;
}
.player-history-match.outcome-ganado { --outcome: #13a66a; background: #f5fcf8; }
.player-history-match.outcome-perdido { --outcome: #df454d; background: #fff7f7; }
.player-history-match-info { min-width: 0; }
.player-history-match-info > span { color: #8793a5; font: 800 9px var(--body); letter-spacing: .08em; text-transform: uppercase; }
.player-history-match-info h4 { overflow: hidden; margin: 5px 0 3px; color: var(--ink); font: 800 21px/1 var(--display); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.player-history-match-info small { color: #6f7b8d; font: 500 11px var(--body); }
.player-history-shots { display: grid; grid-template-columns: repeat(4, minmax(54px, 1fr)); overflow: hidden; border: 1px solid #dce3ec; border-radius: 10px; background: #fff; }
.player-history-shots > div { padding: 10px 7px; border-right: 1px solid #e1e6ed; text-align: center; }
.player-history-shots > div:last-child { border-right: 0; }
.player-history-shots span { display: block; color: #8894a5; font: 800 9px var(--body); }
.player-history-shots strong { display: block; margin-top: 4px; color: var(--ink); font: 800 19px/1 var(--display); }
.player-history-shots .total { background: #fff0e9; }
.player-history-shots .total strong { color: var(--orange); }
.player-history-result { justify-self: end; min-width: 92px; padding: 10px 8px; border-radius: 9px; background: var(--outcome); color: #fff; text-align: center; }
.player-history-result span { display: block; font: 800 8px var(--body); letter-spacing: .08em; }
.player-history-result strong { display: block; margin-top: 2px; font: 800 20px/1 var(--display); }
.player-courts-panel > p { margin: 13px 0 18px; color: #707d90; font: 500 12px/1.5 var(--body); }
.player-history-courts { display: grid; gap: 18px; }
.player-court-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
.player-court-row > div:first-child { display: flex; flex-direction: column; min-width: 0; }
.player-court-row strong { overflow: hidden; color: var(--ink); font: 700 13px var(--body); text-overflow: ellipsis; white-space: nowrap; }
.player-court-row span { color: #7c8899; font: 500 10px var(--body); }
.player-court-row b { align-self: center; color: var(--orange); font: 800 14px var(--body); }
.player-court-track { grid-column: 1 / -1; overflow: hidden; height: 8px; border-radius: 999px; background: #e8edf3; }
.player-court-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--orange), #ff8a5f); }
.player-efficiency-panel { border-top: 4px solid #7850c7; }
.player-efficiency-row b { color: #7850c7; }
.player-efficiency-row .player-court-track { position: relative; overflow: visible; }
.player-efficiency-row .player-court-track::after { position: absolute; top: -3px; bottom: -3px; left: 50%; width: 2px; border-radius: 2px; background: #5e6a7c; content: ""; }
.player-efficiency-row .player-court-track span { position: relative; z-index: 1; background: linear-gradient(90deg, #7850c7, #a981ee); }
.player-efficiency-row.below-average .player-court-track span { background: linear-gradient(90deg, #8a96a8, #b6bfcc); }
.player-efficiency-row span em { display: inline-flex; margin-left: 7px; padding: 2px 5px; border-radius: 4px; background: #fff0d9; color: #a56400; font: 800 8px var(--body); font-style: normal; letter-spacing: .04em; text-transform: uppercase; vertical-align: middle; }
.player-history-empty { padding: 28px 16px; border: 1px dashed #ccd5e0; border-radius: 10px; color: #7c8899; text-align: center; }

@media(max-width:980px) {
  .player-history-layout { grid-template-columns: 1fr; }
  .player-history-summary { grid-template-columns: repeat(5, minmax(86px, 1fr)); overflow-x: auto; }
}
@media(max-width:740px) {
  .player-history-header { min-height: 96px; padding: 22px 20px; }
  .player-history-header h2 { font-size: 29px; }
  .player-history-body { padding: 13px; }
  .player-history-panel { padding: 14px; }
  .player-history-match { grid-template-columns: 1fr auto; gap: 11px; }
  .player-history-match-info { grid-column: 1 / -1; }
  .player-history-shots { min-width: 0; }
}
@media(max-width:480px) {
  .player-history-match { grid-template-columns: 1fr; }
  .player-history-result { justify-self: stretch; }
}

/* Carga progresiva del plantel: el modal conserva su altura mientras llegan los datos. */
.roster-loading{min-height:220px;display:grid;place-items:center;color:#687386;font:700 15px var(--body);text-align:center}.roster-loading[hidden]{display:none}.team-roster-modal .player-grid:empty{display:none}
.match-team-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.match-team-tables .match-team-card{padding:18px;border:1px solid #dce2ea;border-radius:12px;background:#fff}.match-team-tables h3,.match-sequence h3{margin:0;font:800 24px var(--display);color:var(--ink)}.match-table-scroll{overflow-x:auto}.match-team-tables table,.match-sequence table{width:100%;border-collapse:collapse;font:500 13px var(--body)}.match-team-tables th,.match-team-tables td,.match-sequence th,.match-sequence td{padding:9px 10px;border-bottom:1px solid #e4e8ee;text-align:left}.match-team-tables th:nth-child(n+3),.match-team-tables td:nth-child(n+3),.match-sequence th:nth-child(2),.match-sequence td:nth-child(2){text-align:center}.match-team-tables tfoot th{background:#f3f5f8!important;color:var(--ink)!important}.match-sequence{margin-top:22px}.match-sequence-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.quarter-legend{display:flex;gap:6px}.quarter-legend span{min-width:30px;padding:5px 8px;border-radius:6px;text-align:center;font:800 11px var(--body);color:#243044}.quarter-legend .q1,.quarter-1{background:#fff2c9}.quarter-legend .q2,.quarter-2{background:#dff3ff}.quarter-legend .q3,.quarter-3{background:#e3f6e5}.quarter-legend .q4,.quarter-4{background:#eee4ff}.quarter-5{background:#ffe2ea}.match-sequence .quarter-cell{transition:background-color .15s}.match-sequence .quarter-0{background:#f7f8fa}.match-sequence .quarter-finish{border-bottom:3px solid var(--orange)}.match-empty-row{text-align:center!important;color:#7c8797}.match-observation{margin-bottom:18px;padding:15px 18px;border-left:4px solid var(--orange);border-radius:6px;background:#fff3ed;color:var(--ink)}.match-observation p{margin:5px 0 0}.match-observation[hidden],#matchDetailContent[hidden]{display:none}@media(max-width:780px){.match-team-tables{grid-template-columns:1fr}.match-sequence-heading{align-items:flex-start;flex-direction:column}}

/* Escudo a todo el ancho y acción de plantel limpia */
.team-card {
  min-height: 430px;
  grid-template-columns: 1fr;
  grid-template-rows: 170px minmax(0,1fr);
}
.team-card-visual {
  width: 100%;
  height: 170px;
  padding: 0;
  overflow: hidden;
  position: relative;
  align-items: stretch;
  background: #111927;
  border-right: 0;
  border-bottom: 1px solid #e2e7ed;
}
.team-card-visual:before {
  content: "";
  position: absolute;
  inset: -22px;
  background-image: var(--team-image);
  background-position: center;
  background-size: cover;
  filter: blur(18px) saturate(.8);
  opacity: .42;
  transform: scale(1.14);
}
.team-card-visual:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(11,18,32,.34),rgba(11,18,32,.06),rgba(11,18,32,.34));
}
.team-card-visual img {
  width: 100%;
  height: 100%;
  padding: 12px;
  position: relative;
  z-index: 1;
  object-fit: contain;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.team-card-content { padding: 18px 18px 16px; }
.team-card-head { min-height: 50px; }
.team-card-footer {
  padding-top: 13px;
  align-items: stretch;
  flex-direction: column;
  gap: 10px;
}
.team-card-footer>span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #7a8492;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.team-card-footer>span strong {
  color: var(--ink);
  font-size: 13px;
}
.team-roster-button {
  width: 100%;
  min-height: 44px;
  padding: 0 16px;
  justify-content: space-between;
  color: #fff;
  background: var(--orange);
  border-radius: 8px;
  font-size: 11px;
}
.team-roster-button:hover { background: #d94719; }
.team-roster-button b,.team-roster-button:hover b { color: #fff; font-size: 17px; }

@media(max-width:620px) {
  .team-card { min-height: 405px; grid-template-columns: 1fr; grid-template-rows: 145px minmax(0,1fr); }
  .team-card-visual { height: 145px; padding: 0; }
  .team-card-visual img { width: 100%; height: 100%; padding: 10px; }
}

.team-card-footer {
  margin-top: auto;
  padding: 12px 0 0;
  color: var(--ink);
  background: #fff;
  border-top: 1px solid #e6e9ee;
}
.team-average-age {
  min-height: 42px;
  padding: 8px 11px;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  color: #687383 !important;
  background: #f3f5f8;
  border: 1px solid #e2e6ec;
  border-radius: 7px;
}
.team-average-age small {
  color: #7a8492;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.team-average-age strong {
  color: var(--ink) !important;
  font-size: 16px !important;
  line-height: 1;
}
.team-average-age em {
  color: #7a8492;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  text-transform: lowercase;
}
.team-roster-button { margin-top: 0; }

/* Modal y cards del plantel */
.team-roster-modal .modal-dialog {
  width: calc(100% - 32px);
  max-width: 1480px;
}
.team-roster-modal .modal-content {
  max-height: calc(100vh - 42px);
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
}
.team-modal-header {
  padding: 22px 28px;
  color: #fff;
  background: var(--ink);
  border: 0;
}
.team-modal-header span {
  display: block;
  margin-bottom: 4px;
  color: var(--orange2);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
}
.team-modal-header h2 {
  margin: 0;
  color: #fff;
  font: 800 32px/1 var(--display);
}
.team-modal-header .btn-close {
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  background-color: #fff;
  opacity: .9;
}
.team-modal-body {
  padding: 24px;
  background: #eef1f5;
}
.player-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 16px;
}
.player-card {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #dfe4eb;
  border-radius: 12px;
  box-shadow: 0 5px 18px rgba(16,26,42,.07);
  transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.player-card:hover {
  transform: translateY(-3px);
  border-color: rgba(240,90,40,.45);
  box-shadow: 0 13px 28px rgba(16,26,42,.12);
}
.player-photo {
  height: 220px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(145deg,#dfe4eb,#c9d0da);
}
.player-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 28%;
}
.player-photo:after {
  content: none;
}
.player-rank {
  position: absolute;
  z-index: 1;
  right: 10px;
  bottom: 10px;
  min-width: 34px;
  height: 30px;
  padding: 0 8px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--orange);
  border-radius: 6px;
  font: 800 15px var(--display);
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
}
.player-card-content {
  min-height: 155px;
  padding: 15px;
  display: flex;
  flex-direction: column;
}
.player-card-content h3 {
  min-height: 42px;
  margin: 0 0 5px;
  color: var(--ink);
  font: 700 19px/1.08 var(--display);
  overflow-wrap: anywhere;
}
.player-age {
  margin: 0 0 13px;
  color: #7a8492;
  font-size: 11px;
}
.player-stats {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  overflow: hidden;
  border: 1px solid #e2e6ec;
  border-radius: 8px;
}
.player-stats div {
  padding: 8px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  border-right: 1px solid #e2e6ec;
}
.player-stats div:last-child { border-right: 0; }
.player-stats span {
  color: #8a94a2;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
}
.player-stats strong { color: var(--ink); font-size: 14px; }
.team-modal-footer {
  padding: 14px 24px;
  background: #fff;
  border-top: 1px solid #e2e6ec;
}
.team-modal-close {
  min-width: 110px;
  min-height: 42px;
  color: #fff;
  background: var(--ink);
  border: 0;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  cursor: pointer;
}
.team-modal-close:hover { background: var(--orange); }

@media(max-width:1180px) {
  .player-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .player-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:650px) {
  .team-roster-modal .modal-dialog { width: calc(100% - 16px); margin: 8px auto; }
  .team-roster-modal .modal-content { max-height: calc(100vh - 16px); border-radius: 12px; }
  .team-modal-header { padding: 18px; }
  .team-modal-header h2 { font-size: 26px; }
  .team-modal-body { padding: 12px; }
  .player-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .player-photo { height: 175px; }
  .player-card-content { min-height: 145px; padding: 12px; }
  .player-card-content h3 { font-size: 17px; }
  .team-modal-footer { padding: 10px 12px; }
  .team-modal-close { width: 100%; }
}
@media(max-width:400px) {
  .player-grid { grid-template-columns: 1fr; }
  .player-photo { height: 230px; }
}

/* Fixture por fechas */
.fixture-accordion {
  display: grid;
  gap: 12px;
  border: 0 !important;
  border-radius: 0 !important;
}
.fixture-round {
  overflow: hidden;
  border: 1px solid #dce2ea !important;
  border-radius: 12px !important;
  box-shadow: 0 7px 22px rgba(16,26,42,.06);
}
.fixture-round-button {
  min-height: 68px;
  padding: 12px 54px 12px 18px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--ink) !important;
  background: #fff !important;
  box-shadow: none !important;
  border-left: 5px solid #b9c1cc;
}
.fixture-round-button.is-complete { border-left-color: var(--orange); }
.fixture-round-button.is-progress { border-left-color: #e7a520; }
.fixture-round-button:not(.collapsed) {
  color: #fff !important;
  background: var(--ink) !important;
}
.fixture-round-name { display: flex; flex-direction: column; gap: 2px; }
.fixture-round-name small {
  color: #8a94a2;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.fixture-round-button:not(.collapsed) .fixture-round-name small { color: #aeb8c8; }
.fixture-round-name strong { font: 800 21px/1 var(--display); }
.fixture-round-status {
  min-width: 88px;
  padding: 6px 10px;
  color: #687385;
  background: #eef1f5;
  border-radius: 30px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
}
.fixture-round-button.is-complete .fixture-round-status { color: #bd3b18; background: #fff0ea; }
.fixture-round-button.is-progress .fixture-round-status { color: #835700; background: #fff3cf; }
.fixture-round-button:not(.collapsed) .fixture-round-status { color: #fff; background: var(--orange); }
.fixture-round-body { padding: 14px !important; background: #eef1f5; }
.fixture-date-heading {
  margin: 0 0 8px;
  padding: 9px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  background: var(--ink);
  border-radius: 8px;
}
.fixture-date-heading span {
  color: #aeb8c8;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.fixture-date-heading strong { font-size: 12px; }
.fixture-match {
  min-height: 72px;
  margin-bottom: 8px;
  padding: 11px 14px;
  display: grid;
  grid-template-columns: 180px minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 16px;
  background: #fff;
  border: 1px solid #dce2ea;
  border-left: 4px solid #c5ccd6;
  border-radius: 9px;
  transition: transform .18s ease,box-shadow .18s ease;
}
.fixture-match:last-of-type { margin-bottom: 14px; }
.fixture-match:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(16,26,42,.08); }
.fixture-match.is-finished { border-left-color: #12a150; }
.fixture-match.is-scheduled { border-left-color: var(--orange); }
.fixture-match-meta { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.fixture-match-meta strong { color: var(--orange); font-size: 11px; text-transform: uppercase; }
.fixture-match-meta span { color: #7a8492; font-size: 10px; overflow-wrap: anywhere; }
.fixture-team {
  min-width: 0;
  color: var(--ink);
  font: 700 17px/1.08 var(--display);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.fixture-team-home { text-align: right; }
.fixture-team-away { text-align: left; }
.fixture-match-actions { display: flex; align-items: center; justify-content: center; gap: 6px; }
.fixture-score,
.fixture-live {
  min-width: 64px;
  min-height: 40px;
  padding: 0 12px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.fixture-score { position: relative; background: var(--orange); }
.fixture-score:hover { background: #d94719; }
.fixture-score.has-note:after {
  content: "";
  position: absolute;
  top: 5px;
  right: 5px;
  width: 6px;
  height: 6px;
  background: #ffd24d;
  border-radius: 50%;
}
.fixture-live { min-width: 50px; padding-inline: 8px; background: #0b9d4a; }
.fixture-live:hover { background: #087b3a; }

@media(max-width:850px) {
  .fixture-match {
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    gap: 10px;
  }
  .fixture-match-meta {
    grid-column: 1 / -1;
    padding-bottom: 8px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #e7ebf0;
  }
}
@media(max-width:520px) {
  .fixture-round-button { min-height: 62px; padding-left: 12px !important; }
  .fixture-round-name strong { font-size: 18px; }
  .fixture-round-status { min-width: 74px; padding-inline: 7px; font-size: 7px; }
  .fixture-round-body { padding: 8px !important; }
  .fixture-match { padding: 10px 8px; gap: 6px; }
  .fixture-team { font-size: 14px; }
  .fixture-score { min-width: 54px; padding-inline: 8px; }
  .fixture-match-actions { flex-direction: column; }
  .fixture-live { min-height: 27px; }
}

/* Detalle de partido en Fechas */
.match-detail-modal .modal-dialog {
  width: calc(100% - 32px);
  max-width: 1280px;
}
.match-detail-modal .modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 30px 90px rgba(0,0,0,.38);
}
.match-modal-header {
  position: relative;
  padding: 22px 70px 22px 28px;
  color: #fff;
  background: var(--ink);
}
.match-modal-heading { width: 100%; }
.match-modal-kicker {
  display: block;
  margin-bottom: 12px;
  color: #aeb8c8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.match-modal-scoreboard {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 22px;
}
.match-modal-scoreboard h2 {
  margin: 0;
  color: #fff;
  font: 800 27px/1.05 var(--display);
  overflow-wrap: anywhere;
}
.match-modal-scoreboard h2:last-child { text-align: right; }
.match-modal-result {
  min-width: 98px;
  padding: 7px 16px 9px;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  background: var(--orange);
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(240,90,40,.25);
}
.match-modal-result span {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.match-modal-result strong { font: 800 24px/1.1 var(--display); }
.match-modal-header .btn-close {
  position: absolute;
  top: 22px;
  right: 24px;
  margin: 0;
  opacity: .85;
}
.match-modal-body {
  padding: 20px;
  background: #eef1f5;
}
.match-observation {
  margin-bottom: 16px;
  padding: 12px 16px;
  color: #4b5565;
  background: #fff7ed;
  border: 1px solid #fed7bd;
  border-left: 4px solid var(--orange);
  border-radius: 9px;
}
.match-observation .col-12 { padding: 0 !important; }
.match-observation-title {
  margin: 0 0 3px;
  color: var(--ink);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.match-observation p:not(.match-observation-title) { margin: 0; font-size: 12px; }
.match-team-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid #dce2ea;
  border-radius: 12px;
  box-shadow: 0 7px 24px rgba(16,26,42,.07);
}
.match-team-card .card-body { padding: 0; }
.match-team-card .card-title {
  margin: 0;
  padding: 15px 16px;
  color: #fff;
  background: var(--ink);
  font: 800 22px/1 var(--display);
}
.match-team-card .card-body > .container-fluid > .row {
  min-height: 32px;
  padding: 7px 10px;
  align-items: center;
  color: #303948;
  border-bottom: 1px solid #edf0f4;
  font-size: 12px;
}
.match-team-card .card-body > .container-fluid:first-of-type > .row {
  min-height: 38px;
  color: #7a8492;
  background: #f6f8fa;
  font-size: 9px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.match-team-card .card-body > .container-fluid:last-of-type > .row {
  color: var(--ink);
  background: #fff1eb;
  border-bottom: 0;
}
.match-play-table {
  width: min(100%,760px);
  margin: 18px auto 0;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  color: #303948;
  background: #fff;
  border: 1px solid #dce2ea;
  border-radius: 10px;
  box-shadow: 0 5px 18px rgba(16,26,42,.06);
  font-size: 12px;
}
.match-play-table td {
  min-height: 32px;
  padding: 6px 10px;
  border-color: #dce2ea !important;
}
.match-play-table tr:first-child td {
  padding: 9px 10px;
  color: #fff;
  background: var(--ink) !important;
  border-color: #3a4658 !important;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.match-modal-footer {
  padding: 12px 20px;
  background: #fff;
  border-top: 1px solid #dce2ea;
}
.match-modal-close {
  min-width: 110px;
  min-height: 40px;
  color: #fff;
  background: var(--ink);
  border: 0;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.match-modal-close:hover { background: var(--orange); }

@media(max-width:700px) {
  .match-detail-modal .modal-dialog { width: calc(100% - 16px); margin: 8px auto; }
  .match-modal-header { padding: 18px 50px 18px 16px; }
  .match-modal-header .btn-close { top: 17px; right: 14px; }
  .match-modal-scoreboard { gap: 9px; }
  .match-modal-scoreboard h2 { font-size: 18px; }
  .match-modal-result { min-width: 70px; padding-inline: 9px; }
  .match-modal-result strong { font-size: 19px; }
  .match-modal-body { padding: 10px; }
  .match-team-card .card-title { font-size: 19px; }
  .match-play-table { font-size: 10px; }
}

/* Tabla de posiciones */
.standings-section {
  width: 96%;
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce2ea;
  border-radius: 12px;
  box-shadow: 0 7px 24px rgba(16,26,42,.06);
}
.standings-heading {
  padding: 17px 20px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  color: #fff;
  background: var(--ink);
}
.standings-heading span {
  display: block;
  margin-bottom: 3px;
  color: var(--orange2);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.standings-heading h3 {
  margin: 0;
  color: #fff;
  font: 800 25px/1 var(--display);
  text-transform: uppercase;
}
.standings-heading p { margin: 0; color: #aeb8c8; font-size: 11px; }
.standings-table-scroll {
  width: 100%;
  overflow-x: auto;
  scrollbar-color: #aab2bf #edf0f4;
}
.standings-table {
  width: 100% !important;
  min-width: 850px;
  margin: 0 !important;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.standings-table thead th {
  height: 44px;
  padding: 0 11px !important;
  vertical-align: middle;
  color: #fff !important;
  background: var(--ink) !important;
  border: 0 !important;
  border-right: 1px solid #344055 !important;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
  text-align: center;
  text-transform: uppercase;
}
.standings-table thead th:first-child { width: 70px; }
.standings-table thead th:nth-child(2) { width: 29%; text-align: left; }
.standings-table thead th:last-child { width: 76px; border-right: 0 !important; }
.standings-table tbody tr:nth-child(odd) td { background: #f7f8fa; }
.standings-table tbody tr:nth-child(even) td { background: #fff; }
.standings-table tbody tr.standings-top td { background: #fff7f2; }
.standings-table tbody td {
  height: 48px;
  padding: 7px 11px !important;
  vertical-align: middle;
  color: #303948;
  border: 0 !important;
  border-right: 1px solid #e3e7ed !important;
  border-bottom: 1px solid #e3e7ed !important;
  font-size: 12px;
}
.standings-table tbody tr:last-child td { border-bottom: 0 !important; }
.standings-position { text-align: center; }
.standings-position span {
  width: 29px;
  height: 29px;
  display: inline-grid;
  place-items: center;
  color: #596579;
  background: #e9edf2;
  border-radius: 50%;
  font-weight: 800;
}
.standings-top .standings-position span { color: #fff; background: var(--orange); }
.standings-team strong {
  color: var(--ink);
  font: 700 14px/1 var(--display);
  text-transform: uppercase;
}
.standings-number,
.standings-diff,
.standings-points { text-align: center; }
.standings-diff { font-weight: 800; }
.standings-diff.positive { color: #0a9545; }
.standings-diff.negative { color: #d7392f; }
.standings-points strong {
  min-width: 36px;
  min-height: 29px;
  padding: 0 8px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: var(--orange);
  border-radius: 7px;
  font-size: 13px;
}
.standings-table tfooter { display: none; }

@media(max-width:760px) {
  .standings-section { width: 100%; }
  .standings-heading { padding: 14px; align-items: start; flex-direction: column; gap: 5px; }
  .standings-heading h3 { font-size: 21px; }
  .standings-table { min-width: 800px; }
  .standings-table thead th:first-child,
  .standings-table tbody td:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
  }
  .standings-table thead th:nth-child(2),
  .standings-table tbody td:nth-child(2) {
    position: sticky;
    left: 70px;
    z-index: 2;
    box-shadow: 7px 0 10px rgba(16,26,42,.08);
  }
  .standings-table thead th:first-child,
  .standings-table thead th:nth-child(2) { z-index: 5; }
}

/* Líderes de puntos y triples */
.player-leaderboards {
  width: 90%;
  margin: 0 auto;
}
.leaderboard-col { min-width: 0; }
.leaderboard-table {
  width: 100% !important;
  margin: 0 !important;
  table-layout: fixed;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid #dce2ea;
  border-radius: 11px;
  box-shadow: 0 7px 24px rgba(16,26,42,.06);
}
.leaderboard-table thead th {
  padding: 13px 15px !important;
  color: #fff !important;
  background: var(--ink) !important;
  border: 0 !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.leaderboard-points thead th { background: var(--orange) !important; }
.leaderboard-table tbody tr:nth-child(odd) td { background: #f7f8fa; }
.leaderboard-table tbody tr:nth-child(even) td { background: #fff; }
.leaderboard-table tbody td {
  height: 104px;
  padding: 9px !important;
  vertical-align: middle;
  border: 0 !important;
  border-bottom: 1px solid #e2e6ec !important;
}
.leaderboard-table tbody tr:last-child td { border-bottom: 0 !important; }
.leaderboard-photo-cell {
  width: 94px;
  text-align: center;
}
.leaderboard-photo {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
  display: block;
  margin: auto;
  object-fit: cover !important;
  object-position: center 38%;
  background: #e6e9ee;
  border-radius: 8px;
}
.leaderboard-player { width: auto; color: var(--ink); }
.leaderboard-player strong,
.leaderboard-player span,
.leaderboard-player small { display: block; }
.leaderboard-player strong {
  font: 700 14px/1.12 var(--display);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.leaderboard-player span { margin-top: 4px; color: #687385; font-size: 10px; }
.leaderboard-player small {
  margin-top: 2px;
  color: #8a94a2;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}
.leaderboard-metric {
  width: 67px;
  text-align: center;
  border-left: 1px solid #e2e6ec !important;
}
.leaderboard-metric span,
.leaderboard-metric strong { display: block; }
.leaderboard-metric span {
  color: #8a94a2;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.leaderboard-metric strong { margin-top: 4px; color: var(--ink); font-size: 14px; }
.leaderboard-table tfooter { display: none; }

@media(max-width:900px) {
  .player-leaderboards > .leaderboard-col { flex: 0 0 100%; width: 100%; }
}
@media(max-width:560px) {
  .player-leaderboards { width: 100%; }
  .leaderboard-table tbody td { height: 92px; padding: 6px !important; }
  .leaderboard-photo-cell { width: 68px; }
  .leaderboard-photo {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
  }
  .leaderboard-player strong { font-size: 12px; }
  .leaderboard-player span { font-size: 9px; }
  .leaderboard-player small { font-size: 8px; }
  .leaderboard-metric { width: 49px; }
  .leaderboard-metric span { font-size: 7px; letter-spacing: 0; }
  .leaderboard-metric strong { font-size: 12px; }
}

/* Triples por equipo */
.team-triples-section {
  width: 90%;
  margin: 22px auto 10px;
}
.team-triples-heading {
  padding: 17px 20px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  color: #fff;
  background: var(--ink);
  border-radius: 12px 12px 0 0;
}
.team-triples-heading span {
  display: block;
  margin-bottom: 3px;
  color: var(--orange2);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.team-triples-heading h3 {
  margin: 0;
  color: #fff;
  font: 800 25px/1 var(--display);
  text-transform: uppercase;
}
.team-triples-heading p {
  margin: 0;
  color: #aeb8c8;
  font-size: 11px;
}
.team-triples-grid {
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  background: #eef1f5;
  border-radius: 0 0 12px 12px;
}
.team-triples-card {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce2ea;
  border-radius: 12px;
  box-shadow: 0 7px 24px rgba(16,26,42,.07);
}
.team-triples-team {
  min-height: 100px;
  padding: 13px 15px;
  display: grid;
  grid-template-columns: 74px minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid #e7ebf0;
}
.team-triples-team > img {
  width: 74px;
  height: 74px;
  padding: 5px;
  display: block;
  object-fit: contain;
  background: #f3f5f8;
  border-radius: 10px;
}
.team-triples-name { min-width: 0; }
.team-triples-name span {
  color: #8a94a2;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.team-triples-name h4 {
  margin: 3px 0 0;
  color: var(--ink);
  font: 800 21px/1 var(--display);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.team-triples-total {
  min-width: 78px;
  padding: 9px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  background: var(--orange);
  border-radius: 9px;
}
.team-triples-total span,
.team-triples-total small {
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.team-triples-total strong { font: 800 26px/1 var(--display); }
.team-triples-players {
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.team-triples-player {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #f8f9fb;
  border: 1px solid #e1e6ed;
  border-radius: 9px;
}
.team-triples-player > img {
  width: 100%;
  height: 138px;
  display: block;
  object-fit: cover;
  object-position: center 48%;
  background: #e4e8ee;
}
.team-triples-player-info {
  min-height: 116px;
  padding: 10px;
  display: flex;
  flex-direction: column;
}
.team-triples-player h5 {
  min-height: 34px;
  margin: 0 0 9px;
  color: var(--ink);
  font: 700 15px/1.08 var(--display);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.team-triples-metrics {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  overflow: hidden;
  background: #fff;
  border: 1px solid #e1e6ed;
  border-radius: 7px;
}
.team-triples-metrics span {
  padding: 6px 3px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-right: 1px solid #e1e6ed;
}
.team-triples-metrics span:last-child { border-right: 0; }
.team-triples-metrics small {
  color: #8a94a2;
  font-size: 7px;
  font-weight: 800;
}
.team-triples-metrics strong { color: var(--ink); font-size: 13px; }
.team-triples-metrics .highlight { background: #fff1eb; }
.team-triples-metrics .highlight strong { color: var(--orange); }

@media(max-width:1100px) {
  .team-triples-grid { grid-template-columns: 1fr; }
}
@media(max-width:650px) {
  .team-triples-section { width: 100%; margin-top: 14px; }
  .team-triples-heading { padding: 14px; align-items: start; flex-direction: column; gap: 5px; }
  .team-triples-grid { padding: 9px; gap: 10px; }
  .team-triples-team { grid-template-columns: 60px minmax(0,1fr) auto; gap: 9px; padding: 10px; }
  .team-triples-team > img { width: 60px; height: 60px; }
  .team-triples-name h4 { font-size: 18px; }
  .team-triples-total { min-width: 64px; padding-inline: 8px; }
  .team-triples-players { grid-template-columns: 1fr; }
  .team-triples-player { display: grid; grid-template-columns: 92px minmax(0,1fr); }
  .team-triples-player > img { width: 92px; height: 100%; min-height: 116px; }
  .team-triples-player-info { min-height: 116px; }
}

/* Página de contacto */
.contact-page {
  min-height: calc(100vh - 160px);
  padding: 128px 20px 70px;
  background: radial-gradient(circle at 85% 15%,rgba(240,90,40,.08),transparent 32%),#eef1f5;
}
.contact-page > .container { max-width: 1220px; padding: 0 !important; }
.contact-shell {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce2ea;
  border-radius: 18px;
  box-shadow: 0 22px 55px rgba(16,26,42,.12);
}
.contact-layout {
  display: grid;
  grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr);
}
.contact-intro {
  min-height: 650px;
  padding: 62px 48px;
  overflow: hidden;
  position: relative;
  color: #fff;
  background: linear-gradient(145deg,#08111f,#17243a);
}
.contact-intro:after {
  content: "BASKET";
  position: absolute;
  left: -18px;
  bottom: -28px;
  color: rgba(255,255,255,.04);
  font: 800 104px/1 var(--display);
  pointer-events: none;
}
.contact-kicker {
  display: block;
  margin-bottom: 14px;
  color: var(--orange2);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.contact-intro h1 {
  max-width: 430px;
  margin: 0;
  color: #fff;
  font: 800 clamp(44px,5vw,68px)/.92 var(--display);
  text-transform: uppercase;
}
.contact-intro > p {
  max-width: 430px;
  margin: 22px 0 34px;
  color: #adb7c6;
  font-size: 13px;
  line-height: 1.7;
}
.contact-benefits { display: grid; gap: 12px; margin-bottom: 34px; }
.contact-benefits > div {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
}
.contact-benefits strong { color: #fff; font-size: 11px; }
.contact-benefits span { color: #9faabb; font-size: 10px; line-height: 1.45; }
.contact-intro > a {
  position: relative;
  z-index: 1;
  color: var(--orange2);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.contact-intro > a:hover { color: #fff; }
.contact-form-column { min-width: 0; padding: 46px; display: flex; align-items: center; }
.contact-form-column > .row { width: 100%; margin: 0; }
.contact-form-column .col-12 { padding: 0; }
.contact-card {
  width: 100%;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.contact-form-header { margin-bottom: 28px; }
.contact-form-header > span {
  display: block;
  margin-bottom: 6px;
  color: var(--orange);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.contact-form-header h2 {
  margin: 0;
  color: var(--ink);
  font: 800 34px/1 var(--display);
  text-transform: uppercase;
}
.contact-form-header p { margin: 9px 0 0; color: #7a8492; font-size: 10px; }
.contact-card-body { padding: 0 !important; }
.contact-field { margin-bottom: 17px; }
.contact-field > label {
  display: block;
  margin-bottom: 7px;
  color: #4a5566;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.contact-control {
  min-height: 52px;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  overflow: hidden;
  background: #f8f9fb;
  border: 1px solid #d9dee7;
  border-radius: 8px;
  transition: border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-control:focus-within {
  background: #fff;
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(240,90,40,.11);
}
.contact-control > i {
  display: grid;
  place-items: center;
  color: var(--orange);
  background: #eef1f5;
  border-right: 1px solid #d9dee7;
  font-size: 13px;
}
.contact-control input,
.contact-control textarea {
  width: 100%;
  min-width: 0;
  padding: 0 14px;
  color: var(--ink);
  background: transparent;
  border: 0;
  outline: 0;
  font: 500 13px var(--body);
}
.contact-textarea-control { min-height: 132px; }
.contact-textarea-control > i { align-items: start; padding-top: 18px; }
.contact-control textarea { min-height: 132px; padding-top: 15px; resize: vertical; }
.captcha-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; }
.captcha-code,
.captcha-answer {
  width: 100%;
  min-height: 49px;
  padding: 0 14px;
  color: var(--ink);
  background: #f8f9fb;
  border: 1px solid #d9dee7;
  border-radius: 8px;
  outline: 0;
  font: 700 14px var(--body);
}
.captcha-code {
  color: var(--ink) !important;
  opacity: 1 !important;
  background: repeating-linear-gradient(-45deg,#f6f7f9,#f6f7f9 8px,#eceff3 8px,#eceff3 16px) !important;
  letter-spacing: .22em;
  text-align: center;
}
.captcha-answer { margin-top: 9px; font-size: 12px; font-weight: 500; }
.captcha-answer:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(240,90,40,.11); }
.captcha-refresh {
  min-height: 49px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  background: #fff;
  border: 1px solid #d9dee7;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.captcha-refresh:hover { color: var(--orange); border-color: var(--orange); }
.contact-submit {
  width: 100%;
  min-height: 54px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  background: var(--orange);
  border: 0;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(240,90,40,.22);
}
.contact-submit b { font-size: 20px; }
.contact-submit:hover { background: #d94719; transform: translateY(-1px); }
.contact-result {
  width: 100%;
  min-height: 360px;
  padding: 55px 35px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #fff;
  border: 1px solid #dce2ea;
  border-radius: 12px;
}
.contact-result-icon {
  width: 66px;
  height: 66px;
  margin-bottom: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #16a154;
  border-radius: 50%;
  font: 800 28px var(--display);
}
.contact-result.is-error .contact-result-icon { background: #d7392f; }
.contact-result h2 { margin: 0; color: var(--ink); font: 800 30px/1 var(--display); text-transform: uppercase; }
.contact-result p { max-width: 430px; margin: 14px 0 0; color: #687385; font-size: 12px; line-height: 1.6; }

@media(max-width:900px) {
  .contact-page { padding: 105px 12px 45px; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-intro { min-height: auto; padding: 40px 30px; }
  .contact-intro h1 { font-size: 50px; }
  .contact-benefits { grid-template-columns: repeat(2,1fr); margin-bottom: 24px; }
  .contact-form-column { padding: 35px 30px; }
}
@media(max-width:560px) {
  .contact-intro { padding: 32px 20px; }
  .contact-intro h1 { font-size: 43px; }
  .contact-intro > p { margin: 16px 0 22px; }
  .contact-benefits { grid-template-columns: 1fr; }
  .contact-form-column { padding: 28px 18px; }
  .contact-form-header h2 { font-size: 28px; }
  .captcha-row { grid-template-columns: 1fr; }
  .captcha-refresh { justify-content: center; }
}

/* Indicador de lanzamiento de tres puntos en el detalle del partido. */
.triple-shot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  margin-left: 8px;
  border: 1px solid #ffb196;
  border-radius: 50%;
  background: #fff;
  color: var(--orange);
  font-size: 15px;
  line-height: 1;
  vertical-align: middle;
  box-shadow: 0 2px 6px rgba(245, 85, 39, .15);
}

/* Historial de partidos desde la tabla de posiciones. */
.standings-team-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.standings-team-trigger strong { transition: color .18s ease; }
.standings-team-trigger span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf1f6;
  color: #68758a;
  font: 800 9px var(--body);
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity .18s ease, transform .18s ease, background .18s ease;
}
.standings-team-trigger:hover strong,
.standings-team-trigger:focus-visible strong { color: var(--orange); }
.standings-team-trigger:hover span,
.standings-team-trigger:focus-visible span {
  background: #fff0ea;
  color: var(--orange);
  opacity: 1;
  transform: translateX(0);
}
.standings-team-trigger:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }

.team-history-modal .modal-dialog { max-width: 1240px; }
.team-history-modal .modal-content {
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  background: #edf1f6;
  box-shadow: 0 28px 80px rgba(5, 13, 28, .28);
}
.team-history-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 116px;
  padding: 25px 32px;
  background: linear-gradient(115deg, #081221 0%, #111d31 100%);
  color: #fff;
}
.team-history-header span,
.team-history-panel > header span {
  display: block;
  margin-bottom: 6px;
  color: var(--orange);
  font: 800 10px var(--body);
  letter-spacing: .16em;
}
.team-history-header h2 {
  margin: 0;
  font: 800 38px/1 var(--display);
  text-transform: uppercase;
}
.team-history-header .btn-close { width: 22px; height: 22px; opacity: .9; }
.team-history-body { padding: 24px; background: #edf1f6; }
.team-history-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}
.team-history-stat {
  position: relative;
  overflow: hidden;
  min-height: 82px;
  padding: 16px 18px;
  border: 1px solid #dce3ec;
  border-radius: 12px;
  background: #fff;
}
.team-history-stat::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: #91a0b5; content: ""; }
.team-history-stat.won::before { background: #13a66a; }
.team-history-stat.lost::before { background: #df454d; }
.team-history-stat.absent::before { background: #7850c7; }
.team-history-stat.scheduled::before { background: #8290a3; }
.team-history-stat span { display: block; color: #8490a2; font: 800 10px var(--body); letter-spacing: .09em; }
.team-history-stat strong { display: block; margin-top: 5px; color: var(--ink); font: 800 28px/1 var(--display); }
.team-history-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(280px, .75fr); gap: 18px; align-items: start; }
.team-history-panel {
  padding: 22px;
  border: 1px solid #dce3ec;
  border-radius: 14px;
  background: #fff;
}
.team-history-panel > header { padding-bottom: 15px; border-bottom: 1px solid #e3e8ef; }
.team-history-panel > header h3 { margin: 0; color: var(--ink); font: 800 26px/1 var(--display); text-transform: uppercase; }
.team-history-matches { display: grid; gap: 10px; margin-top: 16px; }
.team-history-match {
  --outcome: #8290a3;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) 112px;
  align-items: center;
  gap: 16px;
  min-height: 92px;
  padding: 13px 15px;
  border: 1px solid #e0e6ed;
  border-left: 5px solid var(--outcome);
  border-radius: 11px;
  background: #fff;
}
.team-history-match.outcome-ganado { --outcome: #13a66a; background: #f5fcf8; }
.team-history-match.outcome-perdido { --outcome: #df454d; background: #fff7f7; }
.team-history-match.outcome-np { --outcome: #7850c7; background: #faf7ff; }
.team-history-match-date { display: flex; flex-direction: column; gap: 2px; }
.team-history-match-date span,
.team-history-opponent > span { color: #8793a5; font: 800 9px var(--body); letter-spacing: .08em; text-transform: uppercase; }
.team-history-match-date strong { color: var(--ink); font: 800 14px var(--body); }
.team-history-match-date small,
.team-history-opponent small { color: #6f7b8d; font: 500 11px var(--body); }
.team-history-opponent { min-width: 0; padding-left: 16px; border-left: 1px solid #e1e6ed; }
.team-history-opponent h4 { overflow: hidden; margin: 3px 0; color: var(--ink); font: 800 21px/1 var(--display); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.team-history-result { justify-self: end; min-width: 98px; padding: 10px 9px; border-radius: 9px; background: var(--outcome); color: #fff; text-align: center; }
.team-history-result span { display: block; font: 800 8px var(--body); letter-spacing: .08em; }
.team-history-result strong { display: block; margin-top: 2px; font: 800 21px/1 var(--display); }
.team-venues-panel > p { margin: 13px 0 18px; color: #707d90; font: 500 12px/1.5 var(--body); }
.team-history-venues { display: grid; gap: 18px; }
.team-venue-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
.team-venue-row > div:first-child { display: flex; flex-direction: column; min-width: 0; }
.team-venue-row strong { overflow: hidden; color: var(--ink); font: 700 13px var(--body); text-overflow: ellipsis; white-space: nowrap; }
.team-venue-row span { color: #7c8899; font: 500 10px var(--body); }
.team-venue-row b { align-self: center; color: var(--orange); font: 800 14px var(--body); }
.team-venue-track { grid-column: 1 / -1; overflow: hidden; height: 8px; border-radius: 999px; background: #e8edf3; }
.team-venue-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--orange), #ff8a5f); }
.team-history-empty { padding: 28px 16px; border: 1px dashed #ccd5e0; border-radius: 10px; color: #7c8899; text-align: center; }

@media(max-width:900px) {
  .team-history-layout { grid-template-columns: 1fr; }
  .team-history-summary { grid-template-columns: repeat(5, minmax(86px, 1fr)); overflow-x: auto; }
  .standings-team-trigger span { display: none; }
}
@media(max-width:620px) {
  .team-history-header { min-height: 96px; padding: 22px 20px; }
  .team-history-header h2 { font-size: 30px; }
  .team-history-body { padding: 13px; }
  .team-history-panel { padding: 15px; }
  .team-history-match { grid-template-columns: 1fr auto; gap: 10px; }
  .team-history-match-date { grid-column: 1 / -1; flex-direction: row; gap: 8px; }
  .team-history-opponent { padding-left: 0; border-left: 0; }
  .team-history-opponent h4 { font-size: 18px; }
}
