/**
Theme Name: Tema hijo SmashPlay
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tema-hijo-smashplay
Template: astra
*/

/* Badge de nivel verificado */
p.sp-badge-verificado {
  display: inline-block !important;
  background: #C8E63C !important;
  color: #1A1A1A !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  margin-top: 8px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  width: auto !important;
  max-width: fit-content !important;
}

/* Badge de nivel pendiente */
.sp-badge-pendiente {
  display: inline-block;
  background: #FFF3CD;
  color: #856404;
  font-family: 'Rubik', sans-serif;
  font-size: 13px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 20px;
  margin-top: 8px;
}

/* Badge búsqueda activa */
p.sp-badge-busqueda-activa {
  display: inline-block !important;
  background: #EAF7EA !important;
  color: #2E7D32 !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  margin-top: 6px !important;
  width: auto !important;
  max-width: fit-content !important;
}

.sp-leyenda-rgpd {
  margin-bottom: 24px;
  padding: 4px 0;
  background: transparent;
  border: none;
}
.sp-leyenda-rgpd p {
  font-family: 'Rubik', sans-serif;
  font-size: 12px;
  color: #555555;
  line-height: 1.5;
  margin-bottom: 4px;
}
.sp-leyenda-rgpd p:last-child {
  margin-bottom: 0;
}
.sp-leyenda-rgpd strong {
  color: #1A1A1A;
}
.sp-leyenda-rgpd a {
  color: #00AADC;
  text-decoration: underline;
}

/* Corrección estilo label checkbox consentimiento hijo */
.sp-checkbox label[for="sp-privacidad-hijo"] {
  font-family: 'Rubik', sans-serif;
  font-weight: 400;
  font-size: 13px;
  color: #555555;
  margin-bottom: 0;
}

/* Alineación checkbox consentimiento hijo */
#sp-privacidad-hijo {
  margin-top: 2px;
  flex-shrink: 0;
  align-self: flex-start;
}

/* Fuerza estilo label checkbox consentimiento hijo */
#sp-form-hijo label[for="sp-privacidad-hijo"],
#sp-form-hijo label[for="sp-privacidad-hijo"] span {
  font-family: 'Rubik', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #555555 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* ── Módulo 05 · Sistema de niveles ── */

/* Barra de progreso */
.sp-encuesta-progreso {
  margin-bottom: 16px;
}
.sp-encuesta-progreso span {
  font-family: 'Rubik', sans-serif;
  font-size: 12px;
  color: #555555;
  display: block;
  margin-bottom: 6px;
}
.sp-encuesta-barra {
  width: 100%;
  height: 6px;
  background: #E8F7FD;
  border-radius: 99px;
  overflow: hidden;
}
.sp-encuesta-barra-fill {
  height: 6px;
  background: #00AADC;
  border-radius: 99px;
  width: 20%;
  transition: width 0.3s ease;
}

/* Pregunta */
.sp-encuesta-pregunta p {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #1A1A1A;
  margin-bottom: 12px;
}

/* Opciones */
.sp-encuesta-opciones {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  margin-bottom: 16px;
}
.sp-encuesta-opcion {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 10px;
  background: #E8F7FD;
  border: 1.5px solid #B8E4F5;
  border-radius: 10px;
  padding: 12px 16px;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  color: #1A1A1A;
  width: 100%;
  box-sizing: border-box;
}
.sp-encuesta-opcion {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #E8F7FD;
  border: 1.5px solid #B8E4F5;
  border-radius: 10px;
  padding: 12px 16px;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  color: #1A1A1A;
}
.sp-encuesta-opcion:hover {
  border-color: #00AADC;
  background: #d0f0fc;
}
.sp-encuesta-opcion input[type="radio"] {
  accent-color: #00AADC;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.sp-encuesta-opcion:has(input:checked) {
  border-color: #00AADC;
  background: #d0f0fc;
}

