/*
Theme Name: Ticket to Ride - Liquid Glass
Theme URI: https://github.com/Alecsiomatic/ticket-to-ride-theme
Author: Alecsiomatic
Author URI: https://github.com/Alecsiomatic
Description: Un tema moderno con efectos de vidrio líquido (liquid glass) inspirado en Ticket to Ride. Colores vibrantes amarillo dorado y rojo con efectos glassmorphism.
Version: 1.4.7
Requires at least: 5.9
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ticket-to-ride-liquid
Tags: elementor, liquid-glass, glassmorphism, modern, custom-colors
GitHub Theme URI: Alecsiomatic/ticket-to-ride-theme
GitHub Theme URI: https://github.com/Alecsiomatic/ticket-to-ride-theme
Primary Branch: main
*/

/* ===================================
   VARIABLES CSS - COLORES DEL TEMA
   =================================== */
:root {
    /* Colores principales del logo */
    --ttr-yellow: #FFC107;
    --ttr-yellow-dark: #FFA000;
    --ttr-red: #E81F26;
    --ttr-red-dark: #C41E20;
    --ttr-white: #FFFFFF;
    
    /* Efectos liquid glass */
    --glass-bg: rgba(255, 193, 7, 0.1);
    --glass-bg-red: rgba(232, 31, 38, 0.1);
    --glass-border: rgba(255, 255, 255, 0.18);
    --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
    
    /* Tipografía */
    --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    --font-heading: 'Poppins', 'Arial Black', sans-serif;
}

/* ===================================
   RESET Y ESTILOS BASE
   =================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-primary);
    background: linear-gradient(135deg, var(--ttr-yellow) 0%, var(--ttr-yellow-dark) 100%);
    color: #333;
    overflow-x: hidden;
    position: relative;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 50%, rgba(232, 31, 38, 0.2) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255, 193, 7, 0.3) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
}

/* ===================================
   LIQUID GLASS EFFECTS
   =================================== */
.liquid-glass {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
    position: relative;
    overflow: hidden;
}

.liquid-glass::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    animation: liquid-float 6s ease-in-out infinite;
    pointer-events: none;
}

@keyframes liquid-float {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
    }
    25% {
        transform: translate(5%, 5%) rotate(90deg);
    }
    50% {
        transform: translate(0, 10%) rotate(180deg);
    }
    75% {
        transform: translate(-5%, 5%) rotate(270deg);
    }
}

.liquid-glass-red {
    background: rgba(232, 31, 38, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.liquid-glass-yellow {
    background: rgba(255, 193, 7, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* ===================================
   HEADER STYLES
   =================================== */
.site-header {
    padding: 20px 0;
    position: relative;
    z-index: 100;
}

.site-header .liquid-glass {
    padding: 15px 30px;
    margin: 0 20px;
}

.site-logo img {
    max-height: 80px;
    width: auto;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
    transition: transform 0.3s ease;
}

.site-logo img:hover {
    transform: scale(1.05) rotate(-2deg);
}

/* ===================================
   NAVIGATION
   =================================== */
.main-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-navigation ul {
    display: flex;
    list-style: none;
    gap: 30px;
}

.main-navigation a {
    color: var(--ttr-white);
    text-decoration: none;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 12px;
    transition: all 0.3s ease;
    position: relative;
}

.main-navigation a:hover {
    background: rgba(232, 31, 38, 0.2);
    backdrop-filter: blur(5px);
    transform: translateY(-2px);
}

/* ===================================
   BUTTONS
   =================================== */
.btn-primary {
    background: linear-gradient(135deg, var(--ttr-red) 0%, var(--ttr-red-dark) 100%);
    color: var(--ttr-white);
    padding: 15px 40px;
    border-radius: 15px;
    border: none;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(232, 31, 38, 0.4);
    position: relative;
    overflow: hidden;
}

.btn-primary::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.btn-primary:hover::before {
    width: 300px;
    height: 300px;
}

.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(232, 31, 38, 0.6);
}

.btn-secondary {
    background: linear-gradient(135deg, var(--ttr-yellow) 0%, var(--ttr-yellow-dark) 100%);
    color: #333;
    padding: 15px 40px;
    border-radius: 15px;
    border: none;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.4);
}

.btn-secondary:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.6);
}

/* ===================================
   CARDS
   =================================== */
.card {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    padding: 30px;
    margin: 20px;
    transition: all 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 40px rgba(31, 38, 135, 0.5);
}

/* ===================================
   CONTAINERS
   =================================== */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.section {
    padding: 80px 0;
    position: relative;
}

/* ===================================
   TYPOGRAPHY
   =================================== */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 900;
    color: var(--ttr-white);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

h1 {
    font-size: 4rem;
    margin-bottom: 20px;
}

h2 {
    font-size: 3rem;
    margin-bottom: 18px;
}

h3 {
    font-size: 2.2rem;
    margin-bottom: 15px;
}

p {
    line-height: 1.8;
    margin-bottom: 15px;
}

/* ===================================
   ELEMENTOR CUSTOMIZATION
   =================================== */
.elementor-widget-heading .elementor-heading-title {
    font-family: var(--font-heading);
}

.elementor-section {
    position: relative;
}

.elementor-section.liquid-glass-section {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 40px;
}

/* ===================================
   FOOTER
   =================================== */
.site-footer {
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    color: var(--ttr-white);
    padding: 40px 0;
    margin-top: 80px;
}

.site-footer a {
    color: var(--ttr-yellow);
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--ttr-red);
}

/* ===================================
   ANIMATIONS
   =================================== */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.6s ease-out;
}

/* ===================================
   RESPONSIVE
   =================================== */

/* Ocultar botón de menú móvil */
.mobile-menu-toggle {
    display: none !important;
}

/* Header responsive */
.site-header .main-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.site-logo {
    flex: 0 0 auto;
}

.header-cta {
    flex: 0 0 auto;
    margin-left: auto;
}

/* ===================================
   TABLET - 1024px y menor
   =================================== */
@media (max-width: 1024px) {
    /* Header */
    .site-header .liquid-glass {
        padding: 15px 20px;
        margin: 0 10px;
    }
    
    .site-logo img {
        max-height: 60px;
    }
    
    /* Botones */
    .btn-primary, .btn-secondary {
        padding: 12px 30px;
        font-size: 14px;
    }
    
    /* Contenedores */
    .container {
        max-width: 960px;
        padding: 0 20px;
    }
    
    /* Secciones */
    .section {
        padding: 60px 0;
    }
    
    /* Cards */
    .card, .depth-card, .glass-panel {
        padding: 25px;
        margin: 15px;
    }
}

/* ===================================
   MÓVIL - 768px y menor
   =================================== */
