/**
 * LubozStudios — Plugin Compatibility Styles v2.0
 * Sobreescribe el diseño visual de plugins y Elementor
 * para que encajen con la estética oscura/dorada del tema.
 * NO modifica funcionalidad, solo apariencia CSS.
 */

/* ═══════════════════════════════════════════════════
   ELEMENTOR — OVERRIDE GLOBAL
   Prioridad máxima para ganar sobre los estilos inline
   de Elementor. Se usa la cadena de selectores más
   específica posible.
   ═══════════════════════════════════════════════════ */

/* Inputs y textareas de Elementor Form */
body .elementor-form .elementor-field-group input,
body .elementor-form .elementor-field-group textarea,
body .elementor-form .elementor-field-group select,
body .elementor-widget-form .elementor-field-group input,
body .elementor-widget-form .elementor-field-group textarea,
body .elementor-widget-form .elementor-field-group select {
    background-color: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-radius: 6px !important;
    color: #f5f5f5 !important;
    font-family: 'Titillium Web', sans-serif !important;
    font-size: 0.92rem !important;
    padding: 0.75rem 1rem !important;
    box-shadow: none !important;
    transition: border-color 0.3s ease !important;
}

body .elementor-form .elementor-field-group input:focus,
body .elementor-form .elementor-field-group textarea:focus,
body .elementor-widget-form .elementor-field-group input:focus,
body .elementor-widget-form .elementor-field-group textarea:focus {
    border-color: #c4a33d !important;
    background-color: rgba(196,163,61,0.05) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(196,163,61,0.15) !important;
}

/* Labels de Elementor */
body .elementor-form .elementor-field-label,
body .elementor-widget-form .elementor-field-label {
    color: #c4a33d !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-family: 'Titillium Web', sans-serif !important;
}

/* Botón submit de Elementor Form */
body .elementor-form .elementor-button,
body .elementor-widget-form .elementor-button,
body .elementor-form button[type="submit"],
body .elementor-widget-form button[type="submit"] {
    background-color: #c4a33d !important;
    color: #000000 !important;
    border: 2px solid #c4a33d !important;
    border-radius: 6px !important;
    font-family: 'Titillium Web', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    transition: all 0.35s ease !important;
    box-shadow: 0 4px 15px rgba(196,163,61,0.3) !important;
}

body .elementor-form .elementor-button:hover,
body .elementor-widget-form .elementor-button:hover {
    background-color: transparent !important;
    color: #c4a33d !important;
    box-shadow: none !important;
}

/* Secciones / widgets de Elementor con fondo blanco → oscuro */
body .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1200px !important;
}

/* Texto dentro de Elementor */
body .elementor-widget-text-editor p,
body .elementor-widget-text-editor li {
    color: rgba(245,245,245,0.88) !important;
    font-family: 'Titillium Web', sans-serif !important;
}

/* Headings Elementor */
body .elementor-widget-heading .elementor-heading-title {
    font-family: 'Syne', sans-serif !important;
}

/* Iconbox Elementor */
body .elementor-icon-box-title {
    font-family: 'Syne', sans-serif !important;
}

/* Elementor Image Box */
body .elementor-image-box-title {
    font-family: 'Syne', sans-serif !important;
}

/* ─── Forzar tipografía global de Elementor ─── */
body .elementor * {
    font-family: inherit;
}


/* ═══════════════════════════════════════════════════
   CONTACT FORM 7 (wpcf7)
   ═══════════════════════════════════════════════════ */
.wpcf7 {
    background: var(--color-dark, #1c1b1b);
    border-radius: 12px;
    padding: 2.5rem;
    border: 1px solid rgba(196, 163, 61, 0.15);
}

.wpcf7 .wpcf7-form-control-wrap,
.wpcf7 p { margin-bottom: 1rem; }

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 6px !important;
    padding: 0.75rem 1rem !important;
    color: #f5f5f5 !important;
    font-family: 'Titillium Web', sans-serif !important;
    font-size: 0.92rem !important;
    transition: border-color 0.3s ease, background 0.3s ease !important;
    outline: none !important;
    box-shadow: none !important;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
    border-color: #c4a33d !important;
    background: rgba(196, 163, 61, 0.05) !important;
}

.wpcf7 textarea { min-height: 130px; resize: vertical; }

