:root {
  --ex-bg: #05070b;
  --ex-bg-alt: #10131b;
  --ex-card-bg: #151924;
  --ex-primary: #ff5c39;
  --ex-primary-soft: rgba(255, 92, 57, 0.12);
  --ex-text-main: #f5f5f7;
  --ex-text-muted: #a3a7b5;
  --ex-border-subtle: #262a38;
  --ex-radius-lg: 18px;
  --ex-radius-xl: 26px;
  --ex-shadow-soft: 0 18px 40px rgba(0, 0, 0, 0.38);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: radial-gradient(circle at top, #151824 0, #05070b 50%, #020308 100%);
  color: var(--ex-text-main);
  line-height: 1.6;
}

/* Layout base */
.ex-container {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* HEADER */
.ex-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(5, 7, 11, 0.92);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.ex-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
}

.ex-logo {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-family: 'Montserrat', sans-serif;
}

.ex-logo-mark {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 0, #ffd2c4, #ff5c39);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
  color: #05070b;
}

.ex-logo-text {
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: 0.9rem;
  text-transform: uppercase;
}

.ex-nav {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 0.9rem;
}

.ex-nav a {
  text-decoration: none;
  color: var(--ex-text-muted);
  transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.ex-nav a:hover {
  color: #ffffff;
}

.ex-nav-cta {
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
}

.ex-nav-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--ex-text-main);
  font-size: 1.4rem;
}

/* HERO */
.ex-hero {
  padding: 3.5rem 0 3rem;
}

.ex-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}

.ex-hero-text h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2.2rem, 3vw, 2.8rem);
  line-height: 1.1;
  margin-bottom: 1rem;
}

.ex-hero-text p {
  color: var(--ex-text-muted);
  max-width: 34rem;
  margin-bottom: 1.5rem;
}

.ex-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 1.4rem;
}

.ex-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  font-size: 0.8rem;
}

.ex-hero-meta span {
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* Botones */
.ex-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.3rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  white-space: nowrap;
}

.ex-btn-primary {
  background: linear-gradient(135deg, #ff5c39, #ff965f);
  color: #05070b;
  box-shadow: 0 10px 30px rgba(255, 92, 57, 0.32);
}

.ex-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(255, 92, 57, 0.45);
}

.ex-btn-outline {
  background: rgba(15, 18, 30, 0.7);
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--ex-text-main);
}

.ex-btn-outline:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* Hero card */
.ex-hero-card {
  background: radial-gradient(circle at top left, rgba(255, 92, 57, 0.2), transparent 55%),
    var(--ex-card-bg);
  border-radius: var(--ex-radius-xl);
  padding: 1.6rem 1.5rem;
  box-shadow: var(--ex-shadow-soft);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.ex-hero-card h2 {
  margin-top: 0;
  margin-bottom: 0.4rem;
  font-size: 1.1rem;
}

.ex-hero-event-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  margin: 0.1rem 0;
}

.ex-hero-event-meta {
  font-size: 0.85rem;
  color: var(--ex-text-muted);
  margin-bottom: 1rem;
}

.ex-hero-event-line {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
  margin-bottom: 0.4rem;
}

.ex-hero-event-line strong {
  font-weight: 600;
}

.ex-hero-btn-full {
  width: 100%;
  margin: 0.8rem 0;
}

.ex-hero-footnote {
  font-size: 0.75rem;
  color: var(--ex-text-muted);
}

/* Secciones */
.ex-section {
  padding: 3rem 0;
}

.ex-section-alt {
  padding: 3rem 0;
  background: radial-gradient(circle at top, #131623, #05070b);
}

.ex-section-header {
  text-align: left;
  margin-bottom: 1.8rem;
}

.ex-section-header h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}

.ex-section-header p {
  color: var(--ex-text-muted);
  max-width: 34rem;
}

/* Section header flex */
.ex-section-header-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
}

/* Filtros eventos */
.ex-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 1.4rem;
}

.ex-filter-btn {
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(10, 12, 20, 0.7);
  color: var(--ex-text-muted);
  font-size: 0.8rem;
  cursor: pointer;
  transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}

.ex-filter-btn-active,
.ex-filter-btn:hover {
  background: var(--ex-primary-soft);
  color: #ffffff;
  border-color: var(--ex-primary);
}

/* Cards */
.ex-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1.3rem;
}

.ex-card-grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.ex-card {
  background: rgba(15, 18, 30, 0.9);
  border-radius: var(--ex-radius-lg);
  padding: 1.2rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
  position: relative;
  overflow: hidden;
}

.ex-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.03), transparent 55%);
  opacity: 0.8;
  pointer-events: none;
}

.ex-card > * {
  position: relative;
}

.ex-card h3 {
  margin-top: 0.3rem;
  margin-bottom: 0.1rem;
  font-size: 1rem;
}

.ex-card-meta {
  font-size: 0.8rem;
  color: var(--ex-text-muted);
  margin-bottom: 0.6rem;
}

.ex-card-text {
  font-size: 0.88rem;
  color: var(--ex-text-muted);
  margin-bottom: 0.9rem;
}

.ex-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
}

.ex-card-price {
  font-weight: 600;
}

.ex-card-link {
  font-size: 0.85rem;
  text-decoration: none;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.ex-card-link::after {
  content: "→";
  font-size: 0.85em;
}

/* Card tag */
.ex-card-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: var(--ex-primary-soft);
  color: var(--ex-primary);
  font-weight: 500;
}

/* Card icon */
.ex-card-icon {
  font-size: 1.6rem;
  margin-bottom: 0.4rem;
}

/* LIVE tiempos */
.ex-live-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 1.5rem;
}

.ex-live-card {
  background: rgba(12, 14, 24, 0.95);
  border-radius: var(--ex-radius-lg);
  padding: 1.2rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: var(--ex-shadow-soft);
}

.ex-live-form {
  display: flex;
  gap: 0.7rem;
  margin-top: 0.9rem;
  margin-bottom: 0.8rem;
}

.ex-live-form input {
  flex: 1;
  padding: 0.6rem 0.8rem;
  border-radius: 999px;
  border: 1px solid var(--ex-border-subtle);
  background: rgba(3, 5, 10, 0.9);
  color: var(--ex-text-main);
  font-size: 0.9rem;
}

.ex-live-form input::placeholder {
  color: #5c6070;
}

.ex-live-note {
  font-size: 0.78rem;
  color: var(--ex-text-muted);
}

.ex-live-list {
  list-style: none;
  padding: 0;
  margin: 0.4rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.ex-live-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.86rem;
}

.ex-live-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #32d26a;
  box-shadow: 0 0 0 5px rgba(50, 210, 106, 0.18);
  flex-shrink: 0;
}

.ex-live-dot-off {
  background: #ffbf47;
  box-shadow: 0 0 0 5px rgba(255, 191, 71, 0.18);
}

.ex-live-label {
  font-size: 0.75rem;
  color: var(--ex-text-muted);
}

/* Productos (placeholders) */
.ex-product-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  margin-bottom: 0.6rem;
  background-size: cover;
  background-position: center;
  background-image: linear-gradient(135deg, #262a3a, #141624);
}

/* Placeholder distinto por clase extra (luego cambiar por imágenes reales) */
.ex-product-image-1 {
  background-image: linear-gradient(135deg, #ff5c39, #ffb36f);
}

.ex-product-image-2 {
  background-image: linear-gradient(135deg, #4c6fff, #9fafff);
}

.ex-product-image-3 {
  background-image: linear-gradient(135deg, #32d26a, #82f2b0);
}

/* Why section */
.ex-why-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 1.8rem;
  align-items: center;
}

.ex-why-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.9rem;
  color: var(--ex-text-muted);
}

.ex-why-list li + li {
  margin-top: 0.4rem;
}

/* CTA final */
.ex-cta-final {
  padding-bottom: 3.5rem;
}

.ex-cta-final-inner {
  background: linear-gradient(135deg, #ff5c39, #ff965f);
  border-radius: 26px;
  padding: 1.6rem 1.4rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #05070b;
  box-shadow: 0 18px 40px rgba(255, 92, 57, 0.5);
}

.ex-cta-final-inner h2 {
  margin: 0 0 0.3rem;
  font-family: 'Montserrat', sans-serif;
}

.ex-cta-final-inner p {
  margin: 0;
}

.ex-cta-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.ex-cta-final .ex-btn-primary {
  background: #05070b;
  color: #ffffff;
  box-shadow: none;
}

.ex-cta-final .ex-btn-outline {
  border-color: rgba(5, 7, 11, 0.4);
  color: #05070b;
  background: rgba(255, 255, 255, 0.2);
}

/* Footer */
.ex-footer {
  background: #05070b;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 2rem;
  margin-top: 2rem;
}

.ex-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr));
  gap: 1.6rem;
  font-size: 0.85rem;
}

.ex-footer h3,
.ex-footer h4 {
  margin-top: 0;
}

.ex-footer a {
  color: var(--ex-text-muted);
  text-decoration: none;
  transition: color 0.16s ease;
}

.ex-footer a:hover {
  color: #ffffff;
}

.ex-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 0.9rem 0;
  margin-top: 1.4rem;
  text-align: center;
  font-size: 0.8rem;
  color: var(--ex-text-muted);
}

/* Responsivo global */
@media (max-width: 900px) {
  .ex-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ex-live-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ex-why-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ex-section-header-flex {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .ex-header-inner {
    height: 64px;
  }

  .ex-nav {
    position: absolute;
    inset: 64px 0 auto;
    background: rgba(5, 7, 11, 0.98);
    flex-direction: column;
    align-items: flex-start;
    padding: 0.9rem 1.5rem 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    transform: translateY(-120%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  .ex-nav.ex-nav-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .ex-nav-toggle {
    display: block;
  }

  .ex-hero {
    padding-top: 2.3rem;
  }

  .ex-hero-card {
    order: -1;
  }

  .ex-cta-final-inner {
    padding: 1.3rem 1.1rem;
  }

  .ex-footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* HOME: ocultar el título de la página ("Inicio") */
body.home .entry-header,
body.home .entry-title {
  display: none;
}

/* HOME: quitar espacios y fondos blancos de Astra arriba y abajo */
body.home #page,
body.home .site-content,
body.home .ast-container,
body.home .content-area,
body.home .entry-content {
  background: transparent;
  margin: 0;
  padding: 0;
}

/* HOME: ocultar el footer del tema y el crédito de WordPress.com */
body.home .site-footer,
body.home #wpcom-credit,
body.home .site-info {
  display: none;
}

/* HOME: asegurar buen contraste de los textos dentro del diseño nuevo */
body.home .site {
  color: var(--ex-text-main);
}

.ex-hero-text h1 {
  color: var(--ex-text-main);
}

.ex-section-header p,
.ex-card-text,
.ex-card-meta {
  color: var(--ex-text-muted);
}

/* Ocultar título de página en TODAS las páginas
   EXCEPTO carrito y finalizar compra */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-header,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-title,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .ast-page-title-wrap,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) h1.wp-block-post-title {
  display: none !important;
}

/* Quitar márgenes/paddings que mete Astra alrededor del contenido
   EXCEPTO en carrito y finalizar compra */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .site-content,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .ast-container,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .content-area {
  margin: 0;
  padding: 0;
  background: transparent;
}

/* Ocultar el footer del tema y el crédito en páginas
   EXCEPTO en carrito y finalizar compra */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .site-footer,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) #wpcom-credit,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .site-info {
  display: none !important;
}

/* Colores por defecto claros en todo el layout custom "ex-" */
.ex-header,
.ex-hero,
.ex-section,
.ex-cta-final,
.ex-footer {
  color: var(--ex-text-main);
}

/* Encabezados dentro de nuestro layout: siempre claros */
.ex-hero-text h1,
.ex-hero-card h2,
.ex-section h2,
.ex-card h3,
.ex-live-card h3,
.ex-footer h3,
.ex-footer h4 {
  color: var(--ex-text-main) !important;
}

/* Textos generales dentro de nuestras secciones */
.ex-hero p,
.ex-section p,
.ex-section li,
.ex-footer p {
  color: var(--ex-text-muted);
}

/* Tarjetas y módulo de evento destacado: texto claro */
.ex-hero-card h2,
.ex-hero-card p,
.ex-hero-card strong {
  color: var(--ex-text-main) !important;
}

.ex-card p,
.ex-card span,
.ex-card a {
  color: var(--ex-text-main);
}

.ex-card-meta,
.ex-card-text {
  color: var(--ex-text-muted) !important;
}

/* OCULTAR LA FRANJA SUPERIOR (HEADER DE ASTRA) EN LAS PÁGINAS
   EXCEPTO en carrito y finalizar compra */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) header#masthead,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .site-header {
  display: none !important;
}

/* QUITAR EL ESPACIO QUE DEJA POR ENCIMA DEL CONTENIDO
   EXCEPTO en carrito y finalizar compra */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) #content,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .site-content,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .ast-container,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .content-area,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) main.site-main,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) article.page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* POR SI EL PRIMER BLOQUE TIENE MARGEN SUPERIOR
   EXCEPTO en carrito y finalizar compra */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content > *:first-child {
  margin-top: 0 !important;
}

