/* ==========================================================================
   Ganga Alquiler - hoja de estilo
   Sistema visual heredado de Ganga Renove: verde de marca como acento,
   grafito y negro para superficies premium, Roboto / Roboto Condensed.

   Las fuentes se sirven desde este mismo dominio (subconjunto latino, ~17 KB
   cada una): sin peticiones a Google Fonts, mas rapido y sin ceder datos de
   los visitantes a un tercero.
   ========================================================================== */

@font-face{
  font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fuentes/roboto-400.woff2') format('woff2');
}
@font-face{
  font-family:'Roboto';font-style:normal;font-weight:500 700;font-display:swap;
  src:url('/assets/fuentes/roboto-700.woff2') format('woff2');
}
@font-face{
  font-family:'Roboto Condensed';font-style:normal;font-weight:700;font-display:swap;
  src:url('/assets/fuentes/roboto-cond-700.woff2') format('woff2');
}

:root{
  --verde:#7ca106;
  --verde-hover:#8fb90a;
  --verde-suave:#f2f7e4;
  --grafito:#343434;
  --negro:#1a1a1a;
  --negro2:#111111;
  --blanco:#ffffff;
  --gris-texto:#5d5d5d;
  --gris-medio:#8a8a8a;
  --gris-borde:#e6e6e6;
  --gris-fondo:#f5f5f4;
  --rojo:#c0392b;
  --ambar:#f0b429;
  --sombra:0 1px 3px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.05);
  --sombra-alta:0 4px 12px rgba(0,0,0,.08), 0 18px 46px rgba(0,0,0,.10);
  --radio:10px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  color:var(--grafito);background:var(--blanco);line-height:1.55;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Roboto Condensed','Roboto',sans-serif;font-weight:700;line-height:1.12;}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font-family:inherit;}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.wrap-estrecho{max-width:860px;margin:0 auto;padding:0 24px;}

.kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--verde);margin-bottom:12px;}
.centro{text-align:center;}
.oculto{display:none !important;}