@media (max-width: 768px) {
    /* Tipografía */
    h1 {
        font-size: 2.5rem;
        line-height: 1.2;
    }
    
    h2 {
        font-size: 2rem;
    }
    
    h3 {
        font-size: 1.6rem;
    }
    
    p {
        font-size: 15px;
        line-height: 1.6;
    }
    
    /* Header */
    .site-header {
        padding: 15px 0;
    }
    
    .site-header .liquid-glass {
        padding: 12px 15px;
        margin: 0 5px;
        border-radius: 15px;
    }
    
    .site-header .main-navigation {
        gap: 15px;
    }
    
    .site-logo img {
        max-height: 50px;
    }
    
    /* Botones */
    .btn-primary, .btn-secondary {
        padding: 10px 20px;
        font-size: 13px;
        border-radius: 10px;
    }
    
    .btn-primary::before, .btn-secondary::before {
        display: none;
    }
    
    /* Cards y contenedores */
    .card, .depth-card, .glass-panel {
        margin: 10px 5px;
        padding: 20px;
        border-radius: 15px;
    }
    
    .liquid-glass {
        border-radius: 15px;
        padding: 20px;
    }
    
    /* Secciones */
    .section {
        padding: 40px 0;
    }
    
    /* Contenedores */
    .container {
        max-width: 100%;
        padding: 0 15px;
    }
    
    /* Footer */
    .site-footer {
        padding: 30px 0;
        margin-top: 50px;
    }
    
    .footer-widgets {
        flex-direction: column;
        gap: 30px;
    }
    
    .footer-column {
        width: 100%;
    }
    
    /* Animaciones más suaves en móvil */
    .liquid-glass::before,
    .glass-panel::before {
        animation-duration: 8s;
    }
}

/* ===================================
   MÓVIL PEQUEÑO - 480px y menor
   =================================== */
@media (max-width: 480px) {
    /* Tipografía extra pequeña */
    h1 {
        font-size: 1.8rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    h3 {
        font-size: 1.3rem;
    }
    
    h4 {
        font-size: 1.1rem;
    }
    
    p {
        font-size: 14px;
    }
    
    /* Header compacto */
    .site-header {
        padding: 10px 0;
    }
    
    .site-header .liquid-glass {
        padding: 10px;
        margin: 0;
        border-radius: 12px;
    }
    
    .site-header .main-navigation {
        gap: 10px;
    }
    
    .site-logo img {
        max-height: 40px;
    }
    
    /* Botones pequeños */
    .btn-primary, .btn-secondary {
        padding: 8px 16px;
        font-size: 12px;
        white-space: nowrap;
        border-radius: 8px;
    }
    
    .header-cta a {
        padding: 8px 16px !important;
    }
    
    /* Cards compactas */
    .card, .depth-card, .glass-panel {
        margin: 5px 0;
        padding: 15px;
        border-radius: 12px;
    }
    
    .liquid-glass {
        padding: 15px;
        border-radius: 12px;
    }
    
    /* Contenedor ajustado */
    .container {
        padding: 0 10px;
    }
    
    /* Secciones reducidas */
    .section {
        padding: 30px 0;
    }
    
    /* Footer compacto */
    .site-footer {
        padding: 20px 0;
        margin-top: 30px;
        font-size: 13px;
    }
    
    .footer-widgets {
        gap: 20px;
    }
    
    /* Desactivar efectos pesados en móviles pequeños */
    .bubble-background,
    .droplet-effect {
        display: none;
    }
    
    /* Reducir blur en móviles para mejor performance */
    .liquid-glass,
    .glass-panel,
    .frosted-glass {
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
    }
}

/* ===================================
   LANDSCAPE MÓVIL
   =================================== */
@media (max-width: 768px) and (orientation: landscape) {
    .site-header .liquid-glass {
        padding: 8px 15px;
    }
    
    .site-logo img {
        max-height: 35px;
    }
    
    .btn-primary, .btn-secondary {
        padding: 6px 15px;
        font-size: 12px;
    }
    
    h1 {
        font-size: 1.8rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    .section {
        padding: 25px 0;
    }
}

/* ===================================
   UTILITY CLASSES
   =================================== */
.text-center {
    text-align: center;
}

.text-red {
    color: var(--ttr-red);
}

.text-yellow {
    color: var(--ttr-yellow);
}

.bg-red {
    background: var(--ttr-red);
}

.bg-yellow {
    background: var(--ttr-yellow);
}

/* ===================================
   QRCOMPLETO - ESTILOS PARA TICKETS
   =================================== */

/* Contenedor principal del ticket */
.woocommerce-account .woocommerce-MyAccount-content > div[style*="flex-direction:column"],
.qrcompleto-ticket-container,
.entry-content > div[style*="flex-direction:column"] {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 100%) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border-radius: 25px !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.2) !important;
    padding: 30px !important;
    margin: 20px 0 !important;
}

/* Título del pedido */
.woocommerce-account .woocommerce-MyAccount-content h3,
.qrcompleto-ticket-container h3 {
    color: var(--ttr-white) !important;
    font-family: var(--font-heading) !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
    margin-bottom: 15px !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Estado del pedido */
.woocommerce-account .woocommerce-MyAccount-content p[style*="color:green"],
.qrcompleto-ticket-container p[style*="color:green"] {
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.3) 0%, rgba(56, 142, 60, 0.3) 100%) !important;
    color: #81C784 !important;
    padding: 10px 20px !important;
    border-radius: 12px !important;
    display: inline-block !important;
    font-weight: 600 !important;
    border: 1px solid rgba(76, 175, 80, 0.4) !important;
}

/* Información general (fecha, total) */
.woocommerce-account .woocommerce-MyAccount-content > div > div:first-child > p,
.qrcompleto-ticket-container > div > p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 15px !important;
    margin: 8px 0 !important;
}

/* Título de sección "Asientos / Tickets" */
.woocommerce-account .woocommerce-MyAccount-content h4,
.qrcompleto-ticket-container h4 {
    color: var(--ttr-yellow) !important;
    font-family: var(--font-heading) !important;
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    margin: 25px 0 15px 0 !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid rgba(255, 193, 7, 0.3) !important;
}