.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
    background: #c4a33d !important;
    color: #000000 !important;
    border: 2px solid #c4a33d !important;
    border-radius: 6px !important;
    padding: 0.8rem 2rem !important;
    font-family: 'Titillium Web', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    transition: all 0.35s ease !important;
    width: 100% !important;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
    background: transparent !important;
    color: #c4a33d !important;
}

.wpcf7 .wpcf7-not-valid-tip {
    color: #ff6b6b !important;
    font-size: 0.78rem !important;
    margin-top: 0.25rem;
}

.wpcf7 .wpcf7-response-output {
    border-radius: 6px !important;
    border-color: #c4a33d !important;
    background: rgba(196, 163, 61, 0.1) !important;
    color: #f5f5f5 !important;
    padding: 1rem !important;
    margin: 1rem 0 0 !important;
    font-size: 0.88rem !important;
}

/* ═══════════════════════════════════════════════════
   WPFORMS
   ═══════════════════════════════════════════════════ */
.wpforms-container {
    background: var(--color-dark, #1c1b1b) !important;
    border-radius: 12px !important;
    padding: 2.5rem !important;
    border: 1px solid rgba(196, 163, 61, 0.15) !important;
}

.wpforms-form .wpforms-field input,
.wpforms-form .wpforms-field select,
.wpforms-form .wpforms-field textarea {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 6px !important;
    color: #f5f5f5 !important;
    font-family: 'Titillium Web', sans-serif !important;
}

.wpforms-form .wpforms-field input:focus,
.wpforms-form .wpforms-field textarea:focus {
    border-color: #c4a33d !important;
    box-shadow: 0 0 0 2px rgba(196, 163, 61, 0.15) !important;
}

.wpforms-form .wpforms-field-label {
    color: #c4a33d !important;
    font-size: 0.82rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-family: 'Titillium Web', sans-serif !important;
}

.wpforms-form .wpforms-submit,
.wpforms-form button[type="submit"] {
    background: #c4a33d !important;
    color: #000 !important;
    border: 2px solid #c4a33d !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 0.8rem 2rem !important;
    transition: all 0.35s ease !important;
}

.wpforms-form .wpforms-submit:hover {
    background: transparent !important;
    color: #c4a33d !important;
}

/* ═══════════════════════════════════════════════════
   WHATSAPP — JOINCHAT PLUGIN
   (El tema no pone el botón, pero sí lo estiliza)
   ═══════════════════════════════════════════════════ */
.joinchat__button {
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.45) !important;
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.joinchat__button:hover {
    transform: scale(1.1) translateY(-3px) !important;
    box-shadow: 0 8px 30px rgba(37, 211, 102, 0.55) !important;
}

/* Click to Chat plugin */
.ctc-theme-default .ctc-button {
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4) !important;
}

/* WP WhatsApp Button plugin */
.wpwb-btn {
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4) !important;
}

/* ═══════════════════════════════════════════════════
   GOOGLE REVIEWS / ELFSIGHT
   ═══════════════════════════════════════════════════ */
.elfsight-app,
[class*="google-reviews"],
[class*="wp-google-review"] {
    background: transparent !important;
}

/* Reviews Widget — cards individuales */
[class*="review-card"],
[class*="review-item"],
[class*="testimonial-item"] {
    background: #1c1b1b !important;
    border: 1px solid rgba(196, 163, 61, 0.15) !important;
    border-radius: 10px !important;
    color: #f5f5f5 !important;
}

/* Estrellas */
[class*="review-stars"],
[class*="rating-stars"] {
    color: #c4a33d !important;
}

/* ═══════════════════════════════════════════════════
   NEWSLETTER / MC4WP / MAILCHIMP
   ═══════════════════════════════════════════════════ */
.mc4wp-form input[type="email"],
.mc4wp-form input[type="text"] {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 6px !important;
    color: #f5f5f5 !important;
    padding: 0.7rem 1rem !important;
    font-family: 'Titillium Web', sans-serif !important;
}

