/* ==========================================================================
   CAPITAL REAL ESTATE & INVESTMENTS — estilos comunes a todo el sitio
   Base del diseño del cliente (_diseno/*.html): variables, tipografía, cabezal,
   pie, buscador, tarjetas de zona/propiedad/agente y aviso legal.
   Cada página suma su propia hoja (css/<pagina>.css) desde inc/head.php.
   ========================================================================== */

:root{
  color-scheme:light;
  --yellow:#FAF852; --dark:#202123; --dark-2:#2B2C2E;
  --bg:#F7F5F0; --surface:#FFFFFF; --ink:#202123; --muted:#5E5A54; --line:#E2DCD0; --ph:#D6CFC2;
  --display:Jost,"Century Gothic","Avenir Next","Helvetica Neue",sans-serif;
  --text:Manrope,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --pad:clamp(20px,5vw,80px);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){color-scheme:light;--bg:#F7F5F0;--surface:#FFFFFF;--ink:#202123} }
:root[data-theme="dark"]{color-scheme:light;--bg:#F7F5F0;--surface:#FFFFFF;--ink:#202123}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid #C9C43A;outline-offset:3px;border-radius:4px}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad);width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:1.05}
h2{font-size:clamp(34px,4vw,52px)}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
.eyebrow::before{content:"";width:28px;height:3px;background:var(--yellow)}
.lead{color:var(--muted);font-size:17px;max-width:58ch;margin:14px 0 0}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin-bottom:40px}
.more{font-size:15px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px}
section.s{padding:clamp(72px,8vw,110px) 0}

/* logo */
.logo{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none}
.logo b{font-family:var(--display);font-weight:300;font-size:28px;letter-spacing:.3em;padding-left:.3em;line-height:1;color:var(--yellow)}
.logo small{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:8px;font-weight:500;letter-spacing:.32em;color:#fff;white-space:nowrap}
.logo small::before,.logo small::after{content:"";width:16px;height:1px;background:var(--yellow)}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:var(--dark);color:#fff;padding-top:env(safe-area-inset-top,0px)}
.bar{height:84px;padding:0 clamp(20px,3vw,48px);display:flex;align-items:center;gap:32px;transition:height .3s ease}
.hdr.solid .bar{height:68px}
.nav{display:flex;gap:30px;font-size:15px;font-weight:500;margin-left:auto;white-space:nowrap}
.nav a{text-decoration:none}
.nav a:hover{color:var(--yellow)}
.tools{display:flex;gap:10px;align-items:center}
.pill{height:44px;min-width:44px;padding:0 16px;border-radius:22px;border:1px solid #3A3A3A;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:600;color:#fff}
.pill:hover{border-color:#fff}
.pill.yl{background:var(--yellow);border-color:var(--yellow);color:var(--dark);font-weight:700}
.lang{position:relative}
.lang ul{position:absolute;top:52px;right:0;min-width:220px;margin:0;padding:8px;list-style:none;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(22,22,22,.18);display:none}
.lang.open ul{display:block}
.lang li{display:flex;justify-content:space-between;padding:9px 12px;border-radius:8px;font-size:14px;font-weight:600}
.lang li span{color:var(--muted);font-size:12px;font-weight:400}
.lang li[aria-current]{background:var(--bg)}
.burger,.mnav{display:none}
@media (max-width:1180px){ /* con "Proyectos" el menú ya no entra antes (era 1000px en el diseño) */
  .nav,.hide-sm{display:none}
  .tools{margin-left:auto}
  .burger{display:inline-flex}
  .mnav.open{display:flex;flex-direction:column;padding:4px 24px 20px}
  .mnav a{padding:12px 0;font-size:18px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1)}
}
@media (max-width:520px){
  .logo b{font-size:22px}.logo small{font-size:6.5px;letter-spacing:.22em}.logo small::before,.logo small::after{width:9px}
  .pill.yl .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}

/* hero */
.hero{position:relative;height:clamp(600px,82svh,820px);background:#2B2C2E;color:#fff;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,21,22,.68) 0%,rgba(20,21,22,.35) 50%,rgba(20,21,22,.05) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:clamp(90px,14vh,150px)}
.hero .eyebrow{color:#fff;margin-bottom:22px}
.hero .eyebrow::before{display:none}
.hero h1{font-size:clamp(56px,8vw,104px);color:var(--yellow);line-height:.96}
.hero .intro{font-size:clamp(17px,1.5vw,20px);max-width:44ch;margin:22px 0 0;color:#fff}
.credit{position:absolute;right:var(--pad);top:24px;z-index:2;margin:0;max-width:40ch;text-align:right;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.js .hero img{opacity:0;transform:scale(1.05);animation:settle 2.2s ease-out forwards}
.js .hero .wrap>*{opacity:0;transform:translateY(16px);animation:up 1s ease forwards;animation-delay:.5s}
.js .hero .wrap>*:nth-child(2){animation-delay:.65s}.js .hero .wrap>*:nth-child(3){animation-delay:.8s}
@keyframes settle{to{opacity:1;transform:scale(1)}}
@keyframes up{to{opacity:1;transform:none}}

/* buscador */
.search{position:relative;z-index:5;margin-top:-120px}
.card{background:var(--surface);border-radius:16px;box-shadow:0 24px 60px rgba(22,22,22,.14)}
.tabs{display:flex;align-items:center;gap:6px;padding:0 28px;border-bottom:1px solid #ECE7DD}
.tab{height:58px;padding:0 20px;border:0;background:none;border-bottom:2px solid transparent;font-size:15px;font-weight:500;color:var(--muted);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}
.tab[aria-selected="true"]{color:var(--ink);font-weight:700;border-bottom-color:var(--ink)}
.tab.sell{margin-left:auto;color:var(--ink);font-weight:600;border-bottom:0;padding-right:0;justify-content:flex-end}
.tab.sell span{background:var(--yellow);padding:7px 16px;border-radius:18px}
.fields{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.45fr auto;align-items:stretch;padding:14px 14px 14px 28px}
.f{position:relative;padding:10px 20px;display:flex;flex-direction:column;gap:6px;border-right:1px solid #ECE7DD;min-width:0}
.f:first-child{padding-left:0}
.f:nth-child(4){border-right:0}
.f>label,.f>.lbl{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.f select,.pbtn{height:34px;border:0;background:transparent;font-size:17px;font-weight:600;padding:0;cursor:pointer;text-align:left;width:100%}
.pin{display:flex;align-items:center;gap:8px;height:34px}
.pin input{width:100%;min-width:0;height:34px;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:16px;font-weight:600;padding:0 2px}
.pin input::placeholder{color:#9A938A;font-weight:500}
.pin input:focus{outline:none;border-bottom-color:var(--ink)}
.pin span{color:var(--muted)}
.scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.pop{width:360px}

.pop{position:absolute;top:calc(100% + 12px);left:0;width:340px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(22,22,22,.16);padding:18px;display:none;z-index:10}
.pop.open{display:block}
.money{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.money label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.money input{height:42px;width:100%;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff;font-size:15px}
.range{position:relative;height:30px;margin:14px 2px 4px}
.range .track,.range .fill{position:absolute;top:13px;height:3px;border-radius:2px}
.range .track{left:0;right:0;background:var(--line)}
.range .fill{background:var(--ink)}
.range input{position:absolute;inset:0;width:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;height:30px}
.range input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;border-radius:50%;background:var(--yellow);border:2px solid var(--ink);cursor:grab}
.range input::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:var(--yellow);border:2px solid var(--ink);cursor:grab}
.range input::-moz-range-track{background:none}
.popfoot{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.popfoot button{border:0;background:none;cursor:pointer;font-size:14px;font-weight:600;padding:8px 0}
.popfoot .ok{background:var(--ink);color:#fff;padding:9px 18px;border-radius:18px}
.go{align-self:center;height:60px;padding:0 30px;border:0;border-radius:12px;background:var(--yellow);color:var(--dark);font-size:16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.go:hover{filter:brightness(.96)}
.sfoot{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;padding:14px 28px;border-top:1px solid #ECE7DD;font-size:14px;color:var(--muted)}
.sfoot a{text-decoration:none;color:var(--ink);font-weight:600;display:inline-flex;align-items:center;gap:8px}
.code{display:flex;align-items:center;gap:10px}
.code input{height:38px;width:170px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff;font-size:14px}
@media (max-width:980px){
  .search{margin-top:-60px}
  .fields{grid-template-columns:1fr 1fr;padding:6px 20px 18px}
  .f,.f:first-child{padding:14px 0;border-right:0;border-bottom:1px solid #ECE7DD}
  .f:nth-child(odd){padding-right:14px}.f:nth-child(even){padding-left:14px}
  .go{grid-column:1/-1;width:100%;justify-content:center;margin-top:16px}
  .pop{width:min(340px,calc(100vw - 48px))}
  .f:nth-child(4) .pop{left:auto;right:0}
  .tabs{padding:0 16px}.tab{padding:0 12px}
  .hero{height:auto;min-height:560px;padding-bottom:100px}
  .credit{display:none}
}

/* zonas */
.zones{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.zone{grid-column:span 2}
.zone.wide{grid-column:span 3;height:clamp(220px,20vw,280px)}
.zone.wide .zcap{width:auto;max-width:340px}
.zone{position:relative;height:clamp(380px,34vw,480px);border-radius:14px;overflow:hidden;background:var(--ph);text-decoration:none;color:#fff;display:flex;align-items:flex-end}
.zone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.zone:hover img{transform:scale(1.04)}
.zcap{position:relative;margin:12px;padding:16px 16px 14px;background:rgba(32,33,35,.9);border-radius:10px;width:calc(100% - 24px);display:flex;flex-direction:column;gap:6px}
.zcap b{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.05;color:var(--yellow)}
.zcap span{font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.85)}
.zcap em{font-style:normal;font-size:13px;font-weight:600;margin-top:6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between}
.zone .main-tag{position:absolute;left:14px;top:14px;background:var(--yellow);color:var(--dark);font-size:12px;font-weight:700;padding:5px 12px;border-radius:14px}
@media (max-width:900px){.zones{grid-template-columns:1fr 1fr}.zone{grid-column:span 1;height:360px}.zone:first-child{grid-column:1/-1}.zone.wide{grid-column:1/-1;height:220px}}
@media (max-width:560px){.zones{grid-template-columns:1fr}.zone,.zone:first-child{grid-column:1/-1;height:340px}}

/* propiedades */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.prop{background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid #ECE7DD;display:flex;flex-direction:column}
.prop .ph{position:relative;aspect-ratio:4/3;background:var(--ph);overflow:hidden}
.prop .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.prop:hover .ph img{transform:scale(1.03)}
.badge{position:absolute;left:16px;top:16px;background:#fff;font-size:12px;font-weight:700;padding:6px 12px;border-radius:16px}
.heart{position:absolute;right:14px;top:12px;width:44px;height:44px;border-radius:22px;border:0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.heart[aria-pressed="true"] path{fill:var(--ink)}
.pbody{padding:22px 24px 24px;display:flex;flex-direction:column;gap:6px}
.prow{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.price{font-size:22px;font-weight:700}
.gc{font-size:13px;color:var(--muted)}
.prop h3{font-family:var(--text);font-size:16px;font-weight:600;line-height:1.35}
.meta{font-size:14px;color:var(--muted)}
.loc{font-size:13px;color:var(--muted)}
.empty{grid-column:1/-1;padding:40px;background:#fff;border-radius:14px;text-align:center;color:var(--muted)}
.empty button{margin-top:12px;height:44px;padding:0 22px;border-radius:22px;border:1px solid var(--ink);background:none;cursor:pointer;font-weight:600;color:var(--ink)}
.nophoto{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#6E675C}
.note{margin-top:24px;font-size:13px;color:var(--muted)}
@media (max-width:980px){.grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.grid{grid-template-columns:1fr}}

/* galería */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:14px}
.gallery figure{margin:0;border-radius:12px;overflow:hidden;background:var(--ph);position:relative}
.gallery figure:first-child{grid-row:1/3}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:14px;bottom:12px;font-size:13px;font-weight:600;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}
@media (max-width:800px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px 180px}.gallery figure:first-child{grid-column:1/-1;grid-row:auto}}

/* vivir */
.living{background:var(--dark);color:#EDE8DC}
.living .inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,88px)}
.living .eyebrow{color:#EDE8DC}
.living h2{color:var(--yellow);font-size:clamp(38px,4.4vw,58px)}
.living .lead{color:#B9B3A8}
.btn{height:52px;padding:0 26px;border-radius:26px;display:inline-flex;align-items:center;text-decoration:none;font-weight:700;font-size:15px;border:1px solid var(--ink);margin-top:26px;margin-right:10px;cursor:pointer}
.btn.yl{background:var(--yellow);border-color:var(--yellow);color:var(--dark)}
.btn.dk{background:var(--dark);border-color:var(--dark);color:#fff}
.guide{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:26px 0;border-top:1px solid rgba(255,255,255,.16);text-decoration:none}
.guide .n{font-family:var(--display);font-size:26px;color:var(--yellow);line-height:1.1}
.guide h3{font-family:var(--text);font-size:19px;font-weight:600;color:#fff;line-height:1.3}
.guide p{margin:8px 0 0;font-size:15px;color:#B9B3A8}
.guide .law{display:block;margin-top:10px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow)}
.guide:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--yellow)}
.review{padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;color:#9A958C}
@media (max-width:900px){.living .inner{grid-template-columns:1fr}}

/* agentes */
.agents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.agent{background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid #ECE7DD;display:flex;flex-direction:column}
.agent .ph{aspect-ratio:4/5;background:var(--ph);display:flex;align-items:flex-end;padding:14px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(32,33,35,.55)}
.agent .ab{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.agent h3{font-size:22px}
.role{align-self:flex-start;background:var(--dark);color:var(--yellow);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:6px}
.agent p{margin:0;font-size:14px;color:var(--muted)}
.langs{font-size:13px;font-weight:600}
.acts{display:flex;gap:8px;margin-top:auto;padding-top:10px}
.acts a{flex:1;height:42px;border-radius:21px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:14px;font-weight:700;border:1px solid var(--line)}
.acts a:first-child{background:var(--yellow);border-color:var(--yellow)}
@media (max-width:1000px){.agents{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.agents{grid-template-columns:1fr}}

/* mercado */
.market{background:var(--surface)}
.arts{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.art{text-decoration:none;display:flex;flex-direction:column;gap:12px}
.art .ph{border-radius:12px;overflow:hidden;background:var(--ph);aspect-ratio:16/10}
.art:first-child .ph{aspect-ratio:4/3}
.art .ph img{width:100%;height:100%;object-fit:cover}
.art small{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.art h3{font-size:clamp(22px,2vw,28px);line-height:1.15}
.art span{font-size:13px;color:var(--muted)}
@media (max-width:900px){.arts{grid-template-columns:1fr}}

/* vender */
.sellsec{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,80px);align-items:center}
.sellsec .ph{border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--ph)}
.sellsec .ph img{width:100%;height:100%;object-fit:cover}
.sellsec p{color:var(--muted);font-size:17px;max-width:46ch}
@media (max-width:800px){.sellsec{grid-template-columns:1fr}}

/* footer */
.ftr{background:var(--dark);color:#fff;padding:72px 0 40px}
.cols{display:grid;grid-template-columns:1fr 1.15fr 1.1fr 1.15fr .8fr 1.5fr;gap:28px}
.cols h4{margin:0 0 20px;font-family:var(--display);font-weight:400;font-size:17px;color:#8E9095}
.cols h4.hi{color:var(--yellow)}
.cols p,.cols ul{margin:0;padding:0;list-style:none;font-size:15px;line-height:1.8}
.cols a{text-decoration:none}
.cols a:hover,.linkbtn:hover{color:var(--yellow)}
.linkbtn{background:none;border:0;padding:0;cursor:pointer;font-size:15px;line-height:1.8}
.news{display:flex;border-bottom:1px solid #6B6D72}
.news input{flex:1;min-width:0;height:44px;background:transparent;border:0;color:#fff;font-size:15px}
.news input::placeholder{color:#8E9095}
.news button{width:44px;height:44px;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--yellow)}
.fine{font-size:13px;color:#8E9095;margin-top:10px}
.base{margin-top:60px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;justify-content:space-between;font-size:13px;color:#A9ABAF}
.base a.mail{color:#fff;text-decoration:none;font-size:16px}
@media (max-width:1100px){.cols{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.cols{grid-template-columns:1fr 1fr}.cols>div:last-child{grid-column:1/-1}}

/* aviso legal */
dialog{border:0;padding:0;border-radius:14px;max-width:740px;width:calc(100% - 32px);max-height:86vh;background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(32,33,35,.6)}
.dlg-h{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:flex-start;padding:26px 30px 18px;border-bottom:1px solid var(--line)}
.dlg-h small{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.dlg-h h2{font-size:30px;margin-top:6px}
.x{width:44px;height:44px;border:0;background:none;cursor:pointer;font-size:26px;line-height:1;color:var(--muted)}
.dlg-b{padding:4px 30px 30px}
.dlg-b h3{font-family:var(--text);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:26px 0 8px}
.dlg-b p{margin:0 0 8px;color:#3F3C37;font-size:15px}
.upd{font-size:13px;color:var(--muted)!important;margin-top:24px!important;padding-top:14px;border-top:1px solid var(--line)}


/* ===== ajustes sutiles ===== */
.f>select{height:44px}
.fields{padding:8px 10px 8px 24px;align-items:center;grid-template-columns:.9fr 1.25fr 1fr 1.35fr auto}
.f{padding:6px 18px;gap:2px}
.f select{font-weight:500;color:var(--ink)}
.tab{height:50px}
.go{height:52px;border-radius:10px}
.sfoot{padding:10px 28px}
.zone{align-items:flex-end}
.zone::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,21,22,0) 45%,rgba(20,21,22,.28) 68%,rgba(20,21,22,.72) 100%);pointer-events:none}
.zone.wide::after{background:linear-gradient(90deg,rgba(20,21,22,.62) 0%,rgba(20,21,22,.25) 45%,rgba(20,21,22,0) 70%)}
.zcap{position:relative;z-index:1;margin:0;padding:22px 24px;background:none;border-radius:0;width:100%;gap:6px}
.zone.wide .zcap{max-width:none;width:auto;align-self:flex-end}
.zcap b{font-family:var(--display);font-weight:300;font-size:30px;letter-spacing:.01em;color:#fff}
.zcap span{font-size:13px;color:rgba(255,255,255,.88)}
.zcap em{position:relative;border-top:0;padding:4px 0 6px;margin-top:6px;justify-content:flex-start;gap:10px;font-weight:500;color:#fff;align-self:flex-start}
.zcap em svg{color:var(--yellow);transition:transform .3s ease}
.zone:hover .zcap em svg{transform:translateX(4px)}
.zcap em::before{content:"";position:absolute;left:0;bottom:0;width:28px;height:1.5px;background:var(--yellow);transition:width .3s ease}
.zone:hover .zcap em::before{width:100%}
.zone .main-tag{z-index:1;background:rgba(255,255,255,.9);color:var(--dark);font-weight:600}
.agents{grid-template-columns:repeat(3,minmax(0,1fr))}
.agent .ph{aspect-ratio:4/3;background:linear-gradient(160deg,#EFEAE1,#DDD5C8);display:flex;align-items:center;justify-content:center;padding:0}
.ini{width:112px;height:112px;border-radius:50%;border:1px solid rgba(32,33,35,.25);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:300;font-size:38px;letter-spacing:.08em;color:#3A3834;background:rgba(255,255,255,.45)}
.agent .ab{gap:6px}
.role{background:none!important;color:var(--muted)!important;padding:0!important;border-radius:0!important;font-size:11px;display:flex;align-items:center;gap:8px}
.role::before{content:"";width:16px;height:1.5px;background:var(--yellow)}
.acts a:first-child{background:var(--dark)!important;border-color:var(--dark)!important;color:#fff}
.base .contact{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}
.base a.wa{display:inline-flex;align-items:center;gap:8px}
.base a.wa svg{color:var(--yellow)}
@media (max-width:1000px){.agents{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.agents{grid-template-columns:1fr}}


.acts2{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:14px}
.wab{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#3A3834;transition:border-color .2s ease,color .2s ease}
.wab:hover{border-color:#25D366;background:#F2FBF5}
.prof{flex:1;height:44px;border-radius:22px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:14px;font-weight:600}
.prof:hover{border-color:var(--ink)}
.agent .ab{gap:8px;padding:22px 22px 22px}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
  .js .hero img,.js .hero .wrap>*{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ===== menú v13 ===== */
.nav{gap:28px!important;font-size:15px!important}
.pill.sm{width:40px;min-width:40px;padding:0}
.lng{display:inline-flex;align-items:center;gap:8px;margin-left:8px;font-family:var(--text);font-size:12px;font-weight:600;letter-spacing:.08em}
.lng a{color:rgba(255,255,255,.55);text-decoration:none}
.lng a[aria-current]{color:#fff}
.lng a:hover{color:var(--yellow)}
.lng i{width:1px;height:12px;background:rgba(255,255,255,.3)}

/* ===== agentes v12 (portada y Nosotros) ===== */
#agentes h2 em{font-style:italic;font-weight:300}
.agents{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
.agent .ph{aspect-ratio:4/5!important;padding:0!important;position:relative;overflow:hidden}
.agent .ph img{width:100%;height:100%;object-fit:cover;display:block}
.agent .ph .ini{position:absolute;inset:0;margin:auto}
.agent .ab{padding:16px 16px 18px!important}
.agent h3{font-size:18px!important;line-height:1.25}
.acts2{gap:8px!important}
.acts2 .wab{width:40px!important;height:40px!important;flex-shrink:0}
.acts2 .prof{height:40px!important;font-size:13px!important;min-width:0;white-space:nowrap}
.acts2 .mail{color:#3A3834}
.acts2 .mail:hover{border-color:var(--ink);background:#fff}
@media (max-width:1100px){.agents{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:700px){.agents{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ===== fotos con líneas rectas ===== */
.zone,.zone img,.prop,.prop .ph,.gallery figure,.agent,.agent .ph,.art .ph,.sellsec .ph,.empty{border-radius:0!important}

/* ===== tarjeta de propiedad (listado, similares y favoritos) ===== */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px}
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.pc{background:#fff;border:1px solid #ECE7DD;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s ease,transform .25s ease}
.pc.hl,.pc:hover{box-shadow:0 14px 34px rgba(32,33,35,.10)}
.pc .gal{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ph)}
.pc .gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s ease}
.pc .gnav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:18px;border:0;background:rgba(255,255,255,.92);cursor:pointer;opacity:0;transition:opacity .2s ease;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}
.pc:hover .gnav,.pc .gnav:focus-visible{opacity:1}
.pc .gprev{left:10px}.pc .gnext{right:10px}
.dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px}
.dots i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.55)}
.dots i.on{background:#fff}
.pc .tag{position:absolute;left:14px;top:14px;background:#fff;font-size:12px;font-weight:700;padding:5px 11px;border-radius:14px}
.pc .heart{position:absolute;right:12px;top:10px;width:42px;height:42px;border-radius:21px;border:0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.pc .heart[aria-pressed="true"] path{fill:#202123}
.pc .pb{padding:18px 20px 20px;display:flex;flex-direction:column;gap:5px;text-decoration:none;color:inherit}
.pc .pr{font-size:21px;font-weight:700}
.pc h3{font-family:var(--text);font-size:15.5px;font-weight:600;line-height:1.35}
.pc .sp{font-size:14px;color:var(--muted)}
.pc .lc{font-size:13px;color:var(--muted)}
.empty2{grid-column:1/-1;background:#fff;border:1px solid #ECE7DD;border-radius:14px;padding:40px;text-align:center;color:var(--muted)}
.empty2 button{margin-top:12px;height:42px;padding:0 20px;border-radius:21px;border:1px solid var(--ink);background:none;font-weight:600;cursor:pointer;color:var(--ink)}
.pc,.pc .gal,.empty2{border-radius:0}
@media (max-width:1100px){.cards.three{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.cards,.cards.three{grid-template-columns:1fr}}

/* sección actual del menú (en el diseño estaba como style en línea) */
.nav a[aria-current="page"],.mnav a[aria-current="page"]{color:var(--yellow)}
/* links "Ver perfil" que en el diseño son botones */
button.prof{background:#fff;cursor:pointer;font:inherit;color:var(--ink)}

/* Favoritos del cabezal: corazón centrado y la cantidad en una burbuja amarilla (no empuja el ícono) */
.favp{position:relative}
.favp svg{display:block}
.favn:empty{display:none}
.favn{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--yellow);color:var(--dark);font-size:11px;font-weight:700;line-height:18px;text-align:center}

/* Desplegable propio de los select (js/main.js, select[data-cs]): reemplaza la lista nativa del navegador en
   computadoras; en el celular se usa el selector del teléfono */
.cs-list{position:fixed;z-index:200;margin:0;padding:6px;list-style:none;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(22,22,22,.16);max-height:min(360px,60vh);overflow:auto;min-width:200px;font-family:var(--text);opacity:0;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease}
.cs-list.open{opacity:1;transform:none}
.cs-list li{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px;border-radius:9px;font-size:15px;font-weight:500;line-height:1.3;white-space:nowrap;cursor:pointer}
.cs-list li.vacio{color:var(--muted)}
.cs-list li.vacio[aria-selected="true"]{font-weight:500}
.cs-list li.vacio::after{display:none}
.cs-list li.act{background:var(--bg)}
.cs-list li[aria-selected="true"]{font-weight:700}
.cs-list li[aria-selected="true"]::after{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 1.5px var(--ink)}
@media (prefers-reduced-motion: reduce){.cs-list{transition:none}}

/* Búsquedas guardadas (js/main.js): campana del cabezal con su panel, y la misma lista dentro del menú móvil */
.busq{position:relative}
.busq[hidden]{display:none!important}
.busq-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:min(360px,calc(100vw - 32px));padding:8px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(22,22,22,.18)}
.busq-tit{margin:6px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.busq-lista{list-style:none;margin:0;padding:0;max-height:min(420px,70vh);overflow:auto}
.busq-lista li{display:flex;align-items:center;gap:4px;border-radius:9px}
.busq-lista li:hover{background:var(--bg)}
.busq-lista a{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none}
.busq-lista a b{font-size:14px;font-weight:600;line-height:1.3}
.busq-lista a small{font-size:12.5px;color:var(--muted);line-height:1.4}
.busq-lista button{flex-shrink:0;width:34px;height:34px;margin-right:4px;border:0;border-radius:17px;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.busq-lista button:hover{background:#fff;color:var(--ink)}
.mbusq{padding:14px 0 4px}
.mbusq[hidden]{display:none}
.mbusq .busq-tit{margin:0 0 6px;color:rgba(255,255,255,.55)}
.mbusq .busq-lista li:hover{background:rgba(255,255,255,.06)}
.mbusq .busq-lista a{padding:8px 0;border-bottom:0;font-size:inherit}
.mbusq .busq-lista a small{color:rgba(255,255,255,.6)}
.mbusq .busq-lista button{color:rgba(255,255,255,.6)}
.mfavn:empty{display:none}
.mfavn{display:inline-block;min-width:20px;padding:0 6px;margin-left:6px;border-radius:10px;background:var(--yellow);color:var(--dark);font-size:12px;font-weight:700;text-align:center;vertical-align:2px}

/* Entre 1180 y 1380 px el menú de 5 secciones entra justo: menos espacio entre ítems y sin ES|EN (sigue en el menú móvil) */
@media (max-width:1380px) and (min-width:1181px){
  .nav{gap:20px!important;font-size:14px!important}
  .bar{gap:22px}
  .tools .lng{display:none}
}
.pc .pr small.unit{font-size:14px;font-weight:500;color:var(--muted)}

/* Inglés (/en/): el traductor de Google (textos de Tera y del panel, js/main.js) trabaja sin mostrar su barra ni sus avisos */
body > .skiptranslate, iframe.skiptranslate, .goog-te-banner-frame, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf, .VIpgJd-ZVi9od-ORHb-OEVmcd { display: none !important; }
body { top: 0 !important; }
#goog-gt-tt, .goog-tooltip { display: none !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }

/* Celular: el ES|EN del encabezado no entra junto al logo, WhatsApp y el menú (a 375 px desbordaba);
   debajo de 430 px queda solo en el menú desplegable */
@media (max-width:520px){.bar{gap:12px}.tools{gap:8px}}
@media (max-width:430px){.tools .lng{display:none}}

/* Email y teléfono escritos debajo del nombre de cada agente (diseño v3, inc/agentes.php → agente_contacto_html) */
.ainfo{display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:13px;line-height:1.45}
.ainfo a{color:var(--muted);text-decoration:none;word-break:break-all}
.ainfo a:hover{color:var(--ink)}

/* WhatsApp directo en cada tarjeta de propiedad (diseño v3) */
.pc .gal{position:relative}
.cwa{position:absolute;left:12px;bottom:12px;width:38px;height:38px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.18);z-index:3;transition:transform .2s ease}
.cwa:hover{transform:scale(1.06)}

/* Número de referencia sobre la foto de cada tarjeta (pedido del cliente): abajo a la derecha */
.cref{position:absolute;right:12px;bottom:12px;z-index:3;padding:5px 10px;border-radius:14px;background:rgba(20,21,22,.62);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;pointer-events:none}

/* Tarjetas de agentes en el celular (diseño v4): más compactas, el mail corta bien y los botones no se desarman */
@media (max-width:600px){
  .agents{gap:12px!important}
  .agent .ab{padding:14px 12px!important}
  .agent h3{font-size:17px!important;line-height:1.2}
  .agent .langs{font-size:12px!important}
  .ainfo{font-size:12px!important}
  .ainfo a{word-break:normal!important;overflow-wrap:anywhere}
  .agent .acts2{flex-wrap:wrap;gap:8px}
  .agent .acts2 .prof{flex:1 1 100%!important;order:3}
  .agent .acts2 .wab{flex:1 1 0!important;width:auto!important;border-radius:20px}
}

/* Sugerencia de idioma según el navegador (js/main.js): abajo, sin tapar el contenido */
.langtip{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:300;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;max-width:calc(100vw - 32px);padding:12px 16px;border-radius:14px;background:var(--dark);color:#fff;font-size:14px;box-shadow:0 12px 32px rgba(0,0,0,.25)}
.langtip a{background:var(--yellow);color:var(--dark);font-weight:700;text-decoration:none;padding:7px 14px;border-radius:18px}
.langtip button{border:0;background:none;color:rgba(255,255,255,.75);font:inherit;cursor:pointer;text-decoration:underline}