/* Botones navegación encuesta */
.sp-encuesta-nav {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}
.sp-encuesta-nav button {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 14px;
  border: none;
  border-radius: 10px;
  padding: 12px 24px;
  cursor: pointer;
  transition: opacity 0.2s;
}
#sp-btn-siguiente,
#sp-btn-calcular {
  background: #C8E63C;
  color: #1A1A1A;
}
#sp-btn-anterior {
  background: #E8F7FD;
  color: #555555;
  border: 1.5px solid #B8E4F5;
}
.sp-encuesta-nav button:hover {
  opacity: 0.85;
}

/* Resultado nivel */
.sp-nivel-badge-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 16px;
  background: #E8F7FD;
  border: 1.5px solid #B8E4F5;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 12px;
}
#sp-nivel-resultado .sp-nivel-numero {
  font-family: 'Archivo', sans-serif !important;
  font-weight: 700 !important;
  font-size: 36px !important;
  color: #00AADC !important;
  flex-shrink: 0;
  display: inline-block !important;
}
.sp-nivel-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sp-badge-pendiente {
  font-family: 'Rubik', sans-serif;
  font-size: 12px;
  color: #555555;
  background: #FFF3CD;
  border-radius: 6px;
  padding: 4px 10px;
  display: inline-block;
}

/* Botón recalcular */
#sp-btn-recalcular {
  font-family: 'Rubik', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #00AADC;
  background: transparent;
  border: 1.5px solid #00AADC;
  border-radius: 8px;
  padding: 8px 16px;
  cursor: pointer;
  transition: opacity 0.2s;
}
#sp-btn-recalcular:hover {
  opacity: 0.75;
}