.mc4wp-form input[type="submit"] {
    background: #c4a33d !important;
    color: #000 !important;
    border: 2px solid #c4a33d !important;
    border-radius: 6px !important;
    padding: 0.7rem 1.5rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.mc4wp-form input[type="submit"]:hover {
    background: transparent !important;
    color: #c4a33d !important;
}

/* ═══════════════════════════════════════════════════
   ELEMENTOR POPUPS / WIDGETS (compatibilidad)
   ═══════════════════════════════════════════════════ */
.elementor-popup-modal .dialog-widget-content {
    background: #1c1b1b !important;
    border: 1px solid rgba(196, 163, 61, 0.2) !important;
    border-radius: 12px !important;
    color: #f5f5f5 !important;
}

/* ═══════════════════════════════════════════════════
   YOAST SEO — Breadcrumbs
   ═══════════════════════════════════════════════════ */
.yoast-breadcrumbs,
.breadcrumb-trail {
    font-size: 0.78rem !important;
    opacity: 0.6 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 1rem !important;
    color: #f5f5f5 !important;
}

.yoast-breadcrumbs a,
.breadcrumb-trail a {
    color: #c4a33d !important;
    text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════
   COMMENTS (WordPress nativo)
   ═══════════════════════════════════════════════════ */
#comments {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

#respond {
    background: var(--color-dark, #1c1b1b);
    border-radius: 12px;
    padding: 2rem;
    border: 1px solid rgba(196, 163, 61, 0.15);
    margin-top: 2rem;
}

#respond h3 {
    font-family: 'Syne', sans-serif;
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    color: #f5f5f5;
}

#respond input[type="text"],
#respond input[type="email"],
#respond input[type="url"],
#respond textarea {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 6px !important;
    color: #f5f5f5 !important;
    padding: 0.7rem 1rem !important;
    font-family: 'Titillium Web', sans-serif !important;
    width: 100% !important;
    transition: border-color 0.3s ease !important;
}

#respond input:focus,
#respond textarea:focus {
    border-color: #c4a33d !important;
    outline: none !important;
}

#respond input[type="submit"] {
    background: #c4a33d !important;
    color: #000 !important;
    border: 2px solid #c4a33d !important;
    border-radius: 6px !important;
    padding: 0.75rem 2rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

#respond input[type="submit"]:hover {
    background: transparent !important;
    color: #c4a33d !important;
}

/* ═══════════════════════════════════════════════════
   SEARCH RESULTS (WordPress nativo)
   ═══════════════════════════════════════════════════ */
.search-no-results {
    padding: 4rem 0;
    text-align: center;
}

mark, .search-highlight {
    background: rgba(196, 163, 61, 0.25) !important;
    color: #f5f5f5 !important;
    border-radius: 2px;
    padding: 0 3px;
}

/* ═══════════════════════════════════════════════════
   TABLA DE CONTENIDOS (TOC plugins)
   ═══════════════════════════════════════════════════ */
.ez-toc-container,
.wp-block-table-of-contents,
#toc_container {
    background: var(--color-dark, #1c1b1b) !important;
    border: 1px solid rgba(196, 163, 61, 0.2) !important;
    border-radius: 10px !important;
    padding: 1.5rem !important;
    margin: 2rem 0 !important;
}

.ez-toc-title,
#toc_container .toc_title {
    font-family: 'Syne', sans-serif !important;
    color: #c4a33d !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

.ez-toc-list a,
#toc_container ul li a {
    color: rgba(245, 245, 245, 0.8) !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
}

.ez-toc-list a:hover,
#toc_container ul li a:hover {
    color: #c4a33d !important;
}
    @media (max-width: 1024px) {
    /* Force hide any non-elite header or duplicate logos */
    /* Ocultar solo cabeceras duplicadas reales, no plugins */
    header.site-header:not(#site-header-elite), 
    header.header-mobile:not(#site-header-elite),
    .elementor-location-header:not(#site-header-elite *) {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    /* WhatsApp y burbujas de chat - Elevado en la pila */
    .qlwapp, .qlwapp-bubble, .joinchat, .wpwb-btn, #joinchat, .ht-ctc-chat {
        bottom: 120px !important;
        left: 30px !important; /* Forzado a la izquierda en móvil */
        right: auto !important;
        transform: scale(0.9) !important;
        z-index: 999999 !important;
        position: fixed !important;
        display: block !important;
        visibility: visible !important;
    }

    /* Ocultar texto de ayuda en móvil */
    [class*="qlwapp"] [class*="text"], .joinchat__tooltip {
        display: none !important;
    }

    /* Botón de Suscribirse / Popups - Base de la pila */
    [class*="popup"], [class*="flyin"], .mc4wp-form-theme-bar, .e-form-floating-button, .wp-block-button__link.no-border-radius {
        bottom: 30px !important;
        right: 30px !important;
        position: fixed !important;
        z-index: 999997 !important;
        width: auto !important;
        margin: 0 !important;
        transform: scale(0.9) !important;
    }

    /* Botón Volver Arriba - Cima de la pila */
    #scroll-to-top, .scroll-to-top, #scroll-top-lux {
        bottom: 190px !important;
        right: 30px !important;
        transform: scale(0.85) !important;
        position: fixed !important;
        z-index: 999998 !important;
    }

    /* Espaciado del footer */
    .site-footer-lux { padding-bottom: 150px !important; }
    .site-main { padding-bottom: 100px !important; }
}

/* ═══════════════════════════════════════════════════
   FIX GLOBAL DE VISIBILIDAD (WhatsApp & Jetpack)
   Asegura que los widgets no queden "fuera" o tapados.
   ═══════════════════════════════════════════════════ */

/* WhatsApp Universal Fix (Desktop & Mobile) */
.qlwapp, .qlwapp-bubble, .joinchat, .wpwb-btn, #joinchat, .ht-ctc-chat, .ctc-button, .joinchat__button {
    z-index: 9999999 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    /* Reset de posición para asegurar que use la configuración del plugin (Izquierda) */
    right: auto !important;
    left: 30px !important;
    bottom: 30px !important;
}