/* Volver a centrar el contenido de la página (Astra)
   EXCEPTO en carrito y finalizar compra */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .site-content,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .ast-container,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .content-area,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) #primary,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) main.site-main,
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) article.page {
  margin: 0 auto !important;
  float: none !important;
}

/* El ancho lo maneja Astra, solo nos aseguramos de que sea 100% y centrado
   EXCEPTO en carrito y finalizar compra */
body.page:not(.woocommerce-cart):not(.woocommerce-checkout) .ast-container {
  width: 100%;
  max-width: 1200px;
}


/* ===========================
   PÁGINA INSCRIPCIONES (hero + buscador)
   =========================== */

.ex-insc-hero {
  padding-top: 2.8rem;
  padding-bottom: 1.8rem;
}

.ex-insc-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.8rem;
  margin: 0 0 0.4rem;
  color: var(--ex-text-main);
}

.ex-insc-subtitle {
  margin: 0;
  max-width: 36rem;
  color: var(--ex-text-muted);
  font-size: 0.95rem;
}

/* Buscador */
.ex-insc-search {
  margin-top: 1.5rem;
  background: rgba(10, 13, 22, 0.95);
  border-radius: 18px;
  padding: 1.1rem 1.1rem 0.8rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

.ex-insc-search-row {
  display: grid;
  grid-template-columns: 1.1fr 1.1fr 2fr auto;
  gap: 0.6rem;
}

.ex-insc-input {
  padding: 0.6rem 0.8rem;
  border-radius: 999px;
  border: 1px solid var(--ex-border-subtle);
  background: rgba(3, 5, 10, 0.9);
  color: var(--ex-text-main);
  font-size: 0.9rem;
}

.ex-insc-input::placeholder {
  color: #5c6070;
}

.ex-insc-search-btn {
  padding-inline: 1.2rem;
}

.ex-insc-search-note {
  margin-top: 0.6rem;
  font-size: 0.78rem;
  color: var(--ex-text-muted);
}

/* Listado */
.ex-insc-list-section {
  padding-top: 1rem;
  padding-bottom: 3rem;
}

.ex-insc-list {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

/* Tarjeta inscripción nueva (inscripciones portal) */
.ex-insc-card {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: rgba(12, 15, 25, 0.96);
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}

/* Columna fecha */
.ex-insc-date {
  min-width: 78px;
  padding: 0.8rem 0.6rem;
  background: radial-gradient(circle at top, rgba(255, 92, 57, 0.4), rgba(12, 15, 25, 1));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.ex-insc-day {
  font-size: 1.5rem;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
}

.ex-insc-month {
  font-size: 0.9rem;
  text-transform: uppercase;
}

.ex-insc-year {
  font-size: 0.7rem;
  opacity: 0.8;
}

/* Columna central */
.ex-insc-main {
  flex: 1;
  display: flex;
  gap: 0.8rem;
  padding: 0.7rem 0.9rem;
  align-items: center;
}

.ex-insc-poster {
  width: 70px;
  min-width: 70px;
  height: 96px;
  border-radius: 10px;
  background-image: linear-gradient(135deg, #ff5c39, #ffb36f);
  background-size: cover;
  background-position: center;
}

/* Variantes poster */
.ex-insc-poster-2 {
  background-image: linear-gradient(135deg, #4c6fff, #9fafff);
}

.ex-insc-poster-3 {
  background-image: linear-gradient(135deg, #32d26a, #82f2b0);
}

.ex-insc-info {
  flex: 1;
}

.ex-insc-name {
  margin: 0 0 0.2rem;
  font-size: 1rem;
  color: var(--ex-text-main);
}

.ex-insc-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  font-size: 0.8rem;
  color: var(--ex-text-muted);
  margin-bottom: 0.3rem;
}

.ex-insc-links a {
  font-size: 0.8rem;
  text-decoration: none;
  color: #ffffff;
}

.ex-insc-links a::after {
  content: " →";
  font-size: 0.85em;
}

/* Columna derecha (botón + fecha límite) */
.ex-insc-cta {
  min-width: 150px;
  padding: 0.7rem 0.9rem;
  border-left: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 0.35rem;
}

.ex-insc-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
}

.ex-insc-status-open {
  background: linear-gradient(135deg, #ff5c39, #ff965f);
  color: #05070b;
}

.ex-insc-status-closed {
  background: #151822;
  color: #ffffff;
}

.ex-insc-deadline {
  font-size: 0.75rem;
  color: var(--ex-text-muted);
}

/* Responsive inscripciones portal */
@media (max-width: 900px) {
  .ex-insc-search-row {
    grid-template-columns: 1fr 1fr;
  }

  .ex-insc-input-wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  .ex-insc-hero {
    padding-top: 2.1rem;
  }

  .ex-insc-search-row {
    grid-template-columns: 1fr;
  }

  .ex-insc-card {
    flex-direction: column;
  }

  .ex-insc-date {
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.4rem;
    padding-inline: 0.9rem;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  .ex-insc-main {
    align-items: flex-start;
  }

  .ex-insc-cta {
    align-items: flex-start;
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 0.5rem;
  }

  .ex-insc-status {
    width: 100%;
    justify-content: center;
  }
}

/* ====== MARCO CLARO LISTADO INSCRIPCIONES (shortcode) ====== */

.ex-insc-wrapper {
  padding: 2rem 0 4rem;
  background: radial-gradient(circle at top, #131623, #05070b);
}

.ex-insc-frame {
  background: #f5f7fb;
  border-radius: 20px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45);
  padding: 2rem 2.2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.ex-insc-frame * {
  color: #1a1a1a !important;
}

.ex-insc-frame h1,
.ex-insc-frame h2,
.ex-insc-frame h3 {
  font-family: "Montserrat", sans-serif;
  color: #ff5c39 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.ex-insc-frame article,
.ex-insc-frame .evento,
.ex-insc-frame .prueba {
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 1.2rem 1.5rem;
  margin-bottom: 1.3rem;
  border-left: 6px solid #ff5c39;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ex-insc-frame article:hover,
.ex-insc-frame .evento:hover,
.ex-insc-frame .prueba:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.ex-insc-frame a.button,
.ex-insc-frame input[type="submit"],
.ex-insc-frame button {
  background: linear-gradient(135deg, #ff5c39, #ff965f);
  color: #fff !important;
  border: none;
  border-radius: 999px;
  padding: 0.5rem 1.2rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.ex-insc-frame a.button:hover,
.ex-insc-frame button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(255, 92, 57, 0.4);
}

.ex-insc-frame img {
  max-width: 180px;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
}

@media (max-width: 900px) {
  .ex-insc-frame {
    padding: 1.5rem 1rem;
  }

  .ex-insc-frame article,
  .ex-insc-frame .evento,
  .ex-insc-frame .prueba {
    padding: 1rem;
  }

  .ex-insc-frame img {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 600px) {
  .ex-insc-frame {
    padding: 1rem;
  }
}

/* Ocultar el título que saca el shortcode dentro del marco */
.ex-insc-frame > h1:first-child,
.ex-insc-frame > h2:first-child,
.ex-insc-frame > h3:first-child {
  display: none !important;
}

/* Ajustar buscador dentro del marco */
.ex-insc-frame .ex-insc-search {
  margin-top: 0;
  margin-bottom: 1.5rem;
  background: #ffffff;
  border-radius: 18px;
  padding: 1rem 1.2rem;
  border: 1px solid #dde1f0;
  box-shadow: none;
}

.ex-insc-frame .ex-insc-input {
  background: #f5f7fb;
  border-color: #d0d5e6;
  color: #222;
}

.ex-insc-frame .ex-insc-input::placeholder {
  color: #7b7f8e;
}

.ex-insc-frame .ex-insc-search-btn {
  box-shadow: 0 8px 18px rgba(255, 92, 57, 0.35);
}

/* Botón genérico INSCRÍBETE */
.ex-insc-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1.3rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff5c39, #ff965f);
  color: #fff !important;
  font-weight: 600;
  text-decoration: none !important;
  border: none;
  box-shadow: 0 8px 18px rgba(255, 92, 57, 0.35);
  margin-top: 0.6rem;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.ex-insc-cta-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(255, 92, 57, 0.45);
}

/* ===========================
   PÁGINA EVENTOS
   =========================== */

.ex-events-hero {
  padding-top: 2.8rem;
  padding-bottom: 1.5rem;
}

.ex-events-hero h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
  margin-bottom: 0.3rem;
}

.ex-events-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.9rem;
  margin-top: 1.5rem;
}

.ex-events-summary-card {
  background: rgba(15, 18, 30, 0.9);
  border-radius: 18px;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.35);
}

.ex-events-summary-label {
  font-size: 0.8rem;
  color: var(--ex-text-muted);
}

.ex-events-summary-value {
  display: block;
  margin-top: 0.25rem;
  font-size: 1rem;
}

/* Listado eventos */
.ex-events-section {
  padding-top: 1.5rem;
  padding-bottom: 3.5rem;
}

.ex-events-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Tarjeta de evento */
.ex-event-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: stretch;
  background: rgba(12, 15, 25, 0.96);
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.45);
  padding: 1rem 1.1rem;
}

/* Fecha */
.ex-event-date {
  width: 80px;
  border-radius: 14px;
  background: radial-gradient(circle at top, rgba(255, 92, 57, 0.4), rgba(12, 15, 25, 1));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 0.5rem;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.ex-event-day {
  font-size: 1.5rem;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
}

.ex-event-month {
  text-transform: uppercase;
  font-size: 0.85rem;
}

.ex-event-year {
  font-size: 0.7rem;
  opacity: 0.85;
}

/* Contenido principal */
.ex-event-main {
  padding: 0.2rem 0.1rem;
}

.ex-event-chip {
  display: inline-flex;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  margin-bottom: 0.4rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.ex-event-chip-mtb {
  background: rgba(255, 92, 57, 0.16);
  color: #ff8b64;
}

.ex-event-chip-trail {
  background: rgba(76, 111, 255, 0.18);
  color: #9fabff;
}

.ex-event-chip-road {
  background: rgba(50, 210, 106, 0.16);
  color: #82f2b0;
}

.ex-event-chip-dua {
  background: rgba(251, 206, 81, 0.16);
  color: #ffd47a;
}

.ex-event-name {
  margin: 0 0 0.25rem;
  font-size: 1.1rem;
}

.ex-event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  font-size: 0.8rem;
  color: var(--ex-text-muted);
  margin-bottom: 0.5rem;
}

.ex-event-desc {
  font-size: 0.88rem;
  color: var(--ex-text-muted);
  margin: 0 0 0.7rem;
}

.ex-event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}

/* Columna estado */
.ex-event-status {
  min-width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.8rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.18);
  height: fit-content;
  margin-top: 0.3rem;
}

.ex-event-status-open {
  background: rgba(50, 210, 106, 0.16);
  color: #7de6aa;
}

.ex-event-status-closed {
  background: rgba(255, 92, 57, 0.1);
  color: #ff8b64;
}

.ex-event-status-soon {
  background: rgba(251, 206, 81, 0.14);
  color: #ffd47a;
}

/* Botón de eventos reutilizando estilos de .ex-btn */
.ex-event-btn {
  font-size: 0.82rem;
}

@media (max-width: 900px) {
  .ex-event-card {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
  }

  .ex-event-status {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 768px) {
  .ex-events-hero {
    padding-top: 2.2rem;
  }

  .ex-event-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .ex-event-date {
    width: 100%;
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.4rem;
  }

  .ex-event-status {
    align-self: flex-start;
  }

  .ex-event-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .ex-event-btn {
    width: 100%;
    justify-content: center;
  }
}

/* Mejorar contraste textos eventos */
.ex-events-hero h1,
.ex-events-section h2,
.ex-event-name {
  color: var(--ex-text-main) !important;
}

.ex-events-summary-card {
  color: var(--ex-text-main) !important;
}

.ex-event-meta,
.ex-event-desc {
  color: #c3c7d6 !important;
}

.ex-event-chip {
  color: #f5f5f7 !important;
}

/* ===========================
   PÁGINA TIEMPOS EN VIVO
   =========================== */

.ex-live-hero-page {
  padding-top: 2.8rem;
  padding-bottom: 1.5rem;
}

.ex-live-hero-page h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
  margin-bottom: 0.3rem;
  color: var(--ex-text-main);
}

.ex-live-hero-page p {
  max-width: 38rem;
  color: var(--ex-text-muted);
}

.ex-live-search-card {
  margin-top: 1.5rem;
}

.ex-live-card h3 {
  margin-top: 0;
  margin-bottom: 0.2rem;
  color: var(--ex-text-main);
}

.ex-live-card .ex-event-meta {
  color: #c3c7d6;
}

.ex-live-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  background: rgba(50, 210, 106, 0.16);
  color: #7de6aa;
  font-size: 0.8rem;
  border: 1px solid rgba(50, 210, 106, 0.35);
}

.ex-live-status-pill-soon {
  background: rgba(251, 206, 81, 0.14);
  color: #ffd47a;
  border-color: rgba(251, 206, 81, 0.4);
}

.ex-live-small-hint {
  font-size: 0.8rem;
  color: var(--ex-text-muted);
}

.ex-history-list {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.ex-history-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  background: rgba(12, 15, 25, 0.95);
  border-radius: 16px;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.ex-history-main h3 {
  margin: 0 0 0.15rem;
  font-size: 0.98rem;
  color: var(--ex-text-main);
}

.ex-history-actions {
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .ex-live-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 768px) {
  .ex-history-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .ex-event-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .ex-event-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ===========================
   PÁGINA SERVICIOS
   =========================== */

.ex-services-hero {
  padding-top: 2.8rem;
  padding-bottom: 1.5rem;
}

.ex-services-hero h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
  margin-bottom: 0.3rem;
  color: var(--ex-text-main);
}

.ex-services-hero p {
  max-width: 40rem;
  color: var(--ex-text-muted);
}

.ex-services-tags-row {
  margin-top: 1.4rem;
  margin-bottom: 1.2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ex-tag-pill {
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--ex-text-muted);
}

.ex-services-grid-section {
  padding-top: 1.5rem;
  padding-bottom: 3.5rem;
}

.ex-service-card {
  min-height: 280px;
}

.ex-service-icon {
  font-size: 1.8rem;
  margin-bottom: 0.4rem;
}

.ex-service-list {
  list-style: none;
  padding-left: 0;
  margin: 0.6rem 0 0;
  font-size: 0.85rem;
  color: var(--ex-text-muted);
}

.ex-service-list li + li {
  margin-top: 0.25rem;
}

.ex-services-packs {
  padding-top: 0;
  padding-bottom: 4rem;
}

.ex-services-packs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.2rem;
}

.ex-service-pack {
  background: rgba(12, 15, 25, 0.96);
  border-radius: 18px;
  padding: 1.2rem 1.2rem 1.3rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.45);
}

.ex-service-pack h3 {
  margin-top: 0;
  margin-bottom: 0.2rem;
  color: var(--ex-text-main);
}

.ex-service-pack-type {
  margin: 0 0 0.5rem;
  font-size: 0.85rem;
  color: var(--ex-text-muted);
}

.ex-service-pack-btn {
  margin-top: 0.9rem;
  font-size: 0.85rem;
}

@media (max-width: 900px) {
  .ex-services-hero {
    padding-top: 2.2rem;
  }
}

@media (max-width: 768px) {
  .ex-services-tags-row {
    gap: 0.4rem;
  }

  .ex-service-card {
    min-height: auto;
  }
}

/* ===========================
   PÁGINA TIENDA (cabecera + marco)
   =========================== */

.ex-store-hero {
  padding-top: 2.8rem;
  padding-bottom: 1.5rem;
}

.ex-store-hero h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
  margin-bottom: 0.3rem;
  color: var(--ex-text-main);
}

.ex-store-hero p {
  max-width: 40rem;
  color: var(--ex-text-muted);
}

.ex-store-tags-row {
  margin-top: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ex-store-featured {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.ex-store-featured-grid .ex-product-card {
  min-height: 250px;
}

.ex-product-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
  margin-top: 0.6rem;
}

.ex-store-wrapper {
  padding-top: 1rem;
  padding-bottom: 3rem;
}

.ex-store-frame {
  background: #f5f7fb;
  border-radius: 20px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45);
  padding: 1.8rem 1.8rem 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.ex-store-frame,
.ex-store-frame * {
  color: #222 !important;
}

.ex-store-frame ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

.ex-store-frame ul.products li.product {
  background: #ffffff;
  border-radius: 14px;
  padding: 0.9rem 0.9rem 1rem;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
  text-align: left;
  border: 1px solid #e2e6f1;
}

.ex-store-frame ul.products li.product a {
  text-decoration: none;
}

.ex-store-frame ul.products li.product h2,
.ex-store-frame ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.95rem;
  margin: 0.4rem 0 0.3rem;
  color: #222;
}

.ex-store-frame ul.products li.product .price {
  font-weight: 600;
  margin-bottom: 0.4rem;
}

.ex-store-frame a.button,
.ex-store-frame button.button,
.ex-store-frame .added_to_cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 1.1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff5c39, #ff965f);
  color: #fff !important;
  border: none;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.ex-store-frame a.button:hover,
.ex-store-frame button.button:hover,
.ex-store-frame .added_to_cart:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(255, 92, 57, 0.4);
}

