/* Alto contraste y lectura más cómoda para la portada del .com. */
:root {
  color-scheme: only dark;
  --tinta: #f7f4e9;
  --suave: #d0dbd0;
  --linea: #60766b;
  --lima: #d9edbc;
  --fondo: #142e28;
  --panel: #203e35;
  --profundo: #0d231e;
}
body { background: var(--fondo); color: var(--tinta); font-size: 18px; }
.franja { background: var(--profundo); font-size: 14px; padding: 10px 0; }
.cabecera { background: #142e28; border-color: var(--linea); }
.navegacion { font-size: 16px; gap: 23px; }
.telefono-cabecera { font-size: 22px; }
.telefono-cabecera span { font-size: 14px; color: var(--suave); }
.boton { background: #e4c58d; color: #142e28; font-size: 17px; padding: 18px 24px; }
.boton:hover { background: #f4d9a8; }
.boton-pequeno { font-size: 15px; padding: 14px 17px; gap: 12px; }
.antetitulo { font-size: 13px; letter-spacing: 1.5px; color: #d9edbc; }
.antetitulo > span { background: #d9edbc; }
h1 em, h2 em { color: #d9edbc; }
.hero-descripcion { font-size: 19px; max-width: 480px; line-height: 1.75; }
.enlace-flecha { font-size: 16px; text-decoration: underline; text-underline-offset: 5px; }
.navegacion a:hover, .enlace-flecha:hover { color: #d9edbc; }
.nota { font-size: 15px; }
.foto-etiqueta { background: #f6f4ed; color: #173f37; font-size: 16px; }
.foto-etiqueta strong { font-size: 26px; }
.foto-numero { font-size: 12px; background: #173f37; }
.promocion { flex-wrap: wrap; font-size: 15px; }
.promocion > span { font-size: 12px; border-color: #a2ba86; }
.promocion strong { font-size: 16px; }
.promocion a { font-size: 14px; }
.confianza { font-size: 15px; }
.titulo-fila > p { font-size: 17px; }
.modelo-imagen > span { background: #173f37; color: #fff; font-size: 13px; width: 34px; height: 34px; }
.modelo-tipo { color: #d9edbc; font-size: 13px; }
.modelo-texto > p:not(.modelo-tipo) { font-size: 17px; min-height: 82px; }
.modelo-texto h3 { font-size: 33px; }
.ayuda-modelo { font-size: 16px; flex-wrap: wrap; }
.proceso { background: var(--profundo); color: var(--tinta); }
.proceso .antetitulo { color: #d9edbc; }
.proceso-intro > p:not(.antetitulo), .pasos p { color: var(--suave); font-size: 17px; }
.pasos h3 { font-size: 23px; }
.pasos li { border-color: var(--linea); }
.pasos li > span { color: #d9edbc; }
.boton-claro { background: #d9edbc; color: #142e28; }
.boton-claro:hover { background: #ecf5dc; }
.detalle-imagen { background: #e7e8df; }
.detalle-texto > p:not(.antetitulo) { font-size: 17px; }
.lista-detalles { font-size: 17px; }
.lista-detalles span { font-size: 13px; }
.presupuesto { background: var(--panel); }
.presupuesto-intro > p:not(.antetitulo) { font-size: 17px; }
.telefono-grande { font-size: 40px; }
.whatsapp { font-size: 17px; }
.formulario-nuevo { background: var(--profundo); border: 1px solid var(--linea); }
.form-oferta { background: var(--panel); color: var(--tinta); font-size: 14px; flex-wrap: wrap; }
.form-oferta strong { color: #d9edbc; font-size: 16px; }
#form1 { font-size: 16px; }
#form1 > strong { font-size: 28px; }
#form1 .form-group { margin-bottom: 18px; }
#form1 label { color: var(--tinta); font-weight: 500; }
#form1 .form-control { background: #142e28; color: var(--tinta); border: 1px solid #8a9f93; font-size: 18px; padding: 12px; }
#form1 .form-control::placeholder { color: #c7d3c8; opacity: 1; }
#form1 input[type=submit] { background: #e4c58d; color: #142e28 !important; font-size: 16px; min-height: 54px; }
#form1 input[type=submit]:hover { background: #f4d9a8; }
.privacidad-formulario { font-size: 14px; }
.alert { font-size: 16px; }
.alert-danger { color: #ffd4c8; }
.alert-success { color: #d9edbc; }
.dudas > div > p:last-child { font-size: 17px; }
.faq-local > h2 { color: var(--suave); font-size: 16px; }
.faq-local summary { font-size: 18px; min-height: 34px; }
.faq-local details p { font-size: 17px; color: var(--suave); }
.pie-nuevo { background: var(--profundo); }
.pie-superior > p { font-size: 16px; color: var(--suave); }
.pie-superior > a:last-child { font-size: 29px; white-space: nowrap; }
.cobertura { border-color: var(--linea); }
.cobertura summary { font-size: 17px; padding: 5px 0; }
.provincias { font-size: 16px; }
.pie-legal { font-size: 14px; line-height: 1.8; }
.pie-legal nav { flex-wrap: wrap; }
.saltar { background: #e4c58d; color: #142e28; }
.aviso-cookies { background: var(--profundo); color: var(--tinta); border-color: #8a9f93; font-size: 16px; max-width: 360px; }
.aviso-cookies .enlace { font-size: 14px; }
.aviso-cookies .boton { color: #142e28; }
.contacto-movil { background: #e4c58d; color: #142e28; font-size: 16px; font-weight: 600; }
a:focus-visible, summary:focus-visible, button:focus-visible,
input:focus, textarea:focus { outline: 3px solid #e4c58d; outline-offset: 4px; }
@media(max-width:1100px) {
  .navegacion { font-size: 15px; gap: 16px; }
  .acciones { flex-wrap: wrap; }
  .acciones .enlace-flecha { font-size: 16px; }
  .confianza { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
  .modelo-texto > p:not(.modelo-tipo) { min-height: 110px; }
  .promocion a { font-size: 14px; }
}
@media(max-width:760px) {
  .franja { font-size: 13px; }
  .cabecera-interior { min-height: 88px; height: auto; padding-block: 14px; }
  .cabecera .marca-logo { width: 155px; }
  .cabecera .boton-pequeno { font-size: 14px; width: 142px; padding: 12px; line-height: 1.3; min-height: 48px; }
  .cabecera .boton-pequeno span { display: none; }
  .antetitulo { font-size: 12px; }
  .hero-descripcion { font-size: 18px; }
  .boton { font-size: 16px; padding: 16px 20px; }
  .acciones { flex-direction: column; align-items: flex-start; gap: 18px; }
  .acciones .enlace-flecha { font-size: 16px; padding: 6px 0; }
  .nota { font-size: 14px; }
  .promocion { gap: 10px; }
  .promocion strong { font-size: 15px; }
  .promocion a { margin-left: 0; font-size: 14px; padding-block: 4px; }
  .foto-etiqueta { font-size: 15px; }
  .confianza { font-size: 14px; }
  .titulo-fila > p { font-size: 17px; }
  .modelo-texto > p:not(.modelo-tipo) { min-height: 0; font-size: 17px; }
  .modelo-texto .enlace-flecha { font-size: 16px; }
  .modelo-tipo { font-size: 12px; }
  .ayuda-modelo { font-size: 16px; }
  .proceso-intro > p:not(.antetitulo), .pasos p { font-size: 17px; }
  .pasos h3 { font-size: 22px; }
  .detalle-texto > p:not(.antetitulo) { font-size: 17px; }
  .presupuesto-intro > p:not(.antetitulo) { font-size: 17px; }
  .telefono-grande { font-size: 34px; gap: 18px; }
  #form1 { font-size: 16px; }
  #form1 .form-control { font-size: 18px; }
  #form1 > strong { font-size: 27px; }
  .formulario-nuevo { padding: 25px 20px; }
  .faq-local summary { font-size: 18px; }
  .pie-legal { font-size: 14px; }
  .pie-legal nav { gap: 16px; }
  .provincias { font-size: 16px; }
  .aviso-cookies { max-width: calc(100% - 24px); font-size: 16px; }
}
@media(max-width:380px) {
  .cabecera .marca-logo { width: 130px; }
  .cabecera .boton-pequeno { width: 128px; padding: 10px; }
  .telefono-grande { font-size: 30px; gap: 12px; }
}
