/* =============================================================
   BLUE SEA SERVICES - estilos de la pagina de Contacto.
   Carga condicional (is_page_template page-contacto.php).
   Regla de contraste: banda blanca -> tarjeta NAVY + texto blanco;
   inputs blancos (maxima legibilidad) con foco cyan.
   Solo aporta el formulario; nav/footer/tarjetas info vienen de bluesea.css.
   ============================================================= */
.contactpage .cp-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start;
}
@media(max-width:900px){.contactpage .cp-grid{grid-template-columns:1fr}}

/* Tarjeta del formulario: navy sobre banda blanca */
.contactpage .form-card{
  background:var(--navy);color:#fff;border-radius:18px;padding:30px 30px 34px;
  border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden;
}
.contactpage .form-card h3{margin:0 0 4px;font-size:1.3rem;color:#fff}
.contactpage .form-card .sub{margin:0 0 22px;color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.5}

.contactpage .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.contactpage .form-grid{grid-template-columns:1fr}}
.contactpage .field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.contactpage .field.full{grid-column:1 / -1}
.contactpage label{font-weight:600;font-size:.82rem;letter-spacing:.01em;color:rgba(255,255,255,.92)}
.contactpage label .req{color:var(--cyan)}

.contactpage input,
.contactpage select,
.contactpage textarea{
  width:100%;background:#fff;color:#0c1830;border:1px solid #cdd8e8;border-radius:10px;
  padding:12px 14px;font-size:.96rem;font-family:inherit;
  transition:border-color var(--dur-fast,.15s) var(--ease-out,ease),box-shadow var(--dur-fast,.15s) var(--ease-out,ease);
}
.contactpage textarea{min-height:128px;resize:vertical}
.contactpage input::placeholder,
.contactpage textarea::placeholder{color:#6b7890}
.contactpage input:focus,
.contactpage select:focus,
.contactpage textarea:focus{
  outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(93,196,238,.28);
}

.contactpage .form-actions{margin-top:8px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.contactpage .form-legal{font-size:.78rem;color:rgba(255,255,255,.6);margin-top:16px;line-height:1.5}

/* Honeypot: fuera de pantalla, invisible para humanos */
.contactpage .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Mensajes de estado */
.contactpage .form-note{
  border-radius:12px;padding:14px 16px;margin-bottom:22px;font-size:.92rem;line-height:1.5;
  border:1px solid transparent;
}
.contactpage .form-note.ok{background:rgba(46,160,107,.16);border-color:rgba(46,160,107,.5);color:#bdf0d6}
.contactpage .form-note.err{background:rgba(214,69,69,.16);border-color:rgba(214,69,69,.5);color:#f2c4c4}

@media(prefers-reduced-motion:reduce){
  .contactpage input,.contactpage select,.contactpage textarea{transition:none}
}