@media (max-width: 900px) {
  .ex-store-hero {
    padding-top: 2.2rem;
  }

  .ex-store-frame {
    padding: 1.2rem 1rem 1.6rem;
  }
}

@media (max-width: 768px) {
  .ex-store-featured-grid .ex-product-card {
    min-height: auto;
  }
}

/* ===========================
   PÁGINA SOY ORGANIZADOR/A
   =========================== */

.ex-org-hero {
  padding-top: 2.8rem;
  padding-bottom: 1.5rem;
}

.ex-org-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr);
  gap: 2rem;
  align-items: flex-start;
}

.ex-org-hero h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
  margin-bottom: 0.4rem;
  color: var(--ex-text-main);
}

.ex-org-lead {
  max-width: 36rem;
  color: var(--ex-text-muted);
}

.ex-org-tags-row {
  margin-top: 1.2rem;
  margin-bottom: 0.8rem;
}

.ex-org-highlights {
  list-style: none;
  padding: 0;
  margin: 0.6rem 0 0;
  font-size: 0.9rem;
  color: var(--ex-text-muted);
}

.ex-org-highlights li + li {
  margin-top: 0.25rem;
}

/* Tarjeta de contacto organizador */
.ex-org-card {
  background: rgba(12, 15, 25, 0.96);
  border-radius: 20px;
  padding: 1.4rem 1.5rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6);
}

.ex-org-card h2 {
  margin-top: 0;
  margin-bottom: 0.2rem;
}

.ex-org-card-text {
  margin: 0 0 0.9rem;
  font-size: 0.9rem;
  color: var(--ex-text-muted);
}

.ex-org-form {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-top: 0.2rem;
}

.ex-org-form-row {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.ex-org-form-row label {
  font-size: 0.8rem;
  color: var(--ex-text-muted);
}

.ex-org-form-row input,
.ex-org-form-row textarea {
  padding: 0.55rem 0.8rem;
  border-radius: 10px;
  border: 1px solid var(--ex-border-subtle);
  background: rgba(3, 5, 10, 0.9);
  color: var(--ex-text-main);
  font-size: 0.9rem;
}

.ex-org-form-row input::placeholder,
.ex-org-form-row textarea::placeholder {
  color: #5c6070;
}

.ex-org-form-row-inline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}

.ex-org-privacy {
  margin-top: 0.3rem;
  font-size: 0.75rem;
}

.ex-org-submit {
  margin-top: 0.2rem;
  width: 100%;
  justify-content: center;
}

/* Sección servicios organizadores */
.ex-org-services {
  padding-top: 1.5rem;
  padding-bottom: 3rem;
}

/* CTA final específica */
.ex-org-cta-final {
  padding-bottom: 4rem;
}

/* Responsive */
@media (max-width: 900px) {
  .ex-org-hero {
    padding-top: 2.2rem;
  }

  .ex-org-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ex-org-card {
    order: -1;
  }
}

@media (max-width: 768px) {
  .ex-org-form-row-inline {
    grid-template-columns: minmax(0, 1fr);
  }

  .ex-org-submit {
    width: 100%;
  }
}

/* ===========================
   ACCESO ORGANIZADORES
   =========================== */

.ex-org-access {
  padding-top: 1rem;
  padding-bottom: 2.8rem;
}

.ex-org-access-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.1fr);
  gap: 2rem;
  align-items: flex-start;
}

.ex-org-access-text {
  max-width: 34rem;
  color: var(--ex-text-muted);
}

.ex-org-access-note {
  margin-top: 0.6rem;
  font-size: 0.8rem;
  color: var(--ex-text-muted);
}

.ex-org-access-card {
  margin-top: 0;
}

.ex-org-login-form .ex-org-submit {
  width: 100%;
  justify-content: center;
}

@media (max-width: 900px) {
  .ex-org-access-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ex-org-access-card {
    order: -1;
  }
}

/* === FORZAR TAMAÑO DEL LOGO EN CABECERA === */

header.ex-header .ex-logo,
header.ex-header .ex-logo-link {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

html body header.ex-header .ex-logo img.ex-logo-img {
  height: 24px !important;
  max-height: 24px !important;
  width: auto !important;
  max-width: 100% !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  object-fit: contain !important;
}

html body header.ex-header .ex-header-inner {
  height: 60px !important;
  gap: 1.5rem !important;
}

@media (max-width: 768px) {
  html body header.ex-header .ex-header-inner {
    height: 56px !important;
  }
}

/* =========================================================
 *  COLORES AUXILIARES
 * ======================================================= */

:root {
  --extrem-primary: var(--ex-primary, #ff5c39);
}

/* =========================================================
 *  LISTADO /INSCRIPCIONES  (shortcode [listado_pruebas])
 * ======================================================= */

.inscripciones-wrapper {
  max-width: 1100px;
  margin: 40px auto 80px;
  padding: 0 20px;
}

.inscripciones-title {
  font-size: 40px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-align: left;
  color: #ffffff;
  margin: 0 0 35px;
}

/* Tarjeta de cada prueba */
.inscripcion-card {
  display: grid !important;
  grid-template-columns: 110px 150px 1fr 170px;
  gap: 24px;
  align-items: center;
  background: #ffffff;
  border-radius: 18px;
  padding: 24px 28px;
  margin-bottom: 22px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.06);
  border: 1px solid #f1f1f1;
}

/* Fecha */
.inscripcion-fecha .dia {
  display: block;
  font-size: 46px;
  font-weight: 800;
  color: #111111 !important;
  line-height: 1;
}
.inscripcion-fecha .mes {
  display: block;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #555555;
  margin-top: 6px;
}
.inscripcion-fecha .anio {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: #999999;
  margin-top: 2px;
}

/* Cartel */
.inscripcion-cartel img {
  width: 150px !important;
  max-width: 150px !important;
  height: auto !important;
  border-radius: 12px;
  object-fit: cover;
  box-shadow: 0 10px 18px rgba(0,0,0,0.18);
}

/* Info de la prueba */
.inscripcion-info .nombre-prueba {
  font-size: 24px;
  font-weight: 700;
  color: #111111;
  margin: 0 0 4px;
}
.inscripcion-info .lugar-prueba {
  font-size: 15px;
  color: #666666;
  margin: 0 0 10px;
}
.inscripcion-info .btn-ver-mas {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #ff5c39;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid rgba(255,92,57,0.35);
  padding-bottom: 2px;
}
.inscripcion-info .btn-ver-mas:hover {
  color: #e14b24;
  border-color: rgba(225,75,36,0.6);
}

/* Columna derecha: cierre + botón */
.inscripcion-accion {
  text-align: right;
}
.inscripcion-accion .cierre {
  font-size: 14px;
  color: #777777;
  margin: 0 0 10px;
}

/* Botón INSCRÍBETE */
.inscripcion-accion .btn-inscribete,
.btn-inscribete {
  display: inline-block;
  background: linear-gradient(135deg, #ff5c39, #ff965f);
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 26px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(255,92,57,0.35);
  transition: all .18s ease-out;
}
.inscripcion-accion .btn-inscribete:hover,
.btn-inscribete:hover {
  background: #e14b24;
  box-shadow: 0 14px 28px rgba(225,75,36,0.45);
  transform: translateY(-1px);
}

/* Responsive inscripciones listado */
@media (max-width: 1024px) {
  .inscripcion-card {
    grid-template-columns: 90px 120px 1fr;
    grid-template-rows: auto auto;
  }
  .inscripcion-accion {
    grid-column: 1 / -1;
    text-align: left;
    margin-top: 12px;
  }
}
@media (max-width: 768px) {
  .inscripcion-card {
    grid-template-columns: 80px 1fr;
    grid-template-rows: auto auto auto;
    padding: 18px 18px 20px;
  }
}

/* ===== FICHA /prueba/ ===== */

.prueba-wrapper {
  max-width: 1100px;
  margin: 40px auto 70px;
  padding: 40px 20px 70px;
}

.prueba-header h1 {
  font-size: 36px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 10px;
}
.prueba-header .prueba-fecha {
  font-size: 16px;
  color: #c3c7d6;
  margin: 0 0 4px;
}
.prueba-header .prueba-lugar {
  font-size: 15px;
  color: #c3c7d6;
  margin: 0 0 14px;
}

/* Enlaces Reglamento / Web oficial */
.prueba-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}
.prueba-links .btn-sec {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: 1px solid #dddddd;
  color: #111111;
  text-decoration: none;
  background: #ffffff;
}
.prueba-links .btn-sec:hover {
  border-color: #ff5c39;
  color: #ff5c39;
}

/* Layout principal: cartel + tarjetas de modalidades */
.prueba-main {
  display: grid !important;
  grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
  gap: 28px;
  align-items: flex-start;
  margin-bottom: 40px;
}

/* Cartel */
.prueba-cartel img {
  width: 100%;
  border-radius: 18px;
  box-shadow: 0 18px 35px rgba(0,0,0,0.4);
}

/* Columna de modalidades */
.prueba-modalidades h2 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 16px;
  color: #ffffff;
}
.modalidad-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 18px 20px 20px;
  margin-bottom: 16px;
  border: 1px solid #f1f1f1;
  box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}
