@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/barlow-condensed-normal-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/barlow-condensed-normal-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/barlow-condensed-normal-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/barlow-condensed-normal-800.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/dancing-script-normal-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/dancing-script-normal-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/inter-normal-300.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-normal-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-normal-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter-normal-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter-normal-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Titan One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/titan-one-normal-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ══════════════════════════════════════════════════════════════
   public.css - Torneo Baby Fútbol Apoderados SFD
   CSS 100% propio - Sin dependencias externas
   ══════════════════════════════════════════════════════════════ */

/* ── Reset / Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img, video, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { background: transparent; border: 0; padding: 0; cursor: pointer; font: inherit; }

/* ── CSS Variables (from Tailwind config) ── */
:root {
  --color-verde-claro: #2e8c2d;
  --color-verde-oscuro: #1a5c1a;
  --color-verde-campo: #27743f;
  --color-amarillo: #e0a107;
  --color-amarillo-claro: #f5d060;
  --color-gris-oscuro: #1a1a2e;
  --color-gris-medio: #16213e;
}

/* ══ Tailwind Utility Classes ══ */

.-translate-x-1\/2 { transform: translateX(-50%) }
.-translate-y-1\/2 { transform: translateY(-50%) }
.absolute { position: absolute }
.animate-bounce { animation: bounce 1s infinite }
.aspect-\[16\/9\] { aspect-ratio: 16 / 9 }
.aspect-\[3\/4\] { aspect-ratio: 3 / 4 }
.aspect-square { aspect-ratio: 1 / 1 }
.backdrop-blur-md { backdrop-filter: blur(12px) }
.backdrop-blur-sm { backdrop-filter: blur(4px) }
.bg-black\/40 { background-color: rgba(0, 0, 0, 0.4) }
.bg-black\/70 { background-color: rgba(0, 0, 0, 0.7) }
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)) }
.from-verde-claro { --tw-gradient-from: #2e8c2d; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent) }
.to-amarillo { --tw-gradient-to: #e0a107 }
.bg-gray-100 { background-color: #f3f4f6 }
.bg-gray-300 { background-color: #d1d5db }
.bg-gray-50 { background-color: #f9fafb }
.bg-gris-oscuro { background-color: #1a1a2e }
.bg-gris-oscuro\/70 { background-color: rgba(26, 26, 46, 0.7) }
.bg-gris-oscuro\/80 { background-color: rgba(26, 26, 46, 0.8) }
.bg-gris-oscuro\/95 { background-color: rgba(26, 26, 46, 0.95) }
.bg-transparent { background-color: transparent }
.bg-verde-campo\/10 { background-color: rgba(39, 116, 63, 0.1) }
.bg-verde-claro { background-color: #2e8c2d }
.bg-verde-oscuro\/80 { background-color: rgba(26, 92, 26, 0.8) }
.bg-white { background-color: #ffffff }
.bg-white\/10 { background-color: rgba(255, 255, 255, 0.1) }
.bg-white\/15 { background-color: rgba(255, 255, 255, 0.15) }
.bg-white\/95 { background-color: rgba(255, 255, 255, 0.95) }
.block { display: block }
.border { border-width: 1px; border-style: solid }
.border-2 { border-width: 2px; border-style: solid }
.border-gray-100 { border-color: #f3f4f6 }
.border-gray-200 { border-color: #e5e7eb }
.border-gray-700 { border-color: #374151 }
.border-gray-700\/50 { border-color: rgba(55, 65, 81, 0.5) }
.border-r-0 { border-right-width: 0 }
.border-t { border-top-width: 1px; border-top-style: solid }
.border-white { border-color: #ffffff }
.border-white\/20 { border-color: rgba(255, 255, 255, 0.2) }
.border-white\/30 { border-color: rgba(255, 255, 255, 0.3) }
.bottom-0 { bottom: 0 }
.bottom-6 { bottom: 1.5rem }
.bottom-8 { bottom: 2rem }
.cursor-pointer { cursor: pointer }
.duration-200 { transition-duration: 200ms }
.duration-300 { transition-duration: 300ms }
.duration-500 { transition-duration: 500ms }
.fixed { position: fixed }
.flex { display: flex }
.flex-1 { flex: 1 1 0% }
.flex-col { flex-direction: column }
.flex-row { flex-direction: row }
.flex-shrink-0 { flex-shrink: 0 }
.flex-wrap { flex-wrap: wrap }
.font-bold { font-weight: 700 }
.font-cuerpo { font-family: 'Inter', sans-serif }
.font-deportiva { font-family: 'Barlow Condensed', sans-serif }
.font-extrabold { font-weight: 800 }
.font-medium { font-weight: 500 }
.font-semibold { font-weight: 600 }
.gap-12 { gap: 3rem }
.gap-2 { gap: 0.5rem }
.gap-3 { gap: 0.75rem }
.gap-4 { gap: 1rem }
.gap-5 { gap: 1.25rem }
.gap-6 { gap: 1.5rem }
.gap-8 { gap: 2rem }
.grid { display: grid }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) }
.h-1 { height: 0.25rem }
.h-10 { height: 2.5rem }
.h-12 { height: 3rem }
.h-16 { height: 4rem }
.h-4 { height: 1rem }
.h-5 { height: 1.25rem }
.h-6 { height: 1.5rem }
.h-8 { height: 2rem }
.h-auto { height: auto }
.h-full { height: 100% }
.hidden { display: none }
.inline-flex { display: inline-flex }
.inset-0 { inset: 0 }
.italic { font-style: italic }
.items-center { align-items: center }
.items-start { align-items: flex-start }
.justify-between { justify-content: space-between }
.justify-center { justify-content: center }
.leading-relaxed { line-height: 1.625 }
.leading-tight { line-height: 1.25 }
.left-0 { left: 0 }
.left-1\/2 { left: 50% }
.left-2 { left: 0.5rem }
.max-h-\[calc\(100vh-4rem\)\] { max-height: calc(100vh-4rem) }
.max-h-full { max-height: 100% }
.max-w-2xl { max-width: 42rem }
.max-w-3xl { max-width: 48rem }
.max-w-4xl { max-width: 56rem }
.max-w-5xl { max-width: 64rem }
.max-w-6xl { max-width: 72rem }
.max-w-7xl { max-width: 80rem }
.max-w-full { max-width: 100% }
.max-w-lg { max-width: 32rem }
.max-w-xl { max-width: 36rem }
.mb-0 { margin-bottom: 0 }
.mb-1 { margin-bottom: 0.25rem }
.mb-10 { margin-bottom: 2.5rem }
.mb-12 { margin-bottom: 3rem }
.mb-2 { margin-bottom: 0.5rem }
.mb-3 { margin-bottom: 0.75rem }
.mb-4 { margin-bottom: 1rem }
.mb-5 { margin-bottom: 1.25rem }
.mb-6 { margin-bottom: 1.5rem }
.mb-8 { margin-bottom: 2rem }
.mt-1 { margin-top: 0.25rem }
.mt-10 { margin-top: 2.5rem }
.mt-12 { margin-top: 3rem }
.mt-2 { margin-top: 0.5rem }
.mt-3 { margin-top: 0.75rem }
.mt-4 { margin-top: 1rem }
.mt-6 { margin-top: 1.5rem }
.mx-auto { margin-left: auto; margin-right: auto }
.my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem }
.my-auto { margin-top: auto; margin-bottom: auto }
.object-contain { object-fit: contain }
.object-cover { object-fit: cover }
.opacity-90 { opacity: 0.9 }
.overflow-hidden { overflow: hidden }
.overflow-x-hidden { overflow-x: hidden }
.overflow-y-auto { overflow-y: auto }
.p-2 { padding: 0.5rem }
.p-3 { padding: 0.75rem }
.p-4 { padding: 1rem }
.p-6 { padding: 1.5rem }
.p-8 { padding: 2rem }
.pb-4 { padding-bottom: 1rem }
.pt-20 { padding-top: 5rem }
.pt-6 { padding-top: 1.5rem }
.px-1 { padding-left: 0.25rem; padding-right: 0.25rem }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem }
.px-4 { padding-left: 1rem; padding-right: 1rem }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem }
.py-12 { padding-top: 3rem; padding-bottom: 3rem }
.py-16 { padding-top: 4rem; padding-bottom: 4rem }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem }
.py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem }
.py-20 { padding-top: 5rem; padding-bottom: 5rem }
.relative { position: relative }
.right-0 { right: 0 }
.right-2 { right: 0.5rem }
.right-3 { right: 0.75rem }
.right-6 { right: 1.5rem }
.rounded { border-radius: 0.25rem }
.rounded-2xl { border-radius: 1rem }
.rounded-full { border-radius: 9999px }
.rounded-l-xl { border-top-left-radius: 0.75rem; border-bottom-left-radius: 0.75rem }
.rounded-lg { border-radius: 0.5rem }
.rounded-t-2xl { border-top-left-radius: 1rem; border-top-right-radius: 1rem }
.rounded-xl { border-radius: 0.75rem }
.scroll-mt-20 { scroll-margin-top: 5rem }
.shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25) }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1) }
.shadow-md { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1) }
.shadow-xl { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1) }
.text-2xl { font-size: 1.5rem; line-height: 2rem }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem }
.text-amarillo { color: #e0a107 }
.text-base { font-size: 1rem; line-height: 1.5rem }
.text-center { text-align: center }
.text-gray-200 { color: #e5e7eb }
.text-gray-300 { color: #d1d5db }
.text-gray-400 { color: #9ca3af }
.text-gray-500 { color: #6b7280 }
.text-gray-600 { color: #4b5563 }
.text-gray-800 { color: #1f2937 }
.text-gris-oscuro { color: #1a1a2e }
.text-left { text-align: left }
.text-lg { font-size: 1.125rem; line-height: 1.75rem }
.text-right { text-align: right }
.text-sm { font-size: 0.875rem; line-height: 1.25rem }
.text-verde-campo { color: #27743f }
.text-verde-claro { color: #2e8c2d }
.text-white { color: #ffffff }
.text-white\/50 { color: rgba(255, 255, 255, 0.5) }
.text-white\/60 { color: rgba(255, 255, 255, 0.6) }
.text-white\/80 { color: rgba(255, 255, 255, 0.8) }
.text-white\/85 { color: rgba(255, 255, 255, 0.85) }
.text-white\/90 { color: rgba(255, 255, 255, 0.9) }
.text-xl { font-size: 1.25rem; line-height: 1.75rem }
.text-xs { font-size: 0.75rem; line-height: 1rem }
.top-0 { top: 0 }
.top-1\/2 { top: 50% }
.top-16 { top: 4rem }
.top-3 { top: 0.75rem }
.tracking-tight { letter-spacing: -0.025em }
.tracking-wide { letter-spacing: 0.025em }
.tracking-wider { letter-spacing: 0.05em }
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms }
.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms }
.transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms }
.uppercase { text-transform: uppercase }
.w-10 { width: 2.5rem }
.w-12 { width: 3rem }
.w-16 { width: 4rem }
.w-4 { width: 1rem }
.w-5 { width: 1.25rem }
.w-6 { width: 1.5rem }
.w-8 { width: 2rem }
.w-full { width: 100% }
.w-px { width: 1px }
.whitespace-nowrap { white-space: nowrap }
.z-10 { z-index: 10 }
.z-20 { z-index: 20 }
.z-40 { z-index: 40 }
.z-50 { z-index: 50 }
.z-\[9999\] { z-index: 9999 }

/* ── Responsive: sm (≥640px) ── */
@media (min-width: 640px) { .sm\:block { display: block } }
@media (min-width: 640px) { .sm\:gap-16 { gap: 4rem } }
@media (min-width: 640px) { .sm\:gap-6 { gap: 1.5rem } }
@media (min-width: 640px) { .sm\:gap-8 { gap: 2rem } }
@media (min-width: 640px) { .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) } }
@media (min-width: 640px) { .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) } }
@media (min-width: 640px) { .sm\:h-12 { height: 3rem } }
@media (min-width: 640px) { .sm\:h-6 { height: 1.5rem } }
@media (min-width: 640px) { .sm\:left-4 { left: 1rem } }
@media (min-width: 640px) { .sm\:mb-14 { margin-bottom: 3.5rem } }
@media (min-width: 640px) { .sm\:mt-14 { margin-top: 3.5rem } }
@media (min-width: 640px) { .sm\:mt-2 { margin-top: 0.5rem } }
@media (min-width: 640px) { .sm\:p-6 { padding: 1.5rem } }
@media (min-width: 640px) { .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem } }
@media (min-width: 640px) { .sm\:py-20 { padding-top: 5rem; padding-bottom: 5rem } }
@media (min-width: 640px) { .sm\:py-28 { padding-top: 7rem; padding-bottom: 7rem } }
@media (min-width: 640px) { .sm\:right-4 { right: 1rem } }
@media (min-width: 640px) { .sm\:text-3xl { font-size: 1.875rem; line-height: 2.25rem } }
@media (min-width: 640px) { .sm\:text-4xl { font-size: 2.25rem; line-height: 2.5rem } }
@media (min-width: 640px) { .sm\:text-5xl { font-size: 3rem; line-height: 1 } }
@media (min-width: 640px) { .sm\:text-base { font-size: 1rem; line-height: 1.5rem } }
@media (min-width: 640px) { .sm\:text-lg { font-size: 1.125rem; line-height: 1.75rem } }
@media (min-width: 640px) { .sm\:text-sm { font-size: 0.875rem; line-height: 1.25rem } }
@media (min-width: 640px) { .sm\:text-xl { font-size: 1.25rem; line-height: 1.75rem } }
@media (min-width: 640px) { .sm\:w-12 { width: 3rem } }
@media (min-width: 640px) { .sm\:w-6 { width: 1.5rem } }

/* ── Responsive: md (≥768px) ── */
@media (min-width: 768px) { .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) } }
@media (min-width: 768px) { .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) } }
@media (min-width: 768px) { .md\:text-5xl { font-size: 3rem; line-height: 1 } }

