/**
 * Theme Name:  Sonaar Child Theme - Paradise.Events
 * Template:    sonaar
 * Version:     1.4.8
 */

/* ============================================================
🌌 Paradise.Events — Cosmic Background Core (Vanta/Three) — Minimal
   - ÚNICO propósito: manejar el fondo cósmico a z-index:0
   - No altera colores, tipografías ni capas del tema/Elementor
============================================================ */

/* Fallback base (opcional, no interfiere con el tema si éste pinta otro bg) */
html, body {
  height: 100%;
  overflow-x: hidden;
  background-color: #121214 !important; /* solo como respaldo general */
}

/* ============================================================
🪐 Fondo cósmico con capas separadas (imagen base + animación)
============================================================ */
#cosmic-bg {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

/* Capa base — imagen estática */
#cosmic-bg-image {
  position: absolute;
  inset: 0;
  background-image: url('assets/img/nebula-bg.webp');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  z-index: 0;
}
/* Capa de partículas (estrellas) */
#stars-layer {
  position: absolute;
  inset: 0;
  z-index: 1;                  /* sobre la imagen, debajo de la niebla */
  width: 100%;
  height: 100%;
  pointer-events: none;        /* evita bloquear clics */
  background: transparent;
  opacity: 1 !important;     /* leve transparencia extra */
  mix-blend-mode: lighten;        /* mezcla luminosa, no cubre */
}
 /*Capa superior — canvas de Vanta (niebla) */
#cosmic-bg > canvas,
#cosmic-bg > .vanta-canvas,
#cosmic-bg canvas.vanta-canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2 !important;       /* sobre la imagen, debajo del contenido */
  pointer-events: none !important;
  background-color: transparent !important;
  opacity: 1 !important;     /* leve transparencia extra */
  mix-blend-mode: lighten;        /* mezcla luminosa, no cubre */
}

/* Seguridad para contenido del sitio */
body, .site, .elementor {
  position: relative;
  z-index: 5;
}
/* ============================================================
🌌 Capa del logo cósmico — con profundidad y escala
============================================================ */
#cosmic-logo {
  position: absolute;          /* Saca el logo del flujo normal y lo posiciona sobre el fondo */
  inset: 0;                    /* Equivale a top:0; right:0; bottom:0; left:0; (ocupa toda la pantalla) */
  display: flex;               /* Activa Flexbox para centrar contenido */
  align-items: center;         /* Centra verticalmente el logo */
  justify-content: center;     /* Centra horizontalmente el logo */
  z-index: 1.5;                /* Coloca el logo entre la imagen base y las partículas */
  pointer-events: none;        /* Evita que el mouse bloquee clics sobre otros elementos */
  perspective: 1200px;         /* Crea un campo de visión 3D para los hijos con transformaciones en el eje Z */
}

.logo-orbit {
  position: relative;                      /* Permite que los elementos hijos usen posicionamiento absoluto */
  width: clamp(200px, 25vw, 360px);        /* Ancho responsivo: nunca menos de 200px ni más de 360px */
  height: clamp(200px, 25vw, 360px);       /* Alto responsivo igual que el ancho */
  transform-style: preserve-3d;            /* Mantiene la profundidad 3D de sus hijos */
  animation: orbitFloat 10s ease-in-out infinite alternate; /* Leve movimiento vertical oscilante */
}

/* 🌀 Círculo rotando con efecto de profundidad */
.logo-circle {
  position: absolute;            /* Ocupa el mismo espacio que el contenedor padre */
  inset: 0;
  width: var(--pe-c-size, 100%);                   /* Escala al tamaño total del .logo-orbit */
  height: 85%;
  object-fit: contain;           /* Asegura que no se deforme el SVG */
  transform: translateZ(0px) scale(1); /* Lo “aleja” hacia atrás (profundidad) y lo agranda ligeramente */
  animation: spinOrbit 30s linear infinite; /* Rotación continua */
  filter: drop-shadow(0 0 15px rgba(159,78,245,0.8))
          drop-shadow(0 0 25px rgba(70,178,224,0.5)); /* Efecto de brillo (púrpura/cian) */
  opacity: 0.85;                 /* Nivel de transparencia general */
}

/* ✨ Letra "P" fija, más brillante y con glow */
.logo-p {
  position: absolute;
  inset: 0;
  width: var(--pe-p-size, 47%);                    /* Tamaño relativo al círculo */
  height: 100%;
  object-fit: contain;
  transform: translate(var(--pe-p-x, 60%), var(--pe-p-y, -7%)) translateZ(0px); /* centra y mantiene profundidad */
  filter: drop-shadow(0 0 15px rgba(255,221,110,0.8))
          drop-shadow(0 0 25px rgba(159,78,245,0.6)); /* Efecto de brillo dorado/púrpura */
  opacity: 0.95;                 /* Casi opaca, mantiene suavidad */
  animation: pulseGlow 4s ease-in-out infinite; /* Pulso de luz cíclico */
}

/* 🎞️ Animaciones */
/*Rotación circulo*/
@keyframes spinOrbit {
  from {
    transform: rotateY(0deg) rotateZ(0deg) scale(1.05);
    transform-origin: center center; /* fija el eje de rotación en el centro exacto */
  }
  to {
    transform: rotateY(360deg) rotateZ(360deg) scale(1.05);
    transform-origin: center center;
  }
}
/*efecto pulso letra p*/
@keyframes pulseGlow {
  0%, 100% { filter: drop-shadow(0 0 10px rgba(255,221,110,0.7)); opacity: 0.95; }
  35% { filter: drop-shadow(0 0 25px rgba(255,221,110,1)); opacity: 1; }
}
/*efecto de flotacion letra p*/
@keyframes orbitFloat {
  from { transform: translateY(-10px) rotateX(2deg); }
  to   { transform: translateY(10px) rotateX(-2deg); }
}
/* ============================================================
🌠 Aparición inicial del logo cósmico
============================================================ */

/* Estado inicial: invisible y reducido */
#cosmic-logo {
  opacity: 0;
  transform: scale(0.7);
  animation: logoIntro 2.8s ease-out forwards; /* animación de entrada */
}

/* Animación de aparición */
@keyframes logoIntro {
  0% {
    opacity: 0;
    transform: scale(0.7);
    filter: blur(6px);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
    filter: blur(2px);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
  }
}

