/**
 * PRODUCT PAGE PREMIUM - CSS v2.0
 * Todos los estilos con !important para máxima especificidad
 * Color Corporativo: #ff5959
 */

/* ============================================
   VARIABLES
   ============================================ */
:root {
    --product-primary: #ff5959 !important;
    --product-primary-dark: #ff3838 !important;
    --product-gradient: linear-gradient(135deg, #ff5959 0%, #ff3838 50%, #e63946 100%) !important;
}

/* ============================================
   RESET PARA EVITAR CONFLICTOS
   ============================================ */
.product-premium * {
    box-sizing: border-box !important;
}

/* ============================================
   PRODUCT HERO - ALTA PRIORIDAD
   ============================================ */
.product-premium .product-hero {
/*    position: relative !important;
    min-height: 450px !important;
    max-height: 550px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #ff5959 0%, #ff3838 50%, #e63946 100%) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;*/
border-radius: 30px;
    margin-top: 15px;
    position: relative !important;
    min-height: 450px !important;
    max-height: 550px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #ff5959 0%, #ff3838 50%, #e63946 100%) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.product-premium .product-hero-bg {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    z-index: 0 !important;
}

.product-premium .product-hero-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #333333 0%, rgba(255, 56, 56, 0.90) 100%) !important;
    z-index: 1 !important;
}

.product-premium .product-hero-content {
    position: relative !important;
    z-index: 10 !important;
    padding: 3rem 15px !important;
    width: 100% !important;
}

.product-premium .product-hero .min-vh-60 {
    min-height: auto !important;
    padding: 2rem 0 !important;
}

/* Badge Hero */
.product-premium .product-badge {
    margin-bottom: 1.5rem !important;
    display: block !important;
}

.product-premium .product-badge .badge {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    padding: 0.75rem 1.5rem !important;
    background: white !important;
    color: #ff5959 !important;
    border-radius: 50px !important;
    display: inline-block !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Títulos Hero */
.product-premium .product-title {
    color: white !important;
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
    display: block !important;
}

.product-premium .product-claim {
    color: white !important;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    margin-bottom: 2rem !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important;
    opacity: 0.95 !important;
    display: block !important;
}

/* Botones Hero */
.product-premium .product-cta-buttons {
    margin-top: 1.5rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 1rem !important;
}

.product-premium .product-cta-buttons .btn {
    font-size: 1rem !important;
    font-weight: 600 !important;
    padding: 1rem 2.5rem !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    transition: all 0.3s ease !important;
    border: 2px solid transparent !important;
}

.product-premium .product-cta-buttons .btn-light {
    background: white !important;
    color: #ff5959 !important;
    border-color: white !important;
}

.product-premium .product-cta-buttons .btn-light:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important;
}

.product-premium .product-cta-buttons .btn-outline-light {
    background: transparent !important;
    color: white !important;
    border: 2px solid white !important;
}

.product-premium .product-cta-buttons .btn-outline-light:hover {
    background: white !important;
    color: #ff5959 !important;
}

/* ============================================
   FEATURES SECTION
   ============================================ */
.product-premium .product-features {
    margin-top: 0 !important;
    padding: 3rem 0 !important;
    background: #f8f9fa !important;
    position: relative !important;
    z-index: 5 !important;
}

.product-premium .feature-card {
    background: white !important;
    border-radius: 16px !important;
    padding: 2rem !important;
    height: 100% !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s ease !important;
}

.product-premium .feature-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 16px 48px rgba(255, 89, 89, 0.2) !important;
}

.product-premium .icon-wrapper {
    width: 70px !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 89, 89, 0.1) !important;
    border-radius: 50% !important;
}

.product-premium .icon-wrapper i {
    color: #ff5959 !important;
    font-size: 2.5rem !important;
}

.product-premium .feature-content h3 {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 0.5rem !important;
}