/* ── Módulo 10 · Registro de club ── */
#sp-registro-club-wrapper {
  max-width: 480px;
  margin: 32px auto;
  padding-top: 48px;
}
#sp-registro-club-wrapper .sp-registro-hijo-header {
  margin-bottom: 48px;
}
#sp-registro-club-wrapper .sp-seccion {
  margin-bottom: 48px;
}
#sp-registro-club-wrapper .sp-seccion h3 {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #1A1A1A;
  margin-top: 0;
  margin-bottom: 28px;
  padding-bottom: 8px;
  border-bottom: 2px solid #E8F7FD;
}
#sp-registro-club-wrapper .sp-field {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
// ── Módulo 10 · Directorio de Clubs ──
window.addEventListener('load', function() {

  if (!document.getElementById('sp-clubs-wrapper')) return;

  // Configuración Firebase
  var firebaseConfig = {
    apiKey: "AIzaSyBby7JOAPiiinh6sF5phuXAFLnkwWKXxd0",
    authDomain: "smashplay-e1a23.firebaseapp.com",
    projectId: "smashplay-e1a23",
    storageBucket: "smashplay-e1a23.firebasestorage.app",
    messagingSenderId: "914969624123",
    appId: "1:914969624123:web:0dbccc702e273fe50d261e"
  };

  // Cargar Firebase SDK desde CDN
  var sdkScript = document.createElement('script');
  sdkScript.type = 'module';
  sdkScript.textContent = [
    'import { initializeApp } from "https://www.gstatic.com/firebasejs/10.11.0/firebase-app.js";',
    'import { getFirestore, collection, query, where, getDocs } from "https://www.gstatic.com/firebasejs/10.11.0/firebase-firestore.js";',
    '',
    'const app = initializeApp(' + JSON.stringify(firebaseConfig) + ');',
    'const db = getFirestore(app);',
    '',
    'async function spCargarClubs() {',
    '  try {',
    '    const q = query(',
    '      collection(db, "clubs"),',
    '      where("autonomousCommunity", "==", "Cataluña")',
    '    );',
    '    const snap = await getDocs(q);',
    '    window._spClubsData = [];',
    '    snap.forEach(function(doc) {',
    '      window._spClubsData.push({ id: doc.id, ...doc.data() });',
    '    });',
    '    window.spRenderizarClubs(window._spClubsData);',
    '  } catch(e) {',
    '    console.error("Error cargando clubs:", e);',
    '    document.getElementById("sp-clubs-lista").innerHTML = "<p style=\'color:#cc0000;padding:12px;\'>Error al cargar los clubs. Recarga la página.</p>";',
    '  }',
    '}',
    '',
    'spCargarClubs();'
  ].join('\n');
  document.head.appendChild(sdkScript);

  // Renderizar tarjetas
  window.spRenderizarClubs = function(clubs) {
    var lista = document.getElementById('sp-clubs-lista');
    var contador = document.getElementById('sp-clubs-contador');

    if (!clubs || clubs.length === 0) {
      lista.innerHTML = '<p class="sp-clubs-cargando">No se encontraron clubs.</p>';
      contador.textContent = '';
      return;
    }

    contador.textContent = clubs.length + ' clubs encontrados';

    var html = '';
    clubs.forEach(function(club) {

      // Badge según status
      var badge = '';
      if (club.verified === true) {
        badge = '<span class="sp-badge-verificado-club">✓ Verificado SmashPlay</span>';
      } else if (club.status === 'active' && club.description) {
        badge = '<span class="sp-badge-completo-club">Perfil completo</span>';
      } else {
        badge = '<span class="sp-badge-noverificado-club">Datos no verificados</span>';
      }

      // Logo o placeholder
      var logo = '';
      if (club.bannerImageUrl) {
        logo = '<img src="' + club.bannerImageUrl + '" alt="' + (club.name || '') + '" />';
      } else {
        logo = '<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#00AADC" stroke-width="1.5" stroke-linecap="round"><path d="M4 21V5C4 3.9 4.9 3 6 3H18C19.1 3 20 3.9 20 5V21"/><line x1="2" y1="21" x2="22" y2="21"/><rect x="9" y="10" width="6" height="11" rx="1"/></svg>';
      }

      // Dirección
      var direccion = club.streetAddress || club.address || '';
      var ubicacion = [club.city, club.province].filter(Boolean).join(' · ');
      if (direccion) ubicacion = direccion;

      // Pistas
      var pistas = club.courts ? club.courts + ' pistas' : '';

      html += '<div class="sp-club-card">' +
        '<div class="sp-club-logo">' + logo + '</div>' +
        '<div class="sp-club-info">' +
          '<p class="sp-club-nombre">' + (club.name || 'Club sin nombre') + '</p>' +
          '<p class="sp-club-ubicacion">' + ubicacion + '</p>' +
          '<div class="sp-club-badges">' + badge + '</div>' +
        '</div>' +
        '<div class="sp-club-derecha">' +
          (pistas ? '<span class="sp-club-pistas">' + pistas + '</span>' : '') +
        '</div>' +
      '</div>';
    });

    lista.innerHTML = html;
  };

  // Filtrar clubs
  window.spFiltrarClubs = function() {
    if (!window._spClubsData) return;

    var textoBuscar = document.getElementById('sp-clubs-buscar').value.toLowerCase().trim();
    var provincia = document.getElementById('sp-clubs-provincia').value;

    var filtrados = window._spClubsData.filter(function(club) {
      var nombre = (club.name || '').toLowerCase();
      var searchName = (club.searchName || '').toLowerCase();
      var coincideNombre = !textoBuscar || nombre.includes(textoBuscar) || searchName.includes(textoBuscar);
      var coincideProvincia = !provincia || club.province === provincia;
      return coincideNombre && coincideProvincia;
    });

    window.spRenderizarClubs(filtrados);
  };

});
  position: static !important;
  transform: none !important;
}
#sp-registro-club-wrapper .sp-field input[type="text"],
#sp-registro-club-wrapper .sp-field input[type="email"],
#sp-registro-club-wrapper .sp-field input[type="tel"],
#sp-registro-club-wrapper .sp-field input[type="password"] {
  background: #E8F7FD !important;
  border: 1.5px solid #B8E4F5 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 15px !important;
  color: #1A1A1A !important;
  outline: none !important;
  transition: border-color 0.2s !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#sp-registro-club-wrapper .sp-field input:focus {
  border-color: #00AADC !important;
}
#sp-registro-club-wrapper .sp-field input::placeholder {
  color: #AAAAAA !important;
}
#sp-registro-club-wrapper .sp-submit-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}
#sp-btn-registro-club {
  background: #C8E63C;
  color: #1A1A1A;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 16px;
  border: none;
  border-radius: 12px;
  padding: 16px 48px;
  cursor: pointer;
  transition: opacity 0.2s;
  max-width: 320px;
  width: 100%;
}
#sp-btn-registro-club:hover {
  opacity: 0.88;
}
#sp-btn-registro-club:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ── Dashboard · Iconos menú pestañas ── */

