/* Espacios Cordoba - hoja unica */

:root{
  --texto:#444756;
  --suave:#686a76;
  --titulo:#4A4A4A;
  --verde:#3bd4a4;
  --link:#006b6b;
  --link2:#4ca1f7;
  --rojo:#d10000;
  --azul:#1f5fd9;
  --azul-osc:#174ab0;
  --exito:#1e7e34;
  --gris:#e4e1e1;
  --oscuro:#525050;
  --suave-bg:rgba(156,145,145,.25);
  --bottom:#f5f5f5;
  --ancho:1140px;
  --cab:92px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  font-size:16px;line-height:1.7;color:var(--texto);background:#fff;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{color:var(--titulo);font-weight:900;line-height:1.25;margin:0 0 20px}
h1{font-size:34px;text-transform:none}
h2{font-size:28px}
h3{font-size:24px}
h4{font-size:18px;color:var(--suave)}
p{margin:0 0 16px}
.oculto-visual{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:#fff;color:var(--texto);padding:10px 16px}
.skip-link:focus{left:8px;top:8px}

.contenedor{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 16px}
.centro{text-align:center}
.justificado{text-align:justify}
.rojo{color:var(--rojo)}
.texto-grande{font-size:18px}
.img-fluida{width:100%;height:auto}
.redondeada{border-radius:3px}

/* ---------- Cabecera transparente ---------- */
.cabecera{
  position:absolute;top:0;left:0;right:0;z-index:50;
  background:transparent;transition:background .3s,box-shadow .3s,padding .3s;
}
/* velo superior: garantiza contraste del menu sobre fotos claras */
.cabecera:not(.fija):not(.solida)::before{
  content:"";position:absolute;left:0;right:0;top:0;height:170px;
  background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,.28) 45%,rgba(0,0,0,0));
  pointer-events:none;
}
.cabecera-inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--cab);position:relative}
.marca img{width:190px;height:auto}
/* sobre el slider el logo se apoya en una placa blanca para no perderse
   en las fotos claras; en cabecera solida va directo sobre el fondo */
.marca{display:inline-block;line-height:0;border-radius:6px;transition:background .3s,padding .3s}
.cabecera:not(.fija):not(.solida) .marca{
  background:#fff;padding:9px 16px;box-shadow:0 2px 10px rgba(0,0,0,.18);
}
.nav-principal ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.nav-principal a{
  color:#fff;font-weight:600;font-size:15px;letter-spacing:.2px;
  text-shadow:0 1px 3px rgba(0,0,0,.45);
}
.nav-principal a:hover,.nav-principal a.activo{color:var(--verde);text-decoration:none}
.nav-tel a{color:#fff !important;text-shadow:none}

.cabecera.fija{
  position:fixed;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.12);
  animation:bajar .3s ease;
}
.cabecera.fija .nav-principal a{color:var(--titulo);text-shadow:none}
.cabecera.fija .nav-principal a:hover{color:var(--azul)}
.cabecera.fija .nav-tel a{color:#fff !important}
.cabecera.solida{position:relative;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.08)}
.cabecera.solida .nav-principal a{color:var(--titulo);text-shadow:none}
.cabecera.solida .nav-tel a{color:#fff !important}
@keyframes bajar{from{transform:translateY(-100%)}to{transform:translateY(0)}}

.nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.nav-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px 0;transition:.3s}
.cabecera.fija .nav-toggle span,.cabecera.solida .nav-toggle span{background:var(--titulo)}
/* con el panel abierto las barras van sobre fondo blanco: se oscurecen y
   se convierten en aspa */
.nav-toggle[aria-expanded="true"] span{background:var(--titulo) !important}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:48}