.product-premium .feature-content p {
    color: #6c757d !important;
    margin-bottom: 0 !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

/* ============================================
   CONTENT SECTION
   ============================================ */
.product-premium .product-content {
    padding: 3rem 0 !important;
    background: white !important;
}

.product-premium .content-card {
    background: white !important;
    border-radius: 16px !important;
    padding: 3rem !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.product-premium .entry-content {
    font-size: 1.1rem !important;
    line-height: 1.8 !important;
    color: #444 !important;
}

.product-premium .entry-content p {
    margin-bottom: 1.5rem !important;
}

.product-premium .entry-content h2,
.product-premium .entry-content h3 {
    color: #ff5959 !important;
    margin-top: 2rem !important;
    margin-bottom: 1rem !important;
    font-weight: 700 !important;
}

/* ============================================
   REASONS SECTION
   ============================================ */
.product-premium .product-reasons {
    padding: 3rem 0 !important;
    background: #f8f9fa !important;
}

.product-premium .reason-card {
    background: white !important;
    border-radius: 16px !important;
    padding: 2rem !important;
    height: 100% !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

.product-premium .reason-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 16px 48px rgba(255, 89, 89, 0.2) !important;
}

.product-premium .reason-number-bg {
    position: absolute !important;
    top: -20px !important;
    right: -10px !important;
    font-size: 120px !important;
    font-weight: 900 !important;
    color: rgba(255, 89, 89, 0.05) !important;
    line-height: 1 !important;
    user-select: none !important;
    z-index: 0 !important;
}

.product-premium .reason-content {
    position: relative !important;
    z-index: 2 !important;
}

.product-premium .reason-number-small {
    width: 45px !important;
    height: 45px !important;
    background: linear-gradient(135deg, #ff5959 0%, #ff3838 100%) !important;
    color: white !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    margin-bottom: 1rem !important;
}

.product-premium .reason-text {
    font-size: 1rem !important;
    color: #444 !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
    font-weight: 500 !important;
}

.product-premium .reason-icon-decoration {
    position: absolute !important;
    bottom: 15px !important;
    right: 15px !important;
    font-size: 1.5rem !important;
    opacity: 0.3 !important;
    z-index: 1 !important;
}

/* ============================================
   FAQ SECTION
   ============================================ */
.product-premium .product-faq {
    padding: 3rem 0 !important;
    background: #f8f9fa !important;
}

.product-premium .accordion-item {
    border: none !important;
    background: white !important;
    border-radius: 16px !important;
    margin-bottom: 1rem !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
}

.product-premium .accordion-button {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    padding: 1.25rem 1.5rem !important;
    background-color: white !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: 16px !important;
}

.product-premium .accordion-button:not(.collapsed) {
    background: linear-gradient(135deg, #ff5959 0%, #ff3838 100%) !important;
    color: white !important;
    box-shadow: none !important;
}

.product-premium .accordion-button:not(.collapsed) .bi {
    color: white !important;
}

.product-premium .accordion-button:focus {
    box-shadow: none !important;
    border: none !important;
}

.product-premium .accordion-body {
    padding: 1.5rem !important;
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    background: white !important;
}

.product-premium .accordion-body .btn {
    background: linear-gradient(135deg, #ff5959 0%, #ff3838 100%) !important;
    color: white !important;
    border: none !important;
    padding: 0.75rem 2rem !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

/* ============================================
   CTA SECTIONS
   ============================================ */
.product-premium .product-cta-middle {
    padding: 3rem 0 !important;
    background: white !important;
}

.product-premium .cta-card-special,
.product-premium .cta-card-standard {
    border-radius: 16px !important;
    padding: 3rem !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
}

.product-premium .cta-card-special {
    background: linear-gradient(135deg, #ff5959 0%, #ff3838 50%, #e63946 100%) !important;
    color: white !important;
}

.product-premium .cta-card-standard {
    background: white !important;
    border: 2px solid #ff5959 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

/* ============================================
   SIDEBAR PREMIUM - MÁXIMA ESPECIFICIDAD
   ============================================ */

/* Sidebar container - MÁS CERCA DEL CONTENIDO */
.product-premium .sidebar-product-premium {
    position: fixed !important;
    right: 1.5rem !important;
    top: 120px !important;
    width: 400px !important;
    z-index: 999 !important;
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
}

/* Wrapper del sidebar - FONDO BLANCO */
.product-premium .sidebar-sticky-product {
    background: white !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25) !important;
    overflow: hidden !important;
    border: 3px solid #f0f0f0 !important;
}

/* Header del sidebar - ROJO */
.product-premium .sidebar-header {
    background: linear-gradient(135deg, #ff5959 0%, #ff3838 100%) !important;
    color: white !important;
    padding: 2rem 1.75rem !important;
    border-radius: 0 !important;
    text-align: center !important;
    border: none !important;
}

.product-premium .sidebar-header * {
    color: white !important;
}

.product-premium .sidebar-header h3 {
    font-size: 1.375rem !important;
    font-weight: 800 !important;
    margin-bottom: 0.5rem !important;
    color: white !important;
    line-height: 1.3 !important;
}

.product-premium .sidebar-header p {
    font-size: 0.95rem !important;
    margin-bottom: 0 !important;
    margin-top: 0.5rem !important;
    opacity: 0.95 !important;
    color: white !important;
    line-height: 1.5 !important;
}

.product-premium .sidebar-header .bi,
.product-premium .sidebar-header i {
    font-size: 1.5rem !important;
    margin-bottom: 0.5rem !important;
    display: inline-block !important;
    color: white !important;
}

/* Body del sidebar - FONDO BLANCO FORZADO */
.product-premium .sidebar-body {
    background: white !important;
    background-color: white !important;
    padding: 2rem 1.75rem !important;
    border-radius: 0 !important;
}

/* Fondo transparent para elementos EXCEPTO intl-tel-input */
.product-premium .sidebar-body > *:not(.wpcf7),
.product-premium .sidebar-body .wpcf7 > *:not(.iti):not(.iti *) {
    background: transparent !important;
}

.product-premium .sidebar-body .wpcf7 {
    background: transparent !important;
}

/* Contenedor del formulario */
.product-premium .sidebar-body .formulario,
.product-premium .sidebar-body #formularioContacto {
    background: white !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Scrollbar sidebar */
.product-premium .sidebar-product-premium::-webkit-scrollbar {
    width: 6px !important;
}

.product-premium .sidebar-product-premium::-webkit-scrollbar-track {
    background: transparent !important;
}

.product-premium .sidebar-product-premium::-webkit-scrollbar-thumb {
    background: #ff5959 !important;
    border-radius: 3px !important;
}

/* ============================================
   CTA FLOTANTE MÓVIL - SOLO EN MOBILE
   ============================================ */
.product-premium .cta-floating {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    z-index: 1050 !important;
    display: none !important;
    gap: 10px !important;
}

/* Mostrar solo en mobile */
@media (max-width: 991px) {
    .product-premium .cta-floating {
        display: flex !important;
    }
}

.product-premium .btn-floating-info,
.product-premium .btn-floating-phone {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.3s ease !important;
}

.product-premium .btn-floating-info {
    background: linear-gradient(135deg, #ff5959 0%, #ff3838 100%) !important;
    color: white !important;
}

.product-premium .btn-floating-phone {
    background: #25d366 !important;
    color: white !important;
}

.product-premium .btn-floating-info i,
.product-premium .btn-floating-phone i {
    font-size: 1.5rem !important;
}

.product-premium .btn-floating-info span,
.product-premium .btn-floating-phone span {
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    margin-top: 2px !important;
}

.product-premium .btn-floating-info:hover,
.product-premium .btn-floating-phone:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4) !important;
}

/* ============================================
   UTILIDADES
   ============================================ */
.product-premium .section-title {
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    margin-bottom: 1rem !important;
}

.product-premium .section-subtitle {
    font-size: 1.125rem !important;
    color: #6c757d !important;
    max-width: 700px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.product-premium .decoration-line {
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(90deg, #ff5959 0%, #ff3838 100%) !important;
    border-radius: 2px !important;
}

.product-premium .rounded-4 {
    border-radius: 1rem !important;
}

/* ============================================
   ANIMACIONES
   ============================================ */
@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* ============================================
   RESPONSIVE
   ============================================ */
/* ============================================
   RESPONSIVE - MEJORADO
   ============================================ */

/* Tablet grande - sidebar más cerca */
@media (min-width: 1200px) and (max-width: 1599px) {
    .product-premium .sidebar-product-premium {
        width: 380px !important;
        right: 1rem !important;
    }
}

/* Desktop grande - sidebar cerca del contenido */
@media (min-width: 1600px) {
    .product-premium .sidebar-product-premium {
        right: calc((100vw - 1400px) / 2 + 1rem) !important;
    }
}

@media (max-width: 1399px) {
    .product-premium .sidebar-product-premium {
        width: 360px !important;
        right: 1rem !important;
    }
}

/* Tablet - sidebar se vuelve relativo */
@media (max-width: 1199px) {
    .product-premium .sidebar-product-premium {
        position: relative !important;
        right: auto !important;
        top: auto !important;
        width: 100% !important;
        max-height: none !important;
        margin-top: 0 !important;
        display: block !important;
    }
    
    .product-premium .sidebar-sticky-product {
        max-width: 550px !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 991px) {
    .product-premium .product-hero {
        min-height: 400px !important;
        max-height: 500px !important;
    }
    
    .product-premium .product-title {
        font-size: 2rem !important;
    }
    
    .product-premium .product-claim {
        font-size: 1.125rem !important;
    }
    
    .product-premium .cta-floating {
        display: flex !important;
    }
    
    /* Sidebar mobile más compacto */
    .product-premium .sidebar-header {
        padding: 1.75rem 1.5rem !important;
    }
    
    .product-premium .sidebar-header h3 {
        font-size: 1.25rem !important;
    }
    
    .product-premium .sidebar-body {
        padding: 1.75rem 1.5rem !important;
    }
}

@media (max-width: 767px) {
    .product-premium .product-hero {
        min-height: 350px !important;
        max-height: 400px !important;
    }
    
    .product-premium .product-hero-content {
        padding: 2rem 15px !important;
    }
    
    .product-premium .product-title {
        font-size: 1.75rem !important;
    }
    
    .product-premium .product-claim {
        font-size: 1rem !important;
    }
    
    .product-premium .product-cta-buttons {
        flex-direction: column !important;
    }
    
    .product-premium .product-cta-buttons .btn {
        width: 100% !important;
    }
    
    .product-premium .section-title {
        font-size: 2rem !important;
    }
    
    /* Sidebar mobile */
    .product-premium .sidebar-sticky-product {
        border-radius: 16px !important;
    }
    
    .product-premium .sidebar-header h3 {
        font-size: 1.125rem !important;
    }
    
    .product-premium .sidebar-body .wpcf7-form input[type="submit"],
    .product-premium .sidebar-body .wpcf7-submit {
        font-size: 1.125rem !important;
        padding: 1.25rem 1.5rem !important;
    }
}

@media (max-width: 575px) {
    .product-premium .product-hero {
        min-height: 300px !important;
    }
    
    .product-premium .product-badge .badge {
        font-size: 0.85rem !important;
        padding: 0.5rem 1rem !important;
    }
    
    .product-premium .product-title {
        font-size: 1.5rem !important;
    }
    
    .product-premium .section-title {
        font-size: 1.75rem !important;
    }
    
    .product-premium .cta-floating {
        bottom: 10px !important;
        right: 10px !important;
    }
    
    .product-premium .btn-floating-info,
    .product-premium .btn-floating-phone {
        width: 55px !important;
        height: 55px !important;
    }
    
    /* Formulario más compacto en móvil */
    .product-premium .sidebar-header {
        padding: 1.5rem 1.25rem !important;
    }
    
    .product-premium .sidebar-body {
        padding: 1.5rem 1.25rem !important;
    }
    
    .product-premium .sidebar-body .wpcf7-form input[type="text"],
    .product-premium .sidebar-body .wpcf7-form input[type="email"],
    .product-premium .sidebar-body .wpcf7-form input[type="tel"],
    .product-premium .sidebar-body .wpcf7-form select,
    .product-premium .sidebar-body input[type="text"],
    .product-premium .sidebar-body input[type="email"],
    .product-premium .sidebar-body input[type="tel"],
    .product-premium .sidebar-body select {
        padding: 0.875rem 1rem !important;
        font-size: 0.95rem !important;
    }
    
    .product-premium .sidebar-body .textrgpd {
        font-size: 0.85rem !important;
    }
}

/* ============================================
   FIXES FORMULARIO CONTACT FORM 7
   ============================================ */

/* Reset completo del formulario */
.product-premium .sidebar-body .wpcf7,
.product-premium .sidebar-body .wpcf7-form,
.product-premium .sidebar-body .formulario {
    margin: 0 !important;
    padding: 0 !important;
}

/* Cabecera del formulario - Ya está en el sidebar-header, ocultamos si viene duplicada */
.product-premium .sidebar-body .cabeceraFormulario {
    display: none !important;
}

/* Campos del formulario - ELIMINAR TODOS LOS ESPACIOS */
.product-premium .sidebar-body .camposFormulario {
    display: block !important;
}

.product-premium .sidebar-body .camposFormulario > div {
    width: 100% !important;
    margin-bottom: 1rem !important;
    line-height: 1 !important;
}

/* Eliminar BRs que Contact Form 7 añade */
.product-premium .sidebar-body .wpcf7-form br {
    display: none !important;
}

/* Eliminar espacios entre elementos */
.product-premium .sidebar-body .wpcf7-form p {
    margin: 0 0 1rem 0 !important;
    line-height: 1 !important;
}

/* Spans wrapper de CF7 */
.product-premium .sidebar-body .wpcf7-form-control-wrap {
    display: block !important;
    position: relative !important;
    margin: 0 !important;
}

/* ============================================
   FORMULARIO - INPUTS BLANCOS FORZADOS
   ============================================ */

/* Contenedores de campos */
.product-premium .sidebar-body .camposFormulario {
    display: block !important;
    background: transparent !important;
}

.product-premium .sidebar-body .camposFormulario > div {
    width: 100% !important;
    margin-bottom: 1rem !important;
    line-height: 1 !important;
    background: transparent !important;
}

/* Eliminar BRs */
.product-premium .sidebar-body .wpcf7-form br {
    display: none !important;
}

.product-premium .sidebar-body .wpcf7-form p {
    margin: 0 0 1rem 0 !important;
    line-height: 1 !important;
    background: transparent !important;
}

/* Wrapper de CF7 */
.product-premium .sidebar-body .wpcf7-form-control-wrap {
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    background: transparent !important;
}

/* INPUTS - FONDO BLANCO/GRIS FORZADO */
.product-premium .sidebar-body .wpcf7-form input[type="text"],
.product-premium .sidebar-body .wpcf7-form input[type="email"],
.product-premium .sidebar-body .wpcf7-form input[type="tel"],
.product-premium .sidebar-body .wpcf7-form input.wpcf7-text,
.product-premium .sidebar-body .wpcf7-form .wpcf7-email,
.product-premium .sidebar-body input[type="text"],
.product-premium .sidebar-body input[type="email"],
.product-premium .sidebar-body input[type="tel"] {
    width: 100% !important;
    padding: 1rem 1.25rem !important;
    border: 2px solid #d1d5db !important;
    border-radius: 10px !important;
    margin: 0 !important;
    font-size: 1rem !important;
    background: #f9fafb !important;
    background-color: #f9fafb !important;
    color: #1f2937 !important;
    transition: all 0.3s ease !important;
    line-height: 1.5 !important;
    display: block !important;
    font-weight: 500 !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.product-premium .sidebar-body .wpcf7-form input[type="text"]:focus,
.product-premium .sidebar-body .wpcf7-form input[type="email"]:focus,
.product-premium .sidebar-body .wpcf7-form input[type="tel"]:focus,
.product-premium .sidebar-body .wpcf7-form input.wpcf7-text:focus,
.product-premium .sidebar-body .wpcf7-form .wpcf7-email:focus,
.product-premium .sidebar-body input[type="text"]:focus,
.product-premium .sidebar-body input[type="email"]:focus,
.product-premium .sidebar-body input[type="tel"]:focus {
    border-color: #ff5959 !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(255, 89, 89, 0.15), inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    background: white !important;
    background-color: white !important;
}

/* SELECTS - FONDO BLANCO/GRIS FORZADO */
.product-premium .sidebar-body .wpcf7-form select,
.product-premium .sidebar-body .wpcf7-form .wpcf7-select,
.product-premium .sidebar-body select {
    width: 100% !important;
    padding: 1rem 1.25rem !important;
    border: 2px solid #d1d5db !important;
    border-radius: 10px !important;
    margin: 0 !important;
    font-size: 1rem !important;
    background: #f9fafb !important;
    background-color: #f9fafb !important;
    color: #1f2937 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%23666' d='M7 10L2 5h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    padding-right: 3rem !important;
    line-height: 1.5 !important;
    display: block !important;
    font-weight: 500 !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.product-premium .sidebar-body .wpcf7-form select:focus,
.product-premium .sidebar-body .wpcf7-form .wpcf7-select:focus,
.product-premium .sidebar-body select:focus {
    border-color: #ff5959 !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(255, 89, 89, 0.15), inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    background-color: white !important;
    background: white !important;
}

/* ============================================
   TELÉFONO INTERNACIONAL - ARREGLADO COMPLETAMENTE
   ============================================ */

/* Container principal del teléfono */
.product-premium .sidebar-body .wpcf7-form .iti {
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    position: relative !important;
}

/* Container de la bandera - POSICIÓN ABSOLUTA DENTRO DEL INPUT */
.product-premium .sidebar-body .wpcf7-form .iti__flag-container {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
}

/* Botón seleccionado de bandera - FONDO GRIS CON BORDE */
.product-premium .sidebar-body .wpcf7-form .iti__selected-flag {
    width: 60px !important;
    height: 100% !important;
    padding: 0 8px !important;
    background: #f9fafb !important;
    background-color: #f9fafb !important;
    border: 2px solid #d1d5db !important;
    border-right: none !important;
    border-radius: 10px 0 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

/* Arrow del selector */
.product-premium .sidebar-body .wpcf7-form .iti__arrow {
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 4px solid #666 !important;
    margin-left: 6px !important;
}

/* Bandera dentro del selector */
.product-premium .sidebar-body .wpcf7-form .iti__flag {
    background-image: url('https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.19/img/flags.png') !important;
    background-repeat: no-repeat !important;
    background-position: 0 0 !important;
    width: 20px !important;
    height: 15px !important;
    display: inline-block !important;
}

/* Código de área visible */
.product-premium .sidebar-body .wpcf7-form .iti__selected-dial-code {
    display: none !important;
}

/* INPUT DE TELÉFONO - PADDING IZQUIERDO PARA LA BANDERA */
.product-premium .sidebar-body .wpcf7-form .iti input[type="tel"],
.product-premium .sidebar-body .wpcf7-form .iti input.wpcf7-tel {
    padding-left: 70px !important;
    padding-right: 1.25rem !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    border-radius: 10px !important;
    border: 2px solid #d1d5db !important;
    background: #f9fafb !important;
    background-color: #f9fafb !important;
    width: 100% !important;
    font-size: 1rem !important;
    color: #1f2937 !important;
    font-weight: 500 !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s ease !important;
}

.product-premium .sidebar-body .wpcf7-form .iti input[type="tel"]:focus,
.product-premium .sidebar-body .wpcf7-form .iti input.wpcf7-tel:focus {
    background: white !important;
    background-color: white !important;
    border-color: #ff5959 !important;
    box-shadow: 0 0 0 4px rgba(255, 89, 89, 0.15), inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    outline: none !important;
}

/* Hover en el selector de bandera */
.product-premium .sidebar-body .wpcf7-form .iti__selected-flag:hover {
    background: white !important;
    background-color: white !important;
}

/* DROPDOWN DE PAÍSES */
.product-premium .sidebar-body .wpcf7-form .iti__country-list {
    background: white !important;
    background-color: white !important;
    border: 2px solid #d1d5db !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    max-height: 200px !important;
    overflow-y: auto !important;
    z-index: 9999 !important;
}

.product-premium .sidebar-body .wpcf7-form .iti__country {
    padding: 8px 12px !important;
    background: white !important;
    background-color: white !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
}

.product-premium .sidebar-body .wpcf7-form .iti__country:hover,
.product-premium .sidebar-body .wpcf7-form .iti__country.iti__highlight {
    background: #f9fafb !important;
    background-color: #f9fafb !important;
}

.product-premium .sidebar-body .wpcf7-form .iti__country .iti__flag {
    margin-right: 8px !important;
}

.product-premium .sidebar-body .wpcf7-form .iti__country-name {
    color: #1f2937 !important;
    margin-right: auto !important;
}

.product-premium .sidebar-body .wpcf7-form .iti__dial-code {
    color: #6b7280 !important;
}

.product-premium .sidebar-body .wpcf7-form .iti__selected-flag:hover,
.product-premium .sidebar-body .wpcf7-form .iti__selected-flag:focus {
    background: transparent !important;
    background-color: transparent !important;
}

/* Dropdown del país */
.product-premium .sidebar-body .wpcf7-form .iti__country-list {
    background: white !important;
    border: 2px solid #d1d5db !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
}

.product-premium .sidebar-body .wpcf7-form .iti__country {
    padding: 0.5rem 1rem !important;
    background: white !important;
}

.product-premium .sidebar-body .wpcf7-form .iti__country:hover {
    background: #f9fafb !important;
}

.product-premium .sidebar-body .wpcf7-form .iti__country.iti__highlight {
    background: #fff5f5 !important;
}

/* RGPD Checkboxes */
.product-premium .sidebar-body .rgpd {
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}

.product-premium .sidebar-body .cajargpd {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    line-height: 1.5 !important;
}

.product-premium .sidebar-body .wpcf7-form .wpcf7-list-item {
    margin: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
}

.product-premium .sidebar-body .wpcf7-form .wpcf7-list-item-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    cursor: pointer !important;
}

.product-premium .sidebar-body .wpcf7-form .wpcf7-acceptance {
    display: inline-block !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

.product-premium .sidebar-body .wpcf7-form input[type="checkbox"] {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    border: 2px solid #dde2e8 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    margin: 2px 0 0 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: #f8f9fa !important;
    transition: all 0.3s ease !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.product-premium .sidebar-body .wpcf7-form input[type="checkbox"]:checked {
    background: #ff5959 !important;
    border-color: #ff5959 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='white' stroke='white' stroke-width='2.5' d='M3 8l4 4 6-8'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 14px !important;
}

.product-premium .sidebar-body .textrgpd {
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    color: #5a6c7d !important;
    flex: 1 !important;
    margin: 0 !important;
}

.product-premium .sidebar-body .textrgpd a {
    color: #ff5959 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

.product-premium .sidebar-body .textrgpd a:hover {
    color: #ff3838 !important;
    text-decoration: none !important;
}

/* Botón Submit - MUY DESTACADO */
.product-premium .sidebar-body .wpcf7-form input[type="submit"],
.product-premium .sidebar-body .wpcf7-form .btnEnviar,
.product-premium .sidebar-body .wpcf7-submit {
/*    width: 100% !important;
    padding: 1.375rem 2rem !important;
    background: linear-gradient(135deg, #ff5959 0%, #ff3838 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
    font-size: 1.25rem !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 1.75rem 0 0 0 !important;
    display: block !important;
    line-height: 1.5 !important;
    box-shadow: 0 8px 20px rgba(255, 89, 89, 0.35) !important;
    position: relative !important;
    overflow: hidden !important;*/
width: 100% !important;
    height: 80px;
    padding: 1.375rem 2rem !important;
    background: linear-gradient(105deg, #ff3838 0%, #ff5959 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
    font-size: 1.25rem !important;
    cursor: pointer !important;
    transition: all 0.3s
ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 1.75rem 0 0 0 !important;
    display: block !important;
    line-height: 1.5 !important;
    box-shadow: 0 8px 20px rgba(255, 89, 89, 0.35) !important;
    position: relative !important;
    overflow: hidden !important;
}

.product-premium .sidebar-body .wpcf7-form input[type="submit"]::before,
.product-premium .sidebar-body .wpcf7-form .btnEnviar::before,
.product-premium .sidebar-body .wpcf7-submit::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent) !important;
    transition: left 0.5s ease !important;
}

.product-premium .sidebar-body .wpcf7-form input[type="submit"]:hover::before,
.product-premium .sidebar-body .wpcf7-form .btnEnviar:hover::before,
.product-premium .sidebar-body .wpcf7-submit:hover::before {
    left: 100% !important;
}

.product-premium .sidebar-body .wpcf7-form input[type="submit"]:hover,
.product-premium .sidebar-body .wpcf7-form .btnEnviar:hover,
.product-premium .sidebar-body .wpcf7-submit:hover {
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 12px 32px rgba(255, 89, 89, 0.5) !important;
}

.product-premium .sidebar-body .wpcf7-form input[type="submit"]:active,
.product-premium .sidebar-body .wpcf7-form .btnEnviar:active,
.product-premium .sidebar-body .wpcf7-submit:active {
    transform: translateY(-1px) scale(1.01) !important;
}

/* Mensajes de validación */
.product-premium .sidebar-body .wpcf7-not-valid-tip {
    color: #dc3545 !important;
    font-size: 0.875rem !important;
    margin: 0.25rem 0 0 0 !important;
    display: block !important;
}

.product-premium .sidebar-body .wpcf7-form .wpcf7-response-output {
    border: 2px solid #ff5959 !important;
    border-radius: 8px !important;
    padding: 1rem !important;
    margin: 1rem 0 0 0 !important;
    font-size: 0.9rem !important;
}

.product-premium .sidebar-body .wpcf7-form .wpcf7-mail-sent-ok {
    background: #d4edda !important;
    border-color: #28a745 !important;
    color: #155724 !important;
}

.product-premium .sidebar-body .wpcf7-form .wpcf7-validation-errors {
    background: #fff3cd !important;
    border-color: #ffc107 !important;
    color: #856404 !important;
}

.product-premium .sidebar-body .wpcf7-form .wpcf7-mail-sent-ng {
    background: #f8d7da !important;
    border-color: #dc3545 !important;
    color: #721c24 !important;
}

/* Spinner de envío */
.product-premium .sidebar-body .wpcf7-form .wpcf7-spinner {
    margin: 0 0 0 1rem !important;
    display: inline-block !important;
}

/* Campo oculto */
.product-premium .sidebar-body .wpcf7-form input[type="hidden"] {
    display: none !important;
}

/* Ajustes para campos vacíos sin label */
.product-premium .sidebar-body .cursoFormulario:empty {
    display: none !important;
}

/* Placeholders */
.product-premium .sidebar-body .wpcf7-form input::placeholder {
    color: #adb5bd !important;
    opacity: 1 !important;
}

.product-premium .sidebar-body .wpcf7-form select option[value=""]:first-child,
.product-premium .sidebar-body .wpcf7-form select option:disabled {
    color: #adb5bd !important;
}

/* Fix para divs anidados de CF7 */
.product-premium .sidebar-body .camposFormulario > div > div {
    margin: 0 !important;
}

/* Asegurar que no haya espacios extras */
.product-premium .sidebar-body .wpcf7-form * {
    line-height: inherit !important;
}

.product-premium .sidebar-body .wpcf7-form > * {
    margin-bottom: 0 !important;
}


/* ============================================
   SIDEBAR MOBILE - OCULTAR DUPLICADO
   ============================================ */

/* En mobile, el sidebar principal se vuelve relativo (ya configurado arriba) */
@media (max-width: 991px) {
    .product-premium aside.sidebar-product-premium {
        display: block !important;
    }
}