/* Base: ocultar texto y preparar layout icono + texto */
#uagb-tabs__tab0 a,
#uagb-tabs__tab1 a,
#uagb-tabs__tab2 a,
#uagb-tabs__tab3 a,
#uagb-tabs__tab4 a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 16px !important;
}

#uagb-tabs__tab0 a div,
#uagb-tabs__tab1 a div,
#uagb-tabs__tab2 a div,
#uagb-tabs__tab3 a div,
#uagb-tabs__tab4 a div {
  font-size: 12px !important;
  font-family: 'Rubik', sans-serif !important;
  color: #888888 !important;
  font-weight: 400 !important;
}

/* Pestaña activa — texto azul */
.uagb-tabs__active a div {
  color: #00AADC !important;
  font-weight: 500 !important;
}

/* Icono SVG via ::before en cada pestaña */
#uagb-tabs__tab0 a::before {
  content: '';
  display: block;
  width: 32px;
  height: 32px;
  background-color: #888888;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 10.5L12 3L21 10.5V21H15V15H9V21H3V10.5Z' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 10.5L12 3L21 10.5V21H15V15H9V21H3V10.5Z' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#uagb-tabs__tab1 a::before {
  content: '';
  display: block;
  width: 32px;
  height: 32px;
  background-color: #888888;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='4' width='18' height='17' rx='3' stroke='black' stroke-width='1.8'/%3E%3Cline x1='7' y1='2' x2='7' y2='6' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cline x1='17' y1='2' x2='17' y2='6' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cline x1='3' y1='10' x2='21' y2='10' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='12' cy='16' r='2.5' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='4' width='18' height='17' rx='3' stroke='black' stroke-width='1.8'/%3E%3Cline x1='7' y1='2' x2='7' y2='6' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cline x1='17' y1='2' x2='17' y2='6' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cline x1='3' y1='10' x2='21' y2='10' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='12' cy='16' r='2.5' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#uagb-tabs__tab2 a::before {
  content: '';
  display: block;
  width: 32px;
  height: 32px;
  background-color: #888888;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9' stroke='black' stroke-width='1.8'/%3E%3Cellipse cx='12' cy='12' rx='4' ry='9' stroke='black' stroke-width='1.3'/%3E%3Cline x1='3' y1='9' x2='21' y2='9' stroke='black' stroke-width='1.3'/%3E%3Cline x1='3' y1='15' x2='21' y2='15' stroke='black' stroke-width='1.3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9' stroke='black' stroke-width='1.8'/%3E%3Cellipse cx='12' cy='12' rx='4' ry='9' stroke='black' stroke-width='1.3'/%3E%3Cline x1='3' y1='9' x2='21' y2='9' stroke='black' stroke-width='1.3'/%3E%3Cline x1='3' y1='15' x2='21' y2='15' stroke='black' stroke-width='1.3'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#uagb-tabs__tab3 a::before {
  content: '';
  display: block;
  width: 32px;
  height: 32px;
  background-color: #888888;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 21V5C4 3.9 4.9 3 6 3H18C19.1 3 20 3.9 20 5V21' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cline x1='2' y1='21' x2='22' y2='21' stroke='black' stroke-width='1.8'/%3E%3Crect x='9' y='10' width='6' height='11' rx='1' stroke='black' stroke-width='1.5'/%3E%3Ccircle cx='14' cy='15.5' r='0.8' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 21V5C4 3.9 4.9 3 6 3H18C19.1 3 20 3.9 20 5V21' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cline x1='2' y1='21' x2='22' y2='21' stroke='black' stroke-width='1.8'/%3E%3Crect x='9' y='10' width='6' height='11' rx='1' stroke='black' stroke-width='1.5'/%3E%3Ccircle cx='14' cy='15.5' r='0.8' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#uagb-tabs__tab4 a::before {
  content: '';
  display: block;
  width: 32px;
  height: 32px;
  background-color: #888888;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2L14.5 8.5L21.5 9.3L16.5 14L18 21L12 17.5L6 21L7.5 14L2.5 9.3L9.5 8.5L12 2Z' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2L14.5 8.5L21.5 9.3L16.5 14L18 21L12 17.5L6 21L7.5 14L2.5 9.3L9.5 8.5L12 2Z' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* ── Dashboard · Acciones rápidas ── */