/* ---------- Botones ---------- */
.btn{
  display:inline-block;background:var(--azul);color:#fff !important;
  padding:12px 28px;border-radius:40px;font-weight:700;font-size:15px;
  border:0;cursor:pointer;transition:background .25s,transform .15s;
}
.btn:hover{background:var(--azul-osc);text-decoration:none;transform:translateY(-1px)}
.btn-lg{padding:14px 38px;font-size:17px}
.btn-sm{padding:8px 18px;font-size:14px}
.btn-success{background:var(--exito)}
.btn-success:hover{background:#166428}

/* ---------- Hero / slider ---------- */
.hero{position:relative;aspect-ratio:2000/900;min-height:420px;overflow:hidden;background:#E9E9E9}
.hero-slides,.slide{position:absolute;inset:0}
.slide{opacity:0;transition:opacity .9s ease;pointer-events:none}
.slide.is-active{opacity:1;pointer-events:auto}
.slide a{display:block;height:100%}
.slide img{width:100%;height:100%;object-fit:cover;object-position:center top}
.slide-cap{
  position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);
  text-align:center;padding:0 24px;color:#fff;
}
.cap-1,.cap-2{display:block;font-family:Courgette,"Segoe UI",cursive;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.cap-1{font-size:clamp(26px,4.2vw,52px);line-height:1.2}
.cap-2{font-size:clamp(17px,2.2vw,28px);margin-top:10px}
.hero-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  background:rgba(0,0,0,.3);color:#fff;border:0;width:44px;height:44px;
  border-radius:50%;font-size:20px;cursor:pointer;line-height:1;
}
.hero-nav:hover{background:rgba(0,0,0,.55)}
.hero-prev{left:20px}
.hero-next{right:20px}
.hero-bullets{position:absolute;left:0;right:0;bottom:20px;display:flex;justify-content:center;gap:10px;z-index:5}
.hero-bullets button{
  width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:transparent;
  padding:0;cursor:pointer;
}
.hero-bullets button[aria-selected="true"]{background:#fff}

/* ---------- Secciones ---------- */
.seccion{padding:70px 0}
.seccion-compacta{padding:30px 0}
.seccion-gris{background:var(--gris)}
.seccion-suave{background:var(--suave-bg)}
.seccion-oscura{background:var(--oscuro);color:#fff}
.seccion-oscura h2,.seccion-oscura h3{color:#fff}
.seccion-oscura a{color:#fff;text-decoration:underline}
.seccion-h1{padding:50px 0}
.seccion-funciona{padding-bottom:140px}

.rejilla-2{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.rejilla-3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.rejilla-75{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center}
.alinear-centro{align-items:center}

.ventajas{text-align:center}
.ventajas h2{margin:20px 0;font-size:28px}
.icono{color:var(--verde);display:inline-block}
.icono svg{display:block;margin:0 auto}

.titulo-linea{position:relative;padding-bottom:18px;font-size:24px;font-weight:400}
.titulo-linea::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#e0e0e0}

.menu-servicios{padding:24px 0 10px;text-align:center;font-size:15px;line-height:2.1}
.menu-servicios a{color:var(--link);font-weight:700}
.menu-servicios .proximamente{color:#6f6f6f;font-weight:400}

.antetitulo{letter-spacing:4px;text-transform:uppercase;font-weight:900;margin:0 0 5px;font-size:14px}
.titulo-xl{font-size:36px;font-weight:900;color:#444756}
.seccion-oscura .titulo-xl{font-size:40px}
.sub-bloques{gap:0 40px;margin-top:20px}
.sub-bloques h3{font-size:18px;font-weight:900;color:var(--suave);margin-bottom:8px}
.sub-bloques p{color:rgba(68,71,86,.9)}
.subtitulo{font-size:24px;color:var(--suave);margin-bottom:40px}
.bloque-negrita p{font-size:17px}

.tarjetas{margin-top:40px}
.tarjetas h3{text-align:center;margin-bottom:16px}
.tarjetas h3 a{color:var(--titulo)}
.tarjetas img{margin-bottom:20px}

.seccion-h1 h1{font-size:30px;margin-bottom:10px}
.legal-inline{font-size:15px}

.parallax{
  position:relative;background-size:cover;background-position:50% 50%;
  background-repeat:no-repeat;background-attachment:fixed;padding:120px 0;color:#fff;
}
.parallax-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.parallax-contenido{position:relative}
.parallax h2{color:#fff;font-size:42px;margin:20px 0}
.parallax p{font-size:18px}
.icono-tel{color:#1a14b6;background:#fff;border-radius:50%;padding:14px;line-height:0}
.botonera{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.direccion-contacto{color:#555760;font-size:15px;margin-top:18px}

/* ---------- Bottom + pie ---------- */
.bloque-bottom{background:var(--bottom);padding:70px 0 40px;color:#5f5f66;font-size:14px}
.rejilla-bottom{display:grid;grid-template-columns:3fr 3fr 6fr;gap:30px}
.logo-bottom{margin-bottom:14px;max-width:190px}
.mapa{height:250px;background:#e8e8e8;border-radius:3px;overflow:hidden}
.mapa iframe{width:100%;height:100%;border:0;display:block}

.pie{background:#fff;padding:24px 0;text-align:center;font-size:14px}
.pie-legal a{color:var(--link)}
.pie-pagos a{display:inline-flex;align-items:center;gap:8px;font-size:17px}
.pie-copy{color:#6f6f76;margin:0}

/* ---------- Cookies ---------- */
.aviso-cookies{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:200;
  background:#fff;border:1px solid #e3e3e3;border-radius:6px;
  box-shadow:0 8px 30px rgba(0,0,0,.18);
  padding:18px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  justify-content:space-between;font-size:14px;max-width:960px;margin:0 auto;
}
.aviso-cookies p{margin:0;flex:1 1 320px}
.aviso-cookies[hidden]{display:none !important}

/* ---------- Responsive ---------- */
@media (max-width:991px){
  .rejilla-3,.rejilla-2,.rejilla-75,.rejilla-bottom{grid-template-columns:1fr}
  .seccion-funciona{padding-bottom:80px}
  .parallax{background-attachment:scroll;padding:80px 0}
}
@media (max-width:860px){
  .nav-toggle{display:block;z-index:60}
  .nav-principal{
    position:fixed;top:0;right:0;width:280px;max-width:84vw;height:100%;
    background:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.15);
    transform:translateX(100%);transition:transform .3s ease;z-index:59;
    padding:90px 24px 24px;overflow-y:auto;
  }
  .nav-principal.abierto{transform:translateX(0)}
  .nav-principal ul{flex-direction:column;align-items:flex-start;gap:4px}
  .nav-principal li{width:100%;border-bottom:1px solid #eee}
  .nav-principal a{display:block;padding:14px 0;color:var(--titulo) !important;text-shadow:none;font-size:16px}
  .nav-tel{border:0 !important;margin-top:14px}
  .nav-tel a{display:inline-block !important;padding:10px 22px !important}
  .hero-nav{display:none}
}
@media (max-width:767px){
  .seccion{padding:50px 0}
  h1,.titulo-xl,.parallax h2{font-size:26px}
  .seccion-oscura .titulo-xl{font-size:28px}
  .subtitulo{font-size:19px;margin-bottom:26px}
  .menu-servicios{line-height:2.3}
  .marca img{width:150px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto}
}

/* ---------- Cabecera interior (paginas que no son la portada) ----------
   Igual que el carrusel del original: imagen a ancho completo con su
   proporcion natural y el texto centrado encima. */
.hero-int{position:relative;overflow:hidden;background:#E9E9E9;color:#fff;text-align:center}
.hero-int>img{width:100%;height:auto;display:block;min-height:420px;object-fit:cover}
.hero-int-contenido{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 24px}
.hero-int h1{
  font-family:Courgette,"Segoe UI",cursive;font-style:italic;font-weight:400;
  color:#04bff1;font-size:clamp(34px,4.6vw,64px);margin:0 0 10px;text-shadow:0 2px 14px rgba(0,0,0,.35);
}
.hero-int-sub{color:#7fe3ff;font-weight:700;font-size:clamp(16px,1.4vw,19px);margin:0 0 26px;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.hero-int .btn{font-size:14px;padding:12px 30px}
/* con cabecera interior, el header va sobre la imagen igual que en portada */
.cabecera.solida{position:absolute;background:transparent;box-shadow:none}
.cabecera.solida .nav-principal a{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.cabecera.solida .nav-toggle span{background:#fff}
.cabecera.solida:not(.fija) .marca{background:#fff;padding:9px 16px;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.cabecera.solida.fija{position:fixed;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.12)}
.cabecera.solida.fija .nav-principal a{color:var(--titulo);text-shadow:none}
.cabecera.solida.fija .nav-toggle span{background:var(--titulo)}

.rejilla-57{display:grid;grid-template-columns:5fr 7fr;gap:40px}
.rejilla-39{display:grid;grid-template-columns:3fr 9fr;gap:40px}
.bloque-sep{margin-top:40px}
.lista-perfiles{padding-left:20px;margin:0 0 24px}
.lista-perfiles li{margin-bottom:14px;text-align:justify}
.lista-perfiles strong{color:var(--titulo)}
.tarjeta-contacto{background:var(--bottom);padding:30px 34px;border-radius:6px}
.dato{margin-bottom:18px;font-size:17px}
.dato-et{display:block;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--suave);font-weight:700}
.noticia h2{margin-top:0}
@media (max-width:991px){
  .rejilla-57,.rejilla-39{grid-template-columns:1fr}
  .hero-int>img{min-height:460px}
}

/* ---------- Paginas de servicios ---------- */
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:10px 16px 30px}
.galeria a{display:block;overflow:hidden;border-radius:4px}
.galeria img{width:100%;height:auto;transition:transform .35s}
.galeria a:hover img{transform:scale(1.04)}
.galeria-1{grid-template-columns:1fr;max-width:900px}
.precio{text-align:center;max-width:720px;margin:0 auto 40px;padding-bottom:30px;border-bottom:1px solid #e0e0e0}
.precio h2{font-size:24px;font-weight:400;margin-bottom:18px}
.precio-cifra{font-size:22px;font-weight:700;line-height:1.5;color:var(--titulo);margin-bottom:14px}
.precio-cifra small{font-size:14px;font-weight:400;color:var(--suave)}
.garantia{max-width:860px;margin:0 auto 36px;font-size:17px}
.garantia p{margin-bottom:6px}
.titulo-servicio{font-size:24px;margin-top:30px}
.lista-incluidos{padding-left:22px;margin:0 0 24px;font-size:17px}
.lista-incluidos li{margin-bottom:8px}
.columnas-2{columns:2;column-gap:40px}
.rejilla-4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:30px 0}
.disposiciones h3{font-size:18px;color:var(--titulo);margin-bottom:6px}
.disposiciones p{color:var(--suave)}
.seccion .contenedor>h3{font-size:22px;margin-top:30px}

/* ---------- Legales ---------- */
.cabecera-legal{background:var(--oscuro);color:#fff;padding:140px 0 50px}
.cabecera-legal h1{color:#fff;font-size:34px;margin:0}
.texto-legal{max-width:860px}
.texto-legal h2{font-size:21px;margin-top:34px}
.texto-legal p,.texto-legal li{text-align:justify}

/* ---------- Lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:100%;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.lightbox button{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:24px;cursor:pointer}
.lightbox button:hover{background:rgba(255,255,255,.3)}
.lightbox .lb-prev{left:20px}.lightbox .lb-next{right:20px}
.lightbox .lb-cerrar{top:20px;right:20px;transform:none;font-size:28px}

@media (max-width:991px){
  .galeria{grid-template-columns:repeat(2,1fr)}
  .rejilla-4{grid-template-columns:repeat(2,1fr)}
  .columnas-2{columns:1}
  .cabecera-legal{padding:110px 0 36px}
}
@media (max-width:600px){.galeria{grid-template-columns:1fr}}
