/* ── RESET WORDPRESS/GENERATEPRESS ──
   Neutraliza subrayados y estilos heredados del tema */
a,a:hover,a:focus,a:visited{text-decoration:none!important}
body{margin:0!important;padding:0!important}
html{margin-top:0!important}
body.admin-bar{padding-top:0!important;margin-top:0!important}
.site-header,.site-footer,.wp-site-blocks>header,.wp-site-blocks>footer,.entry-header,.entry-footer{display:none!important}

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800;900&family=Nunito:wght@400;600;700&display=swap');

:root {
  --azul:       #034a94;
  --azul-dark:  #033b73;
  --azul-black: #001a30;
  --verde:      #73ab2b;
  --verde-dark: #5a8a1f;
  --cream:      #f4f7fb;
  --white:      #ffffff;
  --gray:       #4a5a6e;
  --border:     #e2e8f0;
  --shadow:     0 8px 32px rgba(3,74,148,.10);
  --shadow-lg:  0 20px 60px rgba(3,74,148,.16);
  --radius:     14px;
  --fh:         'Montserrat', sans-serif;
  --fb:         'Nunito', sans-serif;

  /* ── TIPOGRAFÍA BASE ── */
  --text-xs:   13px;
  --text-sm:   15px;
  --text-base: 17px;   /* cuerpo general — subido de 15-16 a 17 */
  --text-lg:   19px;
  --text-xl:   22px;
  --text-2xl:  26px;
  --text-3xl:  32px;
  --text-4xl:  40px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:17px}