.modalidad-card h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 6px;
  color: #111111;
}
.modalidad-card .precio {
  font-size: 20px;
  font-weight: 700;
  color: #111111;
  margin: 0 0 4px;
}
.modalidad-card .cierre {
  font-size: 14px;
  color: #777777;
  margin: 0 0 12px;
}

/* Descripción larga */
.prueba-descripcion {
  font-size: 15px;
  line-height: 1.7;
  color: #f5f5f7;
  max-width: 850px;
}

@media (max-width: 900px) {
  .prueba-main {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
 *  FICHA PRODUCTO WOO – INSCRIPCIONES
 * ======================================================= */

/* Contenedor principal del producto */
body.single-product.product_cat-inscripciones .product {
  max-width: 1100px;
  margin: 40px auto 80px;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  padding: 30px 30px 36px;
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  gap: 28px;
}

/* Galería / imagen */
body.single-product.product_cat-inscripciones
  .woocommerce-product-gallery {
  margin: 0;
}

body.single-product.product_cat-inscripciones
  .woocommerce-product-gallery img {
  border-radius: 16px;
  box-shadow: 0 16px 30px rgba(0,0,0,0.25);
}

/* Columna derecha */
body.single-product.product_cat-inscripciones
  .summary.entry-summary {
  margin: 0;
  padding: 0;
}

/* Título y precio */
body.single-product.product_cat-inscripciones
  .product_title {
  font-size: 26px;
  font-weight: 800;
  color: #111111;
  margin-bottom: 8px;
}

body.single-product.product_cat-inscripciones
  .summary .price {
  font-size: 22px;
  font-weight: 700;
  color: #111111;
  margin-bottom: 8px;
}

/* Descripción corta */
body.single-product.product_cat-inscripciones
  .summary .woocommerce-product-details__short-description {
  font-size: 14px;
  color: #555555;
  margin-bottom: 14px;
}

/* Botón de inscribirse */
body.single-product.product_cat-inscripciones
  .single_add_to_cart_button {
  background: var(--extrem-primary);
  color: #ffffff !important;
  border-radius: 999px;
  padding: 11px 30px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.3px;
  box-shadow: 0 10px 22px rgba(255,92,57,0.35);
  border: none;
  transition: all .18s ease-out;
}

body.single-product.product_cat-inscripciones
  .single_add_to_cart_button:hover {
  background: #e2472b;
  box-shadow: 0 14px 28px rgba(226,71,43,0.45);
  transform: translateY(-1px);
}

/* Campos YITH */
body.single-product.product_cat-inscripciones
  .ywapo_input_container,
body.single-product.product_cat-inscripciones
  .ywapo_group_container {
  margin-bottom: 8px;
}

body.single-product.product_cat-inscripciones
  .ywapo_input_container label,
body.single-product.product_cat-inscripciones
  .ywapo_group_container label {
  font-size: 13px;
  color: #444444;
}

/* Inputs */
body.single-product.product_cat-inscripciones
  .ywapo_input_container input[type="text"],
body.single-product.product_cat-inscripciones
  .ywapo_input_container input[type="email"],
body.single-product.product_cat-inscripciones
  .ywapo_input_container input[type="tel"],
body.single-product.product_cat-inscripciones
  .ywapo_input_container input[type="date"],
body.single-product.product_cat-inscripciones
  .ywapo_input_container select {
  width: 100%;
  border-radius: 999px;
  border: 1px solid #dddddd;
  padding: 7px 12px;
  font-size: 14px;
}

/* Quitar meta innecesaria */
body.single-product.product_cat-inscripciones
  .product_meta {
  display: none;
}

@media (max-width: 900px) {
  body.single-product.product_cat-inscripciones .product {
    grid-template-columns: 1fr;
    padding: 22px 18px 26px;
  }
}
/* Carrito y checkout con fondo claro y texto oscuro */
body.woocommerce-cart,
body.woocommerce-checkout {
  background: #ffffff;
  color: #111111;
}
/* Checkout SOLO con productos virtuales:
   ocultar título de "Dirección de facturación y envío" */
.checkout-only-virtual .woocommerce-billing-fields > h3 {
  display: none;
}
/* ========= PÁGINA INSCRIPCIONES (ID 11491) ========= */

/* Contenedor general de contenido */
body.page-id-11491 .entry-content {
  max-width: 1100px;
  margin: 40px auto 70px;
  padding: 0 20px 60px;
}

/* HERO / CABECERA INTERNA */
.insc-hero {
  background: linear-gradient(135deg, #050a1a, #11182c);
  border-radius: 24px;
  padding: 26px 26px 22px;
  margin-bottom: 26px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.55);
  color: #ffffff;
}

.insc-hero-title {
  font-size: 32px;
  line-height: 1.1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0 0 6px;
}

.insc-hero-subtitle {
  font-size: 15px;
  color: #c3c7d6;
  max-width: 600px;
  margin: 0 0 14px;
}

/* CAJA BUSCADOR */
.insc-search-box {
  margin-top: 14px;
  background: #ffffff;
  border-radius: 18px;
  padding: 14px 16px 16px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.16);
  color: #111111;
}

.insc-search-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.insc-input {
  flex: 1 1 220px;
  min-width: 0;
  border-radius: 999px;
  border: 1px solid #dde1f0;
  padding: 8px 14px;
  font-size: 14px;
}

.insc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: linear-gradient(135deg, #ff5c39, #ff965f);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(255,92,57,0.35);
  text-decoration: none;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

.insc-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(255,92,57,0.5);
}

.insc-search-note {
  margin: 8px 2px 0;
  font-size: 12px;
  color: #818492;
}

/* PIE / CTA AL FINAL DE LA PÁGINA DE INSCRIPCIONES */
.insc-footer-cta {
  margin-top: 42px;
  padding: 22px 20px 24px;
  border-radius: 20px;
  background: rgba(5, 10, 26, 0.96);
  color: #f5f5f7;
  text-align: center;
  box-shadow: 0 16px 34px rgba(0,0,0,0.55);
}

.insc-footer-cta h2 {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 6px;
}

.insc-footer-cta p {
  font-size: 14px;
  margin: 0;
}

.insc-footer-cta a {
  color: #ff965f;
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 700px) {
  .insc-hero {
    padding: 20px 18px 18px;
  }

  .insc-hero-title {
    font-size: 26px;
  }

  .insc-search-box {
    padding: 12px 12px 14px;
  }

  .insc-button {
    width: 100%;
    justify-content: center;
  }
}
/* ============================================
   PÁGINA INSCRIPCIONES (ID 11491)
   ============================================ */

/* 1) Volver a mostrar CABECERA y PIE solo en /inscripciones/ */
body.page-id-11491 header#masthead,
body.page-id-11491 .site-header {
  display: block !important;
}

body.page-id-11491 .site-footer,
body.page-id-11491 #wpcom-credit,
body.page-id-11491 .site-info {
  display: block !important;
}

/* 2) Ocultar el título que aparece ENCIMA del buscador ("INSCRIPCIONES") */
body.page-id-11491 .ex-insc-title,
body.page-id-11491 .ex-insc-hero h1,
body.page-id-11491 .ex-insc-hero h2 {
  display: none !important;
}

/* 3) Título "INSCRIPCIONES" ENTRE buscador y listado en color naranja */
body.page-id-11491 .inscripciones-title {
  color: #ff5c39 !important;   /* naranja corporativo */
}
/* =========================================================
   INSCRIPCIONES /inscripciones/ (ajustes extra)
   ========================================================= */

/* 1) Ocultar el "INSCRIPCIONES" que sale ENTRE cabecera y buscador */
body.page-id-11491 .entry-content > .wp-block-heading:first-of-type:not(.inscripciones-title),
body.page-id-11491 .entry-content > h1:first-of-type:not(.inscripciones-title),
body.page-id-11491 .entry-content > h2:first-of-type:not(.inscripciones-title) {
  display: none !important;
}

/* 2) Poner en blanco el texto de "¿Eres organizador...?" 
   (normalmente lleva un enlace a la página de organizadores) */
body.page-id-11491 a[href*="organizador"],
body.page-id-11491 a[href*="soy-organizador"] {
  color: #ffffff !important;
}

body.page-id-11491 a[href*="organizador"]:hover,
body.page-id-11491 a[href*="soy-organizador"]:hover {
  color: #ff5c39 !important; /* naranja al pasar el ratón */
}
/* PÁGINA INSCRIPCIONES – CTA final "¿Eres organizador/a de eventos?" en blanco */
body.page-id-11491 .entry-content > .wp-block-group:last-of-type h2,
body.page-id-11491 .entry-content > .wp-block-group:last-of-type h3,
body.page-id-11491 .entry-content > .wp-block-group:last-of-type p {
  color: #ffffff !important;
}
/* ============================================
   INSCRIPCIONES (ID 11491)
   – Poner "¿Eres organizador/a de eventos?" en blanco
   ============================================ */

/* 1) Todos los H2/H3 de la página en blanco */
body.page-id-11491 h2,
body.page-id-11491 h3 {
  color: #ffffff !important;
}

/* 2) EXCEPCIÓN: el título "INSCRIPCIONES" del listado (debajo del buscador),
      lo queremos en naranja corporativo */
body.page-id-11491 .inscripciones-title,
body.page-id-11491 h2.inscripciones-title {
  color: #ff5c39 !important;
}
/* ----- 1. Quitar la línea / franja blanca superior ----- */
/* Elimina borde y reduce el espacio arriba del contenido en las páginas de evento */
body.single #content,
body.single .site-main {
    border-top: 0 !important;
    padding-top: 0 !important;
}

/* ----- 2. Convertir el contenido en una “tarjeta” con esquinas redondeadas ----- */
/* El bloque principal del evento como tarjeta blanca centrada */
body.single .site-main article {
    background: #ffffff;
    border-radius: 30px;          /* aquí puedes jugar con el valor */
    padding: 40px 50px;
    box-shadow: 0 20px 40px rgba(0,0,0,.25);
    margin: 40px auto 60px auto;
    max-width: 1100px;
}

/* ----- 3. Ocultar el texto "Por EXTREMEÑAMENTE SL / fecha" ----- */
body.single .entry-meta {
    display: none !important;
}

/* ----- 4. Botones naranja para WEB, REGLAMENTO, INSCRIBIRME, etc. ----- */
/* Todos los enlaces dentro del contenido se ven como botón naranja */
body.single .entry-content a {
    display: inline-block;
    padding: 8px 18px;
    margin: 6px 6px 6px 0;
    background-color: #ff6a00;    /* cambia este color por el naranja corporativo si es otro */
    color: #ffffff !important;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
}

/* Efecto hover */
body.single .entry-content a:hover {
    background-color: #e55e00;    /* un poco más oscuro al pasar el ratón */
}

/* ----- 5. Texto del contenido en negro (para que se lea bien) ----- */
body.single .entry-content,
body.single .entry-content p,
body.single .entry-content li,
body.single .entry-content span {
    color: #000000 !important;
}

/* ----- 6. Ocultar la parte inferior (Anterior / Siguiente) ----- */
body.single .navigation.post-navigation {
    display: none !important;
}

/* ----- 7. Ocultar el pie de página SOLO en estas páginas de prueba/inscripción ----- */
body.single .site-footer {
    display: none !important;
}

/* ----- 8. (Opcional) Más redondeo en la “tarjeta” interior del precio/inscripción ----- */
/* Por si quieres que el bloque donde va "Inscripción individual – 6,00€ – Inscribirme" sea aún más redondeado */
body.single .entry-content .wp-block-group,
body.single .entry-content .wp-block-columns,
body.single .entry-content > div {
    border-radius: 24px;
}
/* Quitar por completo la franja blanca superior en las páginas de pruebas */

/* Fondo oscuro desde arriba */
body.single-prueba,
body.single-prueba #page,
body.single-prueba .site-content {
    background: #050814 !important;   /* pon aquí el mismo color oscuro que uses */
}

/* Eliminar hueco en blanco por márgenes/paddings superiores */
body.single-prueba #primary,
body.single-prueba #content,
body.single-prueba .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Ocultar el header en las fichas de prueba, por si añade altura en blanco */
body.single-prueba .site-header {
    display: none !important;
}
/* === Quitar la franja blanca superior en la página de inscripción (producto) === */

/* Mismo fondo oscuro desde arriba */
body.single-product,
body.single-product #page,
body.single-product .site-content {
    background: #050814 !important;   /* el mismo color oscuro que usas en el resto */
}

/* Eliminar huecos superiores que generan la banda blanca */
body.single-product #primary,
body.single-product #content,
body.single-product .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

/* Ocultar la cabecera solo en esta página de inscripción */
body.single-product .site-header {
    display: none !important;
}
/****************************************************
 * PÁGINA DE INSCRIPCIÓN (PRODUCTO)
 ****************************************************/

/* 1) Quitar el bloque superior "Relacionado" (el de las pastillas naranjas)
   y dejar solo "Productos relacionados" con fotos */
body.single-product .jp-relatedposts,
body.single-product .entry-content .related-posts,
body.single-product .entry-content .post-related {
    display: none !important;
}

/* 2) Tarjetas chulas para "Productos relacionados" */
body.single-product .woocommerce ul.products {
    margin-top: 30px;
}

body.single-product .woocommerce ul.products li.product {
    background: #050814;
    border-radius: 24px;
    padding: 20px 20px 24px;
    box-shadow: 0 18px 40px rgba(0,0,0,.5);
    text-align: center;
}

body.single-product .woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    display: block;
    margin-bottom: 16px;
}