/* ── Responsive: lg (≥1024px) ── */
@media (min-width: 1024px) { .lg\:gap-8 { gap: 2rem } }
@media (min-width: 1024px) { .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) } }
@media (min-width: 1024px) { .lg\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) } }
@media (min-width: 1024px) { .lg\:px-8 { padding-left: 2rem; padding-right: 2rem } }

/* ── Responsive: xl (≥1280px) ── */
@media (min-width: 1280px) { .xl\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) } }

/* ── Hover States ── */
.hover\:-translate-y-1:hover { transform: translateY(-0.25rem) }
.hover\:bg-black\/70:hover { background-color: rgba(0, 0, 0, 0.7) }
.hover\:bg-gris-oscuro:hover { background-color: #1a1a2e }
.hover\:bg-verde-oscuro:hover { background-color: #1a5c1a }
.hover\:bg-white\/5:hover { background-color: rgba(255, 255, 255, 0.05) }
.hover\:bg-white\/5':hover { background-color: rgba(255, 255, 255, 0.05) }
.hover\:border-verde-claro\/40:hover { border-color: rgba(46, 140, 45, 0.4) }
.hover\:scale-110:hover { transform: scale(1.1) }
.hover\:shadow-lg:hover { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1) }
.hover\:shadow-xl:hover { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1) }
.hover\:text-amarillo:hover { color: #e0a107 }
.hover\:text-white:hover { color: #ffffff }

/* ── Group hover ── */
.group:hover .group-hover\:scale-105 { transform: scale(1.05); }
.group:hover .group-hover\:text-verde-claro { color: #2e8c2d; }

/* ── Space utilities ── */
.space-y-6 > * + * { margin-top: 1.5rem; }

/* ── Responsive: sm (640px) ── */
@media (min-width: 640px) {
  .sm\:aspect-video { aspect-ratio: 16 / 9; }
}

/* ── Keyframes ── */
@keyframes bounce {
  0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8,0,1,1); }
  50% { transform: translateY(0); animation-timing-function: cubic-bezier(0,0,0.2,1); }
}

/* ══════════════════════════════════════════════════════════════
   Custom CSS (extracted from index_new.php)
   ══════════════════════════════════════════════════════════════ */

/* Scroll suave global */
html { scroll-behavior: smooth; scroll-padding-top: 68px; }

/* Ocultar scrollbar en carruseles */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Parallax simple */
.parallax-bg {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Animación fade-in al hacer scroll (se activa con Alpine) */
.fade-in-section {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.fade-in-section.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Fallback icons: se muestran solo cuando la imagen falla */
img + .fallback-icon { display: none; }
img[style*="display: none"] + .fallback-icon,
img[style*="display:none"] + .fallback-icon { display: flex; }
/* Para fallbacks que no son el siguiente sibling */
img + div.fallback-icon { display: none; }
img[style*="display: none"] + div.fallback-icon,
img[style*="display:none"] + div.fallback-icon { display: flex; }

/* ══ Navbar Sponsor Carousel ══ */
@keyframes sponsorScroll{0%{transform:translateX(0)}100%{transform:translateX(-25%)}}
.sponsor-carousel{flex:1;overflow:hidden;margin:0 8px 0 36px;position:relative;height:40px;min-width:0;mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}
.sponsor-carousel-track{display:flex;align-items:center;height:100%;width:max-content;animation:sponsorScroll var(--sponsor-dur,20s) linear infinite}
.sponsor-carousel-track:hover{animation-play-state:paused}
.sponsor-carousel-track img{height:30px;width:auto;margin:0 28px;opacity:1;filter:none;transition:opacity 0.3s,filter 0.3s}
.sponsor-carousel-track img:hover{opacity:1;filter:none}

/* ══ Campeones Tab Carousel ══ */
.camp-tabs-carousel{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;max-width:calc(100vw - 120px);scroll-behavior:smooth}
.camp-tabs-carousel::-webkit-scrollbar{display:none}
.camp-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.15);color:#fff;font-size:24px;line-height:36px;text-align:center;cursor:pointer;transition:background 0.2s;border:1px solid rgba(255,255,255,0.3);backdrop-filter:blur(4px)}
.camp-carousel-arrow:hover{background:rgba(255,255,255,0.3)}
.camp-carousel-arrow-left{left:0}
.camp-carousel-arrow-right{right:0}
.camp-img-frame{width:100%;max-height:500px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.1)}
.camp-img-frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}