/* Cada ticket/asiento */
.woocommerce-account .woocommerce-MyAccount-content div[style*="border-bottom:1px solid"],
.qrcompleto-ticket-container div[style*="border-bottom"] {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 15px !important;
    padding: 20px !important;
    margin-bottom: 15px !important;
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content div[style*="border-bottom:1px solid"] p,
.qrcompleto-ticket-container div[style*="border-bottom"] p {
    color: rgba(255, 255, 255, 0.95) !important;
    margin: 6px 0 !important;
    font-size: 14px !important;
}

.woocommerce-account .woocommerce-MyAccount-content div[style*="border-bottom:1px solid"] strong,
.qrcompleto-ticket-container div[style*="border-bottom"] strong {
    color: var(--ttr-yellow) !important;
}

/* Contenedor del QR */
.qr-container,
.woocommerce-account .woocommerce-MyAccount-content .qr-container {
    background: rgba(255, 255, 255, 0.95) !important;
    border-radius: 20px !important;
    padding: 25px !important;
    margin-top: 25px !important;
    text-align: center !important;
}

/* Imagen de portada del evento */
.qrcompleto-cover-image,
.qr-container .qrcompleto-cover-image {
    margin-bottom: 20px !important;
}

.qrcompleto-cover-image img,
.qr-container .qrcompleto-cover-image img {
    border-radius: 15px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
    max-height: 200px !important;
    object-fit: cover !important;
}

/* Imagen del QR */
.qr-container > img[src*="qr_order"],
.qr-container img[alt*="QR"] {
    border-radius: 15px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    max-width: 180px !important;
    padding: 10px !important;
    background: white !important;
}

/* Precio/Total destacado */
.woocommerce-Price-amount {
    color: var(--ttr-yellow) !important;
    font-weight: 700 !important;
    font-size: 1.2em !important;
}

/* Responsive para tickets */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-content > div[style*="flex-direction:column"],
    .qrcompleto-ticket-container {
        padding: 20px !important;
        margin: 15px 0 !important;
        border-radius: 18px !important;
    }
    
    .woocommerce-account .woocommerce-MyAccount-content h3,
    .qrcompleto-ticket-container h3 {
        font-size: 1.5rem !important;
    }
    
    .qr-container {
        padding: 20px 15px !important;
    }
    
    .qr-container > img[src*="qr_order"],
    .qr-container img[alt*="QR"] {
        max-width: 150px !important;
    }
}

.mt-20 {
    margin-top: 20px;
}

.mb-20 {
    margin-bottom: 20px;
}

.p-20 {
    padding: 20px;
}

/* ==================================================
   EVENTON - EVENTOS SIEMPRE EXPANDIDOS Y ESTILOS
   ================================================== */

/* Forzar que las tarjetas de evento siempre estén abiertas */
.event_description.evcal_eventcard {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ocultar el botón de expandir/colapsar ya que siempre está abierto */
.eventon_list_event .desc_trig {
    cursor: default !important;
}

/* Ocultar el indicador de más/menos */
.evobtn_details_show_more,
.ev_more_arrow {
    display: none !important;
}

/* Mantener contenido de descripción visible */
.evcal_evdata_cell.shorter_desc .eventon_full_description {
    max-height: none !important;
    overflow: visible !important;
}

/* Estilos para el mapa de asientos EventON Seats */
.evost_inline_seat_map {
    border-radius: 20px !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    padding: 20px !important;
}

.evost_seat_layout_outter {
    border-radius: 15px !important;
    overflow: hidden !important;
}

/* Estilo liquid glass para las leyendas de asientos */
.evost_seat_legends {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 12px !important;
    padding: 10px 15px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.evost_seat_legends_box {
    background: rgba(0, 0, 0, 0.7) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Controles de vista del mapa */
.evost_view_control span {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    transition: all 0.3s ease !important;
}

.evost_view_control span:hover {
    background: rgba(255, 255, 255, 0.25) !important;
    transform: scale(1.05) !important;
}

/* Estilo para el card de evento */
.eventon_list_event .evocard_box {
    background: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin-bottom: 15px !important;
    padding: 20px !important;
}

/* Estilo para botones de carrito */
.evotx_cart_actions .evcal_btn {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.8), rgba(168, 85, 247, 0.8)) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: white !important;
    padding: 12px 24px !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
}

.evotx_cart_actions .evcal_btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(99, 102, 241, 0.4) !important;
}

/* Tooltip de asiento - INFORMACIÓN DE SELECCIÓN */
.evost_tooltip,
.evost_seat_tooltip,
.evost_seat_info_box,
.evost_seat_selection_info {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.9)) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border-radius: 12px !important;
    border: 2px solid var(--ttr-yellow) !important;
    color: #1a1a2e !important;
    padding: 15px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
}

/* Header del tooltip con info de sección/fila/asiento */
.evost_tooltip_header,
.evost_seat_tooltip_header,
.evost_seat_info_header {
    background: linear-gradient(135deg, var(--ttr-yellow), var(--ttr-yellow-dark)) !important;
    color: #1a1a2e !important;
    padding: 10px 15px !important;
    border-radius: 8px 8px 0 0 !important;
    margin: -15px -15px 15px -15px !important;
    font-weight: 700 !important;
}

/* Labels del tooltip */
.evost_tooltip span,
.evost_seat_tooltip span,
.evost_seat_info_box span {
    color: #1a1a2e !important;
    font-weight: 600 !important;
}

/* Valores del tooltip */
.evost_tooltip_val,
.evost_seat_tooltip_val {
    color: #333 !important;
    font-weight: 500 !important;
}

/* Precio en el tooltip */
.evost_tooltip_price,
.evost_seat_price,
.evost_seat_info_price {
    color: var(--ttr-red) !important;
    font-weight: 800 !important;
    font-size: 1.1rem !important;
}

/* Tooltip posicionado sobre el mapa */
.evost_seat_map_tooltip,
.evost_map_tooltip {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 2px solid var(--ttr-yellow) !important;
    border-radius: 10px !important;
    padding: 12px 15px !important;
    color: #1a1a2e !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
    z-index: 9999 !important;
}

.evost_seat_map_tooltip *,
.evost_map_tooltip * {
    color: #1a1a2e !important;
}

/* Información del asiento seleccionado */
.evost_selected_seat_info,
.evost_seat_selected_box {
    background: white !important;
    border: 2px solid var(--ttr-yellow) !important;
    border-radius: 12px !important;
    padding: 15px !important;
    color: #1a1a2e !important;
}

.evost_selected_seat_info span,
.evost_seat_selected_box span {
    color: #1a1a2e !important;
}

/* Fix para cualquier texto dentro del tooltip negro */
[class*="evost_"][style*="background: #000"],
[class*="evost_"][style*="background:#000"],
[class*="evost_"][style*="background-color: #000"],
[class*="evost_"][style*="background-color:#000"],
[class*="evost_"][style*="background: black"],
[class*="evost_"][style*="background:black"] {
    background: rgba(255, 255, 255, 0.95) !important;
    color: #1a1a2e !important;
}

/* Mensaje de agregar al carrito */
.evotx_addtocart_msg {
    background: rgba(16, 185, 129, 0.2) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(16, 185, 129, 0.4) !important;
    padding: 15px !important;
}

/* ===================================
   WOOCOMMERCE CHECKOUT - LIQUID GLASS
   =================================== */

/* Contenedor principal del checkout */
.wc-block-checkout {
    gap: 30px !important;
}

/* Panel principal del formulario */
.wc-block-checkout__main {
    background: rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.15) !important;
    padding: 30px !important;
}

/* Sidebar con resumen del pedido */
.wc-block-checkout__sidebar {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.2) !important;
    padding: 25px !important;
}

/* Fieldsets - Secciones del checkout */
.wc-block-components-checkout-step {
    background: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding: 25px !important;
    margin-bottom: 20px !important;
}

