/* Los estilos .legal-* compartidos viven en legal.css — aquí solo lo propio del formulario */

        /* Formulario de contacto */
        .contact-form {
            background: #fffef5;
            border: 1px solid #e0c98a;
            border-radius: 20px;
            padding: 32px;
            box-shadow: 0 4px 20px rgba(139,38,53,0.07);
        }
        .contact-form label {
            display: block;
            font-size: 12px;
            font-weight: 800;
            color: #b89a6a;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 6px;
        }
        .contact-form input,
        .contact-form select,
        .contact-form textarea {
            width: 100%;
            border: 2px solid #d4b483;
            border-radius: 12px;
            padding: 11px 16px;
            font-size: 15px;
            background: #fdf6e3;
            color: #2c1810;
            outline: none;
            font-family: inherit;
            transition: border-color 0.2s;
            box-sizing: border-box;
            margin-bottom: 20px;
        }
        .contact-form input:focus,
        .contact-form select:focus,
        .contact-form textarea:focus { border-color: #8B2635; }
        .contact-form textarea { resize: vertical; min-height: 130px; }
        .contact-submit {
            background: #8B2635;
            color: white;
            border: none;
            border-radius: 12px;
            padding: 13px 32px;
            font-size: 15px;
            font-weight: 700;
            cursor: pointer;
            transition: opacity 0.2s;
            width: 100%;
        }
        .contact-submit:hover { opacity: 0.87; }
        .contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
        @media(max-width:600px){ .contact-row{grid-template-columns:1fr;} .legal-title{font-size:1.8rem;} }

        /* Mensajes de estado */
        .msg-success {
            background: #f0fdf0;
            border: 1px solid #86efac;
            border-radius: 12px;
            padding: 20px 24px;
            color: #166534;
            font-weight: 600;
            font-size: 15px;
            text-align: center;
        }
        .msg-error {
            background: #fff0f0;
            border: 1px solid #fca5a5;
            border-radius: 12px;
            padding: 14px 20px;
            color: #991b1b;
            font-weight: 600;
            font-size: 14px;
            margin-bottom: 20px;
        }

        /* Informacion de contacto alternativa */
        .contact-info {
            margin-top: 40px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 16px;
            text-align: center;
        }
        .contact-info-box {
            background: #fffef5;
            border: 1px solid #e0c98a;
            border-radius: 14px;
            padding: 20px 16px;
        }
        .contact-info-icon { font-size: 1.6rem; margin-bottom: 8px; }
        .contact-info-label { font-size: 12px; font-weight: 800; color: #b89a6a; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px; }
        .contact-info-value { font-size: 14px; color: #2c1810; font-weight: 600; }
        @media(max-width:600px){ .contact-info{grid-template-columns:1fr;} }

/* ══════════════════════════════════════════════
   Modo oscuro
══════════════════════════════════════════════ */
[data-theme="dark"] .contact-form {
    background: #1a1226;
    border-color: rgba(180,100,220,0.22);
    box-shadow: 0 4px 20px rgba(0,0,0,0.35);
}
[data-theme="dark"] .contact-form label { color: #a893b8; }

[data-theme="dark"] .contact-form input,
[data-theme="dark"] .contact-form select,
[data-theme="dark"] .contact-form textarea {
    background: #120a1e;
    border-color: rgba(180,100,220,0.28);
    color: #ede4f5;
}
[data-theme="dark"] .contact-form input::placeholder,
[data-theme="dark"] .contact-form textarea::placeholder { color: #7a6690; }

[data-theme="dark"] .contact-form input:focus,
[data-theme="dark"] .contact-form select:focus,
[data-theme="dark"] .contact-form textarea:focus { border-color: #e39ec6; }

[data-theme="dark"] .contact-info-box {
    background: #1a1226;
    border-color: rgba(180,100,220,0.22);
}
[data-theme="dark"] .contact-info-label { color: #a893b8; }
[data-theme="dark"] .contact-info-value { color: #ede4f5; }

[data-theme="dark"] .msg-success {
    background: rgba(34,197,94,0.10);
    border-color: rgba(34,197,94,0.35);
    color: #86efac;
}
[data-theme="dark"] .msg-error {
    background: rgba(239,68,68,0.10);
    border-color: rgba(239,68,68,0.35);
    color: #fca5a5;
}