/* ---------------------------------------------------------------- botones -- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 30px;border-radius:6px;font-weight:700;font-size:15px;
  text-decoration:none;transition:.16s;cursor:pointer;border:none;line-height:1.2;}
.btn-verde{background:var(--verde);color:#fff;}
.btn-verde:hover{background:var(--verde-hover);transform:translateY(-1px);}
.btn-verde:disabled{background:#c6d18f;cursor:not-allowed;transform:none;}
.btn-grafito{background:var(--grafito);color:#fff;}
.btn-grafito:hover{background:#222;}
.btn-linea{border:2px solid var(--gris-borde);color:var(--grafito);background:#fff;}
.btn-linea:hover{border-color:var(--grafito);}
.btn-ghost{border:2px solid rgba(255,255,255,.32);color:#fff;background:transparent;}
.btn-ghost:hover{border-color:#fff;}
.btn-peq{padding:10px 18px;font-size:14px;}
.btn-ancho{width:100%;}

/* ---------------------------------------------------------------- cabecera -- */
header{position:sticky;top:0;z-index:60;background:rgba(17,17,17,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.07);}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px;gap:20px;}
.nav .logo img{height:40px;width:auto;}
.nav ul{display:flex;gap:28px;list-style:none;align-items:center;}
.nav a{color:#d8d8d8;text-decoration:none;font-size:15px;}
.nav a:hover{color:#fff;}
.nav-acciones{display:flex;align-items:center;gap:14px;}
.cesta-btn{position:relative;display:inline-flex;align-items:center;gap:8px;
  color:#fff;text-decoration:none;font-size:14px;font-weight:700;
  border:1px solid rgba(255,255,255,.2);padding:9px 16px;border-radius:6px;}
.cesta-btn:hover{border-color:var(--verde);}
.cesta-num{background:var(--verde);color:#fff;border-radius:20px;
  min-width:20px;height:20px;display:inline-flex;align-items:center;
  justify-content:center;font-size:12px;padding:0 6px;}
/* En movil la navegacion no desaparece: se convierte en una tira que se
   desliza en horizontal bajo el logo. Sin menu hamburguesa ni JavaScript. */
@media(max-width:940px){
  .nav{height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:10px;row-gap:10px;}
  .nav .logo{order:1;}
  .nav-acciones{order:2;margin-left:auto;}
  .nav ul{order:3;width:100%;gap:20px;overflow-x:auto;padding-bottom:4px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .nav ul::-webkit-scrollbar{display:none;}
  .nav ul li{flex:0 0 auto;}
  .nav a{font-size:14px;white-space:nowrap;}
}

/* -------------------------------------------------------------------- hero -- */
.hero{background:linear-gradient(120deg,#111 0%,#1e1e1e 55%,#262626 100%);
  color:#fff;position:relative;overflow:hidden;}
.hero::after{content:'';position:absolute;right:-160px;top:-120px;width:520px;height:520px;
  background:radial-gradient(circle,rgba(124,161,6,.16),transparent 68%);pointer-events:none;}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:48px;align-items:center;padding:76px 0 64px;}
.hero-grid>*{min-width:0;}
.hero h1{font-size:clamp(36px,5vw,58px);margin-bottom:18px;}
.hero h1 .g{color:var(--verde);}
.hero p.sub{font-size:18px;color:#c9c9c9;max-width:520px;margin-bottom:30px;}
.hero-datos{display:flex;gap:34px;flex-wrap:wrap;margin-top:34px;}
.hero-datos div span{display:block;}
.hero-datos .n{font-family:'Roboto Condensed',sans-serif;font-size:30px;
  font-weight:700;color:var(--verde);line-height:1;}
.hero-datos .t{font-size:13px;color:#9a9a9a;margin-top:5px;}
.hero-visual{position:relative;border-radius:14px;overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.45);background:#000;aspect-ratio:4/3;}
.hero-visual img{width:100%;height:100%;object-fit:cover;opacity:.92;}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;padding:52px 0 44px;gap:34px;}
  .hero-visual{display:none;}
}

/* ------------------------------------------------------------ barra fechas -- */
.barra-fechas{background:#fff;border:1px solid var(--gris-borde);border-radius:var(--radio);
  box-shadow:var(--sombra-alta);padding:16px;display:grid;
  grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;}
.barra-fechas.en-hero{margin-top:6px;}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0;}
.campo label{font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gris-medio);}
.campo input,.campo select,.campo textarea{
  border:1px solid var(--gris-borde);border-radius:6px;padding:12px 13px;
  font-size:15px;font-family:inherit;color:var(--grafito);background:#fff;width:100%;}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;border-color:var(--verde);box-shadow:0 0 0 3px rgba(124,161,6,.14);}
.campo .ayuda{font-size:12px;color:var(--gris-medio);}
.campo.error input,.campo.error select{border-color:var(--rojo);}
@media(max-width:720px){.barra-fechas{grid-template-columns:1fr;}}
/* La barra del panel lateral ya viene a 2 columnas por estilo en linea. */
@media(max-width:420px){.panel .barra-fechas{grid-template-columns:1fr !important;}}

.opciones-entrega{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px;}
@media(max-width:560px){.opciones-entrega{grid-template-columns:1fr;}}

.resumen-fechas{background:var(--verde-suave);border:1px solid #dfe9c4;
  border-radius:8px;padding:12px 16px;font-size:14px;display:flex;
  justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;}
.resumen-fechas b{color:var(--verde);}

/* ---------------------------------------------------------------- secciones -- */
section{padding:72px 0;}
section.gris{background:var(--gris-fondo);}
section.oscuro{background:var(--negro2);color:#fff;}
section h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:14px;}
section .intro{color:var(--gris-texto);font-size:17px;max-width:640px;margin-bottom:38px;}
section.oscuro .intro{color:#b5b5b5;}

/* -------------------------------------------------------------------- pasos -- */
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.paso{background:#fff;border:1px solid var(--gris-borde);border-radius:var(--radio);
  padding:26px 22px;position:relative;}
section.gris .paso{background:#fff;}
.paso .n{width:34px;height:34px;border-radius:50%;background:var(--verde);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;
  font-size:15px;margin-bottom:14px;}
.paso h3{font-size:18px;margin-bottom:7px;}
.paso p{font-size:14px;color:var(--gris-texto);}
@media(max-width:900px){.pasos{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.pasos{grid-template-columns:1fr;}}

/* ------------------------------------------------------------------ filtros -- */
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px;align-items:center;}
.chip{border:1px solid var(--gris-borde);background:#fff;border-radius:30px;
  padding:9px 18px;font-size:14px;cursor:pointer;transition:.14s;color:var(--grafito);
  text-decoration:none;display:inline-block;}
.chip:hover{border-color:var(--verde);color:var(--verde);}
.chip.activo{background:var(--grafito);border-color:var(--grafito);color:#fff;}
.buscador{flex:1;min-width:220px;position:relative;}
.buscador input{width:100%;border:1px solid var(--gris-borde);border-radius:30px;
  padding:11px 18px 11px 42px;font-size:14px;font-family:inherit;}
.buscador input:focus{outline:none;border-color:var(--verde);
  box-shadow:0 0 0 3px rgba(124,161,6,.14);}
.buscador svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;fill:var(--gris-medio);}

/* ----------------------------------------------------------------- catalogo -- */
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:24px;}
.tarjeta{background:#fff;border:1px solid var(--gris-borde);border-radius:var(--radio);
  overflow:hidden;transition:.18s;display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.tarjeta:hover{transform:translateY(-3px);box-shadow:var(--sombra-alta);border-color:#d5d5d5;}
.tarjeta .foto{aspect-ratio:4/3;background:#fafafa;display:flex;align-items:center;
  justify-content:center;padding:16px;position:relative;overflow:hidden;}
.tarjeta .foto img{max-height:100%;width:auto;object-fit:contain;transition:.3s;}
.tarjeta:hover .foto img{transform:scale(1.04);}
.tarjeta .cuerpo{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;}
.tarjeta .marca{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gris-medio);font-weight:700;margin-bottom:5px;}
.tarjeta h3{font-size:16px;line-height:1.28;margin-bottom:auto;font-family:'Roboto',sans-serif;
  font-weight:500;}
.tarjeta .precio{margin-top:14px;display:flex;align-items:baseline;gap:6px;}
.tarjeta .precio b{font-family:'Roboto Condensed',sans-serif;font-size:26px;color:var(--grafito);}
.tarjeta .precio span{font-size:13px;color:var(--gris-medio);}
.tarjeta .pie{margin-top:10px;display:flex;justify-content:space-between;
  align-items:center;gap:10px;}

.etiqueta{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;
  padding:4px 10px;border-radius:20px;letter-spacing:.04em;}
.et-libre{background:var(--verde-suave);color:#5c7a04;}
.et-ocupado{background:#fdecea;color:var(--rojo);}
.et-parcial{background:#fff6e0;color:#946200;}
.et-destacado{background:var(--grafito);color:#fff;}
.foto .etiqueta{position:absolute;top:12px;left:12px;}

.vacio{text-align:center;padding:60px 20px;color:var(--gris-texto);
  border:1px dashed var(--gris-borde);border-radius:var(--radio);}

/* ------------------------------------------------------------ ficha producto */
.ficha{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:46px;align-items:start;padding:38px 0 10px;}
.ficha>*{min-width:0;}

/* Dos columnas que se apilan en pantallas estrechas. */
.dos-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:40px;align-items:start;}
.dos-cols>*{min-width:0;}
.dos-cols-iguales{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:44px;align-items:start;}
.dos-cols-iguales>*{min-width:0;}
@media(max-width:900px){
  .ficha{grid-template-columns:1fr;gap:30px;padding-top:26px;}
  .dos-cols,.dos-cols-iguales{grid-template-columns:1fr;gap:30px;}
  .panel{position:static;}
}
.galeria .principal{border:1px solid var(--gris-borde);border-radius:var(--radio);
  background:#fafafa;aspect-ratio:4/3;display:flex;align-items:center;
  justify-content:center;padding:26px;overflow:hidden;}
.galeria .principal img{max-height:100%;width:auto;object-fit:contain;}
.miniaturas{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.miniaturas img{width:70px;height:70px;object-fit:contain;background:#fafafa;padding:6px;
  border:1px solid var(--gris-borde);border-radius:7px;cursor:pointer;transition:.14s;}
.miniaturas img:hover,.miniaturas img.activa{border-color:var(--verde);}

.panel{border:1px solid var(--gris-borde);border-radius:var(--radio);
  box-shadow:var(--sombra);position:sticky;top:88px;overflow:hidden;background:#fff;}
/* En una sola columna el panel no debe quedarse pegado tapando contenido.
   Esta regla va despues de la anterior a proposito: si no, no ganaria. */
@media(max-width:900px){.panel{position:static;}}
.panel .cab{padding:20px 22px 0;}
.panel .cuerpo{padding:18px 22px 22px;}
.panel .precio-dia{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;}
.panel .precio-dia b{font-family:'Roboto Condensed',sans-serif;font-size:38px;line-height:1;}
.panel .precio-dia span{color:var(--gris-medio);font-size:14px;}

.desglose{border-top:1px solid var(--gris-borde);margin-top:16px;padding-top:16px;font-size:14px;}
.desglose .fila{display:flex;justify-content:space-between;gap:12px;padding:5px 0;}
.desglose .fila.verde{color:var(--verde);font-weight:700;}
.desglose .fila.total{border-top:1px solid var(--gris-borde);margin-top:9px;padding-top:12px;
  font-size:19px;font-weight:700;font-family:'Roboto Condensed',sans-serif;}
.desglose .fila.fianza{color:var(--gris-texto);font-size:13px;}
.nota-fianza{background:var(--gris-fondo);border-radius:7px;padding:11px 13px;
  font-size:12.5px;color:var(--gris-texto);margin-top:12px;}

.aviso{border-radius:8px;padding:13px 15px;font-size:14px;margin-bottom:14px;}
.aviso-ok{background:var(--verde-suave);border:1px solid #dfe9c4;color:#4d6604;}
.aviso-error{background:#fdecea;border:1px solid #f5c6c1;color:#8e2a20;}
.aviso-info{background:#eef4fb;border:1px solid #d3e2f2;color:#2c5580;}
.aviso-alerta{background:#fff8e1;border:1px solid #f5e0a3;color:#7a5600;}

/* --------------------------------------------------------------- calendario -- */
.cal{border:1px solid var(--gris-borde);border-radius:var(--radio);padding:16px;background:#fff;}
.cal-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.cal-cab strong{font-family:'Roboto Condensed',sans-serif;font-size:17px;text-transform:capitalize;}
.cal-nav{display:flex;gap:6px;}
.cal-nav button{width:32px;height:32px;border:1px solid var(--gris-borde);background:#fff;
  border-radius:6px;cursor:pointer;font-size:15px;color:var(--grafito);line-height:1;}
.cal-nav button:hover:not(:disabled){border-color:var(--verde);color:var(--verde);}
.cal-nav button:disabled{opacity:.35;cursor:not-allowed;}
.cal-meses{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
@media(max-width:760px){.cal-meses{grid-template-columns:1fr;}}
.cal-mes h4{font-size:14px;text-align:center;margin-bottom:9px;text-transform:capitalize;
  color:var(--gris-texto);font-family:'Roboto',sans-serif;font-weight:700;}
.cal-rej{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal-rej .dow{font-size:10.5px;text-align:center;color:var(--gris-medio);
  font-weight:700;text-transform:uppercase;padding-bottom:5px;}
.cal-d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-size:13px;border-radius:6px;cursor:pointer;border:1px solid transparent;
  transition:.1s;user-select:none;}
.cal-d.vacia{cursor:default;}
.cal-d.libre{background:#fff;color:var(--grafito);border-color:#eee;}
.cal-d.libre:hover{border-color:var(--verde);background:var(--verde-suave);}
.cal-d.ocupada{background:#fdecea;color:#c9938d;cursor:not-allowed;
  text-decoration:line-through;border-color:#f8dcd8;}
.cal-d.pasada{color:#cfcfcf;cursor:not-allowed;}
/* Dia en el que no operamos (o que no encaja con lo que se esta eligiendo):
   se distingue del ocupado, que es rojo y tachado. */
.cal-d.nodia{background:#fafafa;color:#c8c8c8;cursor:not-allowed;border-color:#f2f2f2;}
/* La seleccion manda sobre el hover: si no, el dia bajo el cursor se aclara. */
.cal-d.sel,.cal-d.libre.sel,.cal-d.libre.sel:hover{
  background:var(--verde);color:#fff;font-weight:700;border-color:var(--verde);}
.cal-d.rango,.cal-d.libre.rango{background:var(--verde-suave);color:#4d6604;border-color:#e2ecc9;}
.cal-d.libre.rango:hover{background:#e7f0d2;border-color:var(--verde);}
.cal-leyenda{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:12px;
  color:var(--gris-texto);}
.cal-leyenda i{width:11px;height:11px;border-radius:3px;display:inline-block;
  margin-right:5px;vertical-align:-1px;}

/* ------------------------------------------------------------------- tablas -- */
.tabla{width:100%;border-collapse:collapse;font-size:14.5px;}
.tabla th{text-align:left;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gris-medio);padding:0 12px 10px 0;font-weight:700;border-bottom:1px solid var(--gris-borde);}
.tabla td{padding:12px 12px 12px 0;border-bottom:1px solid #f0f0f0;vertical-align:top;}
.tabla tr:last-child td{border-bottom:none;}
.tabla .der{text-align:right;padding-right:0;}
.tabla .destacada td{background:var(--verde-suave);}

/* --------------------------------------------------------------- contenido -- */
.contenido h2{font-size:24px;margin:30px 0 12px;}
.contenido h3{font-size:19px;margin:24px 0 10px;}
.contenido p{margin-bottom:13px;color:var(--gris-texto);}
.contenido ul,.contenido ol{margin:0 0 15px 20px;color:var(--gris-texto);}
.contenido li{margin-bottom:6px;}
.contenido strong{color:var(--grafito);}

.incluye{list-style:none;margin:0;}
.incluye li{padding-left:26px;position:relative;margin-bottom:8px;color:var(--gris-texto);}
.incluye li::before{content:'';position:absolute;left:0;top:7px;width:14px;height:8px;
  border-left:2px solid var(--verde);border-bottom:2px solid var(--verde);
  transform:rotate(-45deg);}

/* -------------------------------------------------------------------- cesta -- */
.cesta-linea{display:grid;grid-template-columns:88px 1fr auto;gap:16px;
  align-items:center;padding:16px 0;border-bottom:1px solid var(--gris-borde);}
.cesta-linea .mini{width:88px;height:70px;object-fit:contain;background:#fafafa;
  border-radius:7px;padding:6px;border:1px solid var(--gris-borde);}
.cesta-linea h4{font-size:15.5px;font-family:'Roboto',sans-serif;font-weight:500;margin-bottom:3px;}
.cesta-linea .meta{font-size:13px;color:var(--gris-medio);}
.cesta-linea .imp{text-align:right;font-family:'Roboto Condensed',sans-serif;
  font-size:19px;font-weight:700;white-space:nowrap;}
.quitar{background:none;border:none;color:var(--gris-medio);font-size:12.5px;
  cursor:pointer;text-decoration:underline;padding:4px 0;}
.quitar:hover{color:var(--rojo);}
@media(max-width:600px){.cesta-linea{grid-template-columns:64px 1fr;}
  .cesta-linea .mini{width:64px;height:56px;}
  .cesta-linea .imp{grid-column:2;text-align:left;}}

/* ---------------------------------------------------------------- formulario */
.form-rejilla{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-rejilla .ancho{grid-column:1/-1;}
@media(max-width:640px){.form-rejilla{grid-template-columns:1fr;}}
.check{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;
  color:var(--gris-texto);margin-bottom:12px;}
.check input{margin-top:3px;width:17px;height:17px;accent-color:var(--verde);flex-shrink:0;}
.check a{color:var(--verde);}

/* ---------------------------------------------------------------------- faq -- */
.faq details{border-bottom:1px solid var(--gris-borde);padding:18px 0;}
.faq summary{font-weight:700;cursor:pointer;list-style:none;font-size:16.5px;
  display:flex;justify-content:space-between;gap:16px;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';color:var(--verde);font-size:24px;font-weight:400;
  line-height:1;flex-shrink:0;}
.faq details[open] summary::after{content:'\2212';}
.faq p{margin-top:11px;color:var(--gris-texto);font-size:15px;}

/* ------------------------------------------------------------------ ventajas */
.ventajas{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ventaja{padding:26px;border-radius:var(--radio);background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.09);}
.ventaja h3{font-size:18px;margin-bottom:8px;color:#fff;}
.ventaja p{font-size:14px;color:#b0b0b0;}
.ventaja .ic{font-size:24px;margin-bottom:12px;display:block;}
@media(max-width:860px){.ventajas{grid-template-columns:1fr;}}

/* ------------------------------------------------------------------- footer -- */
footer{background:var(--negro2);color:#9a9a9a;padding:52px 0 26px;font-size:14px;}
footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;margin-bottom:34px;}
footer h4{color:#fff;font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;}
footer ul{list-style:none;}
footer li{margin-bottom:8px;}
footer a{color:#9a9a9a;text-decoration:none;}
footer a:hover{color:var(--verde);}
footer .logo-pie img{height:38px;margin-bottom:14px;}
footer .legal{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;}
@media(max-width:800px){footer .cols{grid-template-columns:1fr;gap:28px;}}

/* -------------------------------------------------------------------- extra -- */
.migas{font-size:13px;color:var(--gris-medio);padding:18px 0 0;}
.migas a{color:var(--gris-medio);text-decoration:none;}
.migas a:hover{color:var(--verde);}
.sep{height:1px;background:var(--gris-borde);margin:34px 0;}
.wsp{position:fixed;right:20px;bottom:20px;width:54px;height:54px;border-radius:50%;
  background:#25d366;display:flex;align-items:center;justify-content:center;z-index:70;
  box-shadow:0 6px 20px rgba(0,0,0,.24);text-decoration:none;}
.wsp svg{width:29px;height:29px;fill:#fff;}
@media print{header,footer,.wsp,.panel{display:none;}}