body.single-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.single-product .woocommerce ul.products li.product .price {
    color: #ffffff !important;
}

/* Botones naranja en las tarjetas de productos relacionados */
body.single-product .woocommerce ul.products li.product a.button {
    background-color: #ff6a00 !important;   /* naranja corporativo */
    color: #ffffff !important;
    border-radius: 999px;
    padding: 8px 20px;
    border: none;
    font-weight: 600;
}

body.single-product .woocommerce ul.products li.product a.button:hover {
    background-color: #e55e00 !important;
}

/* 3) Botón principal azul "Inscribirme" → naranja */
body.single-product .woocommerce div.product form.cart .button,
body.single-product .woocommerce div.product .single_add_to_cart_button,
body.single-product .woocommerce div.product .single_add_to_cart_button.button.alt {
    background-color: #ff6a00 !important;
    color: #ffffff !important;
    border-radius: 999px;
    padding: 10px 26px;
    font-weight: 700;
    border: none;
    text-transform: none;
}

body.single-product .woocommerce div.product form.cart .button:hover,
body.single-product .woocommerce div.product .single_add_to_cart_button:hover {
    background-color: #e55e00 !important;
}

/* 4) Formularios más bonitos tipo tarjeta */

/* Tablas de datos (Datos del participante, Contacto, etc.) */
body.single-product .woocommerce div.product .summary table {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(0,0,0,.5);
    margin-bottom: 24px;
}

body.single-product .woocommerce div.product .summary table th,
body.single-product .woocommerce div.product .summary table td {
    border: 0;
}

/* Campos de texto y selects dentro del formulario */
body.single-product .woocommerce div.product .summary input[type="text"],
body.single-product .woocommerce div.product .summary input[type="email"],
body.single-product .woocommerce div.product .summary input[type="tel"],
body.single-product .woocommerce div.product .summary input[type="number"],
body.single-product .woocommerce div.product .summary select,
body.single-product .woocommerce div.product .summary textarea {
    border-radius: 8px;
    border: 1px solid rgba(0,0,0,.18);
    padding: 8px 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,.12);
}

/* 5) Nombre, precio y tipo de inscripción en blanco / naranja */

/* Título del producto */
body.single-product .woocommerce div.product .product_title {
    color: #ffffff;
}

/* Precio en naranja */
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price {
    color: #ff6a00 !important;
    font-size: 1.4rem;
    font-weight: 700;
}

/* Categoría / tipo de inscripción */
body.single-product .woocommerce div.product .product_meta,
body.single-product .woocommerce div.product .product_meta a {
    color: #ffffff !important;
}

body.single-product .woocommerce div.product .product_meta a:hover {
    color: #ff6a00 !important;
}
/****************************************************
 * BANDA BLANCA PARA "PRODUCTOS RELACIONADOS"
 ****************************************************/

/* Franja blanca completa solo en la zona de productos relacionados */
body.single-product .related.products {
    background: #ffffff;
    margin-top: 60px;
    margin-bottom: 0;
    padding: 40px 0 60px;
}

/* Centrar el contenido dentro de la franja */
body.single-product .related.products > h2,
body.single-product .related.products > ul.products {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/* Título "Productos relacionados" visible */
body.single-product .related.products > h2 {
    color: #050814;               /* casi negro */
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 24px;
}

/* Tarjetas dentro de la franja blanca */
body.single-product .related.products ul.products li.product {
    background: #ffffff;
    border-radius: 20px;
    padding: 20px 20px 24px;
    box-shadow: 0 15px 35px rgba(0,0,0,.18);
    text-align: center;
}

/* Textos de las tarjetas */
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
    color: #050814 !important;
    font-weight: 600;
}

body.single-product .related.products ul.products li.product .price {
    color: #ff6a00 !important;    /* naranja corporativo */
}

/* Botón "Inscribirme" en naranja dentro de productos relacionados */
body.single-product .related.products ul.products li.product a.button {
    background-color: #ff6a00 !important;
    color: #ffffff !important;
    border-radius: 999px;
    padding: 8px 20px;
    border: none;
    font-weight: 600;
}

body.single-product .related.products ul.products li.product a.button:hover {
    background-color: #e55e00 !important;
}
/****************************************************
 * TEXTO SUPERIOR DE LA FICHA (TÍTULO, PRECIO, DESCRIPCIÓN)
 ****************************************************/

/* Título del producto en blanco */
body.single-product .product_title {
    color: #ffffff !important;
}

/* Precio en naranja corporativo */
body.single-product .price,
body.single-product p.price,
body.single-product span.price {
    color: #ff6a00 !important;
}

/* Descripción y resto de textos de la zona superior en blanco */
body.single-product .summary,
body.single-product .summary p,
body.single-product .summary span,
body.single-product .summary li,
body.single-product .summary strong {
    color: #ffffff !important;
}
/****************************************************
 * FRANJA BLANCA PARA LOS BLOQUES A RELLENAR
 ****************************************************/

/* Tarjeta / franja blanca para todo el formulario de inscripción */
body.single-product .woocommerce div.product form.cart {
    background: #ffffff;
    border-radius: 24px;
    padding: 30px 32px 36px;
    max-width: 900px;
    margin: 30px auto 50px auto;  /* deja espacio con el fondo negro */
    box-shadow: 0 20px 40px rgba(0,0,0,.45);
}

/* Texto dentro de la franja en color oscuro (legible sobre blanco) */
body.single-product .woocommerce div.product form.cart,
body.single-product .woocommerce div.product form.cart p,
body.single-product .woocommerce div.product form.cart span,
body.single-product .woocommerce div.product form.cart label,
body.single-product .woocommerce div.product form.cart th,
body.single-product .woocommerce div.product form.cart td {
    color: #111111 !important;
}

/* Campos de entrada dentro de la franja: un poco más cuidados */
body.single-product .woocommerce div.product form.cart input[type="text"],
body.single-product .woocommerce div.product form.cart input[type="email"],
body.single-product .woocommerce div.product form.cart input[type="tel"],
body.single-product .woocommerce div.product form.cart input[type="number"],
body.single-product .woocommerce div.product form.cart input[type="date"],
body.single-product .woocommerce div.product form.cart select,
body.single-product .woocommerce div.product form.cart textarea {
    width: 100%;
    border-radius: 10px;
    border: 1px solid #dde1e7;
    padding: 8px 10px;
    background: #fafafa;
}

/* Efecto foco en campos */
body.single-product .woocommerce div.product form.cart input[type="text"]:focus,
body.single-product .woocommerce div.product form.cart input[type="email"]:focus,
body.single-product .woocommerce div.product form.cart input[type="tel"]:focus,
body.single-product .woocommerce div.product form.cart input[type="number"]:focus,
body.single-product .woocommerce div.product form.cart input[type="date"]:focus,
body.single-product .woocommerce div.product form.cart select:focus,
body.single-product .woocommerce div.product form.cart textarea:focus {
    outline: none;
    border-color: #ff6a00;
    box-shadow: 0 0 0 2px rgba(255,106,0,.25);
}
/****************************************************
 * TARJETA BLANCA CENTRAL EN LA PÁGINA DE INSCRIPCIÓN
 ****************************************************/

/* Aseguramos fondo oscuro general (puede que ya lo tengas) */
body.single-product,
body.single-product #page,
body.single-product .site-content {
    background: #050814 !important;
}

/* Contenedor principal centrado */
body.single-product #primary,
body.single-product #content {
    max-width: 1200px;
    margin: 0 auto;
}

/* Tarjeta blanca grande (similar a la de la página de prueba) */
body.single-product .site-main {
    background: #ffffff;
    border-radius: 30px;
    max-width: 1100px;
    margin: 40px auto 60px auto !important;   /* separación con el fondo oscuro */
    padding: 40px 50px !important;
    box-shadow: 0 25px 60px rgba(0,0,0,.45);
}

/* Evitar márgenes extra dentro de la tarjeta */
body.single-product .site-main .woocommerce,
body.single-product .site-main .woocommerce div.product {
    margin: 0;
}

/* El formulario deja de tener su propia “tarjeta” porque ya está dentro de la grande */
body.single-product .woocommerce div.product form.cart {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    margin-top: 30px;
}
/* Descripción corta (texto antes de 'Nombre') en negro */
body.single-product .woocommerce div.product .summary 
.woocommerce-product-details__short-description,
body.single-product .woocommerce div.product .summary 
.woocommerce-product-details__short-description p {
    color: #000000 !important;
}
/* Botones en la ficha de inscripción en naranja corporativo */
body.single-product .woocommerce a.button,
body.single-product .woocommerce button.button,
body.single-product .woocommerce input.button,
body.single-product .woocommerce #respond input#submit {
    background-color: #ff6a00 !important;   /* naranja */
    color: #ffffff !important;
    border-radius: 999px;
    border: none;
    padding: 8px 22px;
    font-weight: 600;
}

/* Hover un poco más oscuro */
body.single-product .woocommerce a.button:hover,
body.single-product .woocommerce button.button:hover,
body.single-product .woocommerce input.button:hover,
body.single-product .woocommerce #respond input#submit:hover {
    background-color: #e55e00 !important;
}
/* --- TEXTO SUPERIOR EN NEGRO (PISA TODO LO ANTERIOR) --- */

/* Título del producto en negro */
body.single-product .woocommerce div.product .product_title {
    color: #000000 !important;
}

/* Precio (si quieres seguir en naranja, deja este bloque) */
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price {
    color: #ff6a00 !important;
}

/* TODA la zona de resumen (incluida la descripción corta) en negro */
body.single-product .woocommerce div.product .summary,
body.single-product .woocommerce div.product .summary p,
body.single-product .woocommerce div.product .summary span,
body.single-product .woocommerce div.product .summary li,
body.single-product .woocommerce div.product .summary strong {
    color: #000000 !important;
}
/* --- BOTONES EN NARANJA EN LA FICHA DE INSCRIPCIÓN --- */

body.single-product .site-main a.button,
body.single-product .site-main button,
body.single-product .site-main button.button,
body.single-product .site-main input[type="submit"],
body.single-product .site-main .single_add_to_cart_button {
    background-color: #ff6a00 !important;  /* naranja corporativo */
    color: #ffffff !important;
    border-radius: 999px;
    border: none;
    padding: 8px 22px;
    font-weight: 600;
}

/* Hover un poco más oscuro */
body.single-product .site-main a.button:hover,
body.single-product .site-main button:hover,
body.single-product .site-main button.button:hover,
body.single-product .site-main input[type="submit"]:hover,
body.single-product .site-main .single_add_to_cart_button:hover {
    background-color: #e55e00 !important;
}
/****************************************************
 * FORZAR TEXTO SUPERIOR EN NEGRO
 ****************************************************/

/* Todo el contenido del resumen (título, descripción corta, etc.) en negro */
body.single-product .summary,
body.single-product .summary * {
    color: #000000 !important;
}

/* La descripción corta específicamente (por si el tema usa estilos extra) */
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description * {
    color: #000000 !important;
}

/* Volvemos a poner el PRECIO en naranja corporativo */
body.single-product .summary .price,
body.single-product .summary p.price,
body.single-product .summary span.price {
    color: #ff6a00 !important;
}
/****************************************************
 * FORZAR COLOR DE DESCRIPCIÓN Y "DATOS DEL PARTICIPANTE"
 ****************************************************/

/* Texto justo debajo del importe (descripción corta) en negro */
body.single-product .summary .woocommerce-product-details__short-description,
body.single-product .summary .woocommerce-product-details__short-description * {
    color: #000000 !important;
}

/* Título "Datos del Participante" y demás encabezados del formulario en negro */
body.single-product .summary h2,
body.single-product .summary h3,
body.single-product .summary th,
body.single-product .summary label,
body.single-product .summary strong {
    color: #000000 !important;
}
/****************************************************
 * TÍTULOS DE LOS BLOQUES DEL FORMULARIO EN NEGRO
 * (Datos del Participante, Sexo, Contacto de Emergencia, etc.)
 ****************************************************/

body.single-product .woocommerce div.product form.cart h2,
body.single-product .woocommerce div.product form.cart h3,
body.single-product .woocommerce div.product form.cart th,
body.single-product .woocommerce div.product form.cart label,
body.single-product .woocommerce div.product form.cart strong,
body.single-product .woocommerce div.product form.cart .wcpa_group_title,
body.single-product .woocommerce div.product form.cart .wcpa_title {
    color: #000000 !important;
}
/****************************************************
 * 1. TODO EL TEXTO DENTRO DE LA TARJETA BLANCA EN NEGRO
 *    (Datos del Participante, Sexo, Contacto, etc.)
 ****************************************************/

body.single-product .site-main,
body.single-product .site-main p,
body.single-product .site-main span,
body.single-product .site-main li,
body.single-product .site-main label,
body.single-product .site-main th,
body.single-product .site-main td,
body.single-product .site-main h1,
body.single-product .site-main h2,
body.single-product .site-main h3,
body.single-product .site-main h4,
body.single-product .site-main h5,
body.single-product .site-main h6 {
    color: #000000 !important;
}

/****************************************************
 * 2. PRECIO EN NARANJA (NÚMERO + SÍMBOLO €)
 ****************************************************/