#sp-acciones-rapidas {
  background-color: #C8E63C;
  border-radius: 12px;
  padding: 24px;
  margin-top: 24px;
}

#sp-acciones-rapidas .sp-acciones-titulo {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #1A1A1A;
  margin: 0 0 16px 0;
}

#sp-acciones-rapidas .sp-accion-card {
  background-color: #ffffff;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#sp-acciones-rapidas .sp-accion-card:last-child {
  margin-bottom: 0;
}

#sp-acciones-rapidas .sp-accion-info {
  flex: 1;
  min-width: 0;
}

#sp-acciones-rapidas .sp-accion-nombre {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #1A1A1A;
  margin: 0 0 4px 0;
}

#sp-acciones-rapidas .sp-accion-desc {
  font-family: 'Rubik', sans-serif;
  font-size: 13px;
  color: #555555;
  margin: 0;
}

#sp-acciones-rapidas .sp-accion-btn {
  flex-shrink: 0;
  background-color: #1A1A1A;
  color: #ffffff;
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
}

#sp-acciones-rapidas .sp-accion-btn--disabled {
  background-color: #AAAAAA;
  cursor: not-allowed;
}

/* Responsive móvil — Acciones rápidas */
@media (max-width: 768px) {
  #sp-acciones-rapidas .sp-accion-card {
    flex-direction: row !important;
    align-items: center;
    gap: 12px;
    padding: 12px;
  }

  #sp-acciones-rapidas .sp-accion-nombre {
    font-size: 13px;
  }

  #sp-acciones-rapidas .sp-accion-desc {
    font-size: 12px;
  }

  #sp-acciones-rapidas .sp-accion-btn {
    flex-shrink: 0;
    width: auto;
    padding: 8px 14px;
    font-size: 13px;
  }
}

/* Icono azul cuando la pestaña está activa */
.uagb-tabs__active a::before {
  background-color: #00AADC !important;
}

