/* Contenedor con fondo azul corporativo */
.fcrr-wrap[data-theme="navy"]{
  --navy:#0C2342; --ink:#0F172A; --line:#E7EEF6; --muted:#6B7A90;
  --card:#FFFFFF; --accent:#10B981; --accent-dark:#059669;
  --radius:20px; --shadow:0 16px 40px rgba(12,35,66,.18);
  background:var(--navy);
  padding:60px 0;
}

/* Reset y proporciones profesionales */
.fcrr-wrap *{ box-sizing:border-box; }
.fcrr-form{ max-width:1080px; margin:0 auto; }

.fcrr-grid{
  background:var(--card); color:var(--ink);
  border:1px solid #d7e3f4; border-radius:var(--radius); box-shadow:var(--shadow);
  padding:24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 22px;            /* MÁS AIRE */
  align-items:start;        /* NADA SE PISA */
  grid-auto-rows:minmax(min-content, auto);
}
.fcrr-full{ grid-column:1 / -1; }

.fcrr-field{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.fcrr-field label{ font-size:13px; font-weight:700; color:#0b1b22; }

.fcrr-grid input[type="text"],
.fcrr-grid input[type="tel"],
.fcrr-grid input[type="email"],
.fcrr-grid select,
.fcrr-grid textarea,
.fcrr-grid input[type="file"]{
  width:100%;
  border:1px solid #d9e3f2; background:#fff; color:#0f172a;
  border-radius:14px; padding:12px 14px; font-size:14px;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.fcrr-grid textarea{ min-height:160px; resize:vertical; max-height:45vh; }

.fcrr-grid :focus{
  outline:none; border-color:#a9c4eb; box-shadow:0 0 0 3px rgba(169,196,235,.35);
}

/* Texto ayuda */
.fcrr-help{ font-size:12px; color:#5b6a80; }

/* Honeypot oculto */
.fcrr-hp{ position:absolute; left:-999em; width:1px; height:1px; overflow:hidden; }

/* Consentimiento */
.fcrr-consent{ display:flex; align-items:flex-start; gap:10px; }
.fcrr-consent input{ margin-top:2px; }

/* Acciones */
.fcrr-actions{
  display:flex; gap:12px; flex-wrap:wrap; margin-top:4px;
  position:relative; z-index:2; /* Siempre cliqueables */
}
.fcrr-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:999px; padding:12px 18px; font-weight:800; font-size:13px;
  text-decoration:none; border:1px solid transparent; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.fcrr-btn[disabled]{ opacity:.5; cursor:not-allowed; transform:none !important; }
.fcrr-btn-mail{ background:#fff; color:#0C2342; border:1px solid #dbe7f7; }
.fcrr-btn-mail:hover{ transform:translateY(-2px); border-color:#c3d6f2; box-shadow:0 10px 26px rgba(12,35,66,.15); }
.fcrr-btn-wa{ background:var(--accent); color:#0b1b16; border:1px solid rgba(16,185,129,.35); box-shadow:0 6px 18px rgba(16,185,129,.28); }
.fcrr-btn-wa:hover{ background:var(--accent-dark); color:#fff; transform:translateY(-2px); box-shadow:0 10px 26px rgba(5,150,105,.35); }

/* Toast */
.fcrr-toast{ display:none; margin-top:6px; padding:10px 12px; border-radius:12px; font-size:13px; }
.fcrr-toast.ok{ display:block; background:#ecfdf5; color:#065f46; border:1px solid #bbf7d0; }
.fcrr-toast.err{ display:block; background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }

/* Invalid hint */
.fcrr-grid :invalid{ border-color:#fecaca; }

@media (max-width:900px){ .fcrr-grid{ grid-template-columns:1fr; } }
