/* ===== WPForms #232 — Ultra compacto en footer ===== */
#wpforms-232 { max-width: 560px; margin: 0 auto; }

/* Quita espacios verticales “invisibles” del layout */
#wpforms-232 .wpforms-field-container,
#wpforms-232 .wpforms-field-row { margin: 0 !important; }
#wpforms-232 .wpforms-field { margin: 4px 0 !important; }

/* Labels muy pegadas y pequeñas */
#wpforms-232 .wpforms-field-label {
  font-size: 11px !important;
  letter-spacing: .4px;
  margin: 0 0 1px !important;
  line-height: 1.05 !important;
  text-transform: uppercase;
  color: #fff;
}

/* Inputs / textarea con mínimo padding y subrayado */
#wpforms-232 input[type="text"],
#wpforms-232 input[type="email"],
#wpforms-232 input[type="tel"],
#wpforms-232 textarea {
  padding: 3px 0 !important;           /* ↓ aún más bajo */
  line-height: 1.15 !important;
  min-height: 18px !important;
  font-size: 13px !important;

  border: none !important;
  border-bottom: 1px solid #fff !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  width: 100%;
}
#wpforms-232 input:focus,
#wpforms-232 textarea:focus {
  outline: none !important;
  border-bottom-color: #999 !important;
}

/* Form del footer (ajusta el ID si cambia) */
#wpforms-232 .wpforms-submit-container{ width:100% !important; }
#wpforms-232 .wpforms-submit{
  width:100% !important;
  display:block !important;
  box-sizing:border-box !important;
  max-width:none !important;
}

/* === Contact (primer CF7 de la página): fondo blanco, letras/lineas negras === */
.wpcf7 form.wpcf7-form:first-of-type{
  background:#fff !important;
  color:#000 !important;
  max-width:980px;
  margin:0 auto;
}

/* Labels sobrias */
.wpcf7 form.wpcf7-form:first-of-type label,
.wpcf7 form.wpcf7-form:first-of-type .jm-label{
  color:#000 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:500;
}

/* Inputs/textarea subrayados en negro (estética “invertida”) */
.wpcf7 form.wpcf7-form:first-of-type input[type="text"],
.wpcf7 form.wpcf7-form:first-of-type input[type="email"],
.wpcf7 form.wpcf7-form:first-of-type input[type="tel"],
.wpcf7 form.wpcf7-form:first-of-type select,
.wpcf7 form.wpcf7-form:first-of-type textarea{
  width:100%;
  background:#fff !important;
  color:#000 !important;
  border:none !important;
  border-bottom:1px solid #000 !important; /* línea negra */
  padding:10px 2px 12px !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
  text-transform:none !important;
}
.wpcf7 form.wpcf7-form:first-of-type ::placeholder{ color:#555 !important; }
.wpcf7 form.wpcf7-form:first-of-type textarea{ min-height:160px; }

/* Botón borde negro, fondo blanco; ancho completo */
.wpcf7 form.wpcf7-form:first-of-type input[type="submit"]{
  width:100% !important;
  display:block !important;
  box-sizing:border-box !important;
  background:#fff !important;
  color:#000 !important;
  border:2px solid #000 !important;
  padding:14px 22px !important;
  letter-spacing:.06em;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .02s ease;
}
.wpcf7 form.wpcf7-form:first-of-type input[type="submit"]:hover{
  background:#000 !important; color:#fff !important;
}

/* Si usas una grilla para los campos */
.wpcf7 form.wpcf7-form:first-of-type .jm-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:28px 40px;
}
.wpcf7 form.wpcf7-form:first-of-type .jm-full{ grid-column:1 / -1; }

@media (max-width:768px){
  .wpcf7 form.wpcf7-form:first-of-type .jm-grid{ grid-template-columns:1fr; gap:22px; }
}
/* ——— Pulido final CF7 (form de contacto) ——— */

/* Tipografía y espaciados */
.wpcf7 form.wpcf7-form:first-of-type label,
.wpcf7 form.wpcf7-form:first-of-type .jm-label{
  font-size:12.5px; letter-spacing:.06em; text-transform:none;
  margin-bottom:8px; color:#000 !important;
}
.wpcf7 form.wpcf7-form:first-of-type p{ margin:0 0 18px; }

