.elementor-9906 .elementor-element.elementor-element-d76fc63{--display:flex;}@media(min-width:768px){.elementor-9906 .elementor-element.elementor-element-d76fc63{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-9727c1b */:root {
  --bg: transparent; 
  --paper: #ffffff; 
  --ink: #1d1b17; 
  --muted: #5f5a52; 
  --accent: #b08d57;
  --line: rgba(29,27,23,.12); 
  --soft: rgba(29,27,23,.035);
  --shadow: 0 14px 34px rgba(29,27,23,.10); 
  --shadow2: 0 10px 22px rgba(29,27,23,.08);
  --radius: 18px; 
  --radius2: 14px; 
  --max: 1040px; /* Este es el ancho máximo que controla la alineación */
}

/* Forzar que el menú nativo de WordPress se mantenga al 100% de la pantalla */
body header, 
.elementor-location-header, 
#site-header {
  max-width: none !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Ajustamos el contenedor del bloque superior para centrarlo e igualarlo a las tarjetas */
.regularizacion-header { 
  max-width: var(--max); 
  margin: 40px auto 0 auto; 
  padding: 0 16px; 
  width: 100%;
  box-sizing: border-box;
}

.hero { 
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.85)); 
  border: 1px solid var(--line); 
  border-radius: 22px; 
  box-shadow: var(--shadow); 
  padding: 28px 22px; 
  position: relative; 
  overflow: hidden; 
  text-align: left;
  width: 100%;
  box-sizing: border-box;
}

.badge { 
  display: inline-flex; 
  align-items: center; 
  gap: 8px; 
  padding: 7px 12px; 
  border-radius: 999px; 
  border: 1px solid rgba(176,141,87,.30); 
  background: rgba(176,141,87,.10); 
  color: var(--ink); 
  font-size: 12px; 
  font-weight: 600; 
  width: fit-content; 
}

.badge-dot { 
  width: 7px; 
  height: 7px; 
  border-radius: 99px; 
  background: var(--accent); 
  box-shadow: 0 0 0 4px rgba(176,141,87,.16); 
  flex: 0 0 auto; 
}

h1 { 
  margin: 14px 0 10px; 
  font-family: "Playfair Display", serif; 
  font-size: clamp(28px, 4vw, 44px); 
  line-height: 1.15; 
  color: #1d1b17 !important; 
}

.subtitle { 
  margin: 0; 
  color: var(--muted); 
  max-width: 78ch; 
  font-size: 16px; 
}

.contact-gate { 
  margin-top: 18px; 
  padding: 18px 16px 16px; 
  border-radius: 16px; 
  border: 1px solid rgba(176,141,87,.30); 
  background: rgba(176,141,87,.06); 
  position: relative; 
  z-index: 1; 
}

.gate-label { 
  font-size: 13px; 
  font-weight: 600; 
  color: var(--muted); 
  margin-bottom: 10px; 
  display: flex; 
  align-items: center; 
  gap: 7px; 
}

.gate-label::before { 
  content: ""; 
  display: inline-block; 
  width: 6px; 
  height: 6px; 
  border-radius: 50%; 
  background: var(--accent); 
}

.gate-fields { 
  display: flex; 
  flex-wrap: wrap; 
  gap: 10px; 
  align-items: flex-end; 
}

.gate-field { 
  display: flex; 
  flex-direction: column; 
  gap: 5px; 
  flex: 1 1 180px; 
}

.gate-field label { 
  font-size: 12px; 
  font-weight: 600; 
  color: var(--muted); 
  letter-spacing: .02em; 
  text-align: left; 
}

.gate-input { 
  padding: 10px 13px; 
  border-radius: 10px; 
  border: 1px solid rgba(29,27,23,.18); 
  background: rgba(255,255,255,.85); 
  font-size: 14px; 
  color: var(--ink); 
  outline: none; 
  transition: border-color .15s, box-shadow .15s; 
  width: 100%; 
}

.gate-input:focus { 
  border-color: rgba(176,141,87,.6); 
  box-shadow: 0 0 0 3px rgba(176,141,87,.12); 
}

.gate-input.invalid { 
  border-color: rgba(200,60,60,.5); 
  box-shadow: 0 0 0 3px rgba(200,60,60,.08); 
}