body.single-product .site-main .summary .price,
body.single-product .site-main .summary .price *,
body.single-product .site-main .summary p.price,
body.single-product .site-main .summary span.price,
body.single-product .site-main .summary .woocommerce-Price-amount,
body.single-product .site-main .summary .woocommerce-Price-currencySymbol {
    color: #ff6a00 !important;
}

/****************************************************
 * 3. BOTONES EN NARANJA (para que no se pongan negros)
 ****************************************************/

body.single-product .site-main a.button,
body.single-product .site-main button,
body.single-product .site-main button.button,
body.single-product .site-main input[type="submit"],
body.single-product .site-main .single_add_to_cart_button {
    background-color: #ff6a00 !important;
    color: #ffffff !important;
    border-radius: 999px;
    border: none;
    padding: 8px 22px;
    font-weight: 600;
}

body.single-product .site-main a.button:hover,
body.single-product .site-main button:hover,
body.single-product .site-main button.button:hover,
body.single-product .site-main input[type="submit"]:hover,
body.single-product .site-main .single_add_to_cart_button:hover {
    background-color: #e55e00 !important;
}
/****************************************************
 * PÁGINA LISTADO "INSCRIPCIONES" (CATEGORÍA / TIENDA)
 ****************************************************/

/* 1. Fondo oscuro y sin franjas blancas arriba/abajo */
body.tax-product_cat,
body.tax-product_cat #page,
body.tax-product_cat .site-content {
    background: #050814 !important;
}

/* Quitar márgenes/paddings que crean espacios blancos */
body.tax-product_cat #primary,
body.tax-product_cat #content,
body.tax-product_cat .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* (Opcional) Ocultar el footer blanco inferior en esta página */
body.tax-product_cat .site-footer {
    display: none !important;
}

/* 2. Recuadro / tarjeta blanca que contiene título, carrito y listado */
body.tax-product_cat .site-main {
    background: #ffffff;
    border-radius: 30px;
    max-width: 1100px;
    margin: 40px auto 60px auto !important;
    padding: 40px 50px !important;
    box-shadow: 0 25px 60px rgba(0,0,0,.45);
}

/* Texto dentro de la tarjeta en negro */
body.tax-product_cat .site-main,
body.tax-product_cat .site-main * {
    color: #000000 !important;
}

/* Título "inscripciones" más marcado */
body.tax-product_cat .site-main .page-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

/* 3. Botones en naranja (añadir al carrito / ver más / etc.) */
body.tax-product_cat .woocommerce a.button,
body.tax-product_cat .woocommerce button.button,
body.tax-product_cat .woocommerce input.button,
body.tax-product_cat .woocommerce a.added_to_cart {
    background-color: #ff6a00 !important;   /* naranja corporativo */
    color: #ffffff !important;
    border-radius: 999px;
    border: none;
    padding: 8px 22px;
    font-weight: 600;
    text-transform: none;
}

body.tax-product_cat .woocommerce a.button:hover,
body.tax-product_cat .woocommerce button.button:hover,
body.tax-product_cat .woocommerce input.button:hover,
body.tax-product_cat .woocommerce a.added_to_cart:hover {
    background-color: #e55e00 !important;
}
/****************************************************
 * LISTADO INSCRIPCIONES: QUITAR FRANJA BLANCA ARRIBA
 ****************************************************/

/* Ocultar el header solo en la página de inscripciones */
body.tax-product_cat .site-header {
    display: none !important;
}

/* Quitar cualquier margen/padding arriba que deje hueco blanco */
body.tax-product_cat,
body.tax-product_cat #page,
body.tax-product_cat .site-content,
body.tax-product_cat #content,
body.tax-product_cat .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/****************************************************
 * LISTADO INSCRIPCIONES: BOTONES NARANJAS
 ****************************************************/

/* Botones de los productos (Select options, etc.) en naranja */
body.tax-product_cat .woocommerce ul.products li.product a.button,
body.tax-product_cat .woocommerce ul.products li.product a.button.alt {
    background-color: #ff6a00 !important;   /* naranja corporativo */
    color: #ffffff !important;
    border-radius: 999px;
    border: none;
    padding: 8px 20px;
    font-weight: 600;
}

/* Hover un poco más oscuro */
body.tax-product_cat .woocommerce ul.products li.product a.button:hover,
body.tax-product_cat .woocommerce ul.products li.product a.button.alt:hover {
    background-color: #e55e00 !important;
}
/****************************************************
 * LISTADO INSCRIPCIONES: FORZAR BOTONES NARANJAS
 ****************************************************/

body.tax-product_cat .site-main a.button,
body.tax-product_cat .site-main a.button.alt,
body.tax-product_cat .site-main .button,
body.tax-product_cat .site-main button,
body.tax-product_cat .site-main button.button,
body.tax-product_cat .site-main input.button,
body.tax-product_cat .site-main input[type="submit"] {
    background-color: #ff6a00 !important;   /* naranja corporativo */
    color: #ffffff !important;
    border-radius: 999px;
    border: none !important;
    padding: 8px 22px;
    font-weight: 600;
}

/* Hover un poco más oscuro */
body.tax-product_cat .site-main a.button:hover,
body.tax-product_cat .site-main a.button.alt:hover,
body.tax-product_cat .site-main .button:hover,
body.tax-product_cat .site-main button:hover,
body.tax-product_cat .site-main button.button:hover,
body.tax-product_cat .site-main input.button:hover,
body.tax-product_cat .site-main input[type="submit"]:hover {
    background-color: #e55e00 !important;
}
/* Checkout solo virtual: ocultar columna de envío si quedara algo */
body.woocommerce-checkout .col-2 h3#ship-to-different-address,
body.woocommerce-checkout .col-2 .woocommerce-shipping-fields {
    display: none;
}/* Checkout: ocultar el pie de página en Finalizar compra */
body.woocommerce-checkout .site-footer {
    display: none !important;
}

/* (opcional) quitar espacio extra abajo si lo hubiera */
body.woocommerce-checkout #page,
body.woocommerce-checkout .site-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
/* Botón "Volver al carrito" en checkout */
body.woocommerce-checkout .extrem-back-to-cart-wrapper {
    margin-bottom: 15px;
}

body.woocommerce-checkout .extrem-back-to-cart {
    background-color: #ff6a00 !important;
    color: #ffffff !important;
    border-radius: 999px;
    border: none;
    padding: 8px 22px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
}

body.woocommerce-checkout .extrem-back-to-cart:hover {
    background-color: #e55e00 !important;
}
/* Ocultar botón "Ver carrito" del aviso de WooCommerce */
.woocommerce-message .button.wc-forward {
    display: none !important;
}
/* Ocultar créditos del footer en toda la web */
footer .site-info {
    display: none !important;
}
/* Ocultar créditos del footer en páginas de WooCommerce */
body.woocommerce-page footer .site-info,
body.woocommerce-cart footer .site-info,
body.woocommerce-checkout footer .site-info {
    display: none !important;
}
/* Ocultar COMPLETAMENTE el footer en páginas de WooCommerce */
body.woocommerce-cart footer,
body.woocommerce-checkout footer,
body.woocommerce-page.archive.post-type-archive-product footer,
body.tax-product_cat footer,
body.single-product footer {
    display: none !important;
}
/* 114 GRAVEL RACE – renombrar tarjetas de inscripción */
/* Primera tarjeta = ELITE */
body.single-pruebas.postid-12345 .modalidad-card:nth-of-type(1) h3 {
  font-size: 0;           /* ocultamos el texto original */
}

body.single-pruebas.postid-12345 .modalidad-card:nth-of-type(1) h3::after {
  content: "Inscripción Élite";
  font-size: 18px;
  font-weight: 700;
  color: #111111;
}

/* Segunda tarjeta = GRUPOS DE EDAD */
body.single-pruebas.postid-12345 .modalidad-card:nth-of-type(2) h3 {
  font-size: 0;
}

body.single-pruebas.postid-12345 .modalidad-card:nth-of-type(2) h3::after {
  content: "Inscripción Grupos de edad";
  font-size: 18px;
  font-weight: 700;
  color: #111111;
}
/************************************
 * 114 GRAVEL RACE – Cambiar títulos
 ************************************/

/* Primera tarjeta = INSCRIPCIÓN ÉLITE */
body.postid-14632 .modalidad-card:nth-of-type(1) h3 {
  position: relative;
  text-indent: -9999px;      /* escondemos el texto original */
}

body.postid-14632 .modalidad-card:nth-of-type(1) h3::before {
  content: "Inscripción Élite";
  position: absolute;
  inset: 0;
  text-indent: 0;
  font-size: 18px;
  font-weight: 700;
  color: #111111;
}

/* Segunda tarjeta = INSCRIPCIÓN GRUPOS DE EDAD */
body.postid-14632 .modalidad-card:nth-of-type(2) h3 {
  position: relative;
  text-indent: -9999px;
}

body.postid-14632 .modalidad-card:nth-of-type(2) h3::before {
  content: "Inscripción Grupos de edad";
  position: absolute;
  inset: 0;
  text-indent: 0;
  font-size: 18px;
  font-weight: 700;
  color: #111111;
}
/* Tarjetas de modalidades → mostrar PRÓXIMAMENTE cuando el producto NO es comprable */
body.single-pruebas .modalidad-card button[disabled],
body.single-pruebas .modalidad-card .button.disabled {
    background: #555 !important;
    cursor: not-allowed !important;
}

body.single-pruebas .modalidad-card button[disabled]::after,
body.single-pruebas .modalidad-card .button.disabled::after {
    content: "PRÓXIMAMENTE";
}
/* Estado desactivado para botones de inscripción */
.btn-inscribete-locked {
  background: #444444 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  opacity: 0.7;
  pointer-events: none !important;
}
.extre-btn-disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

.extre-insc-msg,
.extre-insc-msg-pagina {
  margin-top: 6px;
  font-size: 0.9rem;
  color: #ff5c39;
}
/* Botón bloqueado (lista y ficha) */
.btn-inscribete.extre-btn-disabled,
.btn-inscribete-locked {
  background: #444444 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  opacity: 0.7;
  pointer-events: none !important;
}

.btn-inscribete.extre-btn-disabled:hover,
.btn-inscribete-locked:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Mensajes bajo los botones */
.extre-insc-msg,
.extre-insc-msg-pagina {
  margin-top: 6px;
  font-size: 0.9rem;
  color: #ff5c39;
}
/* 114 GRAVEL RACE – cambiar textos de las modalidades
   (ID de la prueba: 12063) */

/* Ocultamos el texto original del h3 */
body.postid-12063 .modalidad-card:nth-of-type(1) h3,
body.postid-12063 .modalidad-card:nth-of-type(2) h3 {
  position: relative;
  text-indent: -9999px;
}

/* Tarjeta 1 → Inscripción Élite */
body.postid-12063 .modalidad-card:nth-of-type(1) h3::before {
  content: "Inscripción Élite";
  position: absolute;
  inset: 0;
  text-indent: 0;
}

/* Tarjeta 2 → Inscripción Grupos de Edad */
body.postid-12063 .modalidad-card:nth-of-type(2) h3::before {
  content: "Inscripción Grupos de Edad";
  position: absolute;
  inset: 0;
  text-indent: 0;
}
/* "Ver más" desactivado cuando las inscripciones aún no están abiertas */
.inscripcion-info .btn-ver-mas.btn-ver-mas-locked {
  color: #888888;
  border-color: rgba(255, 92, 57, 0.25);
  cursor: not-allowed;
  pointer-events: none; /* bloquea completamente el clic */
}
/* ============================================
   FIX INSCRIPCIONES (ID 11491)
   Títulos del listado en NEGRO (sobre tarjeta blanca)
   ============================================ */
body.page-id-11491 .inscripcion-card .inscripcion-info .nombre-prueba,
body.page-id-11491 .inscripcion-card .inscripcion-info .nombre-prueba a,
body.page-id-11491 .inscripcion-card .inscripcion-info h1,
body.page-id-11491 .inscripcion-card .inscripcion-info h1 a,
body.page-id-11491 .inscripcion-card .inscripcion-info h2,
body.page-id-11491 .inscripcion-card .inscripcion-info h2 a,
body.page-id-11491 .inscripcion-card .inscripcion-info h3,
body.page-id-11491 .inscripcion-card .inscripcion-info h3 a,
body.page-id-11491 .inscripcion-card .inscripcion-info .woocommerce-loop-product__title,
body.page-id-11491 .inscripcion-card .inscripcion-info .woocommerce-loop-product__title a {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
/* =========================================================
   PRUEBAS (/prueba/...) → ocultar título del TEMA (arriba)
   y dejar SOLO el título del contenido (abajo)
   ========================================================= */

/* Astra / WP: título superior del tema */
body.single-prueba .entry-header,
body.single-prueba .entry-header .entry-title,
body.single-prueba .ast-page-title-wrap,
body.single-prueba .ast-single-entry-banner,
body.single-prueba .page-title,
body.single-prueba .wp-block-post-title,

/* Por si el CPT en tu web aparece como "pruebas" */
body.single-pruebas .entry-header,
body.single-pruebas .entry-header .entry-title,
body.single-pruebas .ast-page-title-wrap,
body.single-pruebas .ast-single-entry-banner,
body.single-pruebas .page-title,
body.single-pruebas .wp-block-post-title {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Asegurar que el título "de abajo" (tu bloque) se ve */
body.single-prueba .prueba-header h1,
body.single-pruebas .prueba-header h1 {
  display: block !important;
  color: #111111 !important;   /* negro para la tarjeta blanca */
  margin-top: 0 !important;
}
/* Footer logo (igual que cabecera) */
.ex-footer-logo{
  display:inline-flex;
  align-items:center;
  text-decoration:none !important;
}
.ex-footer-logo img{
  height: 30px;      /* ajusta si lo quieres más grande/pequeño */
  width: auto;
  display:block;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.45));
}
/* SELECT del formulario (Tipo de evento) */
#tipo_evento.ex-select{
  width: 100%;
  color: rgba(255,255,255,.92) !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 14px;
  padding: 12px 14px;
  outline: none;
}

