@import url('/assets/css/site-theme-dark.css?v=3');
@import url('/assets/css/contact-theme-pilot.css?v=1');

/* Contacto V2 integrado */

.contact-section { padding-top: 76px; }
.contact-layout { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:64px; align-items:start; }
.contact-intro { position:sticky; top:120px; }
.contact-intro h2 { margin-top:0; font-size:clamp(2rem,3vw,3rem); }
.contact-intro > p:not(.eyebrow):not(.contact-note) { color:var(--muted); font-size:1.03rem; }
.contact-info-card { margin-top:30px; padding:26px; background:var(--orange-soft); border-left:5px solid var(--orange); border-radius:0 var(--radius) var(--radius) 0; }
.contact-info-card span,.contact-info-card small { display:block; color:var(--muted); }
.contact-info-card a { display:inline-block; margin:7px 0 9px; color:var(--ink); font-size:1.12rem; font-weight:800; }
.contact-note { margin-top:24px; color:var(--muted); font-size:.9rem; }
.contact-form-panel { padding:34px; background:white; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 16px 42px rgba(36,28,18,.07); }
.contact-form .field { margin-bottom:20px; }
.contact-form label { font-weight:800; }
.contact-form .field > label { display:block; margin-bottom:7px; }
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form textarea { width:100%; border:1px solid #cfcac3; border-radius:8px; padding:12px 13px; background:#fff; color:var(--ink); font:inherit; transition:border-color .15s ease,box-shadow .15s ease; }
.contact-form textarea { min-height:180px; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { outline:none; border-color:var(--orange); box-shadow:0 0 0 3px rgba(247,148,29,.14); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.privacy-notice { margin-top:8px; border:1px solid var(--line); border-radius:8px; background:#faf9f7; }
.privacy-notice summary { cursor:pointer; padding:14px 16px; font-weight:800; }
.privacy-content { max-height:250px; overflow:auto; padding:0 16px 16px; color:var(--muted); font-size:.92rem; }
.checkbox-row { display:flex; align-items:flex-start; gap:10px; margin:20px 0 22px; color:#444; font-size:.94rem; font-weight:400 !important; }
.checkbox-row input { margin-top:4px; }
.form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.contact-submit { min-height:48px; padding:12px 22px; border:0; border-radius:9px; background:var(--orange); color:#202020; cursor:pointer; font:inherit; font-weight:800; }
.contact-submit:hover { background:#ffa631; }
.contact-submit:disabled { opacity:.65; cursor:wait; }
.required-note { color:var(--muted); font-size:.88rem; }
.recaptcha-disclosure { margin:18px 0 0; color:var(--muted); font-size:.82rem; }
.alert { display:grid; gap:3px; margin-bottom:24px; padding:15px 17px; border-radius:8px; }
.alert.success { background:#f3faf4; border:1px solid #b7d9bd; }
.alert.error { background:#fff5f3; border:1px solid #e2b5ad; }
.alert ul { margin:8px 0 0; padding-left:20px; }
.hp-field { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; }
.name-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field-help { display:block; margin-top:6px; color:var(--muted); font-size:.84rem; }
.phone-input-group { display:grid; grid-template-columns:minmax(170px,.8fr) minmax(150px,1.2fr); gap:10px; }
.phone-input-group select { width:100%; border:1px solid #cfcac3; border-radius:8px; padding:12px 13px; background:#fff; color:var(--ink); font:inherit; }
.phone-input-group select:focus { outline:none; border-color:var(--orange); box-shadow:0 0 0 3px rgba(247,148,29,.14); }

@media (max-width:900px) {
    .contact-layout { grid-template-columns:1fr; gap:36px; }
    .contact-intro { position:static; }
}
@media (max-width:620px) {
    .contact-form-panel { padding:22px; }
    .form-grid,.name-grid,.phone-input-group { grid-template-columns:1fr; gap:0; }
}

/* Dark-theme overrides must follow legacy declarations. */
.contact-section { background:var(--site-bg-alt) !important; }
.contact-intro h2 { color:var(--text-primary) !important; }
.contact-intro > p:not(.eyebrow):not(.contact-note),.contact-note,.required-note,.recaptcha-disclosure,.field-help,.privacy-content { color:var(--text-secondary) !important; }
.contact-info-card { background:rgba(255,122,0,.08) !important; border-left-color:var(--brand-orange) !important; }
.contact-info-card span,.contact-info-card small { color:var(--text-secondary) !important; }
.contact-info-card a,.contact-form label,.privacy-notice summary { color:var(--text-primary) !important; }
.contact-form-panel { background:var(--surface-1) !important; border-color:var(--border-default) !important; box-shadow:var(--shadow-soft) !important; }
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form textarea,.phone-input-group select { background:#f8fafb !important; color:#16212a !important; border-color:#aeb8bf !important; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#68757e !important; }
.privacy-notice { background:var(--surface-2) !important; border-color:var(--border-default) !important; }
.checkbox-row { color:var(--text-secondary) !important; }
.alert.success { background:rgba(52,168,83,.12) !important; border-color:rgba(92,190,116,.55) !important; color:var(--text-primary) !important; }
.alert.error { background:rgba(220,70,60,.12) !important; border-color:rgba(230,105,95,.55) !important; color:var(--text-primary) !important; }