body{font-family:var(--fb);color:var(--azul-black);background:var(--white)!important;overflow-x:hidden;line-height:1.65;font-size:var(--text-base)}
img{max-width:100%;display:block;height:auto}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* ── NAVBAR ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:74px;padding:0 60px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(3,74,148,.07);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 4px 24px rgba(3,74,148,.10)}
.nav-logo img{height:42px;width:auto;display:block}
.nav-menu{display:flex;align-items:center;gap:32px}
.nav-link{font-family:var(--fh);font-size:14px;font-weight:600;color:var(--azul-dark);opacity:.75;transition:opacity .2s;position:relative;padding-bottom:2px}
.nav-link:hover,.nav-link.active{opacity:1}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--verde);border-radius:2px;transform:scaleX(0);transition:transform .2s}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.nav-dd{position:relative}
.nav-dd-menu{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border);padding:8px 0;min-width:200px;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none}
.nav-dd:hover .nav-dd-menu,.nav-dd.open .nav-dd-menu{opacity:1;visibility:visible;pointer-events:auto}
/* Área fantasma para no perder hover entre el link y el menú */
.nav-dd-menu::before{content:'';position:absolute;top:-16px;left:0;right:0;height:16px}
.nav-dd-menu a{display:block;padding:11px 22px;font-size:14px;font-family:var(--fh);font-weight:600;color:var(--azul-dark);opacity:.8;transition:background .15s}
.nav-dd-menu a:hover{background:var(--cream);opacity:1}
/* Botón CTA verde destacado */
.btn-cta{background:var(--verde);color:var(--white)!important;padding:11px 26px;border-radius:9px;font-family:var(--fh);font-size:14px;font-weight:800;opacity:1!important;border:2px solid rgba(0,0,0,.2);box-shadow:0 2px 0 rgba(0,0,0,.25),0 4px 10px rgba(0,0,0,.15);text-shadow:0 1px 2px rgba(0,0,0,.35);transition:all .2s;letter-spacing:.01em;display:inline-block}
.btn-cta:hover{background:var(--verde-dark);transform:translateY(-1px);box-shadow:0 3px 0 rgba(0,0,0,.25),0 6px 16px rgba(0,0,0,.2)}
.btn-cta::after{display:none!important}
/* Hamburguesa */
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nav-burger span{display:block;width:26px;height:2px;background:var(--azul);border-radius:2px;transition:all .3s}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── BOTONES ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 34px;border-radius:10px;font-family:var(--fh);font-size:15px;font-weight:700;border:none;cursor:pointer;transition:all .2s;letter-spacing:.02em}
.btn-azul{background:var(--azul);color:var(--white)}
.btn-azul:hover{background:var(--azul-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(3,74,148,.3)}
.btn-verde{background:var(--verde);color:var(--white);border:2px solid rgba(0,0,0,.18);box-shadow:0 2px 0 rgba(0,0,0,.22),0 4px 12px rgba(0,0,0,.12);text-shadow:0 1px 2px rgba(0,0,0,.3)}
.btn-verde:hover{background:var(--verde-dark);transform:translateY(-2px);box-shadow:0 3px 0 rgba(0,0,0,.22),0 8px 20px rgba(0,0,0,.18)}
.btn-wa{background:#25D366;color:var(--white)}
.btn-wa:hover{background:#1fba58;transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.3)}
.btn-outline-white{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.5)}
.btn-outline-white:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.btn-outline{background:transparent;color:var(--azul);border:2px solid var(--azul)}
.btn-outline:hover{background:var(--azul);color:var(--white)}
.btn-lg{padding:18px 44px;font-size:17px}
.btn-sm{padding:10px 20px;font-size:14px}

/* ── TIPOGRAFÍA SECCIONES ── */
.tag{display:inline-block;font-family:var(--fh);font-size:12px;font-weight:700;color:var(--verde);letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
.section-title{font-family:var(--fh);font-size:clamp(30px,4vw,46px);font-weight:800;color:var(--azul-black);line-height:1.1;letter-spacing:-.5px;margin-bottom:16px}
.section-sub{font-size:var(--text-lg);color:var(--gray);line-height:1.75;max-width:580px}
.sec-header{margin-bottom:60px}
.sec-header.center{text-align:center}
.sec-header.center .section-sub{margin:0 auto}

/* ── PAGE HERO ── */
.page-hero{min-height:340px;background:var(--azul);display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 60px 60px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 25% 60%,rgba(115,171,43,.2),transparent 55%)}
.page-hero-content{position:relative;z-index:2}
.page-hero h1{font-family:var(--fh);font-size:clamp(36px,5vw,56px);font-weight:900;color:var(--white);margin-bottom:14px}
.page-hero p{font-size:var(--text-lg);color:rgba(255,255,255,.78);max-width:540px;margin:0 auto}

/* ── CTA BANNER ── */
.cta-section{background:var(--azul);padding:90px 60px;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(115,171,43,.25),transparent 55%)}
.cta-section>*{position:relative;z-index:2}
.cta-section h2{font-family:var(--fh);font-size:clamp(28px,4vw,44px);font-weight:800;color:var(--white);margin-bottom:16px}
.cta-section p{font-size:var(--text-lg);color:rgba(255,255,255,.82);margin-bottom:40px}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── FOOTER ── */
footer{background:var(--azul-black);padding:72px 60px 36px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;max-width:1280px;margin:0 auto 52px}
.footer-logo-img{height:36px;width:auto;margin-bottom:16px}
.footer-brand{font-family:var(--fh);font-size:17px;font-weight:800;color:var(--white);margin-bottom:6px}
.footer-brand em{color:var(--verde);font-style:normal}
.footer-desc{font-size:15px;color:rgba(255,255,255,.45);line-height:1.75;max-width:280px;margin-bottom:20px}
.footer-respaldo{font-size:13px;color:rgba(255,255,255,.3);line-height:1.65}
.footer-respaldo strong{color:rgba(255,255,255,.5)}
.footer-col h4{font-family:var(--fh);font-size:12px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:.15em;text-transform:uppercase;margin-bottom:22px}
.footer-col a{display:block;font-size:15px;color:rgba(255,255,255,.4);margin-bottom:13px;transition:color .2s}
.footer-col a:hover{color:var(--verde)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:26px;text-align:center;font-size:14px;color:rgba(255,255,255,.25);max-width:1280px;margin:0 auto}

/* ── LAYOUT ── */
.container{max-width:1280px;margin:0 auto}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}

/* ── CARDS ── */
.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.ben-card{background:var(--white);border-radius:var(--radius);padding:32px 22px;text-align:center;border:1px solid var(--border);transition:transform .3s,box-shadow .3s}
.ben-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.ben-icon{width:60px;height:60px;border-radius:14px;background:linear-gradient(135deg,var(--azul),var(--azul-dark));margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:26px}
.ben-title{font-family:var(--fh);font-size:15px;font-weight:700;color:var(--azul);margin-bottom:8px}
.ben-desc{font-size:14px;color:var(--gray);line-height:1.6}
.testi-card{background:var(--white);border-radius:var(--radius);padding:32px;border:1px solid var(--border);transition:transform .3s,box-shadow .3s}
.testi-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}