.gate-error { 
  font-size: 11px; 
  color: #c03c3c; 
  margin-top: 2px; 
  display: none; 
}

.gate-field.show-error .gate-error { 
  display: block; 
}

.cta-wrap { 
  margin-top: 14px; 
  display: flex; 
  flex-wrap: wrap; 
  gap: 10px; 
  align-items: center; 
}

.cta-btn { 
  display: inline-flex; 
  align-items: center; 
  gap: 10px; 
  padding: 11px 14px; 
  border-radius: 999px; 
  border: 1px solid rgba(29,27,23,.18); 
  background: var(--ink); 
  color: #fff; 
  text-decoration: none; 
  font-weight: 700; 
  box-shadow: var(--shadow2); 
  transition: transform .08s, background .15s, opacity .25s; 
}

.cta-btn:hover { 
  background: #11100e; 
  border-color: rgba(176,141,87,.45); 
  color: #fff; 
}

.cta-btn.locked { 
  pointer-events: none; 
  opacity: .35; 
  filter: grayscale(.4); 
}

.cta-icon { 
  width: 30px; 
  height: 30px; 
  border-radius: 999px; 
  display: grid; 
  place-items: center; 
  background: rgba(255,255,255,.10); 
  border: 1px solid rgba(255,255,255,.14); 
  font-size: 16px; 
  flex: 0 0 auto; 
}

.cta-hint { 
  font-size: 13px; 
  color: var(--muted); 
}

/* Centramos el cuerpo de las tarjetas principales */
main { 
  max-width: var(--max); 
  margin: 0 auto; 
  padding: 14px 16px 56px 16px; 
  display: grid; 
  grid-template-columns: 1fr; 
  gap: 14px; 
  box-sizing: border-box;
}

.card { 
  background: rgba(255, 255, 255, 0.85); 
  border: 1px solid var(--line); 
  border-radius: var(--radius); 
  box-shadow: var(--shadow2); 
  padding: 18px; 
  text-align: left; 
}

.card h2 { 
  margin: 0 0 10px; 
  font-size: 18px; 
  font-weight: 700; 
  display: flex; 
  align-items: center; 
  gap: 10px; 
  flex-wrap: wrap; 
  color: #1d1b17 !important; 
}

.num { 
  width: 34px; 
  height: 34px; 
  border-radius: 12px; 
  display: inline-grid; 
  place-items: center; 
  border: 1px solid rgba(176,141,87,.35); 
  background: rgba(176,141,87,.12); 
  font-weight: 800; 
  font-size: 13px; 
  flex: 0 0 auto; 
  color: var(--ink); 
}

.pill { 
  margin-left: auto; 
  padding: 5px 10px; 
  border-radius: 999px; 
  border: 1px solid rgba(29,27,23,.12); 
  background: var(--soft); 
  color: var(--muted); 
  font-size: 12px; 
  font-weight: 600; 
}

.note { 
  margin-top: 12px; 
  padding: 12px 14px; 
  border-radius: var(--radius2); 
  border: 1px dashed rgba(176,141,87,.45); 
  background: rgba(176,141,87,.08); 
}

.cols { 
  display: grid; 
  grid-template-columns: 1fr; 
  gap: 12px; 
  margin-top: 10px; 
}

@media(min-width:900px){ 
  .cols { grid-template-columns: 1fr 1fr; } 
}

.mini { 
  border: 1px solid var(--line); 
  border-radius: 16px; 
  padding: 14px; 
  background: rgba(255,255,255,.72); 
  text-align: left; 
}

.mini h3 { 
  margin: 0 0 8px; 
  font-size: 14px; 
  color: #1d1b17 !important; 
}

.regularizacion-footer { 
  max-width: var(--max); 
  margin: 0 auto; 
  padding: 0 16px 40px 16px; 
  color: var(--muted); 
  font-size: 13px; 
  text-align: left; 
  box-sizing: border-box;
}

.footer-links { 
  margin-top: 10px; 
  display: flex; 
  gap: 14px; 
  flex-wrap: wrap; 
}

.footer-links a { 
  color: var(--ink); 
  text-decoration: underline; 
  text-underline-offset: 3px; 
  font-weight: 600; 
}/* End custom CSS */