/* ══ Hero Banner 3D ══ */
.hero-3d{position:relative;width:100%;height:100vh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero-3d .hero-bg{position:absolute;inset:0;background:#1a6b2a url('../../images/hero_bg_texture.jpg') center/cover no-repeat;z-index:0}
.hero-3d .hero-bg-depth{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(0,0,0,0.12) 100%);pointer-events:none}
.hero-3d .hero-bottom-fade{position:absolute;left:0;right:0;bottom:0;height:45%;z-index:3;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,0.75) 100%);pointer-events:none}
.hero-3d #logoBgCanvas{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-3d .hero-inner{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;gap:1.2rem;margin-top:-3rem}
.hero-3d .hero-content .btn-hero{margin-top:0.6rem}
.hero-3d .ball-wrap{position:relative;cursor:grab}
.hero-3d .ball-wrap:active{cursor:grabbing}
.hero-3d #ballCanvas{display:block}
.hero-3d #fxCanvas{position:absolute;top:0;left:0;pointer-events:none}
@keyframes heroLoadPulse{0%,100%{opacity:0.4}50%{opacity:1}}
.hero-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:rgba(255,255,255,0.6);font-family:'Inter',sans-serif;font-size:0.85rem;letter-spacing:3px;text-transform:uppercase;animation:heroLoadPulse 1.8s ease-in-out infinite;pointer-events:none;z-index:8;transition:opacity 0.4s}
.hero-3d .hero-content{text-align:center;color:white;padding:0 1rem;max-width:100%;box-sizing:border-box}
.hero-3d .hero-content h1{font-family:'Titan One',cursive;font-size:3.2rem;font-weight:400;text-transform:uppercase;letter-spacing:3px;text-shadow:2px 4px 12px rgba(0,0,0,0.5);margin-bottom:0.6rem;line-height:1.15;color:white}
.hero-3d .hero-content h1 .line1{font-size:1.32em;letter-spacing:6px}
.hero-3d .hero-content h1 .foto-o{display:inline-block;width:0.95em;height:0.95em;border-radius:50%;object-fit:cover;vertical-align:middle;margin:0 0.04em 0 0.01em;position:relative;top:-0.04em;box-shadow:0 2px 8px rgba(0,0,0,0.4);text-shadow:none}
.hero-3d .hero-content p{font-size:1.05rem;opacity:0.9;margin-bottom:0.8rem;text-shadow:1px 2px 6px rgba(0,0,0,0.4)}
.hero-3d .hero-content .slogan{font-family:'Dancing Script',cursive;font-weight:700;font-size:2rem;color:#e0a107;opacity:1;margin-bottom:0;text-shadow:1px 2px 8px rgba(0,0,0,0.45);letter-spacing:1px;line-height:1.3;margin-top:0}
.hero-3d .hero-content .school-name{font-size:1.05rem;color:white;font-weight:600;letter-spacing:1px;margin-top:0.6rem;margin-bottom:0;text-shadow:1px 2px 6px rgba(0,0,0,0.4);opacity:0.95}
.hero-3d .hero-content .btn-hero{display:inline-block;padding:14px 36px;background:#e0a107;color:#1a1a2e;font-weight:800;font-size:0.95rem;text-transform:uppercase;border-radius:50px;text-decoration:none;letter-spacing:1px;box-shadow:0 4px 20px rgba(224,161,7,0.4);transition:transform .2s,box-shadow .2s}
.hero-3d .hero-content .btn-hero:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(224,161,7,0.55)}
@media(min-width:641px){.hero-3d .ball-wrap{transform:scale(0.75);margin:-50px 0}.hero-3d .hero-inner{margin-top:0;gap:0.4rem}}
@media(max-width:640px){.hero-3d .hero-content h1{font-size:2rem}.hero-3d .hero-content h1 .line1{font-size:1.25em;letter-spacing:4px}.hero-3d .hero-content .slogan{font-size:1.3rem}.hero-3d .ball-wrap{transform:scale(0.8);margin:-30px 0}}
@media(max-width:380px){.hero-3d .hero-content h1{font-size:1.7rem}.hero-3d .hero-content h1 .line1{letter-spacing:2px}.hero-3d .hero-content .slogan{font-size:1.1rem}}
@media(max-width:640px) and (max-height:700px){.hero-3d .ball-wrap{transform:scale(0.65);margin:-40px 0}.hero-3d .hero-inner{gap:0.4rem}}
@media(max-width:640px) and (max-height:600px){.hero-3d .ball-wrap{transform:scale(0.55);margin:-50px 0}.hero-3d .hero-inner{gap:0.2rem;margin-top:-1rem}}

/* ══ Trofeo: ajustes PC ══ */
@media(min-width:1024px){
    .trofeo-layout{max-width:48rem !important;}
    .trofeo-img{width:120px !important;}
    .trofeo-donacion{font-size:16px !important;line-height:1.85 !important;}
    .trofeo-txt{font-size:16px !important;line-height:1.85 !important;}
}

/* ══ Resultados: fondo oscuro con textura ══ */
.resultados-section {
    position: relative; overflow: hidden;
}
.resultados-bg {
    position: absolute; inset: 0;
    background: url('../../images/general/resultados_bg.jpg') center/cover no-repeat;
}
.resultados-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(26,35,50,0.92) 0%, rgba(26,35,50,0.85) 50%, rgba(26,35,50,0.95) 100%);
}
.proxima-bg {
    position: absolute; inset: 0;
    background: url('../../images/general/proxima_bg.jpg') center/cover no-repeat;
}
.proxima-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(140,100,10,0.88) 0%, rgba(120,85,8,0.82) 50%, rgba(100,70,5,0.92) 100%);
}
.fixture-section {
    position: relative; overflow: hidden;
    background: #1a2332;
}
.fixture-bg {
    position: absolute; inset: 0;
    background: url('../../images/general/fixture_bg.jpg') center/cover no-repeat;
}
.fixture-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(26,35,50,0.92) 0%, rgba(26,35,50,0.85) 50%, rgba(26,35,50,0.95) 100%);
}