/* Mejora de Contraste para la etiqueta de JoinChat (Premium Dark) */
.joinchat__label, .joinchat__tooltip, .qlwapp__button span, .joinchat__label span {
    color: #ffffff !important;
    background: rgba(10, 10, 10, 0.95) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid var(--luboz-gold, #c4a33d) !important;
    font-weight: 700 !important;
    padding: 10px 20px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6), 0 0 20px rgba(196, 163, 61, 0.15) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Flecha del bocadillo */
.joinchat__label::after, .joinchat__tooltip::after {
    border-right-color: rgba(10, 10, 10, 0.95) !important;
}

/* Jetpack Subscription / Popups Fix (A la Derecha) */
/* DESACTIVADO: El usuario solicitó remover el popup flotante de suscripción */
.jetpack-sub-form-flyout {
    display: none !important;
    visibility: hidden !important;
}
/*
.jetpack_subscription_widget, #subscribe-blog, .jetpack-sub-form, .jp-sub-block, #jetpack_subscription_widget-2, .wp-block-jetpack-subscriptions {
    z-index: 999998 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    bottom: 30px !important;
    right: 100px !important;
    max-width: 320px !important;
    min-width: 250px !important;
    pointer-events: auto !important;
    transform: translateZ(0);
}
*/

/* ── ESTILO PREMIUM JETPACK ── */
.jetpack_subscription_widget form, #subscribe-blog form, .wp-block-jetpack-subscriptions form {
    background: rgba(15, 15, 15, 0.9) !important;
    backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(196, 163, 61, 0.2) !important;
    padding: 25px !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.7), 0 0 20px rgba(196,163,61,0.05) !important;
}
.jetpack_subscription_widget input[type="email"], .wp-block-jetpack-subscriptions input[type="email"] {
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 10px !important;
    color: #fff !important;
    padding: 12px 15px !important;
    margin-bottom: 15px !important;
    font-family: 'Titillium Web', sans-serif !important;
    width: 100% !important;
}
.jetpack_subscription_widget button[type="submit"], .wp-block-jetpack-subscriptions button[type="submit"], .jetpack_subscription_widget input[type="submit"] {
    background: var(--luboz-gold, #c4a33d) !important;
    color: #000 !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-size: 0.75rem !important;
    transition: all 0.4s ease !important;
    cursor: pointer !important;
    box-shadow: 0 10px 20px rgba(196,163,61,0.2) !important;
    width: 100% !important;
}
.jetpack_subscription_widget button[type="submit"]:hover, .jetpack_subscription_widget input[type="submit"]:hover {
    background: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(255,255,255,0.2) !important;
}

/* Ajuste del botón Volver Arriba para evitar conflictos */
@media (min-width: 1025px) {
    #scroll-top-lux {
        bottom: 30px !important;
        right: 30px !important;
        z-index: 9999999 !important;
    }
}

/* Indicador de Scroll Horizontal en Filtros */
.filter-scroll-wrapper, .category-scroll-wrapper {
    position: relative; overflow: hidden;
}
.filter-scroll-wrapper::after, .category-scroll-wrapper::after {
    content: ''; position: absolute; top: 0; right: 0; width: 50px; height: 100%;
    background: linear-gradient(to right, transparent, rgba(0,0,0,0.9));
    pointer-events: none; z-index: 5;
}