/* Inputs/textarea: línea negra + foco más visible */
.wpcf7 form.wpcf7-form:first-of-type input[type="text"],
.wpcf7 form.wpcf7-form:first-of-type input[type="email"],
.wpcf7 form.wpcf7-form:first-of-type input[type="tel"],
.wpcf7 form.wpcf7-form:first-of-type select,
.wpcf7 form.wpcf7-form:first-of-type textarea{
  background:#fff !important; color:#000 !important;
  border:none !important; border-bottom:1px solid #000 !important;
  padding:10px 2px 12px !important; border-radius:0 !important;
  box-shadow:none !important; outline:none !important;
}
.wpcf7 form.wpcf7-form:first-of-type input:focus,
.wpcf7 form.wpcf7-form:first-of-type select:focus,
.wpcf7 form.wpcf7-form:first-of-type textarea:focus{
  border-bottom-color:#000 !important;
  box-shadow:0 2px 0 rgba(0,0,0,.06) inset !important;
}
.wpcf7 form.wpcf7-form:first-of-type ::placeholder{ color:#555 !important; }
.wpcf7 form.wpcf7-form:first-of-type textarea{ min-height:160px; resize:vertical; }

/* Radios y checkboxes en negro */
.wpcf7 form.wpcf7-form:first-of-type input[type="radio"],
.wpcf7 form.wpcf7-form:first-of-type input[type="checkbox"]{
  accent-color:#000;
}

/* Botón full-width, borde negro, hover invertido */
.wpcf7 form.wpcf7-form:first-of-type .jm-actions input[type="submit"]{
  width:100% !important; display:block !important;
  background:#fff !important; color:#000 !important;
  border:2px solid #000 !important; padding:14px 22px !important;
  letter-spacing:.06em; cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .02s ease;
}
.wpcf7 form.wpcf7-form:first-of-type .jm-actions input[type="submit"]:hover{
  background:#000 !important; color:#fff !important;
}
.wpcf7 form.wpcf7-form:first-of-type .jm-actions input[type="submit"]:active{
  transform:translateY(1px);
}

/* Mensajes de validación/éxito con look minimal */
.wpcf7 form.wpcf7-form:first-of-type .wpcf7-not-valid-tip{
  color:#d00; font-size:12.5px; margin-top:6px;
}
.wpcf7 form.wpcf7-form:first-of-type input.wpcf7-not-valid,
.wpcf7 form.wpcf7-form:first-of-type textarea.wpcf7-not-valid,
.wpcf7 form.wpcf7-form:first-of-type select.wpcf7-not-valid{
  border-bottom-color:#d00 !important;
}
.wpcf7 form.wpcf7-form:first-of-type .wpcf7-response-output{
  border:1px solid #000 !important; color:#000 !important;
  background:#fff !important; margin:18px 0 0; padding:12px 14px;
}

/* (Opcional) Grilla si usas .jm-grid / .jm-full */
.wpcf7 form.wpcf7-form:first-of-type .jm-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:28px 40px;
}
.wpcf7 form.wpcf7-form:first-of-type .jm-full{ grid-column:1 / -1; }
@media (max-width:768px){
  .wpcf7 form.wpcf7-form:first-of-type .jm-grid{ grid-template-columns:1fr; gap:22px; }
}

.jm-contact .jm-footer {
  grid-column: 1 / -1;   /* ocupa todas las columnas */
  display: flex;
  justify-content: center; /* centrado */
  margin-top: 40px;       /* espacio extra arriba */
}

.jm-contact input[type="submit"] {
  min-width: 200px;        /* ancho mínimo bonito */
  text-align: center;
}

/* Footer centrado tipo Josh Martin */
.jm-contact .jm-footer {
  grid-column: 1 / -1;       /* ocupa todas las columnas */
  display: flex;              /* usa flex para centrar */
  justify-content: center;    /* centrado horizontal */
  margin-top: 40px;           /* aire arriba */
}
/* Fallback si por algo no está activo el grid */
.jm-contact:not(.jm-grid) .jm-footer { 
  width:100%;
  text-align:center;
}
/* Botón: tamaño mínimo y bloque inline para poder centrarse */
.jm-contact .jm-footer .wpcf7-submit,
.jm-contact input[type="submit"]{
  min-width:220px; 
  text-align:center; 
  display:inline-block;
}

.jm-contact .jm-footer { display:block; text-align:center !important; }
.jm-contact .jm-footer .wpcf7-submit { display:inline-block; }

.jm-contact .jm-hint {
  grid-column: 1 / -1;   /* fuerza a ocupar toda la fila */
  text-align: center;    /* centrado */
  margin-top: 20px;      /* espacio arriba */
  font-size: 13px;
  color: var(--muted);
}

/* --- FORZAR GRID INTERNO DEL FORM --- */
.jm-contact.jm-grid{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  gap:16px !important;
}

/* Asegura que los wrappers del CF7 se comporten como bloques de 100% */
.jm-contact .wpcf7-form-control-wrap{display:block;width:100%}