/* ── Dashboard · Responsive móvil — Tab bar inferior fija ── */
@media (max-width: 768px) {

  /* Ocultar texto en móvil */
  #uagb-tabs__tab0 a div,
  #uagb-tabs__tab1 a div,
  #uagb-tabs__tab2 a div,
  #uagb-tabs__tab3 a div,
  #uagb-tabs__tab4 a div {
    display: none !important;
  }

  /* Barra inferior fija */
  .uagb-tabs__panel {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-around !important;
    align-items: center !important;
    background-color: #ffffff !important;
    border-top: 1px solid #B8E4F5 !important;
    padding: 8px 0 12px 0 !important;
    margin: 0 !important;
    z-index: 9999 !important;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.06) !important;
  }

  /* Cada pestaña ocupa espacio igual */
  .uagb-tabs__panel .uagb-tab {
    flex: 1 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Enlace centrado */
  #uagb-tabs__tab0 a,
  #uagb-tabs__tab1 a,
  #uagb-tabs__tab2 a,
  #uagb-tabs__tab3 a,
  #uagb-tabs__tab4 a {
    padding: 4px 0 !important;
    justify-content: center !important;
  }

  /* Icono ligeramente más pequeño */
  #uagb-tabs__tab0 a::before,
  #uagb-tabs__tab1 a::before,
  #uagb-tabs__tab2 a::before,
  #uagb-tabs__tab3 a::before,
  #uagb-tabs__tab4 a::before {
    width: 26px !important;
    height: 26px !important;
  }

  /* Espacio inferior al contenido para no quedar tapado por la barra */
  .uagb-tabs__body-wrap {
    padding-bottom: 80px !important;
  }
}


/* ── Módulo 07 · Búsqueda de pareja ── */
#sp-buscar-wrapper {
  max-width: 720px;
  margin: 32px auto;
  padding-top: 24px;
}

#sp-buscar-wrapper .sp-buscar-header {
  margin-bottom: 40px;
  padding-top: 16px;
}

#sp-buscar-wrapper .sp-buscar-header h2 {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #1A1A1A;
  margin-bottom: 8px;
}

#sp-buscar-wrapper .sp-buscar-header p {
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  color: #555555;
  margin: 0;
}

/* Filtros */
.sp-buscar-filtros {
  background: #F8FDFF;
  border: 1.5px solid #B8E4F5;
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sp-filtro-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sp-filtro-field label {
  font-family: 'Archivo', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: #1A1A1A !important;
  position: static !important;
  transform: none !important;
}

.sp-filtro-field select,
.sp-filtro-field input[type="text"] {
  background: #E8F7FD !important;
  border: 1.5px solid #B8E4F5 !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  outline: none !important;
  transition: border-color 0.2s !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.sp-filtro-field select:focus,
.sp-filtro-field input[type="text"]:focus {
  border-color: #00AADC !important;
}

.sp-filtro-actions {
  display: flex;
  gap: 16px;
  margin-top: 12px;
}

#sp-btn-buscar {
  background: #C8E63C;
  color: #1A1A1A;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 15px;
  border: none;
  border-radius: 10px;
  padding: 14px 32px;
  cursor: pointer;
  transition: opacity 0.2s;
  flex: 1;
}

#sp-btn-buscar:hover { opacity: 0.88; }
#sp-btn-buscar:disabled { opacity: 0.5; cursor: not-allowed; }

#sp-btn-limpiar {
  background: transparent;
  color: #555555;
  font-family: 'Rubik', sans-serif;
  font-weight: 400;
  font-size: 14px;
  border: 1.5px solid #B8E4F5;
  border-radius: 10px;
  padding: 14px 24px;
  cursor: pointer;
  transition: opacity 0.2s;
}

#sp-btn-limpiar:hover { opacity: 0.75; }

