/* =========================================
       ESTILOS DEL COMPONENTE
    ========================================= */
    #custom-contact-form-container {
        --primary-color: #ffffff;
        --secondary-color: #1d2233;
        --accent-color: #8b4513;
        --highlight-color: #c8a45c;
        --dark-accent: #4a2c2a;
        --text-dark: #333333;
        --text-light: #f0f0f0;
        --error-color: #d92c2c;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        line-height: 1.6;
        color: var(--text-dark);
        position: relative;
        isolation: isolate;
    }

    #custom-contact-form-container * { box-sizing: border-box; }

    #custom-contact-form-container .container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 40px 20px;
    }

    #custom-contact-form-container .contact-container {
        display: grid;
        grid-template-columns: 1fr 1.5fr;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
        border-radius: 12px;
        overflow: hidden;
        background: var(--primary-color);
    }

    /* Panel izquierdo */
    #custom-contact-form-container .contact-info {
        background: linear-gradient(135deg, rgba(29, 34, 51, 0.97), rgba(29, 34, 51, 0.9)),
                    url('https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80');
        background-size: cover;
        background-position: center;
        color: var(--text-light);
        padding: 60px 40px;
    }

    #custom-contact-form-container .gradient-line {
        height: 3px;
        width: 60px;
        background: linear-gradient(to right, var(--dark-accent), var(--accent-color), var(--highlight-color));
        margin: 20px 0 35px 0;
        border-radius: 2px;
    }

    #custom-contact-form-container .contact-title {
        font-size: 32px;
        font-weight: 700;
        margin: 0 0 15px;
        letter-spacing: -0.5px;
        line-height: 1.2;
        color: var(--text-light);
    }

    #custom-contact-form-container .contact-subtitle {
        font-size: 16px;
        font-weight: 300;
        margin: 0 0 35px;
        line-height: 1.5;
        color: rgba(240, 240, 240, 0.85);
    }

    /* Info items */
    #custom-contact-form-container .info-item {
        display: flex;
        gap: 15px;
        margin-bottom: 24px;
        transition: transform 0.3s ease;
    }

    #custom-contact-form-container .info-icon {
        width: 26px;
        height: 26px;
        flex-shrink: 0;
        background: rgba(255, 255, 255, 0.08);
        border-radius: 50%;
        padding: 6px;
    }

    #custom-contact-form-container .info-icon svg {
        stroke: var(--highlight-color);
        width: 100%;
        height: 100%;
    }

    #custom-contact-form-container .info-label {
        display: block;
        font-size: 12px;
        font-weight: 600;
        margin-bottom: 5px;
        color: #e6d7a7;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    #custom-contact-form-container .info-content {
        font-size: 15px;
        line-height: 1.5;
    }
    
    #custom-contact-form-container .info-content a {
        color: inherit;
        text-decoration: none;
        transition: color 0.2s;
    }

    /* Sección celebraciones */
    #custom-contact-form-container .celebraciones-section {
        margin: 30px 0 25px;
        padding: 25px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    #custom-contact-form-container .gp-glosario-panel {
        margin: 0 0 20px;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 8px;
        padding: 16px 18px;
    }

    #custom-contact-form-container summary {
        font-size: 14px;
        font-weight: 500;
        color: var(--highlight-color);
        cursor: pointer;
        list-style: none;
        padding: 6px 0;
    }

    #custom-contact-form-container .fechas-lista {
        margin: 10px 0 0;
        padding: 0;
        list-style: none;
    }

    #custom-contact-form-container .fecha-item {
        margin-bottom: 6px;
        font-size: 12px;
        color: rgba(240, 240, 240, 0.8);
        padding-left: 16px;
        position: relative;
    }

    #custom-contact-form-container .celebraciones-acordeon {
        background: rgba(255, 255, 255, 0.03);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 8px;
        margin: 15px 0;
    }

    #custom-contact-form-container .celebraciones-acordeon > summary {
        font-size: 16px;
        font-weight: 600;
        color: var(--highlight-color);
        padding: 18px 20px;
    }

    #custom-contact-form-container .sub-acordeon {
        margin: 8px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
        padding: 8px 0 4px;
    }

    #custom-contact-form-container .sub-acordeon p {
        font-size: 12px;
        color: rgba(240, 240, 240, 0.7);
        margin: 8px 0;
    }

    /* Panel derecho - Formulario */
    #custom-contact-form-container .contact-form {
        padding: 60px 50px;
        background-color: var(--primary-color);
    }

    /* Cambio: De H2 a P manteniendo estilo visual de título */
    #custom-contact-form-container .form-title-no-seo {
        font-size: 36px;
        font-weight: 700;
        margin: 0 0 15px;
        color: var(--secondary-color);
        letter-spacing: -0.5px;
        line-height: 1.2;
        display: block;
    }

    #custom-contact-form-container .form-description {
        font-size: 15px;
        color: #555555;
        margin-bottom: 35px;
    }

    /* WPForms */
    #custom-contact-form-container .wpforms-submit {
        background-color: var(--dark-accent) !important;
        color: white !important;
        border-radius: 28px !important;
        padding: 14px 32px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
    }

    #custom-contact-form-container .tag-line {
        margin-top: 30px;
        font-style: italic;
        color: rgba(240, 240, 240, 0.7);
    }

    #custom-contact-form-container .color-band {
        display: flex;
        height: 5px;
        margin-top: 30px;
    }
    #custom-contact-form-container .color-red { background: var(--dark-accent); flex:1; }
    #custom-contact-form-container .color-orange { background: var(--accent-color); flex:1; }
    #custom-contact-form-container .color-yellow { background: var(--highlight-color); flex:1; }

    @media (max-width: 992px) {
        #custom-contact-form-container .contact-container { grid-template-columns: 1fr; }
    }