/* Cuando abres el desplegable (foco): modo claro para que se lea */
#tipo_evento.ex-select:focus,
#tipo_evento.ex-select:active{
  background: #fff !important;
  color: #111 !important;
  border-color: rgba(0,0,0,.18) !important;
  -webkit-text-fill-color: #111;
}

/* Navegadores que sí respetan option */
#tipo_evento.ex-select option{
  color: #111 !important;
  background: #fff !important;
}
#tipo_evento.ex-select option[disabled]{
  color: #444 !important;
}
/* ====== ORGANIZADORES · FIX UI ====== */

/* Tabs: texto siempre claro */
.ex-org-tabs a,
.ex-org-tabs button{
  color: rgba(255,255,255,.92) !important;
}

/* Tab activa: si quieres texto blanco también */
.ex-org-tabs a.is-active,
.ex-org-tabs button.is-active{
  color: #fff !important;
}

/* Inputs / selects: que el texto no “desaparezca” */
.ex-org-panel input[type="text"],
.ex-org-panel input[type="search"],
.ex-org-panel input[type="date"],
.ex-org-panel input[list],
.ex-org-panel select,
.ex-org-panel textarea{
  color: #111 !important;
  background: #fff !important;
}

/* Placeholder visible */
.ex-org-panel input::placeholder,
.ex-org-panel textarea::placeholder{
  color: #666 !important;
}

/* Options del desplegable */
.ex-org-panel select option{
  color: #111 !important;
  background: #fff !important;
}

/* Para que no haya subrayados raros en botones/links del panel */
.ex-org-panel a,
.ex-org-panel .ex-btn{
  text-decoration: none !important;
}
.ex-dark-wrap{
  background: radial-gradient(60% 60% at 50% 0%, rgba(46,255,196,.10) 0%, rgba(0,0,0,0) 60%), #070A0F;
  min-height: 60vh;
  padding: 28px 16px;
  border-radius: 18px;
}

.ex-card{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.35);
  backdrop-filter: blur(10px);
}

.ex-row{display:flex;gap:12px;flex-wrap:wrap}
.ex-row > *{flex:1 1 220px}

.ex-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding: 10px 14px;border-radius: 999px;
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color:#fff;text-decoration:none;font-weight:600;
}
.ex-btn:hover{transform: translateY(-1px)}
.ex-btn--green{background: rgba(46,255,196,0.14); border-color: rgba(46,255,196,0.35)}

.ex-input, .ex-select{
  width:100%;
  padding: 10px 12px;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color:#fff;
}
.ex-muted{opacity:.75}
.ex-title{color:#fff;margin:0 0 6px 0}
/* FIX buscador: evitar que el tema pise colores */
.ex-live .ex-input{ 
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
}
.ex-live .ex-input input{
  background: transparent !important;
  color: rgba(255,255,255,.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,.92) !important; /* Safari */
  caret-color: rgba(255,255,255,.92) !important;
}
.ex-live .ex-input input::placeholder{
  color: rgba(255,255,255,.55) !important;
}
.ex-desde-wrap{ margin-top:10px; }
.ex-desde-price{
  display:inline-flex;
  gap:6px;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  font-weight:800;
  letter-spacing:.2px;
}
<?php
/**
 * EXTREMEÑAMENTE — Inscripciones API (robusto) + ajustes Woo
 * - API /wp-json/extremenamente/v1/inscripciones (incluye Origenext)
 * - Modalidad por ACF (prueba) con fallback por nombre/slug
 * - Quita productos relacionados/upsells en productos de "inscripciones"
 * - Añade body classes para aplicar CSS oscuro solo donde toca
 */

if (!defined('ABSPATH')) { exit; }

/** ---------- Helpers ---------- */
if (!function_exists('exm_insc_normalize_slug')) {
  function exm_insc_normalize_slug($s) {
    $s = strtolower(trim((string)$s));
    $s = remove_accents($s);
    $s = preg_replace('/[^a-z0-9]+/', '-', $s);
    $s = trim($s, '-');
    return $s ?: 'otros';
  }
}

if (!function_exists('exm_insc_parse_dt')) {
  function exm_insc_parse_dt($raw) {
    $raw = trim((string)$raw);
    if ($raw === '') return 0;

    $formats = [
      'd/m/Y H:i',
      'd/m/Y g:i a',
      'd/m/Y',
      'Y-m-d H:i',
      'Y-m-d',
      'Y-m-d\TH:i:s',
      'Y-m-d\TH:i:sP'
    ];

    foreach ($formats as $fmt) {
      $dt = DateTime::createFromFormat($fmt, $raw, wp_timezone());
      if ($dt instanceof DateTime) return $dt->getTimestamp();
    }

    $ts = strtotime($raw);
    return $ts ? (int)$ts : 0;
  }
}

if (!function_exists('exm_insc_get_first_field')) {
  function exm_insc_get_first_field($post_id, array $keys) {
    foreach ($keys as $k) {
      $v = function_exists('get_field') ? get_field($k, $post_id) : get_post_meta($post_id, $k, true);
      if (is_string($v)) $v = trim($v);
      if ($v !== null && $v !== '' && $v !== false) return $v;
    }
    return '';
  }
}

if (!function_exists('exm_insc_extract_product_id')) {
  function exm_insc_extract_product_id($acfVal) {
    if (is_numeric($acfVal)) return (int)$acfVal;
    if (is_object($acfVal) && !empty($acfVal->ID)) return (int)$acfVal->ID;
    if (is_array($acfVal) && count($acfVal) === 1) return exm_insc_extract_product_id($acfVal[0]);
    return 0;
  }
}

if (!function_exists('exm_insc_price_text')) {
  function exm_insc_price_text($product) {
    if (!$product instanceof WC_Product) return '';
    $price = $product->get_price();

    if ($price === '' && $product instanceof WC_Product_Variable) {
      $price = $product->get_variation_price('min', true);
    }

    if ($price === '' || $price === null) return '';
    return wp_strip_all_tags(wc_price((float)$price));
  }
}

if (!function_exists('exm_insc_mode_fallback')) {
  function exm_insc_mode_fallback($nameOrSlug) {
    $s = strtolower(remove_accents((string)$nameOrSlug));
    if (strpos($s, 'gravel') !== false) return 'gravel';
    if (strpos($s, 'mtb') !== false || strpos($s, 'xcm') !== false || strpos($s, 'xc') !== false) return 'mtb';
    if (strpos($s, 'trail') !== false) return 'trail';
    if (strpos($s, 'hybrid') !== false) return 'hybrid';
    if (strpos($s, 'run') !== false || strpos($s, 'carrera') !== false || strpos($s, 'running') !== false) return 'running';
    return 'otros';
  }
}

if (!function_exists('exm_insc_status')) {
  function exm_insc_status($event_ts, $open_ts, $close_ts, $has_waitlist, $product) {
    $now = time();

    // Finalizada por fecha del evento (comparada con "hoy" a 00:00)
    if ($event_ts) {
      $today = (new DateTime('today', wp_timezone()))->getTimestamp();
      if ($event_ts < $today) return 'finished';
    }

    // Completo por stock (si aplica)
    if ($product instanceof WC_Product) {
      if ($product->managing_stock()) {
        $qty = $product->get_stock_quantity();
        if ($qty !== null && (int)$qty <= 0) return $has_waitlist ? 'waitlist' : 'full';
      }
      if ($product->is_in_stock() === false) return $has_waitlist ? 'waitlist' : 'full';
    }

    // Fechas de inscripciones
    if ($open_ts && $now < $open_ts) return $has_waitlist ? 'waitlist' : 'soon';
    if ($close_ts && $now > $close_ts) return $has_waitlist ? 'waitlist' : 'closed';

    return $has_waitlist ? 'waitlist' : 'open';
  }
}

/** ---------- API REST ---------- */
add_action('rest_api_init', function () {
  register_rest_route('extremenamente/v1', '/inscripciones', [
    'methods' => WP_REST_Server::READABLE,
    'permission_callback' => '__return_true',
    'callback' => function (WP_REST_Request $req) {

      if (!class_exists('WooCommerce')) {
        return new WP_REST_Response([], 200);
      }

      $items = [];
      $seen  = [];

      // 1) Pruebas -> productos enlazados
      $pruebas = new WP_Query([
        'post_type' => 'prueba',
        'post_status' => 'publish',
        'posts_per_page' => -1,
        'fields' => 'ids',
        'no_found_rows' => true,
      ]);

      foreach ($pruebas->posts as $prueba_id) {
        $fecha_raw = exm_insc_get_first_field($prueba_id, ['fecha_raw','fecha','fecha_evento','date']);
        $event_ts  = exm_insc_parse_dt($fecha_raw);

        $location  = exm_insc_get_first_field($prueba_id, ['location','lugar','ubicacion','localidad','ciudad']);
        $apertura_raw = exm_insc_get_first_field($prueba_id, ['apertura_raw','apertura','apertura_inscripciones','insc_apertura']);
        $cierre_raw   = exm_insc_get_first_field($prueba_id, ['cierre_raw','cierre','cierre_inscripciones','insc_cierre']);

        $open_ts  = exm_insc_parse_dt($apertura_raw);
        $close_ts = exm_insc_parse_dt($cierre_raw);

        $mode_raw = exm_insc_get_first_field($prueba_id, ['mode','modalidad','disciplina']);
        $mode     = exm_insc_normalize_slug($mode_raw);

        $waitlist_url = exm_insc_get_first_field($prueba_id, ['waitlist_url','url_lista_espera','lista_espera_url']);
        $has_waitlist = !empty($waitlist_url);

        $links = [
          'producto_individual' => exm_insc_extract_product_id(function_exists('get_field') ? get_field('producto_individual', $prueba_id) : get_post_meta($prueba_id,'producto_individual',true)),
          'producto_parejas'    => exm_insc_extract_product_id(function_exists('get_field') ? get_field('producto_parejas', $prueba_id) : get_post_meta($prueba_id,'producto_parejas',true)),
          'producto_equipos'    => exm_insc_extract_product_id(function_exists('get_field') ? get_field('producto_equipos', $prueba_id) : get_post_meta($prueba_id,'producto_equipos',true)),
        ];

        foreach ($links as $match_key => $product_id) {
          if (!$product_id) continue;
          if (isset($seen[$product_id])) continue;

          $product = wc_get_product($product_id);
          if (!$product) continue;
          if ($product->get_status() !== 'publish') continue;

          $slug = $product->get_slug();
          $name = $product->get_name();

          $final_mode = $mode;
          if ($final_mode === 'otros' || $final_mode === '') {
            $final_mode = exm_insc_mode_fallback($name . ' ' . $slug);
          }

          $status = exm_insc_status($event_ts, $open_ts, $close_ts, $has_waitlist, $product);

          $items[] = [
            'id' => $product_id,
            'slug' => $slug,
            'name' => $name,
            'date' => $fecha_raw ?: '',
            'location' => (string)$location,
            'status' => $status,
            'mode' => $final_mode,
            'price_text' => exm_insc_price_text($product),
            'image' => get_the_post_thumbnail_url($product_id, 'large') ?: '',
            'signup_url' => get_permalink($product_id),
            'event_url' => get_permalink($prueba_id),
            'product_id' => $product_id,
            'prueba_id' => $prueba_id,
            'match_key' => $match_key,
            'apertura_ts' => (int)$open_ts,
            'cierre_ts' => (int)$close_ts,
            'waitlist_url' => (string)$waitlist_url,
            'apertura_raw' => (string)$apertura_raw,
            'cierre_raw' => (string)$cierre_raw,
            'fecha_raw' => (string)$fecha_raw,
          ];

          $seen[$product_id] = true;
        }
      }

      wp_reset_postdata();

      // 2) Fallback: cualquier producto en categoría "inscripciones" no enlazado
      $fallback_products = wc_get_products([
        'status' => 'publish',
        'limit' => -1,
        'category' => ['inscripciones'],
        'orderby' => 'date',
        'order' => 'DESC',
      ]);

      foreach ($fallback_products as $product) {
        if (!$product instanceof WC_Product) continue;
        $product_id = $product->get_id();
        if (isset($seen[$product_id])) continue;

        $slug = $product->get_slug();
        $name = $product->get_name();

        $items[] = [
          'id' => $product_id,
          'slug' => $slug,
          'name' => $name,
          'date' => '',
          'location' => '',
          'status' => $product->is_in_stock() ? 'open' : 'closed',
          'mode' => exm_insc_mode_fallback($name . ' ' . $slug),
          'price_text' => exm_insc_price_text($product),
          'image' => get_the_post_thumbnail_url($product_id, 'large') ?: '',
          'signup_url' => get_permalink($product_id),
          'event_url' => '',
          'product_id' => $product_id,
          'prueba_id' => 0,
          'match_key' => '',
          'apertura_ts' => 0,
          'cierre_ts' => 0,
          'waitlist_url' => '',
          'apertura_raw' => '',
          'cierre_raw' => '',
          'fecha_raw' => '',
        ];
      }

      return new WP_REST_Response($items, 200);
    },
  ]);
});

/** ---------- Woo: NO mostrar otras carreras al final del producto ---------- */
add_action('wp', function () {
  if (!function_exists('is_product') || !is_product()) return;
  $pid = get_queried_object_id();
  if ($pid && has_term('inscripciones', 'product_cat', $pid)) {
    remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
    remove_action('woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15);
  }
});

/** ---------- Body class para CSS oscuro solo en Pruebas + Woo ---------- */
add_filter('body_class', function ($classes) {
  if (is_singular('prueba')) $classes[] = 'ex-dark-surface';
  if (function_exists('is_woocommerce') && is_woocommerce()) $classes[] = 'ex-dark-surface';
  if (function_exists('is_product_category') && is_product_category('inscripciones')) $classes[] = 'ex-dark-insc-cat';
  if (function_exists('is_product') && is_product()) {
    $pid = get_queried_object_id();
    if ($pid && has_term('inscripciones', 'product_cat', $pid)) $classes[] = 'ex-dark-insc-product';
  }
  return $classes;
});

/* EXTREMEÑAMENTE — look oscuro en Prueba + Woo (solo donde añadimos ex-dark-surface) */
body.ex-dark-surface{
  background: radial-gradient(1200px 600px at 50% -120px, rgba(30,200,110,.18), transparent 60%), #07080b !important;
  color:#e7e7e7;
}

/* Quitamos fondos blancos del tema en esas páginas */
body.ex-dark-surface #page,
body.ex-dark-surface .site,
body.ex-dark-surface .site-content,
body.ex-dark-surface .ast-container,
body.ex-dark-surface .content-area,
body.ex-dark-surface .woocommerce,
body.ex-dark-surface .woocommerce-page{
  background: transparent !important;
}

/* “Tarjeta” principal (Astra suele usar .ast-container) */
body.ex-dark-surface .ast-container{
  margin-top: 34px;
  margin-bottom: 60px;
  padding: 28px 26px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(16,18,22,.75) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  backdrop-filter: blur(10px);
}

/* Textos */
body.ex-dark-surface h1,
body.ex-dark-surface h2,
body.ex-dark-surface h3,
body.ex-dark-surface h4,
body.ex-dark-surface h5,
body.ex-dark-surface h6,
body.ex-dark-surface p,
body.ex-dark-surface li,
body.ex-dark-surface label,
body.ex-dark-surface .woocommerce div.product .product_title{
  color:#fff !important;
}

body.ex-dark-surface .woocommerce-breadcrumb,
body.ex-dark-surface .woocommerce .woocommerce-result-count,
body.ex-dark-surface .woocommerce .woocommerce-ordering,
body.ex-dark-surface .woocommerce .price,
body.ex-dark-surface .woocommerce .amount{
  color: rgba(255,255,255,.82) !important;
}

/* Inputs en oscuro */
body.ex-dark-surface input[type="text"],
body.ex-dark-surface input[type="email"],
body.ex-dark-surface input[type="tel"],
body.ex-dark-surface input[type="number"],
body.ex-dark-surface input[type="password"],
body.ex-dark-surface textarea,
body.ex-dark-surface select{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
}

/* Botones Woo en verde */
body.ex-dark-surface.woocommerce a.button,
body.ex-dark-surface.woocommerce button.button,
body.ex-dark-surface.woocommerce input.button,
body.ex-dark-surface.woocommerce #respond input#submit{
  background: linear-gradient(180deg, rgba(30,200,110,.95), rgba(18,150,80,.95)) !important;
  border: 1px solid rgba(30,200,110,.35) !important;
  color:#fff !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 800 !important;
}

body.ex-dark-surface.woocommerce a.button:hover,
body.ex-dark-surface.woocommerce button.button:hover,
body.ex-dark-surface.woocommerce input.button:hover,
body.ex-dark-surface.woocommerce #respond input#submit:hover{
  filter: brightness(1.05);
}
/* =========================================================
   FIX DEFINITIVO — FICHA PRODUCTO INSCRIPCIONES
   - Recuadros visibles en TODOS los campos (incluye Select2)
   - Lo que quede naranja (importes/€) -> VERDE
   ========================================================= */