/* Match automático */
.sp-match-badge {
  background: linear-gradient(135deg, #C8E63C, #a8c420);
  border-radius: 12px;
  padding: 16px 20px;
  font-family: 'Archivo', sans-serif;
  font-size: 15px;
  color: #1A1A1A;
  margin-bottom: 16px;
  text-align: center;
}

/* Cards de resultado */
.sp-resultado-card {
  background: #F8FDFF;
  border: 1.5px solid #B8E4F5;
  border-left: 4px solid #00AADC;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.sp-resultado-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #E8F7FD;
  border: 1.5px solid #B8E4F5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #00AADC;
}

.sp-resultado-info {
  flex: 1;
}

.sp-resultado-nombre {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #1A1A1A;
  margin: 0 0 4px 0;
}

.sp-resultado-detalle {
  font-family: 'Rubik', sans-serif;
  font-size: 12px;
  color: #555555;
  margin: 0 0 8px 0;
}

.sp-resultado-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.sp-resultado-nivel {
  font-family: 'Rubik', sans-serif;
  font-size: 11px;
  font-weight: 700;
  background: #FFF3CD;
  color: #1A1A1A;
  border-radius: 6px;
  padding: 3px 8px;
  display: inline-block;
}

.sp-resultado-nivel.verificado {
  background: #C8E63C;
}

.sp-resultado-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.sp-score-numero {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: #00AADC;
  line-height: 1;
}

.sp-score-numero.alto { color: #C8E63C; }
.sp-score-numero.muy-alto { color: #38a169; }

.sp-score-label {
  font-family: 'Rubik', sans-serif;
  font-size: 10px;
  color: #555555;
}

.sp-buscar-hint {
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  color: #AAAAAA;
  text-align: center;
  padding: 32px 0;
}

.sp-buscar-vacio {
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  color: #555555;
  text-align: center;
  padding: 32px 0;
}

/* ── Módulo 03 · Mi Perfil ── */
#sp-mi-perfil-wrapper {
  margin-top: 16px;
}

#sp-mi-perfil-toggle {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #FFFFFF;
  color: #00AADC;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 15px;
  border: 2px solid #00AADC;
  border-radius: 12px;
  padding: 12px 24px;
  cursor: pointer;
  transition: opacity 0.2s;
  width: auto;
}

#sp-mi-perfil-toggle:hover {
  opacity: 0.85;
}

#sp-mi-perfil-chevron {
  font-size: 12px;
  transition: transform 0.2s;
}

#sp-mi-perfil-contenido {
  background: #F8FDFF;
  border: 1.5px solid #B8E4F5;
  border-radius: 12px;
  padding: 20px;
  margin-top: 8px;
}

.sp-perfil-fila {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #E8F7FD;
}

.sp-perfil-fila:last-of-type {
  border-bottom: none;
}

.sp-perfil-label {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #1A1A1A;
}

.sp-perfil-valor {
  font-family: 'Rubik', sans-serif;
  font-size: 15px;
  color: #555555;
}

.sp-perfil-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.sp-btn-perfil-editar {
  background: #C8E63C;
  color: #1A1A1A;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 14px;
  border: none;
  border-radius: 8px;
  padding: 10px 18px;
  cursor: pointer;
  transition: opacity 0.2s;
}

.sp-btn-perfil-editar:hover { opacity: 0.85; }

.sp-btn-perfil-password {
  background: #E8F7FD;
  color: #00AADC;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 14px;
  border: 1.5px solid #B8E4F5;
  border-radius: 8px;
  padding: 10px 18px;
  cursor: pointer;
  transition: opacity 0.2s;
}

.sp-btn-perfil-password:hover { opacity: 0.85; }

.sp-btn-perfil-eliminar {
  background: #fff0f0;
  color: #e53e3e;
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 14px;
  border: 1.5px solid #ffcccc;
  border-radius: 8px;
  padding: 10px 18px;
  cursor: pointer;
  transition: opacity 0.2s;
}

.sp-btn-perfil-eliminar:hover { opacity: 0.85; }

#sp-perfil-editor h4,
#sp-perfil-password h4 {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #1A1A1A;
  margin: 16px 0 12px 0;
  padding-top: 16px;
  border-top: 1px solid #E8F7FD;
}

#sp-perfil-editor .sp-field,
#sp-perfil-password .sp-field {
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}

#sp-perfil-editor .sp-field label,
#sp-perfil-password .sp-field label {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #1A1A1A;
  margin-bottom: 6px;
}

#sp-perfil-editor .sp-field input,
#sp-perfil-password .sp-field input {
  background: #E8F7FD;
  border: 1.5px solid #B8E4F5;
  border-radius: 10px;
  padding: 14px 16px;
  font-family: 'Rubik', sans-serif;
  font-size: 15px;
  color: #1A1A1A;
  outline: none;
  transition: border-color 0.2s;
  width: 100%;
  box-sizing: border-box;
}