/* ── FORMULARIO ── */
.form-label{font-family:var(--fh);font-size:14px;font-weight:600;color:var(--azul);display:block;margin-bottom:8px}
.form-input{width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:10px;font-size:16px;font-family:var(--fb);outline:none;transition:border-color .2s;background:var(--white)}
.form-input:focus{border-color:var(--azul)}

/* ── ANIMACIONES ── */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ── IMÁGENES ── */
.img-ph{background:linear-gradient(135deg,var(--azul),var(--azul-dark));display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,.35);font-size:14px;gap:10px;text-align:center}
.img-cover{width:100%;object-fit:cover;display:block}

/* ══════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════ */

/* Tablet */
@media(max-width:1024px){
  .nav{padding:0 32px}
  .nav-menu{gap:20px}
  .grid-5{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  :root{--text-base:16px}
}

/* Mobile */
@media(max-width:768px){
  :root{
    --text-base: 16px;
    --text-sm:   15px;
    --text-lg:   17px;
  }
  /* Navbar */
  .nav{height:62px;padding:0 20px}
  .nav-logo img{height:36px}
  .nav-burger{display:flex!important}
  .nav-menu{
    display:none!important;position:fixed!important;
    top:62px!important;left:0!important;right:0!important;bottom:0!important;
    background:var(--white);
    flex-direction:column;align-items:flex-start;
    padding:20px 24px;gap:0;overflow-y:auto;
    border-top:1px solid var(--border);z-index:9999!important;
  }
  .nav-menu.open{display:flex!important}
  .nav-link{font-size:17px;padding:15px 0;width:100%;border-bottom:1px solid var(--border);opacity:1}
  .nav-link::after{display:none}
  .nav-dd-menu{position:static;opacity:1;visibility:visible;box-shadow:none;border:none;padding:4px 0 4px 16px;pointer-events:auto;transform:none;min-width:auto}
  .nav-dd-menu a{padding:11px 0;border-bottom:1px solid var(--border);font-size:16px}
  .btn-cta{margin-top:20px;width:100%;text-align:center;justify-content:center;padding:15px;font-size:16px}
  /* Layouts */
  .grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}
  .grid-2{gap:36px}
  /* Secciones */
  section{padding:64px 20px!important}
  .cta-section{padding:68px 20px!important}
  footer{padding:56px 20px 32px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .page-hero{padding:96px 20px 52px;min-height:280px}
  .page-hero h1{font-size:clamp(30px,8vw,44px)}
  .section-title{font-size:clamp(24px,6vw,34px)}
  .sec-header{margin-bottom:40px}
  /* Botones */
  .btn-lg{padding:16px 28px;font-size:16px}
  .cta-btns{flex-direction:column;align-items:center}
  .cta-btns .btn{width:100%;max-width:320px;justify-content:center}
}

/* Móvil pequeño */
@media(max-width:400px){
  :root{--text-base:15px;--text-lg:16px}
  .btn-lg{padding:14px 22px;font-size:15px}
  .section-title{font-size:clamp(22px,7vw,30px)}
}


/* ── FIX MENÚ MÓVIL v4.6 ──
   Asegura que la hamburguesa abra el menú en celular y que el dropdown
   "Proyectos" se despliegue solo al tocarlo. */
body.nav-open{overflow:hidden!important}

@media(max-width:768px){
  .nav{z-index:10000!important}
  .nav-burger{
    display:flex!important;
    position:relative!important;
    z-index:10002!important;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .nav-menu{
    display:none!important;
    position:fixed!important;
    top:62px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:calc(100dvh - 62px)!important;
    background:#fff!important;
    z-index:10001!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .nav-menu.open{display:flex!important}
  .nav-dd{width:100%!important}
  .nav-dd > .nav-link{display:block!important;width:100%!important}
  .nav-dd-menu{
    display:none!important;
    position:static!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    box-shadow:none!important;
    border:0!important;
    border-bottom:1px solid var(--border)!important;
    padding:0 0 0 18px!important;
    background:var(--cream)!important;
    border-radius:0!important;
  }
  .nav-dd.open > .nav-dd-menu{display:block!important}
  .nav-dd-menu::before{display:none!important}
  .nav-dd-menu a{display:block!important;width:100%!important}
}


/* ══════════════════════════════════
   V4.9 FIX PROYECTOS EDITABLES
   Estos estilos antes estaban dentro del <head> de proyecto-1/2/3.html.
   Al importar el HTML como Página de WordPress no se cargaban, por eso los
   proyectos se veían sin maquetación. Ahora se cargan globalmente.
   ══════════════════════════════════ */

/* Ajuste dropdown proyectos en escritorio: que caiga alineado bajo el botón */
@media (min-width:769px) {
  .nav-dd-menu{left:0!important;right:auto!important;transform:none!important;top:calc(100% + 10px)!important}
}


/* Proyecto detalle — estilos específicos */
.proy-hero{min-height:88svh;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.proy-hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,var(--azul-dark),var(--azul-black));background-size:cover;background-position:center}
/* === FONDO HERO: añade style="background-image:url('foto-hero-p{}.webp')" al div.proy-hero-bg === */
.proy-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.1) 60%,transparent)}
.proy-hero-content{position:relative;z-index:3;padding:0 60px 52px;width:100%}
.proy-eyebrow{font-family:var(--fh);font-size:12px;font-weight:700;color:var(--verde);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.proy-eyebrow::before{content:"";width:24px;height:2px;background:var(--verde);border-radius:2px}
.proy-title{font-family:var(--fh);font-size:clamp(38px,6vw,72px);font-weight:900;color:var(--white);line-height:.93;margin-bottom:10px}
.proy-tagline{font-size:20px;color:rgba(255,255,255,.7);font-style:italic;margin-bottom:24px}
.proy-specs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.proy-spec{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);border-radius:9px;padding:9px 16px;font-family:var(--fh);font-size:13px;font-weight:600;color:var(--white)}
.subnav{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:70px;z-index:100;overflow-x:auto}
.subnav-inner{max-width:1280px;margin:0 auto;padding:0 60px;display:flex;white-space:nowrap}
.subnav-a{font-family:var(--fh);font-size:13px;font-weight:700;color:var(--gray);padding:16px 22px;border-bottom:3px solid transparent;transition:all .2s;display:inline-block}
.subnav-a:hover,.subnav-a.active{color:var(--azul);border-bottom-color:var(--verde)}
.proy-body{display:grid;grid-template-columns:1fr 340px;gap:44px;max-width:1280px;margin:0 auto;padding:56px 60px;align-items:start}
.proy-section{padding:52px 0;border-bottom:1px solid var(--border)}
.proy-section:last-child{border-bottom:none}
.ub-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:28px}
.ub-item{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}
.ub-icon{width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,var(--azul),var(--azul-dark));display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.ub-label{font-family:var(--fh);font-size:11px;font-weight:700;color:var(--verde);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.ub-value{font-size:14px;font-weight:600;color:var(--azul-black)}
.mapa-ph{width:100%;height:300px;border-radius:var(--radius);background:var(--cream);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gray);font-size:14px;text-align:center;gap:10px}
.caract-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px}
.caract-item{display:flex;align-items:center;gap:11px;background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:14px;transition:all .2s}
.caract-item:hover{border-color:var(--verde);box-shadow:0 4px 14px rgba(115,171,43,.12)}
.tabs-wrap{}
.tab-btns{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:24px}
.tab-btn{font-family:var(--fh);font-size:13px;font-weight:700;color:var(--gray);padding:13px 26px;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none}
.tab-btn.active{color:var(--azul);border-bottom-color:var(--verde)}
.tab-panel{display:none}.tab-panel.active{display:block}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.gal-item{border-radius:9px;overflow:hidden;cursor:pointer;height:190px;position:relative}
.gal-ph{width:100%;height:100%;background:linear-gradient(135deg,var(--azul),var(--azul-dark));display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.35);font-size:12px;transition:transform .3s}
/* === FOTO GAL: <img src="gal-N.webp" loading="lazy" style="width:100%;height:100%;object-fit:cover;transition:transform .3s"> === */
.gal-item:hover .gal-ph{transform:scale(1.05)}
.dist-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.dist-stat{background:var(--cream);border-radius:var(--radius);padding:22px;text-align:center;border:1px solid var(--border)}
.dist-stat-label{font-family:var(--fh);font-size:11px;font-weight:700;color:var(--verde);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}
.dist-stat-val{font-family:var(--fh);font-size:40px;font-weight:900;color:var(--azul)}
.plano-ph{width:100%;height:360px;border-radius:var(--radius);background:var(--cream);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gray);font-size:14px;text-align:center;gap:10px;margin-bottom:24px}
.dist-table{width:100%;border-collapse:collapse}
.dist-table th{background:var(--azul);color:var(--white);font-family:var(--fh);font-size:13px;font-weight:700;padding:12px 16px;text-align:left}
.dist-table td{padding:11px 16px;border-bottom:1px solid var(--border);font-size:14px}
.dist-table tr:nth-child(even) td{background:var(--cream)}
.dist-table tr:hover td{background:#e8f0fb}
.badge-ok{background:#dcfce7;color:#166534;font-weight:700;padding:3px 10px;border-radius:100px;font-size:12px;font-family:var(--fh)}
.badge-no{background:#fee2e2;color:#991b1b;font-weight:700;padding:3px 10px;border-radius:100px;font-size:12px;font-family:var(--fh)}
.fin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.fin-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px 22px;text-align:center;transition:all .3s}
.fin-card.feat{background:var(--azul);border-color:var(--azul);transform:scale(1.03)}
.fin-card:not(.feat):hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.fin-label{font-family:var(--fh);font-size:11px;font-weight:700;color:var(--verde);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.fin-card.feat .fin-label{color:rgba(255,255,255,.7)}
.fin-price{font-family:var(--fh);font-size:48px;font-weight:900;color:var(--azul)}
.fin-card.feat .fin-price{color:var(--white)}
.fin-desc{font-size:13px;color:var(--gray);line-height:1.55;margin-top:8px}
.fin-card.feat .fin-desc{color:rgba(255,255,255,.7)}
.zona-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.zona-card{border-radius:var(--radius);overflow:hidden;position:relative;height:210px;cursor:pointer}
.zona-ph{width:100%;height:100%;background:linear-gradient(135deg,#2d6b10,#4a9a20);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);font-size:13px}
/* === ZONA: <img src="zona-N.webp" loading="lazy" style="width:100%;height:100%;object-fit:cover"> === */
.zona-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65),transparent 55%)}
.zona-label{position:absolute;bottom:13px;left:14px;font-family:var(--fh);font-size:13px;font-weight:700;color:var(--white);z-index:2}
.ficha{background:var(--white);border-radius:14px;padding:28px;border:1px solid var(--border);position:sticky;top:125px}
.ficha h3{font-family:var(--fh);font-size:16px;font-weight:800;color:var(--azul);margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--verde)}
.ficha-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.ficha-row:last-of-type{border-bottom:none}
.ficha-label{color:var(--gray)}
.ficha-value{font-family:var(--fh);font-weight:700;color:var(--azul);font-size:12px}
@media(max-width:768px){
  .proy-hero{min-height:70svh}
  .proy-hero-content{padding:0 20px 36px}
  .proy-body{grid-template-columns:1fr;padding:36px 20px}
  .subnav-inner{padding:0 16px}
  .ub-grid,.caract-grid,.fin-cards,.zona-grid,.dist-stats,.gal-grid{grid-template-columns:1fr 1fr}
  .caract-grid{grid-template-columns:1fr 1fr}
  .ficha{position:static}
}
@media(max-width:480px){
  .ub-grid,.gal-grid,.zona-grid{grid-template-columns:1fr}
}


/* Reset WordPress/GeneratePress — elimina subrayados y estilos heredados */
a, a:hover, a:focus, a:visited,
.nav-link, .nav-link:hover,
.btn, .btn:hover,
.btn-cta, .btn-cta:hover,
.btn-azul, .btn-verde, .btn-wa, .btn-outline, .btn-outline-white,
.proy-btn, .proy-btn:hover,
.proyecto-card a, .proyecto-card a:hover,
.footer-col a, .footer-col a:hover,
.nav-dd-menu a, .nav-dd-menu a:hover,
.subnav-a, .subnav-a:hover {
  text-decoration: none !important;
  box-shadow: none;
}
/* Solo los botones CTA mantienen su propia sombra */
.btn-cta {
  box-shadow: 0 2px 0 rgba(0,0,0,.25), 0 4px 10px rgba(0,0,0,.15) !important;
}
.btn-verde {
  box-shadow: 0 2px 0 rgba(0,0,0,.22), 0 4px 12px rgba(0,0,0,.12) !important;
}
/* Reset body de WordPress */
body { margin: 0 !important; padding: 0 !important; }
#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }
.site-header, .site-footer,
.wp-site-blocks > header,
.wp-site-blocks > footer,
.entry-header, .entry-footer { display: none !important; }
/* Evitar que WordPress añada padding-top al body */
body.admin-bar { padding-top: 0 !important; margin-top: 0 !important; }


/* Refuerzos de compatibilidad WordPress/GeneratePress para las páginas de proyecto */
.geonova-blank-body .proy-hero { margin-top: 0 !important; }
.geonova-blank-body .proy-body { width: 100%; }
.geonova-blank-body .proy-section p { margin-bottom: 1em; }
.geonova-blank-body .nav { box-sizing: border-box; }
.geonova-blank-body .nav-menu, .geonova-blank-body .nav-dd-menu { list-style:none!important; }


/* ══════════════════════════════════
   V5.0 FIX HOME + MENÚ
   Evita que los estilos de detalle de proyecto rompan las tarjetas de Inicio
   y realinea el dropdown de Proyectos en escritorio.
   ══════════════════════════════════ */
@media (min-width:769px){
  .nav-menu{display:flex!important;align-items:center!important;gap:32px!important}
  .nav-menu > a,
  .nav-menu > .nav-dd{display:flex!important;align-items:center!important;height:74px!important}
  .nav-dd > .nav-link{display:flex!important;align-items:center!important;height:74px!important;padding-bottom:0!important}
  .nav-dd-menu{top:66px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;margin-top:0!important}
}

/* Restaurar tarjetas de proyectos de Inicio / Listado.
   En el detalle de proyecto también existe .proy-body; por eso se especifica
   el selector dentro de .proyecto-card. */
.proyecto-card .proy-body{
  display:block!important;
  padding:24px!important;
  max-width:none!important;
  margin:0!important;
  width:auto!important;
}
.proyecto-card .proy-specs{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  margin-bottom:20px!important;
}
.proyecto-card .proy-spec{
  display:block!important;
  background:none!important;
  border:0!important;
  padding:0!important;
  color:var(--gray)!important;
  font-size:14px!important;
}
.proyecto-card .proy-name{
  font-family:var(--fh)!important;
  font-size:22px!important;
  font-weight:800!important;
  color:var(--azul)!important;
  margin-bottom:14px!important;
  line-height:1.25!important;
}
.proyecto-card .proy-loc{
  font-family:var(--fh)!important;
  font-size:11px!important;
  font-weight:700!important;
  color:var(--verde)!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  margin-bottom:7px!important;
}
.proyecto-card .proy-btn{
  display:inline-flex!important;
  width:auto!important;
  align-items:center!important;
  gap:7px!important;
  background:var(--azul)!important;
  color:var(--white)!important;
  padding:11px 22px!important;
  border-radius:8px!important;
  font-family:var(--fh)!important;
  font-size:13px!important;
  font-weight:700!important;
}
.proyecto-card .proy-img-wrap{position:relative!important;overflow:hidden!important}
.proyecto-card .proy-img-wrap img,
.proyecto-card .proy-img-ph{
  width:100%!important;
  height:230px!important;
  object-fit:cover!important;
  display:flex;
}
.proyecto-card .proy-badge{
  position:absolute!important;
  top:14px!important;
  left:14px!important;
  background:var(--verde)!important;
  color:var(--white)!important;
  font-family:var(--fh)!important;
  font-size:11px!important;
  font-weight:700!important;
  padding:4px 12px!important;
  border-radius:100px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* ── FIX v5.2: CTA superior proporcionado en escritorio ── */
@media (min-width:769px){
  .nav .btn-cta,
  .nav-menu > .btn-cta{
    width:auto!important;
    min-width:0!important;
    height:46px!important;
    min-height:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 22px!important;
    margin:0!important;
    line-height:1.2!important;
    font-size:14px!important;
    border-radius:8px!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .nav .btn-cta:hover{
    transform:translateY(-1px)!important;
  }
  .nav-menu{
    align-items:center!important;
  }
}


/* FIX v5.2 final: botón CTA del menú superior sin altura excesiva en escritorio */
@media (min-width:769px){
  .nav .nav-menu > a.btn-cta,
  .nav a.btn-cta{
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    width:auto!important;
    padding:0 24px!important;
    margin:0 0 0 8px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    font-size:14px!important;
    border-radius:8px!important;
    white-space:nowrap!important;
  }
}
