/* BICASA · Web · capa v4 «compacta» · 2026-10-22
   Rediseño aprobado (maqueta «Rediseño web Bicasa»): tipografía del Manual (Calibri / Carlito), tamaños normales,
   menos aire, tarjetas claras. Se carga después de bicasa-v3.css; volver atrás = quitar el <link> en base.php. */
:root{--x-ink:#13253d;--x-line:#dfe5ec;--x-soft:#eef2f6;--x-muted:#52657e;--x-r:14px}
body{font-family:Carlito,Calibri,'Segoe UI',Arial,sans-serif!important;font-size:16px!important;line-height:1.5!important;color:var(--x-ink)}
h1,h2,h3,h4{font-family:inherit;font-weight:700;letter-spacing:-.01em!important}
h1{font-size:clamp(30px,3.4vw,46px)!important;line-height:1.06!important}
h2{font-size:clamp(22px,2vw,27px)!important;line-height:1.15!important}
h3{line-height:1.25}
.wrap{width:min(100% - 48px,1240px)}
.lead{font-size:17px;line-height:1.55}
.eyebrow{font-size:12.5px;letter-spacing:.08em;margin-bottom:6px;color:#467855}
.eyebrow.green{color:#a9dd9b}
.btn{border-radius:10px;font-size:15px;font-weight:700;min-height:44px;padding:10px 18px;gap:10px;letter-spacing:0}
.btn:hover{transform:none}
.btn .arrow{display:none}
.text-link{font-weight:700}
/* cabecera y barra superior */
.utility{font-size:12.5px;letter-spacing:.02em}
.utility .place{font-size:12px!important;letter-spacing:.04em!important}
.header-inner{height:68px!important}
.site-header .brand img{max-height:38px!important;width:auto}
.nav a,.nav summary{font-size:15px;font-weight:700}
.header-actions .btn.small,.header-actions .platform-entry{font-size:14px!important;min-height:42px}
/* secciones genéricas (todas las páginas) */
.section{padding-top:36px!important;padding-bottom:36px!important}
.section-small{padding-block:24px!important}
.section-head{margin-bottom:18px;gap:16px}
.page-head{padding:16px 0 28px}
.page-head h1{margin-bottom:12px}
.crumbs{font-size:13px;margin-bottom:14px}
.page-intro{gap:24px}
.grid3{gap:16px}
.grid2{gap:32px}
.cta-band{padding-top:28px!important;padding-bottom:28px!important}
.cta-inner h2{font-size:clamp(22px,2.2vw,28px)!important}
.fact-list>div{padding:10px 0;gap:16px}
.fact-list dt{font-size:13px}
.fact-list dd{font-size:15px}
.reading p{font-size:16px;line-height:1.65}
/* tarjetas de proyecto/propiedad heredadas: más compactas */
.project-cover{min-height:210px;padding:18px}
.project-index{font-size:56px}
.project-info{padding:12px 0}
.project-info h3{font-size:20px;margin-bottom:4px}
.project-info p{font-size:14px}
.prop-card .project-cover{min-height:200px}
.need-card{padding:16px}
.steps li{padding-top:18px}
.editorial-image{height:420px}
/* pie */
.site-footer{padding-top:32px!important;padding-bottom:18px;font-size:14px}
.footer-grid{gap:24px}
.site-footer p,.site-footer a,.site-footer small{font-size:14px}

/* ===== Componentes nuevos (portada y ficha de proyecto) ===== */
.x-sec{padding:32px 0}
.x-sec-tight{padding:22px 0 32px}
.x-sec-last{padding:0 0 36px}
.x-white{background:#fff;border-top:1px solid #e8ecf1;border-bottom:1px solid #e8ecf1}
.x-dark{background:#1c385d;color:#fff}
.x-dark h2{color:#fff}
.x-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.x-head h2{margin:0}
.x-more{font-weight:700;font-size:15px;color:#1c385d;text-decoration:underline;text-underline-offset:4px}
.x-dark .x-more{color:#fff}
.x-lead{font-size:18px;color:#3d4f66;max-width:600px;margin:0}
.x-note,.x-small{font-size:14px;color:var(--x-muted)}
.x-chips{display:flex;gap:6px;flex-wrap:wrap}
.x-chip{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--x-soft);color:#1c385d}
.x-chip.warn{background:#fff1d6;color:#7a4f00}
.x-chip.ok{background:#e4f5de;color:#2f6b3f}
/* héroe */
.x-hero{background:#faf9f5;padding:28px 0 26px}
.x-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;align-items:stretch}
.x-hero-copy{display:flex;flex-direction:column;justify-content:center;gap:16px}
.x-hero-copy .eyebrow{margin:0}
.x-hero-copy h1{margin:0;color:#1c385d;font-size:clamp(34px,3.8vw,50px)!important}
.x-search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end;background:#fff;border:1px solid var(--x-line);border-radius:var(--x-r);padding:12px}
.x-search label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--x-muted);text-transform:uppercase;letter-spacing:.04em}
.x-search select{height:44px;border:1px solid #cfd8e2;border-radius:10px;padding:0 10px;font:inherit;font-size:15px;color:var(--x-ink);background:#fff;text-transform:none;letter-spacing:0;font-weight:400;width:100%}
.x-search button{height:44px;padding:0 20px;border:0;border-radius:10px;background:#6ec954;color:var(--x-ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.x-search button:hover{background:#5db544}
.x-stats{display:flex;gap:28px;flex-wrap:wrap;margin:0}
.x-stats dt{font-size:24px;font-weight:700;color:#1c385d;line-height:1.1}
.x-stats dd{margin:0;font-size:13px;color:var(--x-muted)}
.x-hero-photo{position:relative;display:block;min-height:420px;border-radius:18px;overflow:hidden;background:#467855;color:#fff;text-decoration:none}
.x-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.x-feature{position:absolute;left:16px;right:16px;bottom:16px;background:#fff;color:var(--x-ink);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 10px 30px rgba(9,25,48,.22)}
.x-feature small{display:block;font-size:12px;font-weight:700;color:#467855;text-transform:uppercase;letter-spacing:.06em}
.x-feature b{display:block;font-size:22px;color:#1c385d;line-height:1.2}
.x-feature em{display:block;font-style:normal;font-size:14px;color:var(--x-muted)}
.x-btn{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:10px;background:#1c385d;color:#fff;font-weight:700;font-size:14px;white-space:nowrap}
/* objetivos */
.x-goals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.x-goal{background:#fff;border:1px solid var(--x-line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--x-ink);display:flex;flex-direction:column;gap:4px;min-height:112px;transition:border-color .2s}
.x-goal svg{color:#467855;margin-bottom:4px}
.x-goal b{font-size:16.5px;line-height:1.25}
.x-goal span{font-size:14px;color:var(--x-muted)}
.x-goal:hover{border-color:#1c385d}
/* tarjetas de proyecto */
.x-cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.x-card{background:#fff;border:1px solid var(--x-line);border-radius:var(--x-r);overflow:hidden;text-decoration:none;color:var(--x-ink);display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.x-card:hover{border-color:#1c385d;box-shadow:0 10px 28px rgba(16,32,56,.08)}
.x-card-img{height:210px;background:#467855;display:flex;align-items:center;justify-content:center;color:#d6e6d9;font-weight:700;overflow:hidden}
.x-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.x-card:hover .x-card-img img{transform:scale(1.03)}
.x-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.x-card-body h3{font-size:20px;margin:2px 0 0;color:#1c385d}
.x-card-body p{margin:0;font-size:14.5px;color:var(--x-muted)}
/* pasos */
.x-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.x-steps li{background:#fff;border:1px solid var(--x-line);border-radius:12px;padding:16px;display:flex;gap:12px}
.x-steps b{font-size:22px;color:#467855;line-height:1.1}
.x-steps h3{font-size:17px;margin:0 0 2px}
.x-steps p{margin:0;font-size:14.5px;color:var(--x-muted)}
/* ecosistema */
.x-units{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#2c4a70;border-radius:var(--x-r);overflow:hidden}
.x-units a{background:#1c385d;padding:18px;color:#fff;text-decoration:none;display:flex;flex-direction:column;gap:4px;transition:background .2s}
.x-units a:hover{background:#234570}
.x-units span{color:#a9dd9b;font-weight:700}
.x-units small{font-size:14px;color:#c9d6e6}
/* esencia + notas */
.x-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px}
.x-essence{background:#eadab9;border-radius:var(--x-r);padding:22px;display:flex;flex-direction:column;gap:10px}
.x-essence .eyebrow{color:#5b4a22;margin:0}
.x-essence h2{margin:0;color:#1c385d}
.x-essence p{margin:0;color:#3a3424}
.x-links{display:flex;gap:16px;flex-wrap:wrap}
.x-links a{font-weight:700;color:#1c385d;text-decoration:underline;text-underline-offset:4px}
.x-news{display:flex;flex-direction:column;gap:10px}
.x-news .x-head{margin-bottom:0}
.x-news-item{display:flex;gap:14px;background:#fff;border:1px solid var(--x-line);border-radius:12px;padding:12px;text-decoration:none;color:var(--x-ink)}
.x-news-item:hover{border-color:#1c385d}
.x-news-img{width:112px;height:76px;flex:none;border-radius:8px;background:var(--x-line);overflow:hidden}
.x-news-img img{width:100%;height:100%;object-fit:cover}
.x-news-item span{font-size:12px;font-weight:700;color:#467855;letter-spacing:.04em}
.x-news-item b{display:block;font-size:16px;line-height:1.3}
/* llamada final */
.x-cta{background:#fff;border:1px solid var(--x-line);border-radius:var(--x-r);padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.x-cta b{display:block;font-size:20px;color:#1c385d}
.x-cta span{font-size:15px;color:var(--x-muted)}
.x-cta-btns{display:flex;gap:10px;flex-wrap:wrap}

/* ===== Ficha de proyecto ===== */
.x-phead{padding:16px 0 14px;background:#faf9f5}
.x-phead .crumbs{margin-bottom:8px}
.x-phead-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.x-phead h1{margin:6px 0 2px;color:#1c385d;font-size:clamp(32px,3.4vw,44px)!important}
.x-sub{margin:0;color:var(--x-muted);font-size:16px}
.x-actions{display:flex;gap:10px;flex-wrap:wrap}
.x-galsec{background:#faf9f5;padding:0 0 16px}
.x-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:8px}
.x-mosaic a{position:relative;display:block;border-radius:12px;overflow:hidden;background:var(--x-soft)}
.x-mosaic a img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.x-mosaic a:hover img{transform:scale(1.03)}
.x-mosaic a.big{grid-row:span 2}
.x-mosaic a.x-hide{display:none}
.x-mosaic.n1{grid-template-columns:1fr;grid-template-rows:420px}
.x-mosaic.n2{grid-template-columns:2fr 1fr;grid-template-rows:200px 200px}.x-mosaic.n2 a:nth-child(2){grid-row:span 2}
.x-mosaic.n3{grid-template-columns:2fr 1fr}.x-mosaic.n4{grid-template-columns:2fr 1fr 1fr}.x-mosaic.n4 a:nth-child(4){grid-column:span 2}
.x-allph{position:absolute;right:10px;bottom:10px;background:#fff;color:var(--x-ink);font-size:13px;font-weight:700;padding:6px 10px;border-radius:8px}
.x-ptabs{position:sticky;top:68px;z-index:20;background:rgba(250,249,245,.97);border-bottom:2px solid var(--x-line)}
.x-ptabs .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.x-ptabs a{padding:11px 14px;font-weight:700;font-size:15px;color:var(--x-muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px}
.x-ptabs a:hover{color:#1c385d}
.x-ptabs a.on{color:#1c385d;border-bottom-color:#6ec954}
.x-pbody{padding:22px 0 30px;scroll-margin-top:120px}
.x-proj section[id]{scroll-margin-top:120px}
.x-pgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.x-pmain{display:flex;flex-direction:column;gap:14px}
.x-pmain h2{margin:6px 0 0;color:#1c385d}
.x-pmain p{margin:0;font-size:16px;color:#3d4f66;line-height:1.65}
.x-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.x-facts div{background:#fff;border:1px solid var(--x-line);border-radius:12px;padding:10px 14px}
.x-facts span{display:block;font-size:13px;color:var(--x-muted)}
.x-facts b{display:block;font-size:16.5px;color:var(--x-ink);line-height:1.3}
.x-side{position:sticky;top:124px;background:#fff;border:1px solid var(--x-line);border-radius:var(--x-r);padding:18px;display:flex;flex-direction:column;gap:12px}
.x-side-price span,.x-side-price small{display:block;font-size:13px;color:var(--x-muted)}
.x-side-price b{display:block;font-size:26px;color:#1c385d;line-height:1.2}
.x-form{display:flex;flex-direction:column;gap:10px}
.x-form label{display:flex;flex-direction:column;gap:4px;font-size:13.5px;font-weight:700;color:#3d4f66}
.x-form input,.x-form select{height:42px;border:1px solid #cfd8e2;border-radius:10px;padding:0 10px;font:inherit;font-size:15px;color:var(--x-ink);background:#fff;font-weight:400}
.x-form .x-check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400;font-size:13px}
.x-form .x-check input{height:18px;width:18px;flex:none;margin-top:2px}
.x-form .hp{position:absolute;left:-9999px}
.x-form .btn{width:100%;justify-content:center}
.x-wa{width:100%;justify-content:center;background:#6ec954;border-color:#6ec954;color:var(--x-ink)}
.x-wa:hover{background:#5db544;border-color:#5db544;color:var(--x-ink)}
.x-side-foot{text-align:center;font-size:13px;color:var(--x-muted)}
.x-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.x-mini a{display:flex;gap:14px;border:1px solid var(--x-line);border-radius:12px;padding:12px;text-decoration:none;color:var(--x-ink);background:#fff}
.x-mini a:hover{border-color:#1c385d}
.x-mini-img{width:120px;height:84px;flex:none;border-radius:8px;background:#1c385d;overflow:hidden}
.x-mini-img img{width:100%;height:100%;object-fit:cover}
.x-mini span{font-size:12px;font-weight:700;color:#2f6b3f;text-transform:uppercase}
.x-mini b{display:block;font-size:18px;color:#1c385d}
.x-mini small{font-size:14px;color:var(--x-muted)}

@media (max-width:960px){
.x-hero-grid,.x-two,.x-pgrid{grid-template-columns:1fr}
.x-hero-photo{min-height:300px}
.x-goals{grid-template-columns:repeat(2,minmax(0,1fr))}
.x-goals .x-goal:first-child{grid-column:1/-1}
.x-cards3,.x-steps{grid-template-columns:1fr}
.x-units{grid-template-columns:repeat(2,minmax(0,1fr))}
.x-search{grid-template-columns:1fr 1fr}
.x-search button{grid-column:1/-1}
.x-mosaic,.x-mosaic.n2,.x-mosaic.n3,.x-mosaic.n4{grid-template-columns:1fr 1fr;grid-template-rows:220px 110px 110px}
.x-mosaic a.big{grid-column:span 2;grid-row:auto}
.x-mosaic a:nth-child(n+4){display:none}
.x-side{position:static}
.x-ptabs{top:72px}
.header-inner{height:72px!important}
}
@media (max-width:560px){.wrap{width:calc(100% - 32px)}.x-feature{flex-direction:column;align-items:flex-start}.x-stats{gap:18px}}
@media (prefers-reduced-motion:reduce){.x-card-img img,.x-mosaic a img{transition:none}}
.x-form .btn.primary{background:#1c385d;border-color:#1c385d;color:#fff}.x-form .btn.primary:hover{background:#13253d;border-color:#13253d;color:#fff}
.x-pmain{min-height:0}
@media (max-width:960px){.x-mosaic,.x-mosaic.n2,.x-mosaic.n3,.x-mosaic.n4{grid-template-rows:220px 110px}}
@media (max-width:560px){.utility .place{display:none}.utility .wrap{justify-content:center}}
/* v4.1 · cabecera y pie según la maqueta */
.utility{text-transform:none!important;font-size:13px!important;letter-spacing:0!important}
.utility .place{font-size:13px!important;letter-spacing:0!important}
.utility .u-links{display:flex;gap:18px;align-items:center}
.utility a{color:#dbe4ee;text-decoration:none}.utility a:hover{color:#fff;text-decoration:underline}
.utility a.u-hub{color:#fff;font-weight:700}
.nav a.atlas-nav{background:none!important;border:0!important;box-shadow:none!important;padding:10px 4px!important;color:inherit!important}
.nav{gap:22px}
.site-footer .footer-brand small a{color:#c9d6e6}
.site-footer .f-wa{display:inline-flex;margin-top:10px;align-items:center;height:40px;padding:0 14px;border-radius:10px;background:#6ec954;color:#13253d!important;font-weight:700;text-decoration:none}
.footer-bottom{border-top:1px solid #2c4a70;padding-top:12px;margin-top:22px;font-size:13px}
@media (max-width:560px){.utility .place{display:inline!important}.utility .u-links a:not(.u-hub){display:none}.utility .wrap{justify-content:space-between!important}}
.x-two{align-items:start}
.nav a[aria-current=page]{color:#467855;text-decoration:none!important}
.x-legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.x-legal>div{background:#fff;border:1px solid var(--x-line);border-radius:12px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start}.x-legal svg{flex:none;margin-top:2px}.x-legal b{display:block}.x-legal span{font-size:14px;color:var(--x-muted)}@media(max-width:960px){.x-legal{grid-template-columns:1fr}}
.site-footer .f-redes{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px}.site-footer .f-redes a{color:#c9d6e6;font-weight:700;text-decoration:none}.site-footer .f-redes a:hover{color:#fff;text-decoration:underline}

/* #135 WhatsApp flotante + iconos de redes */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:9990;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.28);transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:32px;height:32px}
@media (max-width:640px){.wa-float{right:14px;bottom:14px;width:54px;height:54px}.wa-float svg{width:30px;height:30px}}
.f-redes a{display:inline-flex;align-items:center;gap:7px}
.f-redes a svg{width:20px;height:20px;flex:0 0 20px}