#sp-perfil-editor .sp-field input:focus,
#sp-perfil-password .sp-field input:focus {
  border-color: #00AADC;
}

#sp-perfil-editor .sp-field .sp-field-hint {
  font-family: 'Rubik', sans-serif;
  font-size: 11px;
  color: #888888;
  margin-top: 6px;
}

/* ── Módulo 10 · Directorio de Clubs ── */
#sp-clubs-wrapper {
  max-width: 860px;
  margin: 0 auto;
  padding: 8px 0 40px 0;
}

#sp-clubs-wrapper .sp-clubs-header {
  margin-bottom: 24px;
}

#sp-clubs-wrapper .sp-clubs-titulo {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: #1A1A1A;
  margin: 0 0 4px 0;
}

#sp-clubs-wrapper .sp-clubs-subtitulo {
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  color: #555555;
  margin: 0;
}

#sp-clubs-wrapper .sp-clubs-filtros {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

#sp-clubs-wrapper .sp-clubs-filtro-grupo {
  flex: 1;
  min-width: 200px;
}

#sp-clubs-wrapper .sp-clubs-input {
  width: 100%;
  padding: 10px 14px;
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  color: #1A1A1A;
  background: #E8F7FD;
  border: 1.5px solid #B8E4F5;
  border-radius: 12px;
  outline: none;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}

#sp-clubs-wrapper .sp-clubs-input:focus {
  border-color: #00AADC;
}

#sp-clubs-wrapper .sp-clubs-contador {
  font-family: 'Rubik', sans-serif;
  font-size: 13px;
  color: #555555;
  margin-bottom: 16px;
}

#sp-clubs-wrapper .sp-clubs-cargando {
  color: #888888;
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  padding: 24px 0;
}

#sp-clubs-wrapper .sp-club-card {
  background: #F8FDFF;
  border: 1px solid #B8E4F5;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 12px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

#sp-clubs-wrapper .sp-club-logo {
  width: 56px;
  height: 56px;
  min-width: 56px;
  border-radius: 10px;
  background: #E8F7FD;
  border: 1px solid #B8E4F5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

#sp-clubs-wrapper .sp-club-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

#sp-clubs-wrapper .sp-club-info {
  flex: 1;
  min-width: 0;
}

#sp-clubs-wrapper .sp-club-nombre {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #1A1A1A;
  margin: 0 0 4px 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

#sp-clubs-wrapper .sp-club-ubicacion {
  font-family: 'Rubik', sans-serif;
  font-size: 13px;
  color: #555555;
  margin: 0 0 8px 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

#sp-clubs-wrapper .sp-club-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

#sp-clubs-wrapper .sp-badge-verificado-club {
  display: inline-block;
  background: #C8E63C;
  color: #1A1A1A;
  font-family: 'Rubik', sans-serif;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
}

#sp-clubs-wrapper .sp-badge-completo-club {
  display: inline-block;
  background: #E8F7FD;
  color: #00AADC;
  font-family: 'Rubik', sans-serif;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
}

#sp-clubs-wrapper .sp-badge-noverificado-club {
  display: inline-block;
  background: #FFF9E6;
  color: #856404;
  font-family: 'Rubik', sans-serif;
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 20px;
}

#sp-clubs-wrapper .sp-club-derecha {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

#sp-clubs-wrapper .sp-club-pistas {
  font-family: 'Rubik', sans-serif;
  font-size: 12px;
  color: #555555;
  text-align: right;
}

@media (max-width: 768px) {
  #sp-clubs-wrapper .sp-clubs-filtros {
    flex-direction: column;
    gap: 8px;
  }

  #sp-clubs-wrapper .sp-club-card {
    flex-direction: column;
    gap: 12px;
  }

  #sp-clubs-wrapper .sp-club-derecha {
    flex-direction: row;
    align-items: center;
    width: 100%;
    justify-content: space-between;
  }
}