/* ══ Fixture: Acordeón de fechas ══ */
.fixture-accordion { max-width: 72rem; margin: 0 auto; width: 100%; box-sizing: border-box; }
.fixture-fecha { margin-bottom: 12px; overflow: hidden; }
.fixture-fecha-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 20px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
    user-select: none;
}
.fixture-fecha-header:hover { background: rgba(255,255,255,0.14); }
.fixture-fecha-header h3 {
    margin: 0;
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 700;
    font-size: clamp(16px,3vw,22px);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fixture-fecha-color--verde { color: #3aac4e; }
.fixture-fecha-color--amarillo { color: #eda624; }
.fixture-fecha-chevron {
    width: 20px; height: 20px;
    transition: transform 0.3s;
    color: rgba(255,255,255,0.6);
    flex-shrink: 0;
}
.fixture-fecha.open .fixture-fecha-chevron { transform: rotate(180deg); }
.fixture-fecha-body {
    max-height: 0; overflow: hidden;
    transition: max-height 0.4s ease;
}
.fixture-fecha.open .fixture-fecha-body { max-height: 9999px; }
.fixture-fecha-body-inner {
    padding: 16px 0 8px;
    overflow: hidden;
    max-width: 100%;
}

/* ══ Fixture: Card de partido (3 secciones) ══ */
.fx-card {
    position: relative;
    width: 100%;
    max-width: 100%;
    border-radius: 6px;
    overflow: visible;
    margin-bottom: 0;
    box-sizing: border-box;
}
.fx-card__inner {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 100%;
    height: 88px;
    border-radius: 6px;
    overflow: visible;
}
.fx-card--verde .fx-card__inner { border-bottom: 4px solid #288a38; box-shadow: 0 6px 18px rgba(58,172,78,.25); }
.fx-card--amarillo .fx-card__inner { border-bottom: 4px solid #d48a16; box-shadow: 0 6px 18px rgba(237,166,36,.25); }

/* Viñeta superior (fecha/hora o FINALIZADO) — pegada al borde */
.fx-card__top-badge {
    display: flex; justify-content: center;
    margin-bottom: -1px;
    position: relative; z-index: 15;
}
.fx-card__top-badge span,
.fx-card__top-badge {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 600; font-size: 13px;
    text-transform: uppercase; letter-spacing: 1.4px;
    white-space: nowrap;
}
.fx-card__top-badge-inner {
    display: inline-block;
    padding: 4px 16px;
    color: rgba(255,255,255,.9);
    background: rgba(0,0,0,.55);
    border-radius: 5px 5px 0 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Sección izquierda: equipos + VS/resultado (trapecio diagonal derecho) */
.fx-card__left {
    flex: 1 1 50%;
    position: relative;
    background: linear-gradient(180deg,#fff 0%,#fafafa 50%,#f0f0f0 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 3px 12px;
    min-width: 0;
    clip-path: polygon(0 0, 100% 0, calc(100% - 28px) 100%, 0 100%);
    padding-right: 36px;
    z-index: 3;
}
.fx-card__team-col {
    display: flex; flex-direction: column; align-items: center;
    flex: 1; min-width: 0;
    gap: 1px;
}
.fx-card__team-logo {
    width: clamp(36px,7vw,52px); height: clamp(36px,7vw,52px);
    border-radius: 50%;
    border: 2px solid #e0e0e0;
    overflow: hidden;
    background: #f5f5f5;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.fx-card__team-logo img { width: 100%; height: 100%; object-fit: cover; }
.fx-card__team-logo-fb {
    display: none;
    font-family: 'Oswald',system-ui,sans-serif;
    font-weight: 700; font-size: clamp(11px,1.8vw,16px);
    color: #555;
}
.fx-card__team-logo img[src$="logo_default.jpg"] ~ .fx-card__team-logo-fb,
.fx-card__team-logo img.fx-img-error ~ .fx-card__team-logo-fb {
    display: flex;
}
.fx-card__team-name {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 700;
    font-size: clamp(9px,1.6vw,13px);
    text-transform: uppercase;
    color: #1a1a1a;
    text-align: center;
    line-height: 1.15;
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    word-break: break-word;
}
/* VS badge animado (igual que Próxima Fecha) */
.fx-card__vs-area {
    display: flex; align-items: center; justify-content: center;
    min-width: 40px;
    flex-shrink: 0;
}
.fx-card__vs-badge {
    position: relative;
    display: flex; align-items: center; justify-content: center;
    pointer-events: none;
}
.fx-card__vs-animated {
    position: relative; z-index: 2;
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 900;
    font-size: clamp(24px,5vw,38px);
    color: #555;
    text-shadow: 0 2px 6px rgba(0,0,0,.25);
    letter-spacing: 3px;
    line-height: 1;
}
.fx-card--verde .fx-card__vs-animated { color: #288a38; }
.fx-card--amarillo .fx-card__vs-animated { color: #d48a16; }
.fx-card__vs-animated .vs-v,
.fx-card__vs-animated .vs-s {
    display: inline-block;
    opacity: 0;
    transition: transform 4s cubic-bezier(.16,1,.3,1), opacity 3s ease;
}
.fx-card__vs-animated .vs-v { transform: translateX(-30px); }
.fx-card__vs-animated .vs-s { transform: translateX(30px); }
.fx-vs-animated .fx-card__vs-animated .vs-v,
.fx-vs-animated .fx-card__vs-animated .vs-s {
    opacity: 1; transform: translateX(0);
}
.fx-card__vs-gleam {
    position: absolute; inset: -14px; z-index: 1;
    transform: rotate(-25deg);
    overflow: hidden; opacity: 0;
    border-radius: 50%;
}
.fx-card__vs-gleam::before {
    content: ''; position: absolute;
    top: 5%; left: 10%; right: 10%; bottom: 5%;
    border-radius: 50%; filter: blur(8px);
}
.fx-card--verde .fx-card__vs-gleam::before {
    background: radial-gradient(ellipse, rgba(58,172,78,.9) 0%, rgba(49,152,66,.5) 40%, transparent 70%);
}
.fx-card--amarillo .fx-card__vs-gleam::before {
    background: radial-gradient(ellipse, rgba(237,166,36,.9) 0%, rgba(224,150,28,.5) 40%, transparent 70%);
}
.fx-vs-animated .fx-card__vs-gleam {
    animation: fxVsGleam 4s .5s ease-out forwards;
}
@keyframes fxVsGleam {
    0%   { opacity:0; transform:rotate(-25deg) scale(.3); }
    20%  { opacity:1; transform:rotate(-25deg) scale(1.3); }
    50%  { opacity:.9; transform:rotate(-25deg) scale(1.1); }
    75%  { opacity:.8; transform:rotate(-25deg) scale(1); }
    100% { opacity:.75; transform:rotate(-25deg) scale(1); }
}
/* Score (resultado finalizado) */
.fx-card__score-text {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 800;
    font-size: clamp(22px,4.5vw,36px);
    line-height: 1;
    letter-spacing: 1px;
}
.fx-card--verde .fx-card__score-text { color: #288a38; }
.fx-card--amarillo .fx-card__score-text { color: #d48a16; }
.fx-card__score-dash {
    font-size: clamp(18px,3.5vw,28px);
    font-weight: 600;
    color: #aaa;
    margin: 0 2px;
}

/* Sección central: Mesa Arbitral (diagonal ambos lados) */
.fx-card__mid {
    flex: 0 0 25%;
    position: relative;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    padding: 3px 8px;
    gap: 1px;
    overflow: hidden;
    clip-path: polygon(28px 0, 100% 0, calc(100% - 28px) 100%, 0 100%);
    margin-left: -28px;
    margin-right: -28px;
    z-index: 1;
}
.fx-card--verde .fx-card__mid { background: #319842; }
.fx-card--amarillo .fx-card__mid { background: #e0961c; }
.fx-card__mid-title {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 700;
    font-size: clamp(8px,1.4vw,11px);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255,255,255,.85);
    text-align: center;
    line-height: 1;
}
.fx-card__mid-logo {
    width: clamp(28px,5vw,40px); height: clamp(28px,5vw,40px);
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.5);
    overflow: hidden;
    background: rgba(255,255,255,.15);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,.2);
}
.fx-card__mid-logo img { width: 100%; height: 100%; object-fit: cover; }
.fx-card__mid-name {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 600;
    font-size: clamp(8px,1.3vw,11px);
    color: #fff;
    text-align: center;
    line-height: 1.15;
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    word-break: break-word;
}

/* Sección derecha: MVP (diagonal lado izquierdo) */
.fx-card__right {
    flex: 0 0 25%;
    position: relative;
    background: linear-gradient(180deg,#fff 0%,#fafafa 50%,#f0f0f0 100%);
    display: flex; flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 3px 4px 3px 12px;
    gap: 1px;
    overflow: hidden;
    clip-path: polygon(28px 0, 100% 0, 100% 100%, 0 100%);
    z-index: 3;
}
.fx-card__right-title {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 700;
    font-size: clamp(10px,1.6vw,13px);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #888;
    text-align: center;
    line-height: 1;
}
.fx-card__right-content {
    display: flex; flex-direction: column;
    align-items: center;
    gap: 2px;
    flex: 1;
    justify-content: center;
}
.fx-card__right-logo {
    width: clamp(24px,4.5vw,36px); height: clamp(24px,4.5vw,36px);
    border-radius: 50%;
    border: 2px solid #e0e0e0;
    overflow: hidden;
    background: #f5f5f5;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,.12);
}
.fx-card__right-logo img { width: 100%; height: 100%; object-fit: cover; }
.fx-card__right-name {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 600;
    font-size: clamp(8px,1.3vw,11px);
    color: #333;
    text-align: center;
    line-height: 1.15;
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    word-break: break-word;
}

/* Fixture responsive */
@media (max-width: 640px) {
    .fx-card__inner { height: 76px; }
    .fx-card__team-logo { width: 42px; height: 42px; }
    .fx-card__team-name { font-size: 11px; }
    .fx-card__mid-logo { width: 34px; height: 34px; }
    .fx-card__mid-title { font-size: 10px; }
    .fx-card__mid-name { font-size: 10px; }
    .fx-card__right-logo { width: 30px; height: 30px; }
    .fx-card__right-title { font-size: 11px; }
    .fx-card__right-name { font-size: 10px; }
    .fx-card__vs-animated { font-size: 28px; }
    .fx-card__score-text { font-size: 28px; }
    .fx-card__left { padding: 3px 8px; padding-right: 30px; clip-path: polygon(0 0, 100% 0, calc(100% - 24px) 100%, 0 100%); }
    .fx-card__mid { flex: 0 0 27%; clip-path: polygon(24px 0, 100% 0, calc(100% - 24px) 100%, 0 100%); margin-left: -24px; margin-right: -24px; }
    .fx-card__right { flex: 0 0 23%; clip-path: polygon(24px 0, 100% 0, 100% 100%, 0 100%); }
}
@media (max-width: 420px) {
    .fx-card__inner { height: 66px; }
    .fx-card__team-logo { width: 38px; height: 38px; }
    .fx-card__team-name { font-size: 10px; }
    .fx-card__mid-logo { width: 30px; height: 30px; }
    .fx-card__mid-title { font-size: 9px; }
    .fx-card__mid-name { font-size: 9px; }
    .fx-card__right-logo { width: 26px; height: 26px; }
    .fx-card__right-title { font-size: 10px; }
    .fx-card__right-name { font-size: 9px; }
    .fx-card__vs-animated { font-size: 26px; }
    .fx-card__score-text { font-size: 26px; }
    .fx-card__vs-area { min-width: 34px; }
    .fx-card__left { padding: 2px 6px; clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0 100%); padding-right: 24px; }
    .fx-card__mid { clip-path: polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%); margin-left: -20px; margin-right: -20px; }
    .fx-card__right { clip-path: polygon(20px 0, 100% 0, 100% 100%, 0 100%); }
}

/* ══ Fixture: Panel desplegable de goleadores ══ */
.fx-card__wrapper {
    cursor: default;
}
.fx-card__wrapper[onclick] {
    cursor: pointer;
}
.fx-card__chevron {
    position: absolute;
    bottom: 3px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 15;
    width: 20px;
    height: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: .5;
    transition: transform .3s ease, opacity .3s ease;
}
.fx-card__chevron svg {
    width: 14px;
    height: 8px;
    fill: none;
    stroke: #888;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.fx-card__wrapper--open .fx-card__chevron {
    transform: translateX(-50%) rotate(180deg);
    opacity: .8;
}
.fx-stats {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease, opacity .3s ease;
    opacity: 0;
}
.fx-stats--open {
    max-height: 400px;
    opacity: 1;
}
.fx-stats__inner {
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-top: none;
    border-radius: 0 0 6px 6px;
    padding: 10px 16px 12px;
    margin: 0 12px;
}
.fx-stats__title {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #666;
    text-align: center;
    margin-bottom: 8px;
}
.fx-stats__list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.fx-stats__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.fx-stats__row:last-child { border-bottom: none; }
.fx-stats__player {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
}
.fx-stats__team-logo {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid rgba(255,255,255,.2);
}
.fx-stats__player-name {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight: 600;
    font-size: clamp(11px,2.5vw,13px);
    color: rgba(255,255,255,.9);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fx-stats__goals {
    font-size: clamp(12px,2.5vw,15px);
    flex-shrink: 0;
    margin-left: 8px;
    letter-spacing: 2px;
}
.fx-stats__empty {
    font-family: 'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-size: 12px;
    color: rgba(255,255,255,.4);
    text-align: center;
    padding: 6px 0;
    font-style: italic;
}

/* ══ Seccion Estadisticas: fondo blanco ══ */
.estadisticas-section {
    position: relative; overflow-x: hidden; overflow-y: visible;
    background: #fff;
}
/* Tabs de estadisticas */
.est-tabs-row{
    display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:24px;
}
.est-tab{
    padding:9px 24px; border-radius:8px;
    font-family:'Barlow Condensed','Oswald',sans-serif;
    font-weight:600; font-size:14px;
    text-transform:uppercase; letter-spacing:1.2px;
    cursor:pointer; border:2px solid #d1d5db;
    transition:all .2s ease; color:#666; background:#f9fafb;
}
.est-tab:hover{ background:#f0f0f0; color:#333; }
.est-tab--active{
    background:rgba(34,160,70,.15); color:#22a046; border-color:#22a046;
    box-shadow:0 2px 12px rgba(34,160,70,.25);
}
/* Cards de estadisticas generales */
.est-card{
    position:relative;
    background: #fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:28px 20px 24px;
    text-align:center;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    overflow:hidden;
}
.est-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 32px rgba(0,0,0,.10);
    border-color:rgba(34,160,70,.5);
}
.est-card__icon{
    width:52px; height:52px;
    margin:0 auto 14px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:24px;
    background:rgba(34,160,70,.12);
    border:2px solid rgba(34,160,70,.3);
}
.est-card__title{
    font-family:'Barlow Condensed',sans-serif;
    font-weight:700; font-size:18px;
    text-transform:uppercase; letter-spacing:1.5px;
    color:#22a046; margin-bottom:16px;
}
.est-card__value{
    font-family:'Barlow Condensed',sans-serif;
    font-weight:800; font-size:clamp(36px,8vw,52px);
    color:#1a1a1a; line-height:1;
    margin-bottom:4px;
}
.est-card__suffix{
    font-size:0.5em; color:#22a046; font-weight:600;
}
.est-card__label{
    font-size:12px; color:#777;
    text-transform:uppercase; letter-spacing:1px;
    margin-bottom:2px;
}
.est-card__sublabel{
    font-size:11px; color:#22a046; font-style:italic;
    margin-bottom:12px;
}
.est-card__detail{
    display:flex; align-items:center; gap:8px;
    justify-content:center;
    padding:8px 12px;
    background:#f7f8fa;
    border-radius:8px;
    margin-top:8px;
}
.est-card__detail-logo{
    width:32px; height:32px; border-radius:50%; object-fit:cover;
    background:#e5e7eb; flex-shrink:0;
}
.est-card__detail-text{
    font-size:13px; color:#666;
}
.est-card__detail-text strong{
    color:#333; font-weight:600;
}
.est-card__detail-highlight{
    color:#22a046; font-weight:700; font-size:14px;
}
.est-card__detail-concept{
    font-size:11px; color:#999; text-align:center; margin-top:4px;
    font-style:italic;
}
.est-card__divider{
    width:40px; height:2px; background:rgba(34,160,70,.25);
    margin:12px auto;
}
/* ── Variante amarilla para cards intercaladas ── */
.est-card--yellow .est-card__icon{
    background:rgba(224,161,7,.12);
    border-color:rgba(224,161,7,.3);
}
.est-card--yellow .est-card__icon svg{ stroke:#e0a107; }
.est-card--yellow .est-card__title{ color:#e0a107; }
.est-card--yellow .est-card__suffix{ color:#e0a107; }
.est-card--yellow .est-card__sublabel{ color:#e0a107; }
.est-card--yellow .est-card__detail-highlight{ color:#e0a107; }
.est-card--yellow .est-card__divider{ background:rgba(224,161,7,.25); }

/* ── Selector de equipo (viñeta Por Equipo) ── */
.est-team-selector{
    position:relative; margin:0 auto 28px; width:fit-content;
}
.est-team-selector__btn{
    width:100%; display:flex; align-items:center; gap:12px;
    padding:12px 18px; background:#fff; border:2px solid #d1d5db;
    border-radius:12px; cursor:pointer; font-size:15px;
    font-family:'Barlow Condensed',sans-serif; font-weight:600;
    color:#333; transition:border-color .2s, box-shadow .2s;
}
.est-team-selector__btn:hover{ border-color:#22a046; }
.est-team-selector__btn.open{ border-color:#22a046; box-shadow:0 4px 16px rgba(34,160,70,.15); border-radius:12px 12px 0 0; }
.est-team-selector__logo{
    width:32px; height:32px; border-radius:50%; object-fit:cover;
    background:#e5e7eb; flex-shrink:0;
}
.est-team-selector__name{ flex:1; text-align:left; }
.est-team-selector__arrow{
    width:20px; height:20px; transition:transform .2s;
    color:#999; flex-shrink:0;
}
.est-team-selector__btn.open .est-team-selector__arrow{ transform:rotate(180deg); }
.est-team-selector__dropdown{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:#fff; border:2px solid #22a046; border-top:none;
    border-radius:0 0 12px 12px; max-height:320px; overflow-y:auto;
    z-index:50; box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.est-team-selector__dropdown.show{ display:block; }
.est-team-selector__option{
    display:flex; align-items:center; gap:12px;
    padding:10px 18px; cursor:pointer; font-size:14px;
    font-family:'Barlow Condensed',sans-serif; font-weight:500;
    color:#444; transition:background .15s;
}
.est-team-selector__option:hover{ background:#f0fdf4; }
.est-team-selector__option.selected{ background:#ecfdf5; color:#22a046; font-weight:700; }
/* Dropdown de jugador: máximo 6 opciones visibles (~288px) */
.est-player-dropdown{ max-height:288px; }
.est-team-selector__option img{
    width:28px; height:28px; border-radius:50%; object-fit:cover;
    background:#e5e7eb; flex-shrink:0;
}

/* ── Panel de stats del equipo seleccionado ── */
.est-team-stats{ display:none; }
.est-team-stats.visible{ display:block; animation:estFadeIn .35s ease; }
@keyframes estFadeIn{ from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.est-team-banner{
    width:100%; border-radius:16px; overflow:hidden;
    margin-bottom:24px; background:#e5e7eb; position:relative;
    border:3px solid transparent;
    background-image: linear-gradient(#e5e7eb, #e5e7eb), linear-gradient(90deg, #22a046 50%, #e0a107 50%);
    background-origin: border-box; background-clip: padding-box, border-box;
    box-shadow: 0 4px 16px rgba(34,160,70,.18), 0 4px 16px rgba(224,161,7,.18);
}
.est-team-banner__img{
    width:100%; display:block; object-fit:cover;
}
@media(max-width:1023px){
    .est-team-banner{ max-height:220px; }
    .est-team-banner__img{ height:100%; }
}
@media(max-width:640px){
    .est-team-banner{ max-height:180px; }
}
/* Grid de cards cuadradas: 2 columnas en movil, hasta 5 en desktop */
.ets-cards-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:12px;
    max-width:100%; box-sizing:border-box;
}
@media (min-width:1024px){
    .ets-cards-grid{ grid-template-columns:repeat(5, 1fr); }
}
.ets-sq-card{
    background:#fff; border-radius:14px; padding:18px 10px;
    text-align:center; aspect-ratio:1/1;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    box-shadow:0 2px 8px rgba(0,0,0,.06); border:1px solid #e5e7eb;
    transition:transform .2s, box-shadow .2s;
}
.ets-sq-card:hover{ transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,0,0,.10); }
.ets-sq-card__icon{
    width:36px; height:36px; border-radius:50%; display:flex;
    align-items:center; justify-content:center; margin-bottom:8px;
    background:rgba(34,160,70,.12);
}
.ets-sq-card__icon svg{ width:20px; height:20px; }
.ets-sq-card__val{
    font-family:'Barlow Condensed',sans-serif; font-weight:800;
    font-size:clamp(28px,6vw,36px); color:#1a1a1a; line-height:1;
}
.ets-sq-card__suffix{
    font-family:'Barlow Condensed',sans-serif; font-weight:700;
    font-size:16px; color:#22a046;
}
.ets-sq-card__lbl{
    font-family:'Barlow Condensed',sans-serif; font-weight:600;
    font-size:12px; color:#777; text-transform:uppercase;
    letter-spacing:.8px; margin-top:6px;
}
/* Verde (default) */
.ets-sq-card .ets-sq-card__icon{ background:rgba(34,160,70,.12); }
.ets-sq-card .ets-sq-card__icon svg{ stroke:#22a046; }
.ets-sq-card .ets-sq-card__suffix{ color:#22a046; }
/* Amarillo */
.ets-sq-card--yellow .ets-sq-card__icon{ background:rgba(224,161,7,.12); }
.ets-sq-card--yellow .ets-sq-card__icon svg{ stroke:#e0a107; }
.ets-sq-card--yellow .ets-sq-card__suffix{ color:#e0a107; }
/* Sub-values (PG/PE/PP card) */
.ets-sq-card__subvals{
    display:flex; align-items:baseline; gap:6px; justify-content:center;
}
.ets-sq-card__subvals span{
    font-family:'Barlow Condensed',sans-serif; font-weight:800;
    font-size:clamp(22px,5vw,28px); color:#1a1a1a; line-height:1;
}
.ets-sq-card__subvals small{
    font-size:11px; font-weight:600; color:#999; text-transform:uppercase;
}
.ets-sq-card__subvals .sep{ color:#ccc; font-size:18px; font-weight:400; }
/* Promedio por partido (debajo de label) */
.ets-sq-card__avg{
    font-family:'Barlow Condensed',sans-serif; font-weight:600;
    font-size:11px; margin-top:2px; line-height:1.2;
}
.ets-sq-card .ets-sq-card__avg{ color:#22a046; }
.ets-sq-card--yellow .ets-sq-card__avg{ color:#e0a107; }
/* Cards clickables */
.ets-sq-card--clickable{ cursor:pointer; }
.ets-sq-card--clickable:hover{ box-shadow:0 6px 24px rgba(0,0,0,.14); }

/* ═══ Modal de detalle estadístico ═══ */
.ets-modal-overlay{
    position:fixed; inset:0; z-index:9999;
    background:rgba(0,0,0,.55); backdrop-filter:blur(3px);
    display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none; transition:opacity .25s;
}
.ets-modal-overlay.open{ opacity:1; pointer-events:auto; }
.ets-modal{
    background:#fff; border-radius:16px; width:94vw; max-width:620px;
    max-height:88vh; overflow-y:auto; padding:28px 22px 22px;
    box-shadow:0 12px 48px rgba(0,0,0,.25); position:relative;
    animation:etsModalIn .3s ease;
}
@keyframes etsModalIn{ from{transform:translateY(30px) scale(.96); opacity:0;} to{transform:none; opacity:1;} }
.ets-modal__close{
    position:absolute; top:12px; right:14px; width:32px; height:32px;
    border:none; background:rgba(0,0,0,.06); border-radius:50%;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:background .15s;
}
.ets-modal__close:hover{ background:rgba(0,0,0,.12); }
.ets-modal__close svg{ width:18px; height:18px; stroke:#555; }
.ets-modal__title{
    font-family:'Barlow Condensed',sans-serif; font-weight:800;
    font-size:20px; color:#1a1a1a; text-transform:uppercase;
    letter-spacing:.5px; margin-bottom:16px; padding-right:36px;
}
.ets-modal__chart-wrap{
    width:100%; height:220px; margin-bottom:18px; position:relative;
    overflow-x:auto; overflow-y:hidden;
}
.ets-modal__chart-inner{
    height:100%; position:relative; min-width:100%;
}
.ets-modal__divider{
    height:1px; background:#e5e7eb; margin:14px 0;
}
.ets-modal__list-title{
    font-family:'Barlow Condensed',sans-serif; font-weight:700;
    font-size:14px; color:#555; text-transform:uppercase;
    letter-spacing:.6px; margin-bottom:8px;
}
.ets-modal__list{
    list-style:none; padding:0; margin:0;
}
.ets-modal__list li{
    display:flex; justify-content:space-between; align-items:center;
    padding:6px 8px; border-bottom:1px solid #f3f4f6;
    font-family:'Barlow Condensed',sans-serif; font-size:15px;
}
.ets-modal__list li:last-child{ border-bottom:none; }
.ets-modal__list li .name{ color:#333; font-weight:500; }
.ets-modal__list li .val{ font-weight:800; color:#1a1a1a; min-width:28px; text-align:right; }
.ets-modal__info{
    font-family:'Barlow Condensed',sans-serif; font-weight:600;
    font-size:14px; color:#777; text-align:center; margin-top:10px;
}

@media (max-width:480px) {
    .est-card{ padding:20px 14px 18px; }
    .est-card__icon{ width:44px; height:44px; font-size:20px; }
    .est-tab{ padding:7px 14px; font-size:12px; }
}

/* ══ Tablas de Posiciones: fondo oscuro con textura ══ */
.tabla-section {
    position: relative; overflow: hidden;
    min-height: 90vh;
}
.tabla-bg {
    position: absolute; inset: 0;
    background: url('../../images/general/tabla_bg.jpg') center/cover no-repeat;
}
.tabla-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(15,50,25,0.93) 0%, rgba(20,55,30,0.88) 50%, rgba(10,40,20,0.95) 100%);
}

/* ══ Filas de tabs ══ */
.tabla-tabs-row{
    display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:10px;
}
.tabla-tab{
    padding:7px 18px; border-radius:8px;
    font-family:'Barlow Condensed','Oswald',sans-serif;
    font-weight:600; font-size:13px;
    text-transform:uppercase; letter-spacing:1.2px;
    cursor:pointer; border:2px solid rgba(255,255,255,.25);
    transition:all .2s ease; color:#ccc; background:rgba(255,255,255,.12);
}
.tabla-tab:hover{ background:rgba(255,255,255,.2); color:#fff; }
.tabla-tab--active-grupo{
    background:rgba(255,255,255,.15); color:#3aac4e; border-color:#3aac4e;
    box-shadow:0 2px 12px rgba(58,172,78,.25);
}
.tabla-tab--active-goleadores{ background:rgba(255,255,255,.15); color:#e0961c; border-color:#e0961c; }
.tabla-tab--active-faltas{ background:rgba(255,255,255,.15); color:#e0961c; border-color:#e0961c; }
.tabla-tab--active-suspensiones{ background:rgba(255,255,255,.15); color:#e0961c; border-color:#e0961c; }

/* ══ Tablas dentro del modulo posiciones ══ */
.tp-table{
    width:100%; border-collapse:collapse;
    font-family:'Barlow Condensed','Oswald',sans-serif;
    font-size:clamp(13px,3vw,16px);
    table-layout:fixed;
}
.tp-table thead tr{
    background:#319842; color:#fff;
}
.tp-table th{
    padding:8px 2px; text-align:center;
    font-weight:600; text-transform:uppercase;
    letter-spacing:.5px; font-size:clamp(10px,2.2vw,13px);
    white-space:nowrap;
}
.tp-table tbody tr{
    border-bottom:1px solid rgba(255,255,255,.06);
    transition:background .15s ease;
}
.tp-table tbody tr:nth-child(even){ background:rgba(255,255,255,.04); }
.tp-table tbody tr:hover{ background:rgba(58,172,78,.12); }
.tp-table td{
    padding:5px 2px; text-align:center; color:#ccc;
}
/* Anchos de columnas posiciones */
.tp-col-pos{ width:32px; }
.tp-col-equipo{ width:30%; }
.tp-col-stat{ width:auto; }
.tp-table .tp-pos{ color:#e0961c; font-weight:700; }
.tp-table .tp-equipo-cell{
    display:flex; align-items:center; gap:5px;
}
.tp-equipo-logo{
    width:26px; height:26px; border-radius:50%; object-fit:cover;
    background:#1a2332; flex-shrink:0;
}
.tp-equipo-name{ color:#fff; font-weight:600; word-wrap:break-word; overflow-wrap:break-word; line-height:1.2; }
.tp-table .tp-pts{ color:#e0961c; font-weight:700; font-size:clamp(14px,3vw,18px); }
.tp-table .tp-dif-pos{ color:#3aac4e; }
.tp-table .tp-dif-neg{ color:#ef4444; }
.tp-table .tp-dif-zero{ color:#666; }

/* Stats tables (goleadores, faltas, suspensiones) */
.st-table{
    width:100%; border-collapse:collapse;
    font-family:'Barlow Condensed','Oswald',sans-serif;
    font-size:clamp(13px,3vw,16px);
}
.st-table thead tr.st-head--goleadores{ background:#e0961c; color:#1a1a2e; }
.st-table thead tr.st-head--faltas{ background:#e0961c; color:#1a1a2e; }
.st-table thead tr.st-head--suspensiones{ background:#e0961c; color:#1a1a2e; }
.st-table th{
    padding:8px 3px; text-align:center;
    font-weight:600; text-transform:uppercase;
    letter-spacing:.5px; font-size:clamp(10px,2.2vw,13px);
    white-space:nowrap;
}
        .st-table tbody tr{
    border-bottom:1px solid rgba(255,255,255,.06);
    transition:background .15s ease;
}
.st-table tbody tr:nth-child(even){ background:rgba(255,255,255,.04); }
.st-table tbody tr:hover{ background:rgba(255,255,255,.08); }
.st-table td{
    padding:5px 3px; text-align:center; color:#ccc;
}
        .st-table .st-pos{ font-weight:700; }
.st-table .st-pos--gol{ color:#e0961c; }
.st-table .st-pos--falta{ color:#e0961c; }
.st-table .st-nombre{ color:#fff; font-weight:600; text-align:center; padding-left:0; word-wrap:break-word; overflow-wrap:break-word; line-height:1.2; }
.st-table .st-equipo{ color:#999; text-align:center; padding-left:0; word-wrap:break-word; overflow-wrap:break-word; line-height:1.2; }
.st-table .st-valor--gol{ color:#e0961c; font-weight:700; font-size:clamp(14px,3vw,18px); }
.st-table .st-valor--falta{ color:#e0961c; font-weight:700; font-size:clamp(14px,3vw,18px); }
.st-table .st-valor--susp{ color:#e0961c; font-weight:700; font-size:clamp(14px,3vw,18px); }

/* Mobile: ocultar columnas secundarias en pantallas chicas */
@media (max-width:480px) {
    .tp-hide-mobile, .st-hide-mobile { display:none; }
    .tp-equipo-logo { width:22px; height:22px; }
    .tabla-tab { padding:6px 12px; font-size:11px; letter-spacing:.8px; }
    .tabla-section { min-height: 100vh; }
    .tp-col-equipo { width:34%; }
    .tp-table { font-size:clamp(12px,3.5vw,15px); }
    .tp-table th { font-size:clamp(10px,2.5vw,12px); padding:6px 1px; }
    .tp-table td { padding:5px 1px; }
    .st-table { font-size:clamp(12px,3.5vw,15px); }
    .st-table th { font-size:clamp(10px,2.5vw,12px); padding:6px 2px; }
    .st-table td { padding:5px 2px; }
}

/* === Match Result Cards (Freepik-style) === */
.mr-card{
    position:relative;
    width:100%;
    height:88px;
    background:transparent;
    border-radius:6px;
    overflow:visible;
}
/* Colores alternados verde/amarillo */
.mr-card--verde .mr-card__belt,
.mr-card--verde .mr-card__center{
    background:#319842;
}
.mr-card--verde{ border-bottom:4px solid #288a38; box-shadow:0 6px 18px rgba(58,172,78,.25); }
.mr-card--amarillo .mr-card__belt,
.mr-card--amarillo .mr-card__center{
    background:#e0961c;
}
.mr-card--amarillo{ border-bottom:4px solid #d48a16; box-shadow:0 6px 18px rgba(237,166,36,.25); }
.mr-card__belt{
    position:absolute;
    top:0; bottom:0;
    left:0; right:0;
    z-index:1;
    border-radius:6px;
}
.mr-card__panel{
    position:absolute;
    top:0; bottom:0;
    z-index:3;
    background:linear-gradient(180deg,#fff 0%,#fafafa 50%,#f0f0f0 100%);
    display:flex;
    align-items:center;
    box-shadow:0 3px 12px rgba(0,0,0,.15);
}
.mr-card__panel--left{
    left:0;
    width:38%;
    clip-path:polygon(0 0, 100% 0, calc(100% - 28px) 100%, 0 100%);
    padding-left:clamp(10px,3vw,20px);
    padding-right:40px;
    justify-content:center;
}
.mr-card__panel--right{
    right:0;
    width:38%;
    clip-path:polygon(28px 0, 100% 0, 100% 100%, 0 100%);
    padding-right:clamp(10px,3vw,20px);
    padding-left:40px;
    justify-content:center;
}
.mr-card__center{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:2;
    width:clamp(90px,18vw,140px);
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.mr-card__score{
    display:flex;
    align-items:center;
    gap:clamp(2px,.5vw,6px);
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:800;
    font-size:clamp(32px,6vw,52px);
    color:#fff;
    line-height:1;
    text-shadow:0 2px 4px rgba(0,0,0,.3);
}
.mr-card__score-dash{
    font-size:clamp(26px,5vw,42px);
    font-weight:600;
    color:rgba(255,255,255,.5);
}
.mr-card__score--pendiente{
    font-size:clamp(14px,2.5vw,20px);
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgba(255,255,255,.6);
}
.mr-card__team{
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:700;
    font-size:clamp(15px,2.5vw,24px);
    letter-spacing:clamp(.5px,.2vw,2px);
    text-transform:uppercase;
    color:#1a1a1a;
    line-height:1.2;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    text-overflow:ellipsis;
    text-align:center;
    word-break:break-word;
}
.mr-card__team-sub{
    font-family:'Inter',system-ui,sans-serif;
    font-size:clamp(9px,1.6vw,13px);
    font-weight:500;
    color:#666;
    text-align:center;
    margin-top:1px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.mr-card__logo{
    position:absolute;
    z-index:10;
    top:50%;
    transform:translateY(-50%);
    width:clamp(48px,9vw,68px);
    height:clamp(48px,9vw,68px);
    border-radius:50%;
    background:linear-gradient(135deg,#f0f0f0,#d5d5d5);
    border:3px solid rgba(255,255,255,.8);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 4px 14px rgba(0,0,0,.4);
    overflow:hidden;
}
.mr-card__logo--left{
    left:calc(38% - clamp(38px,7vw,48px));
}
.mr-card__logo--right{
    right:calc(38% - clamp(38px,7vw,48px));
}
.mr-card__logo img{
    width:100%; height:100%; object-fit:cover;
}
.mr-card__logo-fb{
    display:none;
    font-family:'Oswald',system-ui,sans-serif;
    font-weight:700;
    font-size:clamp(13px,2vw,19px);
    color:#555;
    width:100%; height:100%;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#eee,#ccc);
    border-radius:50%;
}
.mr-card__group{
    text-align:center;
    margin-top:-10px;
    position:relative;
    z-index:12;
}
.mr-card__group-badge{
    display:inline-block;
    padding:3px 18px;
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:600;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1.4px;
    color:#999;
    background:#222;
    border:1px solid #333;
    border-radius:3px;
}
.mr-card__group-badge--verde{ color:#3aac4e !important; }
.mr-card__group-badge--amarillo{ color:#eda624 !important; }
.mr-card__estado{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    top:-18px;
    z-index:15;
    padding:2px 18px;
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:600;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:#fff;
    background:#333;
    border-radius:0 0 4px 4px;
}
.mr-card__estado--jugando{
    background:#dc2626;
    animation:pulse-jugando 2s infinite;
}
@keyframes pulse-jugando{
    0%,100%{opacity:1;}
    50%{opacity:.4;}
}
.mr-card--jugando{
    outline:2px solid #dc2626;
    outline-offset:0px;
    animation:pulse-border 2s infinite;
}
@keyframes pulse-border{
    0%,100%{outline-color:#dc2626;}
    50%{outline-color:rgba(220,38,38,.3);}
}
.mr-stats--jugando .mr-stats__inner{
    border-color:#dc2626;
    border-top:none;
    animation:pulse-stats-border 2s infinite;
}
@keyframes pulse-stats-border{
    0%,100%{border-color:#dc2626;}
    50%{border-color:rgba(220,38,38,.3);}
}
.mr-stats--jugando .mr-stats__title{
    color:#dc2626;
}

/* ===== Match cards: ajuste PC 2-col ===== */
@media(min-width:768px){
    .mr-card__panel--left{ width:34%; clip-path:polygon(0 0, 100% 0, calc(100% - 24px) 100%, 0 100%); padding-right:32px; }
    .mr-card__panel--right{ width:34%; clip-path:polygon(24px 0, 100% 0, 100% 100%, 0 100%); padding-left:32px; }
    .mr-card__logo--left{ left:calc(34% - clamp(38px,7vw,48px)); }
    .mr-card__logo--right{ right:calc(34% - clamp(38px,7vw,48px)); }
    .mr-card__center{ width:clamp(100px,22vw,160px); }
}

/* ===== Collapsible Stats Panel ===== */
.mr-card__wrapper{ cursor:pointer; }
.mr-stats{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease, opacity .3s ease;
    opacity:0;
}
.mr-stats--open{
    max-height:300px;
    opacity:1;
}
.mr-stats__inner{
    background:#1a1a1a;
    border:1px solid #2a2a2a;
    border-top:none;
    border-radius:0 0 6px 6px;
    padding:10px 16px 12px;
    margin:0 12px;
}
.mr-stats__title{
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:600;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:#666;
    text-align:center;
    margin-bottom:8px;
}
.mr-stats__row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:5px 0;
    border-bottom:1px solid #252525;
}
.mr-stats__row:last-child{ border-bottom:none; }
.mr-stats__val{
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:700;
    font-size:clamp(16px,3vw,22px);
    color:#fff;
    width:60px;
    text-align:center;
}
.mr-stats__val--left{ text-align:right; }
.mr-stats__val--right{ text-align:left; }
.mr-stats__label{
    flex:1;
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:600;
    font-size:clamp(10px,2vw,13px);
    text-transform:uppercase;
    letter-spacing:1px;
    color:#888;
    text-align:center;
}
.mr-stats__card-icon{
    display:inline-block;
    transform:scaleX(1.0) scaleY(1.5);
    font-size:clamp(12px,2.2vw,16px);
    line-height:1;
    margin-right:4px;
}
.mr-stats__whistle{
    display:inline-block;
    width:clamp(18px,3vw,24px);
    height:clamp(18px,3vw,24px);
    vertical-align:middle;
}
.mr-stats__mvp{
    text-align:center;
    padding:8px 10px 6px;
    border-top:1px solid rgba(255,255,255,.08);
}
.mr-stats__mvp-title{
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:600;
    font-size:clamp(9px,1.8vw,11px);
    text-transform:uppercase;
    letter-spacing:1px;
    color:#888;
    margin-bottom:6px;
}
.mr-stats__mvp-player{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.mr-stats__mvp-logo{
    width:28px;
    height:28px;
    border-radius:50%;
    object-fit:cover;
    flex-shrink:0;
}
.mr-stats__mvp-name{
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:700;
    font-size:clamp(12px,2.4vw,15px);
    color:#fff;
}
.mr-stats__mvp-votes{
    font-size:clamp(10px,2vw,12px);
    color:rgba(255,255,255,.7);
    text-align:center;
    margin-top:4px;
    font-style:italic;
}
.mr-card__chevron{
    position:absolute;
    bottom:3px;
    left:50%;
    transform:translateX(-50%);
    z-index:15;
    width:20px;
    height:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:.5;
    transition:transform .3s ease, opacity .3s ease;
}
.mr-card__chevron svg{
    width:14px;
    height:8px;
    fill:none;
    stroke:#fff;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.mr-card__wrapper--open .mr-card__chevron{
    transform:translateX(-50%) rotate(180deg);
    opacity:.8;
}

/* ===== Collapsible Players Panel (Próxima Fecha) ===== */
.mr-players{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease, opacity .3s ease;
    opacity:0;
}
.mr-players--open{
    max-height:600px;
    opacity:1;
}
.mr-players__inner{
    background:#1a1a1a;
    border:1px solid #2a2a2a;
    border-top:none;
    border-radius:0 0 6px 6px;
    padding:10px 16px 12px;
    margin:0 12px;
    display:flex;
    gap:12px;
}
.mr-players__col{
    flex:1;
    min-width:0;
}
.mr-players__item{
    display:flex;
    align-items:center;
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:400;
    font-size:clamp(13px,2.8vw,16px);
    color:#ccc;
    padding:2px 0;
}
.mr-players__item--suspended{
    opacity:.45;
    text-decoration:line-through;
    text-decoration-color:rgba(220,38,38,.6);
}
.mr-players__icons{
    min-width:32px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    gap:1px;
}
.mr-players__card-icon{
    display:inline-block;
    transform:scaleX(1.0) scaleY(1.3);
    font-size:clamp(10px,2vw,13px);
    line-height:1;
}
.mr-players__card-svg{
    width:auto;
    height:16px;
    display:inline-block;
    vertical-align:middle;
}
.mr-players__card-stack{
    position:relative;
    display:inline-flex;
    align-items:center;
    margin-right:2px;
}
.mr-players__card-img{
    width:36px;
    height:auto;
    display:block;
}
.mr-players__card-count{
    position:absolute;
    top:-5px;
    right:-8px;
    background:#d32f2f;
    color:#fff;
    font-size:9px;
    font-weight:700;
    min-width:14px;
    height:14px;
    border-radius:7px;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    padding:0 3px;
    z-index:2;
}
.mr-players__name{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.mr-players__susp-tag{
    font-size:clamp(8px,1.5vw,10px);
    font-weight:600;
    color:#dc2626;
    letter-spacing:.5px;
    margin-left:4px;
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    gap:1px;
}

/* === Próxima Fecha: centro con logos (romboide diagonal) === */
.mr-card__center--logos{
    display:flex;
    flex-direction:row;
    align-items:stretch;
    padding:0;
    overflow:visible;
    width:calc(24% + 80px);
    gap:0;
}
/* Línea diagonal central desactivada – logos se tocan en diagonal */
.mr-card__center--logos::after{ display:none; }
.mr-card__center-half{
    flex:1;
    position:relative;
    overflow:hidden;
}
.mr-card__center-half--left{
    clip-path:polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
    margin-right:-14px;
}
.mr-card__center-half--right{
    clip-path:polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
    margin-left:-14px;
    z-index:1;
}
.mr-card__center-half img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    background:linear-gradient(135deg,#e8e8e8,#ccc);
    transform:scale(1.5);
}
.mr-card__center-half .mr-card__center-fb{
    display:none;
    position:absolute;
    inset:0;
    align-items:center;
    justify-content:center;
    font-family:'Oswald',system-ui,sans-serif;
    font-weight:700;
    font-size:clamp(16px,3vw,24px);
    color:rgba(255,255,255,.7);
    background:rgba(0,0,0,.1);
}
/* ── VS badge con destello diagonal (vive en .mr-card, no dentro del centro) ── */
.mr-card__vs{
    position:absolute;
    left:calc(50% - 7px); top:50%;
    transform:translate(-50%,-50%);
    z-index:12;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
}
.mr-card__vs-text{
    position:relative;
    z-index:2;
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:900;
    font-size:clamp(28px,5.6vw,44px);
    font-style:italic;
    color:#fff;
    text-shadow:0 2px 6px rgba(0,0,0,.6), 0 0 12px rgba(0,0,0,.35);
    letter-spacing:2px;
    line-height:1;
}
.mr-card__vs-gleam{
    position:absolute;
    inset:-14px;
    z-index:1;
    transform:rotate(-25deg);
    overflow:hidden;
    opacity:0;
}
.mr-card__vs-gleam::before{
    content:'';
    position:absolute;
    top:10%; left:15%; right:15%; bottom:10%;
    border-radius:50%;
    filter:blur(8px);
}
.mr-card__vs-gleam::after{
    content:'';
    position:absolute;
    top:30%; left:-15%; right:-15%; bottom:30%;
    transform:rotate(-25deg);
    border-radius:50%;
    filter:blur(4px);
}
/* Colores del destello según variante */
.mr-card--verde .mr-card__vs-gleam::before{
    background:radial-gradient(ellipse, rgba(255,255,220,.95) 0%, rgba(255,220,100,.6) 40%, transparent 70%);
}
.mr-card--verde .mr-card__vs-gleam::after{
    background:linear-gradient(90deg, transparent, rgba(255,255,200,.85), transparent);
}
.mr-card--amarillo .mr-card__vs-gleam::before{
    background:radial-gradient(ellipse, rgba(200,255,200,.95) 0%, rgba(50,180,70,.55) 40%, transparent 70%);
}
.mr-card--amarillo .mr-card__vs-gleam::after{
    background:linear-gradient(90deg, transparent, rgba(150,255,150,.75), transparent);
}
/* ── Animación de entrada VS ── */
.mr-card__vs-text .vs-v,
.mr-card__vs-text .vs-s{
    display:inline-block;
    opacity:0;
    transition:transform 4s cubic-bezier(.16,1,.3,1), opacity 3s ease;
}
.mr-card__vs-text .vs-v{ transform:translateX(-40px); }
.mr-card__vs-text .vs-s{ transform:translateX(40px); }
.pf-animated .mr-card__vs-text .vs-v,
.pf-animated .mr-card__vs-text .vs-s{
    opacity:1;
    transform:translateX(0);
}
.pf-animated .mr-card__vs-gleam{
    animation:vsGleamFlash 4s .5s ease-out forwards;
}
@keyframes vsGleamFlash{
    0%{ opacity:0; transform:rotate(-25deg) scale(.3); }
    20%{ opacity:1; transform:rotate(-25deg) scale(1.3); }
    50%{ opacity:.9; transform:rotate(-25deg) scale(1.05); }
    75%{ opacity:.7; transform:rotate(-25deg) scale(1); }
    100%{ opacity:.5; transform:rotate(-25deg) scale(1); }
}
/* ── Responsive diagonal central (desactivada) ── */
/* ── Info badge (fecha/hora) ── */
.mr-card__pf-info{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    top:-24px;
    z-index:15;
    padding:4px 16px;
    font-family:'Barlow Condensed','Oswald',system-ui,sans-serif;
    font-weight:600;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:1.4px;
    color:rgba(255,255,255,.9);
    background:rgba(0,0,0,.55);
    border-radius:0 0 5px 5px;
    white-space:nowrap;
}

/* Responsive match result cards */
@media (max-width: 640px) {
    .mr-card{ height:76px; }
    .mr-card__panel--left{
        width:36%;
        clip-path:polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
        padding-right:30px;
    }
    .mr-card__panel--right{
        width:36%;
        clip-path:polygon(20px 0, 100% 0, 100% 100%, 0 100%);
        padding-left:30px;
    }
    .mr-card__logo--left{ left:calc(36% - clamp(34px,6vw,42px)); }
    .mr-card__logo--right{ right:calc(36% - clamp(34px,6vw,42px)); }
}
@media (max-width: 420px) {
    .mr-card{ height:66px; }
    .mr-card__panel--left{
        width:34%;
        clip-path:polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
        padding-right:22px;
    }
    .mr-card__panel--right{
        width:34%;
        clip-path:polygon(14px 0, 100% 0, 100% 100%, 0 100%);
        padding-left:22px;
    }
    .mr-card__logo{ border-width:2px; }
    .mr-card__logo--left{ left:calc(34% - clamp(28px,5vw,36px)); }
    .mr-card__logo--right{ right:calc(34% - clamp(28px,5vw,36px)); }
}

/* ══ MVP Voting Modal ══ */
.mvp-overlay{
    position:fixed;inset:0;z-index:10000;
    background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);
    display:flex;align-items:flex-start;justify-content:center;
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    padding:80px 12px 24px;
    opacity:0;pointer-events:none;transition:opacity .35s ease;
}
.mvp-overlay.open{opacity:1;pointer-events:auto}
.mvp-modal{
    background:#fff;border-radius:16px;width:100%;max-width:440px;
    box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;
    transform:translateY(30px);transition:transform .35s ease;
    box-sizing:border-box;
}
.mvp-overlay.open .mvp-modal{transform:translateY(0)}
.mvp-modal__header{
    background:linear-gradient(135deg,#1a5c1a,#2e8c2d);
    padding:12px 16px;color:#fff;text-align:center;position:relative;
}
.mvp-modal__close{
    position:absolute;right:12px;top:12px;width:32px;height:32px;
    border-radius:50%;background:rgba(255,255,255,0.2);border:none;
    color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:background .2s;
}
.mvp-modal__close:hover{background:rgba(255,255,255,0.35)}
.mvp-modal__score{
    display:flex;align-items:center;justify-content:center;gap:12px;
    margin-bottom:8px;
}
.mvp-modal__score-team{
    text-align:center;flex:1;min-width:0;overflow:hidden;
}
.mvp-modal__score-team img{
    width:62px;height:62px;border-radius:50%;object-fit:cover;
    border:2px solid rgba(255,255,255,0.4);margin:0 auto 4px;display:block;
}
.mvp-modal__score-team span{
    font-family:'Barlow Condensed',sans-serif;font-size:13px;
    font-weight:600;text-transform:uppercase;letter-spacing:0.5px;
    display:block;opacity:0.9;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mvp-modal__score-vs{
    font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:800;
    color:#e0a107;min-width:60px;text-align:center;flex-shrink:0;
}
.mvp-modal__live{
    display:inline-block;padding:2px 10px;border-radius:10px;
    background:#ef4444;color:#fff;font-size:10px;font-weight:700;
    text-transform:uppercase;letter-spacing:1px;
    animation:mvpPulse 1.5s infinite;
}
@keyframes mvpPulse{0%,100%{opacity:1}50%{opacity:0.5}}
.mvp-modal__body{padding:16px 12px 20px;box-sizing:border-box;}
.mvp-modal__title{
    font-family:'Barlow Condensed',sans-serif;font-weight:700;
    font-size:clamp(18px,5vw,24px);text-transform:uppercase;letter-spacing:1px;
    color:#1a1a2e;text-align:center;margin-bottom:14px;
    line-height:1.2;
}
.mvp-modal__teams{
    display:flex;gap:8px;margin-bottom:16px;overflow:hidden;
}
.mvp-modal__team-col{
    flex:1;min-width:0;overflow:hidden;
}
.mvp-modal__team-name{
    font-family:'Barlow Condensed',sans-serif;font-weight:700;
    font-size:12px;text-transform:uppercase;letter-spacing:0.5px;
    color:#666;margin-bottom:6px;text-align:center;
    padding-bottom:4px;border-bottom:2px solid #e5e7eb;
}
.mvp-modal__team-name--local{border-color:#2e8c2d;color:#2e8c2d}
.mvp-modal__team-name--visita{border-color:#e0a107;color:#e0a107}
.mvp-modal__player{
    display:flex;align-items:center;gap:8px;padding:6px 10px;
    border-radius:8px;cursor:pointer;transition:background .15s;
    border:2px solid transparent;margin-bottom:2px;
}
.mvp-modal__player:hover{background:#f0fdf4}
.mvp-modal__player.selected{
    background:#f0fdf4;border-color:#2e8c2d;
}
.mvp-modal__player-radio{
    width:18px;height:18px;border-radius:50%;border:2px solid #ccc;
    flex-shrink:0;display:flex;align-items:center;justify-content:center;
    transition:border-color .15s;
}
.mvp-modal__player.selected .mvp-modal__player-radio{
    border-color:#2e8c2d;
}
.mvp-modal__player.selected .mvp-modal__player-radio::after{
    content:'';width:10px;height:10px;border-radius:50%;background:#2e8c2d;
}
.mvp-modal__player-name{
    font-size:13px;font-weight:500;color:#333;
    min-width:0;flex:1;
    display:flex !important;flex-direction:column !important;line-height:1.2;
    white-space:normal;overflow:visible;
}
.mvp-modal__player-first,
.mvp-modal__player-last{
    display:block !important;width:100%;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mvp-modal__jersey{
    position:relative;width:28px;height:24px;flex-shrink:0;
    background:url('../../images/general/jersey_icon.png') center/contain no-repeat;
    display:flex;align-items:center;justify-content:center;
}
.mvp-modal__jersey-num{
    font-family:'Barlow Condensed',sans-serif;font-weight:700;
    font-size:11px;color:#555;line-height:1;
    position:relative;top:1px;
}
.mvp-modal__btn{
    display:block;width:100%;padding:14px;border:none;border-radius:10px;
    font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:16px;
    text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;
    transition:background .2s,transform .15s;
}
.mvp-modal__btn--vote{
    background:linear-gradient(135deg,#2e8c2d,#1a5c1a);color:#fff;
    box-shadow:0 4px 16px rgba(46,140,45,0.35);
}
.mvp-modal__btn--vote:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(46,140,45,0.45)}
.mvp-modal__btn--vote:disabled{
    background:#9ca3af;color:#fff;cursor:not-allowed;
    box-shadow:none;transform:none;
}
.mvp-modal__btn--voted{
    background:#e5e7eb;color:#666;cursor:default;
}
.mvp-modal__msg{
    text-align:center;padding:12px;border-radius:8px;
    margin-bottom:12px;font-size:14px;font-weight:600;
}
.mvp-modal__msg--ok{background:#f0fdf4;color:#2e8c2d;border:1px solid #bbf7d0}
.mvp-modal__msg--err{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.mvp-modal__results{margin-top:16px}
.mvp-modal__results-title{
    font-family:'Barlow Condensed',sans-serif;font-weight:600;
    font-size:13px;text-transform:uppercase;letter-spacing:1px;
    color:#999;text-align:center;margin-bottom:10px;
}
.mvp-modal__result-row{
    display:flex;align-items:center;gap:8px;padding:6px 10px;
    border-radius:6px;margin-bottom:4px;background:#f9fafb;
}
.mvp-modal__result-pos{
    font-family:'Barlow Condensed',sans-serif;font-weight:700;
    font-size:14px;color:#999;width:20px;text-align:center;
}
.mvp-modal__result-logo{
    width:24px;height:24px;border-radius:50%;object-fit:cover;
    flex-shrink:0;
}
.mvp-modal__result-name{
    flex:1;font-size:13px;font-weight:500;color:#333;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;
}
.mvp-modal__result-bar-wrap{
    width:60px;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;
}
.mvp-modal__result-bar{
    height:100%;background:linear-gradient(90deg,#2e8c2d,#e0a107);
    border-radius:3px;transition:width .5s ease;
}
.mvp-modal__result-pct{
    font-family:'Barlow Condensed',sans-serif;font-weight:700;
    font-size:13px;color:#2e8c2d;width:40px;text-align:right;
}
.mvp-modal__result-votes{
    font-size:11px;color:#999;
}
.mvp-modal__total{
    text-align:center;font-size:12px;color:#999;margin-top:8px;
}
.carousel3d-wrapper { perspective: 1200px; height: 420px; position: relative; overflow-x: hidden; }
body.modal-open { overflow: hidden !important; }
@media (max-width: 640px) { .carousel3d-wrapper { height: 340px; } }
.carousel3d-card {
    position: absolute; left: 50%; top: 50%;
    width: 220px; height: 320px;
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    cursor: pointer; border-radius: 18px; overflow: hidden;
    box-shadow: 0 15px 35px rgba(0,0,0,0.3);
    transform-style: preserve-3d; backface-visibility: hidden;
}
@media (max-width: 640px) {
    .carousel3d-card { width: 160px; height: 240px; border-radius: 14px; }
}
.carousel3d-card img {
    width: 100%; height: 100%; object-fit: cover;
    pointer-events: none; border-radius: inherit;
}
.carousel3d-card .card-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(transparent 0%, rgba(0,0,0,0.6) 30%, rgba(0,0,0,0.93) 100%);
    padding: 16px 12px 10px; color: white; border-radius: 0 0 18px 18px;
    min-height: 30%; display:flex; flex-direction:column; justify-content:flex-end;
}
@media (max-width: 640px) {
    .carousel3d-card .card-overlay { padding: 10px 8px 10px; border-radius: 0 0 14px 14px; }
}
.carousel3d-card .card-logo {
    width: 100%; height: 100%; position: relative;
    background: linear-gradient(135deg, #1a1a2e 0%, #2a2a4e 100%);
    padding: 0; overflow: hidden;
}
.carousel3d-card .card-logo img {
    width: 100%; height: 100%; object-fit: cover; border-radius: 0;
    object-position: center top;
}
.carousel3d-card .card-fallback {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #2e8c2d 0%, #1a5c1a 100%);
    font-size: 4rem; font-weight: 800; color: #e0a107;
}