body.single-product.product_cat-inscripciones{
  --ex-green:#1ec86e;
  --ex-green-dark:#18a85a;
}

/* Recuadros para inputs/selects/textarea (YITH/Woo) */
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart input[type="text"],
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart input[type="email"],
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart input[type="tel"],
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart input[type="number"],
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart input[type="date"],
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart select,
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart textarea{
  background:#fff !important;
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  border:1px solid #cbd5e1 !important;
  border-radius:10px !important;
  padding:10px 12px !important;
  box-shadow:none !important;
}

/* Focus bonito */
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart input:focus,
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart select:focus,
body.single-product.product_cat-inscripciones .woocommerce div.product form.cart textarea:focus{
  outline:none !important;
  border-color: var(--ex-green) !important;
  box-shadow: 0 0 0 3px rgba(30,200,110,.20) !important;
}

/* ====== SELECT2 (Sexo, Federado, Traslado, Talla...) ====== */
body.single-product.product_cat-inscripciones .select2-container{
  width:100% !important;
}

body.single-product.product_cat-inscripciones .select2-container--default .select2-selection--single,
body.single-product.product_cat-inscripciones .select2-container--default .select2-selection--multiple{
  background:#fff !important;
  border:1px solid #cbd5e1 !important;
  border-radius:10px !important;
  min-height:44px !important;
  box-shadow:none !important;
}

body.single-product.product_cat-inscripciones .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:#111 !important;
  line-height:44px !important;
  padding-left:12px !important;
}

body.single-product.product_cat-inscripciones .select2-container--default .select2-selection--single .select2-selection__arrow{
  top:50% !important;
  transform:translateY(-50%) !important;
}

body.single-product.product_cat-inscripciones .select2-container--default.select2-container--focus .select2-selection--single,
body.single-product.product_cat-inscripciones .select2-container--default.select2-container--open .select2-selection--single{
  border-color: var(--ex-green) !important;
  box-shadow: 0 0 0 3px rgba(30,200,110,.20) !important;
}

/* Dropdown select2 */
body.single-product.product_cat-inscripciones .select2-dropdown{
  border:1px solid #cbd5e1 !important;
  border-radius:10px !important;
}

/* ====== Importes (incluido €) a VERDE ====== */
body.single-product.product_cat-inscripciones .woocommerce-Price-amount,
body.single-product.product_cat-inscripciones .woocommerce-Price-amount bdi,
body.single-product.product_cat-inscripciones .woocommerce-Price-amount bdi *,
body.single-product.product_cat-inscripciones .woocommerce-Price-currencySymbol,
body.single-product.product_cat-inscripciones .amount,
body.single-product.product_cat-inscripciones .amount *,
body.single-product.product_cat-inscripciones .price,
body.single-product.product_cat-inscripciones .price *{
  color: var(--ex-green-dark) !important;
}
/* =========================================
   INSCRIPCIONES · PRECIOS EN VERDE + MISMA TIPOGRAFÍA
   (solo en fichas de producto de la categoría "inscripciones")
   PÉGALO AL FINAL DEL CSS
   ========================================= */

:root{
  --ex-money-green: #32d26a; /* el verde de tu web */
  --ex-money-font: "Montserrat", sans-serif;
}

/* 1) Precio superior del producto (el grande bajo el título) */
body.single-product.product_cat-inscripciones .summary p.price,
body.single-product.product_cat-inscripciones .summary span.price,
body.single-product.product_cat-inscripciones .summary .price{
  color: var(--ex-money-green) !important;
  font-family: var(--ex-money-font) !important;
  font-weight: 800 !important;
  letter-spacing: .2px !important;
}

/* 1b) Forzar que número y símbolo € sean verdes */
body.single-product.product_cat-inscripciones .summary .price .woocommerce-Price-amount,
body.single-product.product_cat-inscripciones .summary .price .woocommerce-Price-amount * ,
body.single-product.product_cat-inscripciones .summary .price .woocommerce-Price-currencySymbol{
  color: var(--ex-money-green) !important;
  font-family: var(--ex-money-font) !important;
  font-weight: 800 !important;
}

/* 2) Tabla de totales (Precio del producto / Opciones totales / Total del pedido)
      YITH/WAPO suele pintar aquí y a veces deja el € con otro color */
body.single-product.product_cat-inscripciones .yith_wapo_totals,
body.single-product.product_cat-inscripciones .ywapo_totals,
body.single-product.product_cat-inscripciones .ywapo_total_price,
body.single-product.product_cat-inscripciones .wcpa_price_summary,
body.single-product.product_cat-inscripciones .wcpa_cart_totals{
  font-family: var(--ex-money-font) !important;
}

/* Labels (texto "Precio del producto:", etc.) */
body.single-product.product_cat-inscripciones .yith_wapo_totals th,
body.single-product.product_cat-inscripciones .yith_wapo_totals td,
body.single-product.product_cat-inscripciones .ywapo_totals th,
body.single-product.product_cat-inscripciones .ywapo_totals td,
body.single-product.product_cat-inscripciones .wcpa_price_summary th,
body.single-product.product_cat-inscripciones .wcpa_price_summary td{
  font-family: var(--ex-money-font) !important;
  font-weight: 800 !important;
}

/* Importes y símbolo € dentro de esos totales */
body.single-product.product_cat-inscripciones .yith_wapo_totals .woocommerce-Price-amount,
body.single-product.product_cat-inscripciones .yith_wapo_totals .woocommerce-Price-amount *,
body.single-product.product_cat-inscripciones .yith_wapo_totals .woocommerce-Price-currencySymbol,
body.single-product.product_cat-inscripciones .ywapo_totals .woocommerce-Price-amount,
body.single-product.product_cat-inscripciones .ywapo_totals .woocommerce-Price-amount *,
body.single-product.product_cat-inscripciones .ywapo_totals .woocommerce-Price-currencySymbol,
body.single-product.product_cat-inscripciones .wcpa_price_summary .woocommerce-Price-amount,
body.single-product.product_cat-inscripciones .wcpa_price_summary .woocommerce-Price-amount *,
body.single-product.product_cat-inscripciones .wcpa_price_summary .woocommerce-Price-currencySymbol{
  color: var(--ex-money-green) !important;
  font-family: var(--ex-money-font) !important;
  font-weight: 800 !important;
}
/* =========================================================
   INSCRIPCIONES (solo producto) — importes en VERDE + Montserrat
   Gana a tus reglas naranjas con !important
   ========================================================= */

:root{
  --ex-money-green:#32d26a;              /* tu verde */
  --ex-money-font:"Montserrat",sans-serif;
}

/* Precio superior + cualquier precio en la ficha */
html body.single-product.ex-dark-insc-product .price,
html body.single-product.ex-dark-insc-product p.price,
html body.single-product.ex-dark-insc-product span.price,
html body.single-product.ex-dark-insc-product .summary .price,
html body.single-product.ex-dark-insc-product .summary .price *{
  color: var(--ex-money-green) !important;
  font-family: var(--ex-money-font) !important;
  font-weight: 800 !important;
  -webkit-text-fill-color: var(--ex-money-green) !important; /* Safari */
}

/* Número + símbolo € (esto te quita el € naranja sí o sí) */
html body.single-product.ex-dark-insc-product .woocommerce-Price-amount,
html body.single-product.ex-dark-insc-product .woocommerce-Price-amount *,
html body.single-product.ex-dark-insc-product .woocommerce-Price-currencySymbol{
  color: var(--ex-money-green) !important;
  font-family: var(--ex-money-font) !important;
  font-weight: 800 !important;
  -webkit-text-fill-color: var(--ex-money-green) !important; /* Safari */
}

/* Totales tipo "Precio del producto / Opciones totales / Total del pedido" */
html body.single-product.ex-dark-insc-product form.cart .woocommerce-Price-amount,
html body.single-product.ex-dark-insc-product form.cart .woocommerce-Price-amount *,
html body.single-product.ex-dark-insc-product form.cart .woocommerce-Price-currencySymbol{
  color: var(--ex-money-green) !important;
  font-family: var(--ex-money-font) !important;
  font-weight: 800 !important;
  -webkit-text-fill-color: var(--ex-money-green) !important;
}
/* === Unificar HEADER/FOOTER aunque estén dentro de entry-content === */
.ex-header, .ex-footer {
  font-family: inherit;
}

/* Quitar subrayados/efectos raros del tema en enlaces del header/footer */
.ex-header a,
.ex-footer a,
.entry-content .ex-header a,
.entry-content .ex-footer a {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* Si tu tema subraya con :after o similares, esto ayuda */
.ex-footer a::after,
.ex-header a::after {
  content: none !important;
}