/* Reseteo de anchos: que JM use su grid, no el de tw-grid */
.jm-contact.jm-grid .jm-field{width:100% !important}

/* Spans del layout */
@media (min-width:800px){
  .jm-contact.jm-grid .span-12{grid-column:1 / -1 !important;}
  .jm-contact.jm-grid .span-6{grid-column:span 6 !important;}
  .jm-contact.jm-grid .span-3{grid-column:span 3 !important;}
}
/* En mobile todo a una columna */
@media (max-width:799px){
  .jm-contact.jm-grid .span-12,
  .jm-contact.jm-grid .span-6,
  .jm-contact.jm-grid .span-3{grid-column:1 / -1 !important;}
}

/* La nota de privacidad debe ser una fila completa y centrada */
.jm-contact .jm-hint{
  grid-column:1 / -1 !important;
  text-align:center;
  margin-top:20px;
  font-size:13px;
  color:var(--muted);
}

/* Footer centrado (botón) */
.jm-contact .jm-footer{
  grid-column:1 / -1 !important;
  display:flex;
  justify-content:center;
  margin-top:40px;
}
.jm-contact .jm-footer .wpcf7-submit{display:inline-block;min-width:220px}

/* Forzar que los bloques de ancho completo ocupen toda la fila
   dentro del grid que definiste como 2 columnas en first-of-type */
.wpcf7 form.wpcf7-form:first-of-type .jm-grid .span-12,
.wpcf7 form.wpcf7-form:first-of-type .jm-grid .jm-full,
.wpcf7 form.wpcf7-form:first-of-type .jm-hint,
.wpcf7 form.wpcf7-form:first-of-type .jm-footer {
  grid-column: 1 / -1 !important;
}

/* Asegura que el wrapper del textarea se comporte como bloque */
.wpcf7 form.wpcf7-form:first-of-type .jm-grid .jm-field { width: 100% }

/* (Opcional) más alto el textarea */
.wpcf7 form.wpcf7-form:first-of-type .jm-textarea { min-height: 200px; }

/* Nota de privacidad con mismo estilo que los labels */
.jm-contact .jm-hint {
  font-size: 12.5px;          /* igual que los labels */
  letter-spacing: .06em;      /* mismo tracking */
  text-transform: none;       /* sin mayúsculas forzadas */
  font-weight: 500;           /* mismo peso */
  color: #000;                /* mismo color que labels */
  text-align: center;
  margin-top: 20px;
}

#dlw-contact { background:#000 !important; color:#fff !important; }
#dlw-contact .jm-label, #dlw-contact label { color:#fff !important; }
#dlw-contact input[type="text"],
#dlw-contact input[type="email"],
#dlw-contact input[type="tel"],
#dlw-contact input[type="number"],
#dlw-contact input[type="date"],
#dlw-contact select,
#dlw-contact textarea {
  background:transparent !important; color:#fff !important;
  border:none !important; border-bottom:2px solid #fff !important;
  border-radius:0 !important; box-shadow:none !important; outline:none !important;
}
#dlw-contact ::placeholder { color:#aaa !important; opacity:1 !important; }
#dlw-contact .jm-footer { display:flex; justify-content:center; margin-top:24px; }
#dlw-contact .wpcf7-submit {
  background:transparent !important; color:#fff !important; border:2px solid #fff !important;
  width:100% !important; max-width:720px !important; padding:16px 22px !important;
  transition:background .2s, color .2s;
}
#dlw-contact .wpcf7-submit:hover { background:#fff !important; color:#000 !important; }
#dlw-contact .jm-hint { color:#fff !important; opacity:.85; text-align:center; }

#dlw-contact {
  background:#000 !important;
  color:#fff !important;
  margin:0 auto !important;      /* elimina margen superior */
  padding:0 !important;          /* elimina el padding interno extra */
  border:none !important;
  max-width:100% !important;     /* ocupa todo el ancho disponible */
}

html {
  scroll-behavior: smooth;
}
.mobile-menu-overlay .elementor-nav-menu--dropdown {
  backdrop-filter: blur(6px);
}
position: fixed
height: 100vh
inset: 0
.mobile-menu-overlay .elementor-nav-menu--dropdown {
  background: rgba(245,245,240,0.95);
  backdrop-filter: blur(6px);
}
/* Transición suave del dropdown */
.elementor-nav-menu--dropdown {
  transition: max-height 0.4s ease, opacity 0.3s ease;
  overflow: hidden;
}

/* Mejora visual del empuje */
.elementor-nav-menu--dropdown ul {
  transition: transform 0.4s ease, opacity 0.3s ease;
}
.elementor-nav-menu--dropdown a {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.elementor-nav-menu--dropdown a:hover {
  opacity: 0.7;
}