/* Títulos de secciones */
.wc-block-components-checkout-step__title {
    color: #1a1a2e !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    margin-bottom: 10px !important;
}

/* Inputs de texto */
.wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-blocks-components-select__select {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    color: #1a1a2e !important;
    transition: all 0.3s ease !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus,
.wc-blocks-components-select__select:focus {
    background: rgba(255, 255, 255, 0.9) !important;
    border-color: var(--ttr-yellow) !important;
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.3) !important;
    outline: none !important;
}

/* Labels */
.wc-block-components-text-input label,
.wc-blocks-components-select__label {
    color: #1a1a2e !important;
    font-weight: 500 !important;
    font-size: 14px !important;
}

/* Radio buttons - Métodos de pago */
.wc-block-components-radio-control-accordion-option {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
}

.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    background: rgba(255, 255, 255, 0.2) !important;
    border-color: var(--ttr-yellow) !important;
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.2) !important;
}

.wc-block-components-radio-control__label {
    padding: 15px !important;
    color: #1a1a2e !important;
    font-weight: 600 !important;
}

/* Contenido expandido de Mercado Pago */
.wc-block-components-radio-control-accordion-content {
    background: rgba(255, 255, 255, 0.08) !important;
    padding: 20px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Wallet button de Mercado Pago */
.mp-wallet-button-container {
    background: linear-gradient(135deg, rgba(0, 158, 227, 0.15), rgba(0, 158, 227, 0.05)) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(0, 158, 227, 0.3) !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
}

.mp-wallet-button-button button {
    background: linear-gradient(135deg, #009ee3, #007bba) !important;
    border: none !important;
    border-radius: 12px !important;
    color: white !important;
    padding: 14px 28px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.mp-wallet-button-button button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0, 158, 227, 0.4) !important;
}

/* Formulario de tarjeta de MP */
.mp-checkout-custom-card-form {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding: 25px !important;
}

.mp-checkout-custom-card-form-title {
    color: #1a1a2e !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    margin-bottom: 20px !important;
}

.mp-checkout-custom-card-input {
    background: rgba(255, 255, 255, 0.8) !important;
    border-radius: 10px !important;
    border: 1px solid rgba(200, 200, 200, 0.5) !important;
    transition: all 0.3s ease !important;
}

.mp-checkout-custom-card-input:focus-within {
    border-color: var(--ttr-yellow) !important;
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.2) !important;
}

/* Available payments section */
.mp-checkout-custom-available-payments {
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin-bottom: 20px !important;
}

.mp-checkout-custom-available-payments-header {
    padding: 15px !important;
}

/* Order Summary */
.wp-block-woocommerce-checkout-order-summary-block {
    background: transparent !important;
}

.wc-block-components-checkout-order-summary__title {
    background: rgba(255, 193, 7, 0.2) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    padding: 15px 20px !important;
    margin-bottom: 20px !important;
}

.wc-block-components-checkout-order-summary__title-text {
    color: #1a1a2e !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
}

.wc-block-components-checkout-order-summary__title-price {
    color: var(--ttr-red) !important;
    font-weight: 800 !important;
    font-size: 1.3rem !important;
}

/* Producto en el resumen */
.wc-block-components-order-summary-item {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding: 15px !important;
    margin-bottom: 15px !important;
}

.wc-block-components-order-summary-item__image {
    border-radius: 8px !important;
    overflow: hidden !important;
}

.wc-block-components-order-summary-item__quantity {
    background: var(--ttr-red) !important;
    color: white !important;
    font-weight: 700 !important;
}

