/* Contacto público: formulario nativo y canales configurados. Colores de marca compartidos. */
.sv-contact-section-intro { margin-top:18px; max-width:780px; color:var(--sv-muted); font-size:15px; line-height:1.8; }
.sv-contact-form { margin-top:28px; }
/* Mientras se escribe, la reserva flotante no tapa los campos ni el teclado móvil. */
.sv-page-contact:has(.sv-contact-form:focus-within) .sv-floating-cta { visibility:hidden; pointer-events:none; }
.sv-contact-form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 26px; }
.sv-contact-form .sv-field { min-width:0; }
.sv-contact-phone-field { grid-column:1 / -1; }
.sv-contact-form .sv-field input, .sv-contact-form .sv-field textarea { min-width:0; max-width:100%; }
.sv-contact-form .sv-field textarea { min-height:150px; }
.sv-contact-field-error { color:#7A1C16; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.sv-contact-form [aria-invalid="true"] { border-color:#B3261E; }
.sv-contact-consent { margin-top:22px; font-size:14px; }
.sv-contact-consent > p { margin:0 0 10px; color:var(--sv-muted); }
.sv-contact-consent label { display:flex; align-items:flex-start; gap:10px; }
.sv-contact-consent input { flex:0 0 auto; width:18px; height:18px; margin:3px 0 0; accent-color:var(--sv-blue); }
.sv-contact-consent label > span { min-width:0; }
.sv-contact-consent a { color:var(--sv-blue); text-decoration:underline; text-underline-offset:3px; }
.sv-contact-consent .sv-contact-field-error { display:block; margin:6px 0 0 28px; }
.sv-contact-submit { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:26px; }
.sv-contact-submit p { font-size:12px; color:var(--sv-muted); }
.sv-contact-feedback { margin:26px 0 0; overflow-wrap:anywhere; }
.sv-contact-feedback p { margin-top:5px; }
.sv-contact-direct-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:22px; margin-top:28px; }
.sv-contact-direct-link { display:flex; align-items:center; gap:18px; min-width:0; padding:24px; border:1px solid var(--sv-line); border-radius:6px; background:var(--sv-white); color:var(--sv-navy); transition:background .2s,border-color .2s; }
a.sv-contact-direct-link:hover { background:var(--sv-pale); border-color:var(--sv-blue); }
.sv-contact-direct-link > .sv-icon:first-child { color:var(--sv-accent); width:24px; height:24px; }
a.sv-contact-direct-link > .sv-icon:last-child { width:18px; height:18px; margin-left:auto; }
.sv-contact-direct-copy { display:flex; flex-direction:column; gap:3px; min-width:0; overflow-wrap:anywhere; }
.sv-contact-direct-copy strong { font-size:15px; }
.sv-contact-direct-copy > span { color:var(--sv-muted); font-size:14px; }
.sv-contact-direct-schedule { margin-top:22px; color:var(--sv-muted); font-size:13px; }
@media (min-width:681px) and (max-width:950px) {
 .sv-contact-direct-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sv-contact-direct-link:last-child:nth-child(odd) { grid-column:1 / -1; }
}
@media (max-width:680px) {
 .sv-contact-form { margin-top:24px; }
 .sv-contact-form-fields { grid-template-columns:minmax(0,1fr); gap:19px; }
 .sv-contact-form .sv-field textarea { min-height:145px; }
 .sv-contact-consent { font-size:13px; }
 .sv-contact-submit { align-items:flex-start; flex-direction:column; gap:12px; }
 .sv-contact-direct-links { grid-template-columns:minmax(0,1fr); gap:14px; margin-top:24px; }
 .sv-contact-direct-link { gap:14px; padding:20px; }
}