/* Ajustes responsivos */
@media (min-width:1200px){ #cosmic-bg{opacity:1;   transform:scale(1);} }
@media (min-width:768px) and (max-width:1199px){  #cosmic-bg{opacity:1; transform:scale(1);} }
@media (min-width:481px) and (max-width:767px){   #cosmic-bg{opacity:1;  transform:scale(1);} }
@media (max-width:480px){                         #cosmic-bg{opacity:1; transform:scale(1);} }
/* ============================================================
🏗️ Paradise.Events — Fix Unificado Header & Footer (QA-Refined)
Versión: v1.2 • Limpieza + Optimización
Objetivo:
- Eliminar el gap derecho (100vw → 100%)
- Mantener sticky/footer dinámico
- Forzar ancho completo real sin duplicidades
============================================================ */

/* ============================================================
💻 Portátiles medianos (11"–19") — Header
============================================================ */
@media (min-width:1280px) and (max-width:1600px) {

  /* 🔹 Header a ancho completo */
  body .elementor-location-header,
  body header.site-header,
  body header#masthead,
  body header {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  /* 🔹 Secciones internas del header */
  .elementor-location-header .elementor-section,
  .elementor-location-header .elementor-container,
  .elementor-location-header .elementor-row {
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding-inline: 2vw !important;
  }

  /* 🔹 Menú adaptable sin amontonarse */
  .elementor-location-header .elementor-nav-menu,
  .elementor-nav-menu--main {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 1.5vw !important;
    width: 100% !important;
  }

  .elementor-nav-menu--main a {
    font-size: 0.9rem !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;
  }

  /* 🔹 Íconos y logo */
  .elementor-icon,
  .elementor-icon-list-item { transform: scale(0.9) !important; margin: 0 4px !important; }
  .elementor-location-header .elementor-widget-image img {
    height: auto !important; max-height: 70px !important; object-fit: contain !important;
  }
}

/* ============================================================
🖥️ Escritorios grandes (≥1600px) — Header full width
============================================================ */
@media (min-width:1601px) {
  body .elementor-location-header,
  body header.site-header,
  body header#masthead,
  body header {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 !important;
  }

  .elementor-location-header .elementor-section,
  .elementor-location-header .elementor-container,
  .elementor-location-header .elementor-row {
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding-inline: 2vw !important;
  }
}

/* ============================================================
💻 Portátiles medianos (11"–19") — Footer sticky y full width
============================================================ */
@media (min-width:1280px) and (max-width:1600px) {
  body .elementor-location-footer,
  body footer.site-footer,
  body footer#colophon,
  body footer {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 5 !important;
  }

  .elementor-location-footer .elementor-section,
  .elementor-location-footer .elementor-container,
  .elementor-location-footer .elementor-row {
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding-inline: 2vw !important;
  }

  .elementor-location-footer a,
  .elementor-location-footer p,
  .elementor-location-footer span,
  .elementor-location-footer i {
    font-size: 0.9rem !important;
  }
}

/* ============================================================
🏁 Footer Fullwidth + Sticky (QA-STABLE)
Versión: v1.3 • Consolidación y Optimización
Objetivo:
- Eliminar completamente el gap derecho (100vw → 100%)
- Mantener sticky dinámico y compatibilidad con Elementor
- Evitar transformaciones o scroll lateral residual
============================================================ */

/* 🔹 Footer principal */
body footer,
body .elementor-location-footer {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
  position: sticky !important;
  bottom: 0 !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

/* 🔹 Contenedores internos del footer */
body footer .elementor-section,
body footer .elementor-container,
body footer .elementor-row,
body footer .e-con,
body footer .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  left: 0 !important;
  right: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  transform: none !important;
  translate: none !important;
}

/* 🔹 Corrige inline style de Elementor (width:100vw + translate3d) */
body footer .e-con-full,
body .elementor-location-footer .e-con-full,
body footer [style*="translate3d"],
body .elementor-location-footer [style*="translate3d"] {
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  translate: none !important;
  overflow: hidden !important;
  position: relative !important;
  box-sizing: border-box !important;
}

/* 🔹 Refuerzo global: elimina cualquier scroll lateral */
html, body, #page, .site, .elementor, .elementor-location-footer {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
}

/* 🔹 Limpieza global final para garantizar viewport exacto */
html, body {
  overflow-x: clip !important;
}

/* ============================================================
🔗 Enlaces globales — Paradise.Events
============================================================ */

/* Enlaces normales */
a,
.elementor a,
.single-post a {
  color: #46B2E0;
  text-decoration: none;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

/* Enlaces al pasar el mouse */
a:hover,
.elementor a:hover,
.single-post a:hover {
  color: #9F4EF5; /* tono púrpura complementario */
  text-shadow: 0 0 8px rgba(70, 178, 224, 0.6);
}

/* Enlaces visitados */
a:visited {
  color: #46B2E0;
}

/* Enlaces dentro de contenido (post, widget, etc.) */
.elementor-widget-text-editor a {
  color: #46B2E0;
}

/* ============================================================
🌐 Redes Sociales — Paradise.Events
Basado en ACF Repeater: pe_social_links
============================================================ */

/* 🔹 Contenedor general */
.pe-socials { 
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* 🔹 Cada ítem (li) */
.pe-socials__item {
  display: inline-flex;
  align-items: center;
}

/* 🔹 Enlaces (coherente con tus reglas globales) */
.pe-socials__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #46B2E0; /* Azul INS */
  font-weight: 600;
  transition: color 0.3s ease, text-shadow 0.3s ease, transform 0.3s ease;
}

/* 🔹 Íconos */
.pe-socials__link i {
  color: #46B2E0; /* Azul INS */
  font-size: 1.1rem;
  transition: color 0.3s ease, transform 0.3s ease;
}

/* 🔹 Efectos hover/focus */
.pe-socials__link:hover,
.pe-socials__link:focus {
  color: #9F4EF5; /* Púrpura complementario */
  text-shadow: 0 0 8px rgba(70, 178, 224, 0.6);
  transform: translateY(-1px);
}

.pe-socials__link:hover i,
.pe-socials__link:focus i {
  color: #9F4EF5;
  transform: scale(1.2);
}

/* 🔹 Label del ítem (texto al lado del ícono) */
.pe-socials__label {
  font-size: 0.95rem;
  line-height: 1.3;
}

/* 🔹 Versión compacta (solo íconos, sin texto) */
.pe-socials--compact .pe-socials__label {
  display: none;
}

.pe-socials--compact .pe-socials__link i {
  font-size: 1.3rem;
  padding: 5px;
}

/* ============================================================
🎨 Coherencia con esquema de enlaces globales
(no modificar — referencia de estilo principal)
============================================================ */

a,
.elementor a,
.single-post a {
  color: #46B2E0;
  text-decoration: none;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

a:hover,
.elementor a:hover,
.single-post a:hover {
  color: #9F4EF5;
  text-shadow: 0 0 8px rgba(70, 178, 224, 0.6);
}

a:visited {
  color: #46B2E0;
}

.elementor-widget-text-editor a {
  color: #46B2E0;
}
/* ============================================================
🎧 Reproductor Interno — Paradise.Events
============================================================ */
.iron_music_player {
  margin: 20px auto;
  border: 2px solid rgba(70, 178, 224, 0.4);
  border-radius: 12px;
  background: rgba(13, 13, 16, 0.6);
  box-shadow: 0 0 25px rgba(70, 178, 224, 0.25);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.iron_music_player:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 40px rgba(159, 78, 245, 0.4);
}

.iron-audioplayer .track-name,
.iron-audioplayer .album-title {
  color: #46B2E0;
  font-weight: 600;
}

.iron-audioplayer .sr_it-playlist-title {
  color: #9F4EF5;
  font-size: 1.2rem;
  margin-bottom: 10px;
}

/* ============================================================
🎧 Envolvente Widget — Paradise.Events Player Wrapper
============================================================ */
.pe-player-wrapper {
  position: relative;
  margin: 40px auto;
  max-width: 880px;
  border: 2px solid rgba(70, 178, 224, 0.3);
  border-radius: 12px;
  background: rgba(13, 13, 16, 0.65);
  box-shadow: 0 0 25px rgba(70, 178, 224, 0.35);
  overflow: hidden;
  backdrop-filter: blur(5px);
  transition: all 0.3s ease;
}

.pe-player-wrapper:hover {
  box-shadow: 0 0 45px rgba(159, 78, 245, 0.45);
  border-color: rgba(159, 78, 245, 0.4);
}

.pe-player-wrapper .iron_music_player {
  padding: 15px;
}

.pe-player-wrapper .sonaar-Artwort-box img {
  border-radius: 8px;
  box-shadow: 0 0 15px rgba(70, 178, 224, 0.25);
}

.pe-player-wrapper .sr_it-playlist-title,
.pe-player-wrapper .track-title,
.pe-player-wrapper .album-title {
  color: #46B2E0 !important;
}

.pe-player-wrapper .sr_it-playlist-artists,
.pe-player-wrapper .sr_it-playlist-release-date {
  color: #fff;
  opacity: 0.85;
  font-size: 0.9rem;
}

.pe-player-wrapper .playlist ul li {
  border-bottom: 1px solid rgba(70, 178, 224, 0.2);
}

.pe-player-wrapper .playlist ul li:hover {
  background: rgba(70, 178, 224, 0.1);
}

.pe-player-wrapper .song-store i {
  color: #46B2E0;
  transition: color 0.3s ease;
}

.pe-player-wrapper .song-store i:hover {
  color: #9F4EF5;
}

/* ============================================================
💻 Ajuste responsivo — Portátiles / Pantallas medianas
============================================================ */
@media (max-width: 1600px) {
  .pe-player-wrapper {
    max-width: 740px;
    margin: 30px auto;
    border-width: 1.5px;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(70, 178, 224, 0.3);
    backdrop-filter: blur(4px);
  }

  .pe-player-wrapper .iron_music_player {
    padding: 12px;
  }

  .pe-player-wrapper .sonaar-Artwort-box img {
    border-radius: 6px;
    box-shadow: 0 0 10px rgba(70, 178, 224, 0.2);
  }

  .pe-player-wrapper .sr_it-playlist-title {
    font-size: 1.05rem;
  }

  .pe-player-wrapper .sr_it-playlist-artists,
  .pe-player-wrapper .sr_it-playlist-release-date {
    font-size: 0.85rem;
  }

  .pe-player-wrapper .playlist ul li {
    padding: 6px 8px;
  }

  .pe-player-wrapper .song-store i {
    font-size: 0.9rem;
  }
}

/* ============================================================
📱 Ajuste responsivo adicional — Tablets y móviles grandes
============================================================ */
@media (max-width: 992px) {
  .pe-player-wrapper {
    max-width: 90%;
    margin: 25px auto;
    border-width: 1px;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(70, 178, 224, 0.25);
  }

  .pe-player-wrapper .iron_music_player {
    padding: 10px;
  }

  .pe-player-wrapper .sr_it-playlist-title {
    font-size: 1rem;
  }

  .pe-player-wrapper .sr_it-playlist-artists,
  .pe-player-wrapper .sr_it-playlist-release-date {
    font-size: 0.8rem;
  }
}

    /* ===========================================================
       🎬 Paradise.Events — Video Gallery (Even Grid + Popup)
       Versión: v2.1 Responsive QA
       =========================================================== */
    
    .pe-video-gallery {
        display: grid;
        gap: 1rem;
        margin: 2rem 0;
        width: 100%;
    }
    .grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
    .grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
    .grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
    
    .pe-video-thumb {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        background-size: cover;
        background-position: center;
        border: 2px solid #46B2E0;
        border-radius: 5px;
        cursor: pointer;
        overflow: hidden;
        transition: transform 0.25s ease;
    }
    .pe-video-thumb::before,
    .pe-video-thumb::after {
        display: none !important;
        box-shadow: none !important;
        background: none !important;
    }
    .pe-video-thumb:hover {
        transform: scale(1.02);
    }
    
    .pe-video-play {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 2.2rem;
        color: #46B2E0;
        background: rgba(0, 0, 0, 0.35);
        border-radius: 50%;
        padding: 10px 14px;
        pointer-events: none;
        transition: background 0.3s ease;
    }
    .pe-video-thumb:hover .pe-video-play {
        background: rgba(70, 178, 224, 0.35);
    }
    
    /* ===========================================================
   🎥 Ajuste de video dentro del popup (Full Responsive Fit)
   =========================================================== */
.pe-video-modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(8px);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    padding: 2vw;
}

.pe-video-modal-content {
    position: relative;
    width: 100%;
    max-width: 1280px;
    height: auto;
    aspect-ratio: 16 / 9;
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent;
}

.pe-video-frame {
    position: relative;
    width: 100%;
    height: 100%;
}

.pe-video-frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* garantiza que el video se ajuste sin bandas negras */
    border: none;
    border-radius: 8px;
}

/* ✖ Botón de cierre */
.pe-video-close {
    position: absolute;
    top: -50px;
    right: 0;
    color: #fff;
    font-size: 36px;
    cursor: pointer;
    z-index: 10;
}

/* ===========================================================
   📱 Responsividad — optimizado 11" a 19"
   =========================================================== */
@media (max-width: 1600px) {
    .pe-video-modal-content { max-width: 1100px; }
}
@media (max-width: 1366px) {
    .pe-video-modal-content { max-width: 960px; }
}
@media (max-width: 1024px) {
    .pe-video-modal-content {
        max-width: 90%;
        aspect-ratio: 16 / 9;
    }
}
@media (max-width: 768px) {
    .pe-video-modal-content {
        width: 100%;
        max-width: 100%;
        aspect-ratio: auto;
        height: auto;
    }
    .pe-video-frame iframe {
        position: relative;
        height: auto;
        min-height: 240px;
    }
    .pe-video-close {
        top: 10px;
        right: 10px;
        font-size: 28px;
    }
}
/* ==========================================================
   🎧 Paradise.Events — Ficha Técnica Podcast (Detalles)
   Versión: v2.4 QA-Secure Cosmic Standard
   ========================================================== */

.pe-podcast-details {
    width: 100%;
    border: 2px solid #46B2E0 !important;
    border-radius: 5px;
    padding: 20px 24px;
    color: #E8E8EC;
    font-family: 'Orbitron', sans-serif;
    line-height: 1.6;
    box-sizing: border-box;
    background: transparent !important;
    position: relative;
    z-index: 2;
    box-shadow: 0 0 12px rgba(70, 178, 224, 0.25);
}

/* Encabezado */
.pe-podcast-details .pe-podcast-title {
    font-size: 16px;
    font-weight: 700;
    color: #46B2E0;
    margin-bottom: 14px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    display: inline-block;
    border-bottom: 2px solid #46B2E0;
    padding-right: 20px;
}

/* Lista principal */
.pe-podcast-details ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    row-gap: 10px;
}

/* Responsive: una columna en pantallas medianas y móviles */
@media (max-width: 1024px) {
    .pe-podcast-details ul {
        grid-template-columns: 1fr;
    }
}

/* Cada línea (li) */
.pe-podcast-details li {
    margin: 0px 0;
    font-size: 15px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    color: #E8E8EC !important; /* color uniforme para todos los valores */
}

/* Etiquetas (Artista, Fecha, Categorías) */
.pe-podcast-details li strong {
    color: #46B2E0 !important;
    font-weight: 600;
    text-transform: uppercase;
    display: inline-block;
    margin-right: 8px;       /* espacio ajustado */
    min-width: 85px;         /* antes 130px — más compacto */
    flex-shrink: 0;          /* evita compresión en móviles */
}

/* Contenido (valores y enlaces) */
.pe-podcast-details li span,
.pe-podcast-details li a {
    color: #E8E8EC !important;
    font-weight: 400;
    text-decoration: none;
}

/* Hover */
.pe-podcast-details li a:hover {
    color: #9F4EF5 !important;
    transition: color 0.25s ease;
}

/* Responsivo adicional: mejora legibilidad en pantallas pequeñas */
@media (max-width: 768px) {
    .pe-podcast-details {
        padding: 10px 18px;
    }
    .pe-podcast-details li strong {
        min-width: 70px;
        margin-right: 6px;
    }
}

/* ==========================================================
   Paradise.Events — Ajuste SOLO WooCommerce para la letra "P"
   (no altera el círculo ni el resto del sitio)
   ========================================================== */

/* Tienda + Single Product + Carrito + Checkout + Mi cuenta */
body.woocommerce,
body.woocommerce-page,
body.post-type-archive-product,
body.single-product,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
  /* AJUSTA estos valores hasta que calce perfecto */
  --pe-p-x: 45%;
  --pe-p-y: 25%;
  --pe-p-size: 45%;
  --pe-c-size: 80%;
}

/* Fix de viewport SOLO en Woo (evita desfase por scrollbar) */
body.woocommerce #cosmic-bg,
body.woocommerce-page #cosmic-bg,
body.post-type-archive-product #cosmic-bg,
body.single-product #cosmic-bg,
body.woocommerce-cart #cosmic-bg,
body.woocommerce-checkout #cosmic-bg,
body.woocommerce-account #cosmic-bg {
  left: 0 !important;
  right: 0 !important;
  width: auto !important;      /* clave: evita 100vw */
}

/* Limitar el ancho del formulario de Login sin tocar sus colores */
.woocommerce  form.login {
    max-width: 500px !important; /* El ancho que prefieras */
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important; /* Por si tu tema intenta alinearlo a la izquierda */
}

/* Asegurar que los campos internos se adapten al nuevo ancho */
.woocommerce form.login .form-row {
    width: 100% !important;
    display: block !important;
}

/* Centrar el título "Login" o "Acceder" si lo tienes */
.woocommerce h2 {
    text-align: center;
}

.language-switcher {
    display: none !important;
}
/*event tickets*/
/* ============================================================
🎟️ Paradise.Events — Tickets UI (Single Event) — v1.3 (CLEAN)
Scope: SOLO bloque en página del evento (NO modal)
Selector clave: .tribe-tickets__tickets-wrapper
Fixes: Quantity desktop alineado + mobile visible/usable (+/-) + no clipping
Paleta: #9F4EF5 / #46B2E0 / #FFDD6E
============================================================ */

body:is(.single-tribe_events,.single-event) .tribe-tickets__tickets-wrapper{
  --pe-bg: rgba(13, 13, 16, .72);
  --pe-panel: rgba(19, 23, 34, .72);
  --pe-border-cyan: rgba(70, 178, 224, .55);
  --pe-border-purple: rgba(159, 78, 245, .40);
  --pe-text: #d6dde4;
  --pe-muted: #9aa5ae;
  --pe-cyan: #46B2E0;
  --pe-purple: #9F4EF5;
  --pe-gold: #FFDD6E;

  --pe-qty-h: 44px;
  --pe-qty-btn: calc(var(--pe-qty-h) - 6px);
}

/* =======================
Contenedor general
======================= */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-form{
  background: linear-gradient(180deg, var(--pe-panel), rgba(13,13,16,.55));
  border: 1px solid var(--pe-border-cyan);
  border-radius: 16px;
  padding: 22px 18px;
  box-shadow:
    0 0 0 1px var(--pe-border-purple) inset,
    0 18px 45px rgba(0,0,0,.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Título "Tickets" */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-title{
  color: var(--pe-muted);
  text-transform: uppercase;
  letter-spacing: .12em;
  margin: 0 0 14px;
}

/* Notices */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__notice{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(70,178,224,.25);
  border-left: 4px solid rgba(70,178,224,.65);
  border-radius: 12px;
  padding: 14px 14px;
  margin: 0 0 16px;
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets-notice__content{
  color: var(--pe-text);
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets-notice__content a{
  color: var(--pe-cyan);
}

/* =======================
Ticket item (CARD) — grid ordenado
Title -> Desc -> (Extra izq) + (Qty der)
======================= */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item{
  position: relative;
  margin: 14px 0;
  padding: 16px 16px;
  border-radius: 14px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.07);
  overflow: visible !important;

  display: grid;
  grid-template-columns: 1fr max-content;
  grid-template-areas:
    "title title"
    "desc  desc"
    "extra qty";
  gap: 10px 14px;
  align-items: start;
}

body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-content-title-container{
  grid-area: title;
  width: 100%;
  min-width: 0;
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-details-content{
  grid-area: desc;
  width: 100%;
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-extra{
  grid-area: extra;
  width: 100%;
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-quantity{
  grid-area: qty;
  width: max-content;
  justify-self: end;
}

/* Title */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-content-title{
  color: var(--pe-text);
  font-weight: 800;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

/* Descripción: siempre visible (plugin la oculta <768px) */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-details-content{
  color: var(--pe-muted);
  margin-top: 2px;
  line-height: 1.45;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
}

/* Separador inferior en fila Extra + Qty */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-extra,
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-quantity{
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px dashed rgba(255,255,255,.10);
}

/* Extra */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-extra{
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: flex-start;
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-extra-available{
  display: none !important; /* ocultar "100 available" */
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-extra-price .tribe-amount,
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-extra-price .tribe-currency-symbol{
  color: var(--pe-gold);
  font-weight: 900;
}

/* =======================
✅ Quantity — FIX REAL (no clipping + usable mobile)
======================= */

/* 0) Mata el ancho fijo del plugin (si no, en móvil se “pierde”) */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-quantity{
  flex: none !important;            /* plugin trae flex: 0 0 82px */
  min-width: 0 !important;
}

/* 1) Wrapper del número: el plugin lo deja en 40px y overflow hidden (CLIP) */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-quantity-number{
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  position: static !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
}

/* 2) Construcción del “pill” */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-quantity{
  border: 1px solid rgba(70,178,224,.45) !important;
  background: rgba(0,0,0,.28) !important;
  border-radius: 14px !important;
  padding: 3px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;

  min-height: var(--pe-qty-h) !important;
  overflow: visible !important;

  position: relative !important;
  z-index: 50 !important;
  pointer-events: auto !important;
  isolation: isolate;
}

/* 3) Botones +/- */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper button.tribe-tickets__tickets-item-quantity-remove,
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper button.tribe-tickets__tickets-item-quantity-add{
  width: var(--pe-qty-btn) !important;
  height: var(--pe-qty-btn) !important;
  border-radius: 12px !important;

  border: 1px solid rgba(70,178,224,.35) !important;
  background: rgba(0,0,0,.25) !important;

  color: var(--pe-cyan) !important;
  font-size: 18px !important;
  line-height: 1 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  user-select: none;

  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper button.tribe-tickets__tickets-item-quantity-remove:hover,
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper button.tribe-tickets__tickets-item-quantity-add:hover{
  transform: translateY(-1px);
  box-shadow: 0 0 0 1px rgba(159,78,245,.35) inset, 0 10px 18px rgba(0,0,0,.35);
  background: rgba(0,0,0,.35) !important;
}

/* 4) Input */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper input[type="number"].tribe-tickets__tickets-item-quantity-number-input{
  width: 86px !important;
  height: var(--pe-qty-btn) !important;
  line-height: var(--pe-qty-btn) !important;

  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.03) !important;

  box-sizing: border-box !important;
  padding: 0 10px !important;
  margin: 0 !important;

  color: var(--pe-text) !important;
  text-align: center !important;
  font-weight: 900 !important;
  outline: none !important;

  overflow: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 60 !important;
}

/* Spinners: SOLO desktop (en móvil pueden servir de fallback) */
@media (min-width: 641px){
  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper input[type="number"]::-webkit-outer-spin-button,
  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper input[type="number"]::-webkit-inner-spin-button{
    -webkit-appearance: none;
    margin: 0;
  }
  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper input[type="number"]{
    -moz-appearance: textfield;
  }
}

/* =======================
Footer (Quantity/Total + botón)
======================= */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-footer-quantity,
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-footer-total{
  color: var(--pe-muted);
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-footer-quantity-number,
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-footer-total-wrap{
  color: var(--pe-text);
  font-weight: 900;
}

/* Botón principal */
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-buy.tribe-common-c-btn{
  border: 0 !important;
  border-radius: 14px;
  padding: 12px 18px;
  font-weight: 900;
  color: #0d0d10 !important;
  background: linear-gradient(90deg, var(--pe-cyan), var(--pe-purple)) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.35);
  white-space: nowrap;
}
body:is(.single-tribe_events,.single-event)
.tribe-tickets__tickets-wrapper .tribe-tickets__tickets-buy.tribe-common-c-btn:disabled{
  background: rgba(255,255,255,.15) !important;
  color: rgba(255,255,255,.55) !important;
  box-shadow: none;
  cursor: not-allowed;
  opacity: .9;
}

/* =======================
Mobile
======================= */
@media (max-width: 640px){

  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper .tribe-tickets__tickets-form{
    padding: 18px 14px;
  }

  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item{
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "desc"
      "extra"
      "qty";
    text-align: center;
  }

  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-extra{
    justify-content: center;
  }

  /* Qty centrado y con ancho seguro */
  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper .tribe-tickets__tickets-item-quantity{
    justify-self: center;
    margin: 0 auto !important;
    max-width: 320px;
  }

  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper input[type="number"].tribe-tickets__tickets-item-quantity-number-input{
    width: 110px !important;
  }

  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper .tribe-tickets__tickets-footer{
    flex-direction: column;
    align-items: stretch;
  }

  body:is(.single-tribe_events,.single-event)
  .tribe-tickets__tickets-wrapper .tribe-tickets__tickets-buy.tribe-common-c-btn{
    width: 100%;
    text-align: center;
  }
}

/* ============================================================
🎟️ Paradise.Events — Tickets Block (Evento) — Estado INACTIVO
"Tickets are no longer available"
Objetivo: blanco, centrado y más grande (look cósmico)
Scope: SOLO bloque tickets en página (NO modal AR)
============================================================ */

.tribe-common.event-tickets.tribe-tickets__tickets-wrapper
.tribe-tickets__tickets-item.tribe-tickets__tickets-item--inactive{
  margin: 14px 0 !important;
  padding: 16px !important;
  border-radius: 16px !important;

  background: linear-gradient(
    180deg,
    rgba(19, 23, 34, .85),
    rgba(13, 13, 16, .65)
  ) !important;

  border: 1px solid rgba(70, 178, 224, .28) !important;
  box-shadow:
    0 0 0 1px rgba(159, 78, 245, .22) inset,
    0 14px 32px rgba(0,0,0,.40) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 88px !important;
}

.tribe-common.event-tickets.tribe-tickets__tickets-wrapper
.tribe-tickets__tickets-item-content.tribe-tickets__tickets-item-content--inactive{
  color: #ffffff !important;
  font-weight: 900 !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.25 !important;
  letter-spacing: .02em !important;

  background: transparent !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.55) !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* Mobile: un poco más compacto */
@media (max-width: 640px){
  .tribe-common.event-tickets.tribe-tickets__tickets-wrapper
  .tribe-tickets__tickets-item.tribe-tickets__tickets-item--inactive{
    min-height: 76px !important;
    padding: 14px !important;
  }
}

/* ============================================================
🎟️ Paradise.Events — Attendee Registration MODAL (ETP 6.9.x)
v3.6 (CLEAN + FIX ZERO-QTY TICKETS)

FIX clave:
- NO forzar "display: grid !important" en .tribe-tickets__tickets-item
  para respetar inline style="display:none" que usa ETP cuando qty=0.

Scope: SOLO modal AR
Root: .tribe-dialog__wrapper.tribe-modal__wrapper--ar
============================================================ */

/* ===== Variables SOLO del modal AR ===== */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar{
  --pe-overlay: rgba(0,0,0,.72);
  --pe-panel: rgba(19, 23, 34, .90);
  --pe-panel-2: rgba(13, 13, 16, .70);

  --pe-border-cyan: rgba(70, 178, 224, .55);
  --pe-border-purple: rgba(159, 78, 245, .42);

  --pe-text: #dbe3ea;
  --pe-muted: rgba(219,227,234,.72);

  --pe-cyan: #46B2E0;
  --pe-purple: #9F4EF5;
  --pe-gold: #FFDD6E;

  /* Ajusta según tu header sticky */
  --pe-header-offset: 108px;
  --pe-footer-offset: 84px;

  /* Tamaño popup */
  --pe-popup-w: 620px;
  --pe-popup-maxh: calc(100vh - var(--pe-header-offset) - var(--pe-footer-offset) - 40px);
}

/* ===== Anti-overflow global ===== */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar *{
  box-sizing: border-box !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar *{
  min-width: 0 !important;
  max-width: 100% !important;
}

/* ===== Overlay real (quita fondo blanco) ===== */
.tribe-dialog__overlay,
.tribe-dialog__overlay.tribe-modal__overlay{
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: var(--pe-overlay) !important;
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 999998 !important;
}

/* ===== Wrapper (respeta sticky header/footer) ===== */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar{
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;

  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;

  padding-top: calc(var(--pe-header-offset) + 10px) !important;
  padding-right: 14px !important;
  padding-left: 14px !important;
  padding-bottom: calc(var(--pe-footer-offset) + 10px) !important;

  background: transparent !important;
  z-index: 999999 !important;
}

/* ===== Caja popup compacta ===== */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar > [role="document"]{
  width: min(var(--pe-popup-w), 92vw) !important;
  max-height: var(--pe-popup-maxh) !important;

  display: flex !important;
  flex-direction: column !important;

  background: linear-gradient(180deg, var(--pe-panel), var(--pe-panel-2)) !important;
  border: 1px solid var(--pe-border-cyan) !important;
  border-radius: 18px !important;

  box-shadow:
    0 0 0 1px var(--pe-border-purple) inset,
    0 18px 45px rgba(0,0,0,.62) !important;

  overflow: hidden !important;
}

/* Scroll interno */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__content,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-modal__content{
  flex: 1 1 auto !important;
  overflow: auto !important;
  background: transparent !important;
}

/* ===== Close X visible ===== */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__close-button{
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(70,178,224,.35) !important;
  background: rgba(0,0,0,.35) !important;
  opacity: 1 !important;
  z-index: 10 !important;
  background-image: none !important;
  color: transparent !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__close-button::before,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__close-button::after{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 18px !important;
  height: 2px !important;
  background: rgba(219,227,234,.92) !important;
  transform-origin: center !important;
  border-radius: 2px !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__close-button::before{
  transform: translate(-50%,-50%) rotate(45deg) !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__close-button::after{
  transform: translate(-50%,-50%) rotate(-45deg) !important;
}

/* ===== Título modal ("TEST TICKETS") ===== */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-modal__title{
  color: var(--pe-cyan) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  padding: 16px 18px 6px !important;
  margin: 0 !important;
}

/* ===== Secciones tipo card ===== */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-modal__cart,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets{
  margin-top: 12px !important;
  padding: 14px !important;
  border-radius: 16px !important;
  background: rgba(0,0,0,.18) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}

/* ============================================================
TICKETS LIST (cards)
============================================================ */

/* Card base */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-item{
  margin: 10px 0 !important;
  padding: 12px !important;
  border-radius: 14px !important;
  background: rgba(0,0,0,.22) !important;
  border: 1px solid rgba(255,255,255,.08) !important;

  /* IMPORTANTE: sin !important en display para respetar style="display:none" */
  display: grid;
  grid-template-columns: 1fr auto !important;
  grid-template-areas:
    "title qty"
    "meta  meta" !important;
  column-gap: 12px !important;
  row-gap: 10px !important;
  align-items: start !important;
}

/* Título ticket */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-content-title-container{
  grid-area: title !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-content-title{
  color: var(--pe-text) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  background: transparent !important;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Ocultar "More/Less" */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-details-summary{
  display: none !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-details-content{
  grid-area: meta !important;
  margin-top: 0 !important;
  color: rgba(219,227,234,.70) !important;
}

/* Precio visible (solo precio) */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar
.tribe-tickets__tickets-item-extra{
  grid-area: meta !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  margin-top: 0 !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar
.tribe-tickets__tickets-item-extra-price .tribe-currency-symbol,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar
.tribe-tickets__tickets-item-extra-price .tribe-amount{
  color: var(--pe-gold) !important;
  font-weight: 900 !important;
  opacity: 1 !important;
}

/* Oculta "available" */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-extra-available{
  display: none !important;
}

/* Evita repetición $ por total por ítem */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar
.tribe-tickets__tickets-item .tribe-tickets__tickets-item-total-wrap{
  display: none !important;
}

/* Quantity pill (derecha) */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity{
  grid-area: qty !important;
  margin-top: 0 !important;
  justify-self: end !important;
  align-self: start !important;

  border: 1px solid rgba(70,178,224,.45) !important;
  background: rgba(0,0,0,.28) !important;
  border-radius: 14px !important;
  padding: 2px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar button.tribe-tickets__tickets-item-quantity-remove,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar button.tribe-tickets__tickets-item-quantity-add{
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  border: 0 !important;
  background: rgba(0,0,0,.25) !important;
  color: var(--pe-cyan) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  touch-action: manipulation;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input.tribe-tickets__tickets-item-quantity-number-input{
  width: 90px !important;
  height: 40px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.03) !important;
  color: var(--pe-text) !important;
  text-align: center !important;
  font-weight: 900 !important;
}

/* Footer Quantity/Total (visible y con look del sitio) */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;

  margin: 12px 0 0 !important;
  padding: 12px 14px !important;

  background: rgba(0,0,0,.18) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 14px !important;
}

/* Quantity block */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-quantity{
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-quantity-label{
  color: var(--pe-muted) !important;
  font-weight: 800 !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-quantity-number{
  color: var(--pe-text) !important;
  font-weight: 900 !important;
}

/* Total block */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total{
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total-label{
  color: var(--pe-text) !important;
  font-weight: 900 !important;
  opacity: .92 !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total-wrap,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total-wrap .tribe-currency-symbol,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total-wrap .tribe-amount{
  color: var(--pe-gold) !important;
  font-weight: 900 !important;
}

/* Mobile: apila footer qty/total */
@media (max-width: 640px){
  .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer{
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-footer-total{
    justify-content: space-between !important;
  }
}

/* ============================================================
ATTENDEE FORM
============================================================ */

/* Attendee card */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-item{
  margin-top: 10px !important;
  padding: 14px !important;
  border-radius: 14px !important;
  background: rgba(0,0,0,.22) !important;
  border: 1px solid rgba(255,255,255,.08) !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  overflow: hidden !important;
}

/* ATTENDEE 1 color */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-item-title{
  color: var(--pe-cyan) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin: 0 !important;
}

/* Label + input pegados (sin huecos raros) */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__form-field{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__form-field-label,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__form-field header.tribe-tickets__form-field-label{
  display: block !important;
  color: var(--pe-text) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__form-field-input-wrapper{
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Required */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-required{
  color: var(--pe-gold) !important;
}

/* Inputs (no checkbox/radio) */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-form-control-text__input,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input.tribe-tickets__form-field-input:not([type="checkbox"]):not([type="radio"]),
.tribe-dialog__wrapper.tribe-modal__wrapper--ar textarea.tribe-tickets__form-field-input{
  display: block !important;
  width: 100% !important;

  border-radius: 12px !important;
  border: 1px solid rgba(70,178,224,.35) !important;
  background: rgba(0,0,0,.30) !important;

  color: var(--pe-text) !important;
  padding: 12px 12px !important;
  margin: 0 !important;
  outline: none !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-form-control-text__input::placeholder,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input.tribe-tickets__form-field-input:not([type="checkbox"]):not([type="radio"])::placeholder{
  color: rgba(219,227,234,.42) !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-form-control-text__input:focus,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input.tribe-tickets__form-field-input:not([type="checkbox"]):not([type="radio"]):focus{
  border-color: rgba(159,78,245,.70) !important;
  box-shadow: 0 0 0 2px rgba(159,78,245,.18) !important;
}

/* ===== Género (checkbox): vertical y compacto ===== */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-form-control-checkbox-radio-group{
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: flex-start !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-form-control-checkbox{
  width: auto !important;
  max-width: 100% !important;

  display: inline-flex !important;
  align-items: center !important;

  border: 1px solid rgba(70,178,224,.20) !important;
  background: rgba(0,0,0,.22) !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-form-control-checkbox__label{
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;

  color: var(--pe-text) !important;
  font-weight: 800 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Checkbox cuadrado (no estirado) */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input[type="checkbox"].tribe-common-form-control-checkbox__input{
  appearance: none !important;
  -webkit-appearance: none !important;

  width: 18px !important;
  height: 18px !important;

  border-radius: 6px !important;
  border: 2px solid rgba(70,178,224,.55) !important;
  background: rgba(0,0,0,.35) !important;

  display: inline-grid !important;
  place-content: center !important;

  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input[type="checkbox"].tribe-common-form-control-checkbox__input::after{
  content: "" !important;
  width: 10px !important;
  height: 6px !important;
  border-left: 2px solid #0d0d10 !important;
  border-bottom: 2px solid #0d0d10 !important;
  transform: rotate(-45deg) !important;
  display: none !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input[type="checkbox"].tribe-common-form-control-checkbox__input:checked{
  background: linear-gradient(90deg, var(--pe-cyan), var(--pe-purple)) !important;
  border-color: rgba(255,255,255,.10) !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input[type="checkbox"].tribe-common-form-control-checkbox__input:checked::after{
  display: block !important;
}

/* ============================================================
BOTTOM: disclaimer + botones
============================================================ */

/* Disclaimer inferior */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__iac-email-disclaimer{
  color: rgba(70,178,224,.95) !important;
  margin: 14px 0 6px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

/* Ocultar Save and View Cart + "or" */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar button.tribe-tickets__attendee-tickets-footer-cart-button{
  display: none !important;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer-divider{
  display: none !important;
}

/* Footer botones */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer{
  margin-top: 12px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Checkout Now (gradiente site) */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar
button.tribe-tickets__attendee-tickets-footer-checkout-button{
  border: 0 !important;
  border-radius: 14px !important;
  padding: 12px 18px !important;
  font-weight: 900 !important;
  color: #0d0d10 !important;
  background: linear-gradient(90deg, var(--pe-cyan), var(--pe-purple)) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.35) !important;
}

/* ===== Mobile tuning ===== */
@media (max-width: 640px){
  .tribe-dialog__wrapper.tribe-modal__wrapper--ar{
    --pe-header-offset: 96px;
    --pe-footer-offset: 96px;
  }
  .tribe-dialog__wrapper.tribe-modal__wrapper--ar > [role="document"]{
    width: 94vw !important;
  }

  /* Tickets list: título arriba, qty debajo */
  .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-item{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "qty"
      "meta" !important;
  }
  .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__tickets-item-quantity{
    justify-self: start !important;
  }

  .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__attendee-tickets-footer{
    justify-content: stretch !important;
  }
  .tribe-dialog__wrapper.tribe-modal__wrapper--ar
  button.tribe-tickets__attendee-tickets-footer-checkout-button{
    width: 100% !important;
    text-align: center !important;
  }
}
/* ===== FIX: heading “subrayado” (Ticket heading sobre Attendee) ===== */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-ticket__tickets-heading{
  color: var(--pe-text) !important;
  background: transparent !important;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}
/* ============================================================
FIX FINAL: texto “subrayado / seleccionado” (heading sobre Attendee)
- Mantener blanco
- Mejorar color de selección (no gris)
============================================================ */

/* Fuerza blanco y quita opacidades/filtros heredados */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-ticket__tickets-heading,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-ticket__tickets-heading *{
  color: #ffffff !important;
  opacity: 1 !important;
  background: transparent !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Si el tema mete resaltado con <mark> o spans */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-ticket__tickets-heading mark,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-ticket__tickets-heading .highlight{
  background: transparent !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Color cuando el usuario selecciona el texto */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-ticket__tickets-heading::selection,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-ticket__tickets-heading *::selection{
  background: rgba(70,178,224,.22) !important; /* cyan suave */
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   Paradise.Events — WooCommerce Thank You (order-received)
   VERSION UNIFICADA V4.3 (LIMPIA)
   - Tarjetas superiores estables (grid-areas)
   - Método de pago arriba (tarjeta)
   - Tabla meta del ticket centrada estéticamente (no full width)
   - TODOS los valores (incluye Name/Email) alineados a la derecha
========================================================= */

body.woocommerce-order-received {
  --pe-primary: #9F4EF5;
  --pe-secondary: #46B2E0;
  --pe-accent: #FFDD6E;

  --pe-card: rgba(255,255,255,.06);
  --pe-card-2: rgba(255,255,255,.04);
  --pe-border: rgba(255,255,255,.10);

  --pe-soft: rgba(0,0,0,.16);

  --pe-text: rgba(237,237,242,.95);
  --pe-muted: rgba(237,237,242,.72);

  --pe-guide: rgba(70,178,224,.22);
  --pe-guide-2: rgba(70,178,224,.14);

  /* Meta ticket (recuadro de datos) */
  --pe-meta-max: 860px; /* ancho máximo estético */
  --pe-meta-width: 88%; /* no 100% para que se vea centrado bonito */
}

/* -----------------------------
   Contenedor general
----------------------------- */
body.woocommerce-order-received .woocommerce,
body.woocommerce-order-received .woocommerce-order {
  color: var(--pe-text);
}

body.woocommerce-order-received .woocommerce-order {
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(14px, 2.5vw, 26px);
}

body.woocommerce-order-received .woocommerce-order h2,
body.woocommerce-order-received .woocommerce-order h3,
body.woocommerce-order-received .woocommerce-order h4 {
  color: var(--pe-text);
  letter-spacing: .2px;
  margin: 22px 0 14px;
}

/* -----------------------------
   Notice de éxito
----------------------------- */
body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  background: linear-gradient(135deg, rgba(159,78,245,.12), rgba(70,178,224,.10));
  border: 1px solid rgba(70,178,224,.25);
  border-radius: 18px;
  padding: 14px 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
  margin: 0 0 18px;
  color: var(--pe-text);
}

/* =========================================================
   TARJETAS SUPERIORES (Pedido / Fecha / Total / Método)
========================================================= */
body.woocommerce-order-received ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
  list-style: none !important;
  margin: 0 0 18px !important;
  padding: 0 !important;

  display: grid !important;
  gap: 12px !important;

  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-areas:
    "order date total"
    "method method method" !important;

  float: none !important;
  width: 100% !important;
  clear: both !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview:before,
body.woocommerce-order-received ul.woocommerce-order-overview:after {
  content: none !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details > li {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;

  display: block !important;

  background: var(--pe-card);
  border: 1px solid var(--pe-border);
  border-radius: 18px;
  padding: 14px 14px 12px;

  box-shadow: 0 10px 28px rgba(0,0,0,.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  color: var(--pe-muted);
  line-height: 1.25;
}

body.woocommerce-order-received li.woocommerce-order-overview__order { grid-area: order !important; }
body.woocommerce-order-received li.woocommerce-order-overview__date  { grid-area: date !important; }
body.woocommerce-order-received li.woocommerce-order-overview__total { grid-area: total !important; }
body.woocommerce-order-received li.woocommerce-order-overview__payment-method { grid-area: method !important; }

body.woocommerce-order-received ul.woocommerce-order-overview > li strong {
  display: block;
  margin-top: 6px;
  color: var(--pe-text);
  font-weight: 900;
  font-size: 1.08rem;
}

body.woocommerce-order-received ul.woocommerce-order-overview > li .woocommerce-Price-amount {
  color: var(--pe-accent);
  font-weight: 900;
}

/* Desktop grande: 4 tarjetas en una fila */
@media (min-width: 1024px) {
  body.woocommerce-order-received ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-areas: "order date total method" !important;
  }
}

/* Responsive */
@media (max-width: 860px) {
  body.woocommerce-order-received ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-areas:
      "order date"
      "total method" !important;
  }
}
@media (max-width: 560px) {
  body.woocommerce-order-received ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "order"
      "date"
      "total"
      "method" !important;
  }
}

/* -----------------------------
   Secciones tipo card
----------------------------- */
body.woocommerce-order-received section.woocommerce-order-details,
body.woocommerce-order-received section.woocommerce-customer-details,
body.woocommerce-order-received .tec-tickets__attendees-list-wrapper--woo {
  background: var(--pe-card-2);
  border: 1px solid var(--pe-border);
  border-radius: 22px;
  padding: clamp(14px, 2vw, 22px);
  box-shadow: 0 14px 40px rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  margin: 0 0 16px;
}

body.woocommerce-order-received section.woocommerce-order-details {
  overflow: visible !important;
}

/* =========================================================
   TABLA Detalles del pedido
========================================================= */
body.woocommerce-order-received table.woocommerce-table--order-details {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  margin: 12px 0 0 !important;

  border-radius: 16px;
  overflow: hidden;

  background: var(--pe-soft);
  border: 1px solid rgba(255,255,255,.08);
  box-sizing: border-box !important;
}

body.woocommerce-order-received table.woocommerce-table--order-details th.product-name,
body.woocommerce-order-received table.woocommerce-table--order-details td.product-name { width: 76%; }
body.woocommerce-order-received table.woocommerce-table--order-details th.product-total,
body.woocommerce-order-received table.woocommerce-table--order-details td.product-total { width: 24%; }

body.woocommerce-order-received table.woocommerce-table--order-details thead th {
  text-transform: uppercase;
  font-size: .82rem;
  letter-spacing: .8px;
  color: rgba(255,255,255,.92);

  padding: 14px 22px !important;
  background: linear-gradient(135deg, rgba(159,78,245,.22), rgba(70,178,224,.16));
  border-bottom: 1px solid rgba(255,255,255,.08);
}

body.woocommerce-order-received table.woocommerce-table--order-details td,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
  padding: 14px 22px !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
  color: var(--pe-text);
  vertical-align: top;
}

body.woocommerce-order-received table.woocommerce-table--order-details thead th:last-child,
body.woocommerce-order-received table.woocommerce-table--order-details td.product-total,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
  text-align: right !important;
}

body.woocommerce-order-received table.woocommerce-table--order-details td.product-name {
  color: rgba(255,255,255,.92) !important;
}

body.woocommerce-order-received table.woocommerce-table--order-details td.product-name a {
  color: rgba(70,178,224,.98) !important;
  font-weight: 800;
  text-decoration: none;
}
body.woocommerce-order-received table.woocommerce-table--order-details td.product-name a:hover {
  text-decoration: underline;
}

body.woocommerce-order-received table.woocommerce-table--order-details .product-quantity {
  color: var(--pe-accent);
  font-weight: 900;
}
body.woocommerce-order-received table.woocommerce-table--order-details .woocommerce-Price-amount {
  color: var(--pe-accent);
  font-weight: 900;
}

/* Ocultar método de pago en tfoot (ya está arriba como tarjeta) */
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child {
  display: none !important;
}

/* =========================================================
   Detalle del evento (TEC)
========================================================= */
body.woocommerce-order-received .tribe-event-details {
  margin-top: 10px;
  font-size: .92rem;
  color: var(--pe-muted);
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
}

/* =========================================================
   TABLA META asistente (Ticket ID / Name / Email / Documento...)
   - recuadro centrado estético (NO full width)
   - valores a la derecha (incluye Name/Email)
========================================================= */
body.woocommerce-order-received td.product-name .tribe-attendee-meta {
  display: table !important;

  width: var(--pe-meta-width) !important; /* <- clave para centrado visual */
  max-width: var(--pe-meta-max) !important;
  margin: 14px auto 0 !important;

  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;

  background: rgba(0,0,0,.24);
  border: 1px solid var(--pe-guide);
  border-radius: 14px;
  overflow: hidden;
}

body.woocommerce-order-received td.product-name .tribe-attendee-meta,
body.woocommerce-order-received td.product-name .tribe-attendee-meta * {
  color: var(--pe-text) !important;
}

body.woocommerce-order-received td.product-name .tribe-attendee-meta p {
  margin: 0 !important;
}

body.woocommerce-order-received td.product-name .tribe-attendee-meta td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--pe-guide-2);
  font-size: .92rem;
  line-height: 1.35;

  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}

body.woocommerce-order-received td.product-name .tribe-attendee-meta td:first-child {
  width: 42%;
  color: var(--pe-muted) !important;
  font-weight: 750;
  text-align: left !important;
  border-right: 1px solid var(--pe-guide-2);
}

/* ✅ TODOS los valores a la derecha */
body.woocommerce-order-received td.product-name .tribe-attendee-meta td:nth-child(2),
body.woocommerce-order-received td.product-name .tribe-attendee-meta td:nth-child(2) * {
  width: 58%;
  font-weight: 900;
  color: rgba(255,255,255,.92) !important;
  text-align: right !important;

  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

body.woocommerce-order-received td.product-name .tribe-attendee-meta tr:nth-child(odd) td {
  background: rgba(255,255,255,.02);
}
body.woocommerce-order-received td.product-name .tribe-attendee-meta tr:last-child td {
  border-bottom: none;
}

/* headings */
body.woocommerce-order-received .tribe-attendee-meta-heading {
  font-weight: 900 !important;
  color: rgba(70,178,224,.95) !important;
}

/* =========================================================
   Bloque "Your Tickets" (TEC)
========================================================= */
body.woocommerce-order-received .tec-tickets__attendees-list-wrapper--woo h4 {
  margin: 0 0 14px !important;
  color: var(--pe-text);
  font-weight: 900;
  letter-spacing: .2px;
}

body.woocommerce-order-received .tec-tickets__attendees-list {
  display: grid;
  gap: 12px;
}

body.woocommerce-order-received .tec-tickets__attendees-list-item {
  background: var(--pe-soft);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 14px 16px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

body.woocommerce-order-received .tec-tickets__attendees-list-item-attendee-details-name {
  font-weight: 900;
  color: rgba(255,255,255,.92);
  margin-bottom: 4px;
}

body.woocommerce-order-received .tec-tickets__attendees-list-item-attendee-details-ticket {
  color: var(--pe-muted);
  font-size: .95rem;
  line-height: 1.35;
}

body.woocommerce-order-received .tec-tickets__attendees-list-item-attendee-details-ticket .woocommerce-Price-amount {
  color: var(--pe-accent);
  font-weight: 900;
}

body.woocommerce-order-received .tec-tickets__wallet-plus-component-pdf-button-link,
body.woocommerce-order-received a.tribe-common-c-btn-border {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 16px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.14);

  color: rgba(0,0,0,.92) !important;
  text-decoration: none !important;
  font-weight: 900;

  background: linear-gradient(135deg, var(--pe-primary), var(--pe-secondary));
  box-shadow: 0 14px 32px rgba(0,0,0,.28);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  white-space: nowrap;
}

body.woocommerce-order-received .tec-tickets__wallet-plus-component-pdf-button-link:hover,
body.woocommerce-order-received a.tribe-common-c-btn-border:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 18px 44px rgba(0,0,0,.33);
}

/* -----------------------------
   Dirección de facturación
----------------------------- */
body.woocommerce-order-received .woocommerce-customer-details address {
  height: auto !important;
  min-height: 0 !important;

  background: var(--pe-soft);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 14px 14px 12px;

  color: var(--pe-text) !important;
  line-height: 1.55;
}

body.woocommerce-order-received .woocommerce-customer-details--email,
body.woocommerce-order-received .woocommerce-customer-details--phone {
  margin: 10px 0 0;
  color: var(--pe-muted) !important;
}

/* -----------------------------
   Responsive
----------------------------- */
@media (max-width: 760px) {
  body.woocommerce-order-received .tec-tickets__attendees-list-item {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 640px) {
  body.woocommerce-order-received table.woocommerce-table--order-details {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* meta table stack */
  body.woocommerce-order-received td.product-name .tribe-attendee-meta {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.woocommerce-order-received td.product-name .tribe-attendee-meta td {
    display: block;
    width: 100% !important;
    text-align: left !important;
    border-right: none !important;
  }
}
/* =========================================================
   Paradise.Events — order-received HOTFIX V4.3.2
   FIX DEFINITIVO: Name/Email desalineados (forzar derecha)
   Causa: <p class="tribe-attendee-meta-heading"> trae estilos centrados desde TEC/tema
========================================================= */

body.woocommerce-order-received td.product-name .tribe-attendee-meta td:nth-child(2) {
  text-align: right !important;
}

/* Fuerza que cualquier cosa dentro del valor se comporte como bloque full width */
body.woocommerce-order-received td.product-name .tribe-attendee-meta td:nth-child(2) > *,
body.woocommerce-order-received td.product-name .tribe-attendee-meta td:nth-child(2) p,
body.woocommerce-order-received td.product-name .tribe-attendee-meta td:nth-child(2) strong,
body.woocommerce-order-received td.product-name .tribe-attendee-meta td:nth-child(2) span {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
}

/* Específico para los valores que TEC imprime en <p class="tribe-attendee-meta-heading"> */
body.woocommerce-order-received td.product-name .tribe-attendee-meta td:nth-child(2) .tribe-attendee-meta-heading {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: right !important;
}

/* Evita que el email se “centre” al partir línea */
body.woocommerce-order-received td.product-name .tribe-attendee-meta td:nth-child(2) {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

/* =========================================================
   Paradise.Events — Checkout: métodos de pago en blanco (universal)
========================================================= */
body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment * {
  color: #E8E8EC !important;
}

/* Mantener links con color del sitio */
body.woocommerce-checkout #payment a {
  color: #46B2E0 !important;
}

/* (Opcional) Caja de descripción del método */
body.woocommerce-checkout #payment .payment_box {
  background: rgba(0,0,0,.22) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
}

/* =========================================================
   Paradise.Events — WooCommerce CART (carrito)
   VERSION UNIFICADA v1.0 (texto visible + links estándar + cupón/qty)
   Scope: solo página Carrito
========================================================= */

body.woocommerce-cart {
  --pe-primary: #9F4EF5;
  --pe-secondary: #46B2E0;
  --pe-accent: #FFDD6E;

  --pe-card: rgba(255,255,255,.06);
  --pe-card-2: rgba(255,255,255,.04);
  --pe-border: rgba(255,255,255,.10);

  --pe-soft: rgba(0,0,0,.16);
  --pe-soft-2: rgba(0,0,0,.30);

  --pe-text: rgba(237,237,242,.95);
  --pe-muted: rgba(237,237,242,.72);
  --pe-guide: rgba(70,178,224,.22);
  --pe-guide-2: rgba(70,178,224,.14);
}

/* Base legible en todo el módulo Woo del carrito */
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce * {
  color: var(--pe-text);
}

/* Links estándar (cian) */
body.woocommerce-cart .woocommerce a,
body.woocommerce-cart .woocommerce a:visited {
  color: rgba(70,178,224,.98);
  text-decoration: none;
}
body.woocommerce-cart .woocommerce a:hover {
  color: rgba(255,221,110,.95);
  text-decoration: underline;
}

/* Notices (incluye “¿Deshacer?” / Undo) */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  background: linear-gradient(135deg, rgba(159,78,245,.12), rgba(70,178,224,.10));
  border: 1px solid rgba(70,178,224,.25);
  border-radius: 18px;
  padding: 14px 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
}
body.woocommerce-cart .woocommerce-message a,
body.woocommerce-cart .woocommerce-info a {
  font-weight: 800;
}

/* Estado carrito vacío (texto visible) */
body.woocommerce-cart p.cart-empty,
body.woocommerce-cart p.woocommerce-info,
body.woocommerce-cart .return-to-shop {
  color: var(--pe-text) !important;
}
body.woocommerce-cart .return-to-shop a.button {
  border-radius: 16px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(0,0,0,.92) !important;
  background: linear-gradient(135deg, var(--pe-primary), var(--pe-secondary));
  box-shadow: 0 14px 32px rgba(0,0,0,.28);
}

/* “Cards” para las zonas del carrito */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-cart .cart-collaterals .shipping_calculator,
body.woocommerce-cart .woocommerce-cart-form__contents,
body.woocommerce-cart .woocommerce .cart-collaterals {
  background: var(--pe-card-2);
  border: 1px solid var(--pe-border);
  border-radius: 22px;
  padding: clamp(14px, 2vw, 22px);
  box-shadow: 0 14px 40px rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Tabla del carrito (productos) */
body.woocommerce-cart table.shop_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--pe-soft);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  overflow: hidden;
}

body.woocommerce-cart table.shop_table thead th {
  text-transform: uppercase;
  font-size: .82rem;
  letter-spacing: .8px;
  color: rgba(255,255,255,.92) !important;
  padding: 14px 18px;
  background: linear-gradient(135deg, rgba(159,78,245,.22), rgba(70,178,224,.16));
  border-bottom: 1px solid rgba(255,255,255,.08);
}

body.woocommerce-cart table.shop_table td,
body.woocommerce-cart table.shop_table th {
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  vertical-align: middle;
}

body.woocommerce-cart table.shop_table tbody tr:last-child td {
  border-bottom: none;
}

body.woocommerce-cart table.shop_table .product-name a {
  color: rgba(70,178,224,.98) !important;
  font-weight: 800;
}
body.woocommerce-cart table.shop_table .woocommerce-Price-amount {
  color: var(--pe-accent) !important;
  font-weight: 900;
}

/* Botón remover (que se vea y no “muera” en fondo oscuro) */
body.woocommerce-cart a.remove {
  color: rgba(255,255,255,.85) !important;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  width: 26px;
  height: 26px;
  line-height: 24px;
  text-align: center;
}
body.woocommerce-cart a.remove:hover {
  background: rgba(255,221,110,.18);
  border-color: rgba(255,221,110,.35);
}

/* Botones Woo en carrito (Actualizar / Finalizar / etc.) */
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce input.button {
  border-radius: 16px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(0,0,0,.92) !important;
  background: linear-gradient(135deg, var(--pe-primary), var(--pe-secondary));
  box-shadow: 0 14px 32px rgba(0,0,0,.28);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
body.woocommerce-cart .woocommerce button.button:hover,
body.woocommerce-cart .woocommerce a.button:hover,
body.woocommerce-cart .woocommerce input.button:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 18px 44px rgba(0,0,0,.33);
}

/* =========================================================
   CUPÓN (tu CSS, pero bien scopeado y compatible con Woo + Elementor)
========================================================= */

/* Woo clásico: #coupon_code y botón apply_coupon */
body.woocommerce-cart #coupon_code,
body.woocommerce-cart .coupon input#coupon_code,
body.woocommerce-cart .coupon-col-start input#coupon_code {
  background-color: #0D0D10AB !important;
  color: #E8E8EC !important;
  border: 1px solid rgba(232, 232, 236, 0.2) !important;
  padding: 10px 15px !important;
  border-radius: 10px !important;
  outline: none;
}

body.woocommerce-cart #coupon_code::placeholder,
body.woocommerce-cart .coupon input#coupon_code::placeholder,
body.woocommerce-cart .coupon-col-start input#coupon_code::placeholder {
  color: rgba(232, 232, 236, 0.6) !important;
}

/* Focus */
body.woocommerce-cart #coupon_code:focus,
body.woocommerce-cart .coupon input#coupon_code:focus,
body.woocommerce-cart .coupon-col-start input#coupon_code:focus {
  border-color: rgba(70,178,224,.55) !important;
  box-shadow: 0 0 0 3px rgba(70,178,224,.18) !important;
}

/* Botón aplicar cupón (Woo + Elementor) */
body.woocommerce-cart button[name="apply_coupon"],
body.woocommerce-cart .coupon button,
body.woocommerce-cart .coupon-col-end button.e-apply-coupon {
  background-color: #46B2E0 !important;
  color: #E8E8EC !important;
  border: none !important;
  padding: 10px 20px !important;
  cursor: pointer;
  border-radius: 10px !important;
  transition: all 0.3s ease;
}
body.woocommerce-cart button[name="apply_coupon"]:hover,
body.woocommerce-cart .coupon button:hover,
body.woocommerce-cart .coupon-col-end button.e-apply-coupon:hover {
  background-color: #9F4EF5 !important;
  color: #E8E8EC !important;
}

/* =========================================================
   CANTIDAD (qty) — centrado + sin spinners (tu CSS)
========================================================= */
body.woocommerce-cart .product-quantity input.qty,
body.woocommerce-cart .quantity input.qty {
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: rgba(0,0,0,.25) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: var(--pe-text) !important;
  border-radius: 10px !important;
}

/* quitar spinners */
body.woocommerce-cart .product-quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .product-quantity input.qty::-webkit-inner-spin-button,
body.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
body.woocommerce-cart .product-quantity input.qty,
body.woocommerce-cart .quantity input.qty {
  -moz-appearance: textfield; /* Firefox */
}

/* Responsive: tabla scrolleable en móvil */
@media (max-width: 640px) {
  body.woocommerce-cart table.shop_table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
/* =========================================================
   Paradise.Events — Carrito vacío
   Botón “Volver a eventos” + ocultar “Volver a la tienda”
========================================================= */

/* ⛔ Oculta el botón original de WooCommerce (volver a la tienda)
   -> Para volver a mostrarlo, comenta o elimina ESTA línea: */
body.woocommerce-cart .return-to-shop { display: none !important; }

/* Estilo del nuevo botón (mismo look que el estándar del sistema) */
body.woocommerce-cart .return-to-events a.button {
  border-radius: 16px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(0,0,0,.92) !important;
  background: linear-gradient(135deg, #9F4EF5, #46B2E0);
  box-shadow: 0 14px 32px rgba(0,0,0,.28);
  text-decoration: none !important;
  font-weight: 900;
}

body.woocommerce-cart .return-to-events a.button:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 18px 44px rgba(0,0,0,.33);
}
/* =========================================================
   Paradise.Events — CART HOTFIX
   Fix: el texto del notice no se superpone al ícono
========================================================= */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  position: relative !important;
  padding: 14px 16px 14px 46px !important; /* + espacio para el ícono */
}

/* Reposiciona el ícono (Woo lo pone con ::before) */
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-error::before {
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
/* =========================================================
   Paradise.Events — Attendee Registration (TEC / Tickets Plus)
   VERSION v1.0 — Estilo cósmico consistente
   Scope: /attendee-registration/?tickets_provider=tribe_wooticket
   Target: .tribe-tickets__registration[data-provider="tribe_wooticket"]
========================================================= */

.tribe-tickets__registration[data-provider="tribe_wooticket"]{
  --pe-primary: #9F4EF5;
  --pe-secondary: #46B2E0;
  --pe-accent: #FFDD6E;

  --pe-card: rgba(255,255,255,.06);
  --pe-card-2: rgba(255,255,255,.04);
  --pe-border: rgba(255,255,255,.10);

  --pe-soft: rgba(0,0,0,.16);
  --pe-soft-2: rgba(0,0,0,.30);

  --pe-text: rgba(237,237,242,.95);
  --pe-muted: rgba(237,237,242,.72);

  --pe-guide: rgba(70,178,224,.22);
  --pe-guide-2: rgba(70,178,224,.14);
}

/* Contenedor general */
.tribe-tickets__registration[data-provider="tribe_wooticket"]{
  color: var(--pe-text);
}

.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__registration-page-title,
.tribe-tickets__registration[data-provider="tribe_wooticket"] h1,
.tribe-tickets__registration[data-provider="tribe_wooticket"] h2,
.tribe-tickets__registration[data-provider="tribe_wooticket"] h3,
.tribe-tickets__registration[data-provider="tribe_wooticket"] h4{
  color: var(--pe-text) !important;
  letter-spacing: .2px;
}

/* Links estándar */
.tribe-tickets__registration[data-provider="tribe_wooticket"] a,
.tribe-tickets__registration[data-provider="tribe_wooticket"] a:visited{
  color: rgba(70,178,224,.98) !important;
  text-decoration: none;
}
.tribe-tickets__registration[data-provider="tribe_wooticket"] a:hover{
  color: rgba(255,221,110,.95) !important;
  text-decoration: underline;
}

/* Ancho y “marco” para que se sienta como el resto del sitio */
.entry .tribe-tickets__registration[data-provider="tribe_wooticket"]{
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(14px, 2.5vw, 26px);
}

/* Grid principal (form + mini cart) */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__registration-grid{
  gap: 16px !important;
}

/* Back to cart (arriba) -> como botón */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__registration-actions{
  margin-bottom: 14px !important;
}
.tribe-tickets__registration[data-provider="tribe_wooticket"] a.tribe-tickets__registration-back-to-cart{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 16px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.12);

  color: rgba(0,0,0,.92) !important;
  background: linear-gradient(135deg, var(--pe-primary), var(--pe-secondary));
  box-shadow: 0 14px 32px rgba(0,0,0,.28);
  font-weight: 900;
}
.tribe-tickets__registration[data-provider="tribe_wooticket"] a.tribe-tickets__registration-back-to-cart:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 18px 44px rgba(0,0,0,.33);
  text-decoration: none !important;
}

/* Notices / Validaciones (arriba) */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__notice,
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__attendee-tickets-error{
  background: linear-gradient(135deg, rgba(159,78,245,.12), rgba(70,178,224,.10)) !important;
  border: 1px solid rgba(70,178,224,.25) !important;
  border-radius: 18px !important;
  padding: 14px 16px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.28) !important;
  color: var(--pe-text) !important;
}
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__notice--error{
  border-color: rgba(255,221,110,.35) !important;
}

/* Card: contenido principal (formulario) */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__registration-content{
  background: var(--pe-card-2);
  border: 1px solid var(--pe-border);
  border-radius: 22px;
  padding: clamp(14px, 2vw, 22px);
  box-shadow: 0 14px 40px rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Card: mini cart (derecha) */
.tribe-tickets__registration[data-provider="tribe_wooticket"] aside.tribe-tickets__mini-cart{
  background: var(--pe-card-2) !important;
  border: 1px solid var(--pe-border) !important;
  border-radius: 22px !important;
  padding: clamp(14px, 2vw, 22px) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--pe-text) !important;
}

/* Mini cart: líneas y totales */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__tickets-item,
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__tickets-footer{
  border-color: rgba(255,255,255,.10) !important;
}
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-amount,
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-currency-symbol{
  color: var(--pe-accent) !important;
  font-weight: 900 !important;
}

/* Item de asistente (cada bloque de Attendee) */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__attendee-tickets-item{
  background: rgba(0,0,0,.18);
  border: 1px solid var(--pe-guide);
  border-radius: 18px;
  padding: 14px 14px 10px;
  margin-top: 12px;
}

/* Título de ticket dentro del evento */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-ticket__tickets-heading{
  margin: 8px 0 12px !important;
  padding: 12px 14px !important;
  background: rgba(0,0,0,.16);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
}

/* Labels */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__form-field-label,
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__form-field-label span{
  color: var(--pe-muted) !important;
  font-weight: 800 !important;
}

/* Inputs (text/email/tel) */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-common-form-control-text__input,
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__form-field-input{
  background: rgba(13,13,16,.68) !important;
  color: var(--pe-text) !important;
  border: 1px solid rgba(232,232,236,.20) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  outline: none !important;
}

/* Focus */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-common-form-control-text__input:focus,
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__form-field-input:focus{
  border-color: rgba(70,178,224,.55) !important;
  box-shadow: 0 0 0 3px rgba(70,178,224,.18) !important;
}

/* Checkbox labels */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-common-form-control-checkbox__label{
  color: var(--pe-text) !important;
  font-weight: 700;
}
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-common-form-control-checkbox__input{
  accent-color: var(--pe-secondary);
}

/* Helpers de error (unique name/email, required, etc.) */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__form-field-input-helper--error{
  margin-top: 8px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: rgba(255,221,110,.10) !important;
  border: 1px solid rgba(255,221,110,.28) !important;
  color: rgba(255,255,255,.92) !important;
  font-weight: 800;
}

/* Disclaimer */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__iac-email-disclaimer{
  margin-top: 12px;
  color: var(--pe-muted) !important;
}

/* Footer + botón principal */
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__registration-footer{
  margin-top: 14px !important;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
}

/* Botón “Save & Checkout” */
.tribe-tickets__registration[data-provider="tribe_wooticket"] button.tribe-tickets__registration-submit,
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-common-c-btn{
  border-radius: 16px !important;
  padding: 12px 16px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(0,0,0,.92) !important;
  background: linear-gradient(135deg, var(--pe-primary), var(--pe-secondary)) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.28) !important;
  font-weight: 900 !important;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.tribe-tickets__registration[data-provider="tribe_wooticket"] button.tribe-tickets__registration-submit:hover,
.tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-common-c-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 18px 44px rgba(0,0,0,.33) !important;
}

/* Responsive: que mini-cart baje bien */
@media (max-width: 980px){
  .tribe-tickets__registration[data-provider="tribe_wooticket"] .tribe-tickets__registration-footer{
    justify-content: stretch;
  }
  .tribe-tickets__registration[data-provider="tribe_wooticket"] button.tribe-tickets__registration-submit{
    width: 100%;
  }
}