.wc-block-components-product-name {
    color: #1a1a2e !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}

/* Detalles del producto */
.wc-block-components-product-details {
    list-style: none !important;
    padding: 0 !important;
    margin: 10px 0 0 !important;
}

.wc-block-components-product-details li {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(5px) !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    margin-bottom: 5px !important;
    font-size: 13px !important;
}

.wc-block-components-product-details__name {
    color: #666 !important;
    font-weight: 500 !important;
}

.wc-block-components-product-details__value {
    color: #1a1a2e !important;
    font-weight: 600 !important;
}

/* Totales */
.wc-block-components-totals-item {
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.wc-block-components-totals-item__label {
    color: #1a1a2e !important;
    font-weight: 500 !important;
}

.wc-block-components-totals-item__value {
    color: #1a1a2e !important;
    font-weight: 700 !important;
}

.wc-block-components-totals-footer-item {
    background: rgba(255, 193, 7, 0.15) !important;
    border-radius: 12px !important;
    padding: 15px !important;
    margin-top: 15px !important;
    border: none !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
}

.wc-block-components-totals-footer-item-tax-value {
    color: var(--ttr-red) !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
}

/* Cupones */
.wc-block-components-totals-coupon {
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    padding: 12px !important;
}

.wc-block-components-panel__button {
    color: #1a1a2e !important;
    font-weight: 500 !important;
}

/* Botón de realizar pedido */
.wc-block-components-checkout-place-order-button {
    background: linear-gradient(135deg, var(--ttr-red), var(--ttr-red-dark)) !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 18px 35px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(232, 31, 38, 0.3) !important;
}

.wc-block-components-checkout-place-order-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 30px rgba(232, 31, 38, 0.5) !important;
}

/* Botón volver al carrito */
.wc-block-components-checkout-return-to-cart-button {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding: 14px 20px !important;
    color: #1a1a2e !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.wc-block-components-checkout-return-to-cart-button:hover {
    background: rgba(255, 255, 255, 0.25) !important;
    transform: translateY(-2px) !important;
}

/* Checkbox */
.wc-block-components-checkbox__input {
    accent-color: var(--ttr-yellow) !important;
}

.wc-block-components-checkbox__label {
    color: #1a1a2e !important;
}

/* Address card */
.wc-block-components-address-card {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding: 15px !important;
}

.wc-block-components-address-card__edit {
    background: var(--ttr-yellow) !important;
    color: #1a1a2e !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.wc-block-components-address-card__edit:hover {
    background: var(--ttr-yellow-dark) !important;
}

/* Términos y condiciones */
.wc-block-checkout__terms {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    padding: 15px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* MP Terms */
.mp-terms-and-conditions-container {
    padding: 15px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 10px !important;
    margin-top: 15px !important;
}

.mp-terms-and-conditions-link {
    color: #009ee3 !important;
    font-weight: 600 !important;
}

/* Ocultar el item "t" del carrito (metadata técnica) */
.wc-block-components-product-details__t {
    display: none !important;
}
/* ===================================
   CHECKOUT - RESPONSIVE Y LAYOUT FIX
   =================================== */

/* Mantener layout de 2 columnas del checkout */
.wc-block-components-sidebar-layout.wc-block-checkout {
    display: flex !important;
    flex-wrap: wrap !important;
}

.wc-block-components-sidebar-layout.wc-block-checkout.is-large {
    flex-wrap: nowrap !important;
}

.wc-block-components-sidebar-layout.wc-block-checkout .wc-block-components-main {
    flex: 1 1 65% !important;
    min-width: 0 !important;
}

.wc-block-components-sidebar-layout.wc-block-checkout .wc-block-components-sidebar {
    flex: 0 0 35% !important;
    max-width: 400px !important;
}

/* Responsive para móvil - CHECKOUT COMPLETO */
@media (max-width: 768px) {
    /* ===== LAYOUT PRINCIPAL DEL CHECKOUT ===== */
    .wc-block-components-sidebar-layout.wc-block-checkout {
        flex-direction: column !important;
        padding: 0 !important;
        gap: 15px !important;
    }
    
    .wc-block-components-sidebar-layout.wc-block-checkout .wc-block-components-main,
    .wc-block-components-sidebar-layout.wc-block-checkout .wc-block-components-sidebar {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .wc-block-checkout__main {
        padding: 10px !important;
        border-radius: 12px !important;
        background: transparent !important;
    }
    
    .wc-block-checkout__sidebar {
        padding: 15px !important;
        border-radius: 12px !important;
        margin-top: 10px !important;
    }
    
    /* ===== FIELDSETS / SECCIONES ===== */
    .wc-block-components-checkout-step {
        padding: 12px !important;
        margin-bottom: 12px !important;
        border-radius: 12px !important;
    }
    
    .wc-block-components-checkout-step__title {
        font-size: 1rem !important;
    }
    
    /* ===== INPUTS DEL FORMULARIO ===== */
    .wc-block-components-text-input input,
    .wc-block-components-address-form input,
    .wc-blocks-components-select__select {
        padding: 12px !important;
        font-size: 16px !important; /* Evita zoom en iOS */
        border-radius: 10px !important;
    }
    
    .wc-block-components-text-input label,
    .wc-blocks-components-select__label {
        font-size: 13px !important;
    }
    
    /* ===== MERCADO PAGO - WALLET BUTTON ===== */
    .mp-wallet-button-container {
        padding: 15px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        border-radius: 12px !important;
        margin-bottom: 15px !important;
    }
    
    .mp-wallet-button-container img {
        max-width: 100px !important;
        height: auto !important;
        margin-bottom: 10px !important;
    }
    
    .mp-wallet-button-title {
        margin-bottom: 8px !important;
    }
    
    .mp-wallet-button-title span {
        font-size: 15px !important;
        font-weight: 700 !important;
    }
    
    .mp-wallet-button-description {
        font-size: 13px !important;
        line-height: 1.5 !important;
        margin-bottom: 12px !important;
        color: #555 !important;
    }
    
    .mp-wallet-button-button {
        width: 100% !important;
    }
    
    .mp-wallet-button-button button {
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: 15px !important;
        border-radius: 10px !important;
    }
    
    /* ===== MERCADO PAGO - TARJETAS DISPONIBLES ===== */
    .mp-checkout-custom-available-payments {
        padding: 12px !important;
        border-radius: 10px !important;
        margin-bottom: 15px !important;
    }
    
    .mp-checkout-custom-available-payments-header {
        padding: 8px !important;
    }
    
    .mp-checkout-custom-available-payments-text {
        font-size: 13px !important;
    }
    
    .mp-payment-methods-container {
        padding: 10px !important;
    }
    
    .mp-payment-method-type-container {
        margin-bottom: 12px !important;
    }
    
    .mp-payment-methods-title {
        font-size: 13px !important;
        margin-bottom: 8px !important;
    }
    
    .mp-payment-methods-content {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        justify-content: flex-start !important;
    }
    
    .mp-payment-method-logo-container {
        width: 35px !important;
        height: 22px !important;
        padding: 2px !important;
    }
    
    .mp-payment-method-logo-image {
        max-width: 100% !important;
        height: auto !important;
    }
    
    .mp-payment-methods-badge {
        font-size: 10px !important;
        padding: 2px 6px !important;
    }
    
    /* ===== MERCADO PAGO - FORMULARIO DE TARJETA ===== */
    .mp-checkout-custom-card-form {
        padding: 15px !important;
        border-radius: 12px !important;
    }
    
    .mp-checkout-custom-card-form-title {
        font-size: 15px !important;
        margin-bottom: 15px !important;
    }
    
    .mp-checkout-custom-card-row {
        margin-bottom: 12px !important;
    }
    
    .mp-input-label {
        font-size: 13px !important;
        margin-bottom: 6px !important;
    }
    
    .mp-checkout-custom-card-input {
        border-radius: 10px !important;
        min-height: 48px !important;
    }
    
    .mp-checkout-custom-card-input input,
    .mp-checkout-custom-card-input iframe {
        min-height: 44px !important;
    }
    
    input.mp-card-holder-name {
        padding: 14px 12px !important;
        font-size: 16px !important; /* Evita zoom en iOS */
        border-radius: 10px !important;
    }
    
    /* Vencimiento y CVV en 2 columnas pero mejor distribuido */
    .mp-checkout-custom-dual-column-row {
        display: flex !important;
        flex-direction: row !important;
        gap: 10px !important;
    }
    
    .mp-checkout-custom-card-column {
        flex: 1 !important;
        width: auto !important;
        margin-bottom: 0 !important;
    }
    
    .mp-checkout-custom-left-card-input {
        margin-right: 0 !important;
    }
    
    /* ===== TÉRMINOS Y CONDICIONES ===== */
    .mp-terms-and-conditions-container {
        font-size: 12px !important;
        text-align: center !important;
        padding: 10px !important;
    }
    
    /* ===== RADIO BUTTONS - MÉTODOS DE PAGO ===== */
    .wc-block-components-radio-control-accordion-option {
        margin-bottom: 8px !important;
        border-radius: 10px !important;
    }
    
    .wc-block-components-radio-control__label {
        padding: 12px !important;
        font-size: 14px !important;
    }
    
    .wc-block-components-radio-control-accordion-content {
        padding: 12px !important;
    }
    
    /* ===== ORDER SUMMARY EN MÓVIL ===== */
    .wc-block-components-checkout-order-summary__title {
        padding: 12px !important;
        border-radius: 10px !important;
    }
    
    .wc-block-components-checkout-order-summary__title-text {
        font-size: 14px !important;
    }
    
    .wc-block-components-checkout-order-summary__title-price {
        font-size: 16px !important;
    }
    
    .wc-block-components-order-summary-item {
        padding: 10px !important;
        margin-bottom: 10px !important;
    }
    
    .wc-block-components-order-summary-item__image img {
        width: 40px !important;
        height: 40px !important;
    }
    
    .wc-block-components-order-summary-item__description .wc-block-components-product-name {
        font-size: 14px !important;
    }
    
    .wc-block-components-order-summary-item .wc-block-components-product-details li {
        padding: 4px 8px !important;
        font-size: 11px !important;
    }
    
    /* ===== TOTALES ===== */
    .wc-block-components-totals-item {
        padding: 10px 0 !important;
    }
    
    .wc-block-components-totals-item__label {
        font-size: 14px !important;
    }
    
    .wc-block-components-totals-footer-item {
        padding: 12px !important;
        border-radius: 10px !important;
    }
    
    .wc-block-components-totals-footer-item-tax-value {
        font-size: 1.2rem !important;
    }
    
    /* ===== BOTONES DE ACCIÓN ===== */
    .wc-block-checkout__actions_row {
        flex-direction: column-reverse !important;
        gap: 12px !important;
        padding: 15px 0 !important;
    }
    
    .wc-block-components-checkout-place-order-button {
        width: 100% !important;
        padding: 16px 20px !important;
        font-size: 15px !important;
        border-radius: 12px !important;
    }
    
    .wc-block-components-checkout-return-to-cart-button {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
        padding: 12px !important;
        font-size: 14px !important;
    }
    
    /* ===== ADDRESS CARD ===== */
    .wc-block-components-address-card {
        padding: 12px !important;
        border-radius: 10px !important;
    }
    
    .wc-block-components-address-card address {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    
    .wc-block-components-address-card__edit {
        padding: 6px 12px !important;
        font-size: 13px !important;
    }
    
    /* ===== QUITAR SIDEBAR DUPLICADO EN MÓVIL ===== */
    .wc-block-checkout__sidebar.is-sticky {
        display: none !important;
    }
    
    /* El resumen aparece inline en el main */
    .checkout-order-summary-block-fill-wrapper {
        display: block !important;
    }
}

/* ===================================
   EVENTON DESCRIPCIÓN COMPLETA FIX
   =================================== */

/* Asegurar que la descripción del evento sea completamente visible */
.eventon_list_event,
.evocard_box,
.evcal_evdata_cell,
.evoTX_wc,
.evoTX_wc_section,
.evotx_ticket_purchase_section {
    overflow: visible !important;
}

/* Contenedor de descripción sin límite de altura */
.evcal_event_details,
.evocard_details,
.event_description.evcal_eventcard,
.eventon_desc_in {
    max-height: none !important;
    overflow: visible !important;
    height: auto !important;
}

/* Contenido completo del evento */
.eventon_full_description,
.evcal_evdata_row,
.evocard_content {
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Fix para contenedores de EventON que cortan el contenido */
.eventon_events_list,
.eventon_list_event .evo_metarow_details {
    overflow: visible !important;
}

/* Asegurar que el mapa de asientos no se corte */
.evost_seat_map_section {
    overflow: visible !important;
    max-height: none !important;
}

.evost_inline_seat_map {
    overflow: auto !important;
}

/* Carrito de asientos visible */
.evost_seats_in_cart {
    overflow: visible !important;
    max-height: none !important;
}

/* ===================================
   WOOCOMMERCE CART PAGE - LIQUID GLASS
   =================================== */

/* Contenedor principal del carrito */
.wc-block-cart {
    padding: 20px !important;
}

/* Tabla de items del carrito */
.wc-block-cart-items {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 15px !important;
}

/* Header de la tabla */
.wc-block-cart-items__header th {
    background: rgba(255, 193, 7, 0.2) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    padding: 15px !important;
    color: #1a1a2e !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-size: 12px !important;
}

.wc-block-cart-items__header th:first-child {
    border-radius: 12px 0 0 12px !important;
}

.wc-block-cart-items__header th:last-child {
    border-radius: 0 12px 12px 0 !important;
}

/* Filas de productos */
.wc-block-cart-items__row {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.wc-block-cart-items__row td {
    padding: 20px 15px !important;
    vertical-align: top !important;
}

.wc-block-cart-items__row td:first-child {
    border-radius: 16px 0 0 16px !important;
}

.wc-block-cart-items__row td:last-child {
    border-radius: 0 16px 16px 0 !important;
}

/* Imagen del producto */
.wc-block-cart-item__image img {
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
}

/* Nombre del producto en carrito */
.wc-block-cart-item__product .wc-block-components-product-name {
    font-size: 1.2rem !important;
    color: #1a1a2e !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* Precios del item */
.wc-block-cart-item__prices .wc-block-components-product-price__value {
    color: var(--ttr-red) !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}

/* Detalles del producto (Event Time, Section, etc) */
.wc-block-cart-item__product .wc-block-components-product-details {
    margin-top: 12px !important;
}

.wc-block-cart-item__product .wc-block-components-product-details li {
    background: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    margin-bottom: 6px !important;
    font-size: 13px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Ocultar el campo "t" técnico en carrito */
.wc-block-components-product-details__t {
    display: none !important;
}

/* Selector de cantidad */
.wc-block-components-quantity-selector {
    background: rgba(255, 255, 255, 0.5) !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.wc-block-components-quantity-selector__input {
    background: transparent !important;
    border: none !important;
    text-align: center !important;
    font-weight: 600 !important;
    color: #1a1a2e !important;
    width: 50px !important;
}

.wc-block-components-quantity-selector__button {
    background: transparent !important;
    border: none !important;
    padding: 8px 12px !important;
    color: #1a1a2e !important;
    font-size: 16px !important;
    cursor: pointer !important;
}

.wc-block-components-quantity-selector__button:hover:not(:disabled) {
    background: rgba(255, 193, 7, 0.3) !important;
}

/* Botón eliminar */
.wc-block-cart-item__remove-link {
    background: transparent !important;
    border: none !important;
    color: var(--ttr-red) !important;
    font-size: 13px !important;
    cursor: pointer !important;
    padding: 8px 0 !important;
    margin-top: 10px !important;
    display: block !important;
    text-decoration: underline !important;
}

.wc-block-cart-item__remove-link:hover {
    color: var(--ttr-red-dark) !important;
}

/* Total del item */
.wc-block-cart-item__total .wc-block-components-product-price__value {
    color: #1a1a2e !important;
    font-weight: 800 !important;
    font-size: 1.2rem !important;
}

/* Sidebar del carrito */
.wc-block-cart__sidebar {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding: 25px !important;
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.2) !important;
}

/* Título del total del carrito */
.wc-block-cart__totals-title {
    color: #1a1a2e !important;
    font-weight: 700 !important;
    font-size: 1.3rem !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid rgba(255, 193, 7, 0.3) !important;
}

/* Botón proceder al pago */
.wc-block-cart__submit-button {
    background: linear-gradient(135deg, var(--ttr-red), var(--ttr-red-dark)) !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 18px 35px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: white !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(232, 31, 38, 0.3) !important;
    width: 100% !important;
}

.wc-block-cart__submit-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 30px rgba(232, 31, 38, 0.5) !important;
}

/* Contenedor sticky del botón - quitar fondo blanco */
.wc-block-cart__submit-container--sticky {
    background: transparent !important;
}

/* ===================================
   DESCRIPCIÓN EVENTO - FIX TEXTO DESVANECIDO
   =================================== */

/* Quitar cualquier máscara/gradiente que oculte contenido */
.page-content,
.entry-content,
.event_description,
.eventon_desc_in,
.evocard_details,
.evcal_evdata_cell {
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* Asegurar opacidad completa del texto */
.page-content p,
.page-content ul,
.page-content li,
.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6,
.page-content span,
.eventon_desc_in p,
.eventon_desc_in ul,
.eventon_desc_in li,
.event_description p {
    opacity: 1 !important;
    color: #333 !important;
}

/* Quitar fade-out en descripción */
.eventon_desc_in::after,
.event_description::after,
.evocard_details::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* ===================================
   MOBILE FIX - SIMPLIFICAR CAPAS Y BARRAS
   =================================== */

@media (max-width: 768px) {
    /* QUITAR las barras decorativas laterales en móvil */
    body::before {
        display: none !important;
    }
    
    /* Fondo BLANCO en móvil - elimina barras amarillas */
    body {
        background: #f5f5f5 !important;
    }
    
    /* Desactivar animación liquid en móvil para mejor rendimiento */
    .liquid-glass::before {
        display: none !important;
    }
    
    /* Liquid glass sin efecto en móvil - fondo sólido */
    .liquid-glass {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: white !important;
        border-radius: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }
    
    /* Page content full width sin márgenes */
    .page-content,
    .entry-content,
    article.page-content,
    article.liquid-glass {
        padding: 0 !important;
        margin: 0 !important;
        background: white !important;
        border-radius: 0 !important;
        border: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Elementor container fix */
    .elementor-widget-container {
        padding: 0 !important;
    }
    
    .e-con-inner {
        padding: 0 !important;
    }
    
    /* WooCommerce checkout container */
    .wp-block-woocommerce-checkout {
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Carrito responsive */
    .wc-block-cart {
        padding: 10px !important;
    }
    
    .wc-block-cart-items {
        display: block !important;
    }
    
    .wc-block-cart-items thead {
        display: none !important;
    }
    
    .wc-block-cart-items__row {
        display: flex !important;
        flex-wrap: wrap !important;
        padding: 15px !important;
        margin-bottom: 15px !important;
        border-radius: 12px !important;
    }
    
    .wc-block-cart-item__image {
        flex: 0 0 70px !important;
        padding: 0 !important;
    }
    
    .wc-block-cart-item__image img {
        width: 70px !important;
        height: 70px !important;
        object-fit: cover !important;
    }
    
    .wc-block-cart-item__product {
        flex: 1 !important;
        padding-left: 12px !important;
        border-radius: 0 !important;
    }
    
    .wc-block-cart-item__product .wc-block-components-product-name {
        font-size: 1rem !important;
    }
    
    .wc-block-cart-item__total {
        flex: 0 0 100% !important;
        padding-top: 12px !important;
        margin-top: 12px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
        text-align: right !important;
        border-radius: 0 !important;
    }
    
    .wc-block-cart__sidebar {
        margin-top: 15px !important;
        padding: 15px !important;
        border-radius: 12px !important;
    }
    
    /* Checkout - reducir blur pesado */
    .wc-block-components-checkout-step {
        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
        background: rgba(255, 255, 255, 0.85) !important;
    }
    
    .wc-block-checkout__main,
    .wc-block-checkout__sidebar {
        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
    }
    
    .mp-checkout-custom-card-form {
        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
        background: rgba(255, 255, 255, 0.9) !important;
    }
    
    .mp-wallet-button-container {
        background: linear-gradient(135deg, rgba(0, 158, 227, 0.1), rgba(0, 158, 227, 0.05)) !important;
        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
    }
    
    /* Inputs más claros en móvil */
    .mp-checkout-custom-card-input {
        background: white !important;
    }
    
    input.mp-card-holder-name {
        background: white !important;
    }
}

/* ===================================
   FIX BARRAS LATERALES AMARILLAS
   =================================== */

/* Quitar barras/bordes laterales en móvil */
@media (max-width: 768px) {
    /* Elementor section borders */
    .elementor-section,
    .elementor-container,
    .elementor-column,
    .elementor-widget-wrap,
    .e-con,
    .e-con-inner {
        border: none !important;
        box-shadow: none !important;
        outline: none !important;
    }
    
    /* Full width en móvil */
    .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 100% !important;
    }
    
    .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
        padding: 10px !important;
    }
    
    /* Page wrapper sin bordes */
    .page-content.liquid-glass,
    article.liquid-glass {
        border: none !important;
        border-radius: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
    }
    
    /* Site content full width */
    .site-content,
    .content-area,
    main {
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* ===================================
   FIX IFRAMES MERCADO PAGO
   =================================== */

/* Asegurar que los iframes de MP sean interactivos */
.mp-checkout-custom-card-input {
    position: relative !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}

.mp-checkout-custom-card-input iframe {
    position: relative !important;
    z-index: 10 !important;
    pointer-events: auto !important;
    min-height: 50px !important;
    width: 100% !important;
    display: block !important;
}

/* El contenedor del formulario no debe bloquear clicks */
#form-checkout__cardNumber-container,
#form-checkout__expirationDate-container,
#form-checkout__securityCode-container {
    position: relative !important;
    z-index: 5 !important;
    pointer-events: auto !important;
    overflow: visible !important;
}

/* Input de nombre del titular */
input#form-checkout__cardholderName,
input.mp-card-holder-name {
    pointer-events: auto !important;
    z-index: 5 !important;
    position: relative !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* Asegurar que el formulario completo sea interactivo */
.mp-checkout-custom-card-form {
    position: relative !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}

.mp-checkout-custom-card-row {
    position: relative !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}

/* Quitar cualquier overlay que bloquee */
.mp-checkout-container::before,
.mp-checkout-container::after,
.mp-checkout-custom-container::before,
.mp-checkout-custom-container::after {
    display: none !important;
    pointer-events: none !important;
}

/* Contenedor principal de MP */
.mp-checkout-container,
.mp-checkout-custom-container {
    pointer-events: auto !important;
    position: relative !important;
}

/* Fix para el contenido expandido del radio button */
.wc-block-components-radio-control-accordion-content {
    pointer-events: auto !important;
    position: relative !important;
    z-index: 1 !important;
}

/* ===================================
   MI CUENTA - WOOCOMMERCE ACCOUNT - LIQUID GLASS
   =================================== */

/* Contenedor principal de Mi Cuenta */
#tgwc-woocommerce {
    display: flex !important;
    gap: 30px !important;
    padding: 20px !important;
}

/* Navegación lateral */
.tgwc-woocommerce-MyAccount-navigation {
    flex: 0 0 280px !important;
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding: 25px !important;
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.15) !important;
    height: fit-content !important;
}

/* Avatar del usuario */
.tgwc-user-avatar {
    text-align: center !important;
    margin-bottom: 25px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.tgwc-user-avatar-image-wrap {
    width: 100px !important;
    height: 100px !important;
    margin: 0 auto 15px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 3px solid var(--ttr-yellow) !important;
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3) !important;
    position: relative !important;
}

.tgwc-user-avatar-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.tgwc-user-avatar-upload-icon {
    position: absolute !important;
    bottom: 5px !important;
    right: 5px !important;
    background: var(--ttr-yellow) !important;
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.tgwc-user-avatar-upload-icon:hover {
    background: var(--ttr-yellow-dark) !important;
    transform: scale(1.1) !important;
}

.tgwc-user-avatar-upload-icon svg {
    width: 14px !important;
    height: 14px !important;
    color: #1a1a2e !important;
}

/* Info del usuario */
.tgwc-user-info {
    text-align: center !important;
}

.tgwc-user-info h4 {
    color: #1a1a2e !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    margin-bottom: 10px !important;
}

.tgwc-user-info .button {
    background: rgba(232, 31, 38, 0.1) !important;
    color: var(--ttr-red) !important;
    border: 1px solid var(--ttr-red) !important;
    border-radius: 10px !important;
    padding: 8px 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
}

.tgwc-user-info .button:hover {
    background: var(--ttr-red) !important;
    color: white !important;
}

/* Lista de navegación */
.tgwc-woocommerce-MyAccount-navigation-wrap ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.tgwc-woocommerce-MyAccount-navigation-wrap li {
    margin-bottom: 5px !important;
}

.tgwc-woocommerce-MyAccount-navigation-wrap li a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 15px !important;
    border-radius: 12px !important;
    color: #1a1a2e !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

.tgwc-woocommerce-MyAccount-navigation-wrap li a:hover {
    background: rgba(255, 193, 7, 0.2) !important;
    transform: translateX(5px) !important;
}

.tgwc-woocommerce-MyAccount-navigation-wrap li.is-active a,
.tgwc-woocommerce-MyAccount-navigation-wrap li.tab_selected a {
    background: linear-gradient(135deg, var(--ttr-yellow), var(--ttr-yellow-dark)) !important;
    color: #1a1a2e !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3) !important;
}

.tgwc-woocommerce-MyAccount-navigation-wrap li a svg {
    width: 18px !important;
    height: 18px !important;
    opacity: 0.7 !important;
}

.tgwc-woocommerce-MyAccount-navigation-wrap li.is-active a svg,
.tgwc-woocommerce-MyAccount-navigation-wrap li.tab_selected a svg {
    opacity: 1 !important;
}

/* Contenido principal de Mi Cuenta */
.woocommerce-MyAccount-content {
    flex: 1 !important;
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding: 30px !important;
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.15) !important;
}

.woocommerce-MyAccount-content p {
    color: #1a1a2e !important;
    line-height: 1.7 !important;
    font-size: 15px !important;
}

.woocommerce-MyAccount-content a {
    color: var(--ttr-red) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.woocommerce-MyAccount-content a:hover {
    color: var(--ttr-red-dark) !important;
    text-decoration: underline !important;
}

.woocommerce-MyAccount-content strong {
    color: #1a1a2e !important;
    font-weight: 700 !important;
}

/* Notices/Alertas */
.woocommerce-notices-wrapper {
    margin-bottom: 20px !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    padding: 15px 20px !important;
    border-left: 4px solid var(--ttr-yellow) !important;
    margin-bottom: 15px !important;
}

.woocommerce-error {
    border-left-color: var(--ttr-red) !important;
}

/* ===================================
   MI CUENTA - RESPONSIVE MÓVIL
   =================================== */

@media (max-width: 768px) {
    /* Layout en columna */
    #tgwc-woocommerce {
        flex-direction: column !important;
        padding: 10px !important;
        gap: 15px !important;
    }
    
    /* Navegación full width y colapsable */
    .tgwc-woocommerce-MyAccount-navigation {
        flex: none !important;
        width: 100% !important;
        padding: 15px !important;
        border-radius: 12px !important;
        background: white !important;
        backdrop-filter: none !important;
    }
    
    /* Avatar más pequeño en móvil */
    .tgwc-user-avatar {
        display: flex !important;
        align-items: center !important;
        text-align: left !important;
        gap: 15px !important;
        margin-bottom: 15px !important;
        padding-bottom: 15px !important;
    }
    
    .tgwc-user-avatar-image-wrap {
        width: 60px !important;
        height: 60px !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }
    
    .tgwc-user-info {
        text-align: left !important;
        flex: 1 !important;
    }
    
    .tgwc-user-info h4 {
        font-size: 1rem !important;
        margin-bottom: 5px !important;
    }
    
    .tgwc-user-info .button {
        padding: 6px 15px !important;
        font-size: 12px !important;
    }
    
    /* Navegación en grid de 2 columnas */
    .tgwc-woocommerce-MyAccount-navigation-wrap ul {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    
    .tgwc-woocommerce-MyAccount-navigation-wrap li {
        margin-bottom: 0 !important;
    }
    
    .tgwc-woocommerce-MyAccount-navigation-wrap li a {
        padding: 10px !important;
        font-size: 12px !important;
        border-radius: 10px !important;
        text-align: center !important;
        flex-direction: column !important;
        gap: 5px !important;
    }
    
    .tgwc-woocommerce-MyAccount-navigation-wrap li a svg {
        width: 20px !important;
        height: 20px !important;
        order: -1 !important;
    }
    
    .tgwc-woocommerce-MyAccount-navigation-wrap li a:hover {
        transform: none !important;
    }
    
    /* Contenido */
    .woocommerce-MyAccount-content {
        padding: 20px !important;
        border-radius: 12px !important;
        background: white !important;
        backdrop-filter: none !important;
    }
    
    .woocommerce-MyAccount-content p {
        font-size: 14px !important;
    }
}

/* Pantallas muy pequeñas */
@media (max-width: 400px) {
    .tgwc-woocommerce-MyAccount-navigation-wrap ul {
        grid-template-columns: 1fr !important;
    }
    
    .tgwc-woocommerce-MyAccount-navigation-wrap li a {
        flex-direction: row !important;
        text-align: left !important;
    }
    
    .tgwc-woocommerce-MyAccount-navigation-wrap li a svg {
        order: 1 !important;
    }
}

/* ===================================
   OCULTAR TÍTULO DE PÁGINA (ELEMENTOR)
   =================================== */

/* Ocultar el header de entrada con el título */
.page-content .entry-header,
article .entry-header,
.page .entry-header,
.elementor-page .entry-header {
    display: none !important;
}

/* También ocultar entry-title directamente */
.entry-title,
h1.entry-title,
.page-content h1.entry-title {
    display: none !important;
}

/* Mantener título visible solo donde sea necesario (posts, etc) */
.single-post .entry-header,
.single-post .entry-title,
.blog .entry-header,
.blog .entry-title {
    display: block !important;
}
