/* ===================================================================
   contacto.css — vasitos.es
=================================================================== */

/* .vpg-breadcrumb y .vpg-page-title ahora viven en site-chrome.css
   (se cargan en todas las páginas), para no repetirlas en cada CSS
   concreto como este. */

/* Banner WhatsApp */
.vct-wa-banner{ max-width:1160px; margin:22px auto 0; padding:0 40px; }
.vct-wa-banner-inner{ display:flex; align-items:center; gap:16px; background:var(--orange-wash); border-radius:12px; padding:18px 22px; flex-wrap:wrap; }
.vct-wa-icon{ width:30px; height:30px; color:#25D366; flex-shrink:0; }
.vct-wa-banner-text{ flex:1; min-width:200px; }
.vct-wa-banner-text b{ display:block; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; font-size:15px; font-weight:700; margin-bottom:2px; }
.vct-wa-banner-text span{ font-size:12px; color:var(--muted); }
.vct-wa-btn{ display:inline-flex; align-items:center; gap:8px; background:#25D366; color:#fff; border-radius:8px; padding:12px 20px; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; font-weight:700; font-size:13px; letter-spacing:.02em; white-space:nowrap; text-decoration:none; }
.vct-wa-btn:hover{ background:#1EBE5A; }
.vct-wa-btn svg{ width:16px; height:16px; }

/* Layout 2 columnas */
.vct-layout{ max-width:1160px; margin:0 auto; padding:32px 40px 70px; display:grid; grid-template-columns:1fr 1.3fr; gap:32px; align-items:start; font-family:'IBM Plex Sans',sans-serif; }

.vct-info-card{ background:var(--step-bg); border-radius:12px; padding:26px; }
.vct-info-card h2{ font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; font-size:18px; margin-bottom:20px; color:var(--ink); }
.vct-info-row{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line-strong); }
.vct-info-row:last-child{ border-bottom:none; padding-bottom:0; }
.vct-info-row:first-of-type{ padding-top:0; }
.vct-info-row svg{ width:19px; height:19px; stroke:var(--orange); flex-shrink:0; margin-top:2px; }
.vct-info-row b{ display:block; font-size:12.5px; font-weight:600; margin-bottom:2px; color:var(--ink); }
.vct-info-row span, .vct-info-row a{ font-size:12px; color:var(--muted); line-height:1.5; text-decoration:none; }
.vct-info-row a:hover{ color:var(--orange); }

.vct-form-card{ background:var(--surface); border-radius:12px; box-shadow:var(--shadow); padding:28px; }
.vct-form-card h2{ font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; font-size:18px; margin-bottom:6px; color:var(--ink); }
.vct-form-card > p{ font-size:12px; color:var(--muted); margin-bottom:22px; }
.vct-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.vct-form-field{ display:flex; flex-direction:column; gap:5px; }
.vct-form-field.full{ grid-column:1/-1; }
.vct-form-field label{ font-size:11px; color:var(--muted); font-weight:500; }
.vct-form-field input, .vct-form-field select, .vct-form-field textarea{
  height:42px; border:1px solid var(--line-strong); border-radius:7px; padding:0 13px;
  font-size:13px; font-family:'IBM Plex Sans',sans-serif; background:var(--surface); color:var(--ink);
}
.vct-form-field textarea{ height:110px; padding:10px 13px; resize:vertical; font-family:inherit; }
.vct-form-field input:focus, .vct-form-field select:focus, .vct-form-field textarea:focus{ outline:none; border-color:var(--orange); box-shadow:0 0 0 3px var(--orange-wash); }
.vct-submit-btn{ width:100%; background:var(--orange); color:#fff; border:none; border-radius:8px; padding:15px 0; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; font-weight:700; letter-spacing:.04em; font-size:14px; cursor:pointer; box-shadow:0 4px 14px rgba(244,96,54,.25); margin-top:6px; }
.vct-submit-btn:hover{ background:#DB4E27; }

.vct-form-success{ background:#EAF4EE; border-left:3px solid #2F7D52; border-radius:10px; padding:20px; }
.vct-form-success b{ display:block; color:#2F7D52; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; font-size:15px; margin-bottom:4px; }
.vct-form-success p{ font-size:12.5px; color:var(--ink); margin:0; }
.vct-form-error{ background:#FCEAE8; border-left:3px solid #E2382C; border-radius:10px; padding:14px 18px; font-size:12.5px; color:var(--ink); margin-bottom:16px; }

@media (max-width:860px){
  .vct-layout{ padding-left:20px; padding-right:20px; }
  .vct-wa-banner{ padding:0 20px; }
  .vct-layout{ grid-template-columns:1fr; gap:18px; }
  .vct-form-grid{ grid-template-columns:1fr; }
}
