/* ══════════════════════════════════════════════════════════════
   BAIREN · Portal (web de prueba, rama portal) · componentes nuevos
   Identidad: BAIREN (tokens en base.css).
   Prefijo p- para no chocar con las clases del sitio actual.
   ══════════════════════════════════════════════════════════════ */
:root{
  --p-max:1200px; --p-radius:16px; --p-shadow:0 10px 30px rgba(19,29,45,.08); --p-shadow-hover:0 18px 44px rgba(19,29,45,.12);
  --p-line:rgba(19,29,45,.10); --p-bg:#FBFAF6; --p-card:#FDFCF9; --p-tray:#F4F0E6; --p-expo:cubic-bezier(.16,1,.3,1);
}
body{background:var(--p-bg);color:var(--text-dark);font-family:var(--font-body)}
.p-container{max-width:var(--p-max);margin:0 auto;padding:0 24px}
.p-section{padding:clamp(64px,8vw,104px) 0}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--p-expo),transform .9s var(--p-expo)}
[data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}
.p-section.alt{background:#F4F0E6}
.p-eyebrow{display:inline-block;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 12px;border:1px solid var(--gold-light);border-radius:999px;padding:5px 11px}
.p-h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--navy-deeper);margin:0 0 8px;letter-spacing:.005em}
.p-sub{color:var(--text-mid);margin:0 0 28px;font-size:.98rem}
.p-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.p-head-row .p-h2{margin:0}
.p-link{color:var(--navy);font-weight:500;font-size:.85rem;letter-spacing:.01em;border-bottom:1px solid var(--gold);padding-bottom:2px;white-space:nowrap}
@media(hover:hover) and (pointer:fine){.p-link:hover{color:var(--gold-dark)}}

/* ── Botones ─────────────────────────────────────────────── */
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border-radius:999px;border:1px solid var(--gold);color:var(--gold);background:transparent;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;cursor:pointer;transition:background .25s var(--p-expo),color .25s var(--p-expo),transform .25s var(--p-expo),box-shadow .25s var(--p-expo);white-space:nowrap}
.p-btn:active{transform:scale(.98)}
.p-btn .ic{width:26px;height:26px;border-radius:50%;background:rgba(19,29,45,.08);display:inline-flex;align-items:center;justify-content:center;margin-right:-8px;transition:transform .3s var(--p-expo)}
@media(hover:hover) and (pointer:fine){.p-btn:hover .ic{transform:translate(2px,-1px) scale(1.05)}}
.p-btn .ic svg{width:12px;height:12px}
@media(hover:hover) and (pointer:fine){.p-btn:hover{background:var(--gold);color:var(--navy-deeper)}}
.p-btn-fill{background:var(--gold);color:var(--navy-deeper)}
@media(hover:hover) and (pointer:fine){.p-btn-fill:hover{background:var(--gold-light)}}
.p-btn-dark{border-color:var(--navy);color:var(--navy)}
@media(hover:hover) and (pointer:fine){.p-btn-dark:hover{background:var(--navy);color:#fff}}
.p-btn-navy{background:var(--navy-deeper);border-color:var(--navy-deeper);color:#fff}
@media(hover:hover) and (pointer:fine){.p-btn-navy:hover{background:var(--navy)}}
.p-btn-sm{height:36px;padding:0 14px;font-size:.7rem}
.p-btn svg{width:16px;height:16px;flex-shrink:0}
.p-icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--p-line);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}
@media(hover:hover) and (pointer:fine){.p-icon-btn:hover{border-color:var(--gold);color:var(--gold-dark)}}
.p-icon-btn svg{width:18px;height:18px}
.p-icon-btn.on{color:#B3423C;border-color:#B3423C}

/* ── Header (sobre .navbar de base.css) ──────────────────── */
.navbar{padding:0 32px}
.p-nav-left{display:flex;align-items:center;gap:28px;min-width:0}
.p-nav-menu{display:none;align-items:center;gap:22px}
.p-nav-menu>div{position:relative}
.p-nav-menu a,.p-nav-menu button{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:rgba(255,255,255,.72);background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:22px 0}
@media(hover:hover) and (pointer:fine){.p-nav-menu a:hover,.p-nav-menu button:hover{color:#fff}}
.p-nav-menu .car{width:9px;height:9px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7}
.p-dd{position:absolute;top:100%;left:-12px;min-width:240px;background:#fff;border:1px solid var(--p-line);border-top:2px solid var(--gold);border-radius:0 0 16px 16px;box-shadow:var(--p-shadow);padding:10px 0;display:none;z-index:1200}
.p-nav-menu>div:hover .p-dd,.p-nav-menu>div:focus-within .p-dd{display:block}
.p-dd a{display:block;padding:10px 18px;color:var(--navy-deeper);text-transform:none;letter-spacing:.02em;font-size:.88rem;font-weight:400}
@media(hover:hover) and (pointer:fine){.p-dd a:hover{background:#F4F0E6;color:var(--navy-deeper)}}
.p-dd .p-dd-ttl{padding:8px 18px 4px;font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--gold-dark)}
.p-nav-right{display:none;align-items:center;gap:14px}
.p-nav-right .p-ghost{color:rgba(255,255,255,.8);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;display:inline-flex;align-items:center;gap:8px;padding:8px 6px;background:none;border:0;cursor:pointer}
@media(hover:hover) and (pointer:fine){.p-nav-right .p-ghost:hover{color:#fff}}
.p-nav-right .p-ghost svg{width:18px;height:18px}
.p-nav-right .p-btn{height:38px;padding:0 18px}
.p-bell{position:relative}
.p-bell .dot{position:absolute;top:6px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
@media(min-width:1024px){.p-nav-menu,.p-nav-right{display:flex}.burger{display:none}}
@media(max-width:1023px){.burger{display:flex}}
.mobile-menu .m-sep{height:1px;background:rgba(255,255,255,.12);margin:10px 0}
.mobile-menu .m-cta{display:flex;gap:10px;padding:8px 0 0}

/* ── Hero con buscador ───────────────────────────────────── */
.p-hero{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center;padding:120px 24px 64px;overflow:hidden;background:var(--navy-deeper)}
.p-hero video,.p-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.p-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,29,45,.35),rgba(19,29,45,.65))}
.p-hero-in{position:relative;z-index:2;width:100%;max-width:980px;text-align:center}
.p-hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4.4vw,3.4rem);color:#fff;margin:0 0 6px;letter-spacing:.01em}
.p-hero .p-hero-sub{color:rgba(255,255,255,.75);margin:0 0 28px;font-size:1rem;letter-spacing:.01em}
.p-search{background:#fff;border-radius:var(--p-radius);box-shadow:0 20px 50px rgba(0,0,0,.25);text-align:left}
.p-tabs{display:flex;gap:4px;padding:8px 10px 0}
.p-tab{background:none;border:0;padding:12px 16px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--text-mid);cursor:pointer;border-bottom:2px solid transparent}
.p-tab.active{color:var(--navy-deeper);border-bottom-color:var(--gold)}
.p-tab[disabled]{opacity:.45;cursor:default}
.p-search-row{display:grid;grid-template-columns:200px 1fr auto;gap:10px;padding:14px;border-top:1px solid var(--p-line)}
.p-field{position:relative}
.p-field select,.p-field input{width:100%;height:48px;border:1px solid var(--p-line);border-radius:8px;padding:0 14px;font:400 .95rem var(--font-body);color:var(--navy-deeper);background:#fff;appearance:none}
.p-field input::placeholder{color:#9AA1AE}
.p-field select{padding-right:34px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M0 0l5 6 5-6z' fill='%236B7589'/></svg>");background-repeat:no-repeat;background-position:right 14px center}
.p-field:focus-within select,.p-field:focus-within input{border-color:var(--gold)}
.p-search-row .p-btn{height:48px;padding:0 28px}
.p-sugg{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--p-line);border-radius:8px;margin-top:4px;box-shadow:var(--p-shadow);z-index:20;display:none;max-height:260px;overflow:auto}
.p-sugg.open{display:block}
.p-sugg button{display:flex;width:100%;text-align:left;background:none;border:0;padding:10px 14px;font:400 .92rem var(--font-body);color:var(--navy-deeper);cursor:pointer;gap:10px;align-items:center}
@media(hover:hover) and (pointer:fine){.p-sugg button:hover{background:#F4F0E6}}
.p-sugg small{color:var(--text-mid);margin-left:auto}
.p-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 14px}
.p-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--p-line);border-radius:999px;padding:6px 12px;font-size:.8rem;color:var(--navy-deeper);background:#F4F0E6}
.p-chip button{background:none;border:0;cursor:pointer;color:var(--text-mid);font-size:1rem;line-height:1;padding:0}
@media(max-width:700px){.p-search-row{grid-template-columns:1fr}.p-hero{min-height:520px;padding-top:96px}}

/* ── Zonas (barrios) ─────────────────────────────────────── */
.p-zonas-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.p-zonas{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.p-zona{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--p-card);border:1px solid var(--p-line);border-radius:16px;padding:14px 16px;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}
@media(hover:hover) and (pointer:fine){.p-zona:hover{border-color:var(--gold);transform:translateY(-1px);box-shadow:var(--p-shadow)}}
.p-zona b{font-family:var(--font-display);font-weight:500;font-size:1.05rem;color:var(--navy-deeper)}
.p-zona span{font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--text-mid)}
.p-zona .n{font-size:.8rem;color:var(--gold-dark);white-space:nowrap}
.p-map-home{background:var(--p-tray);border-radius:calc(var(--p-radius) + 8px);padding:8px;min-height:420px}
.p-map-home .in{background:var(--p-card);border-radius:var(--p-radius);padding:10px;height:100%}
#mapaHome{width:100%;height:100%;min-height:400px}
@media(max-width:960px){.p-zonas-wrap{grid-template-columns:1fr}.p-map-home{display:none}}
@media(max-width:520px){.p-zonas{grid-template-columns:1fr}}

/* ── Grilla de tarjetas (home) reusa .prop-card de catalogo.css ── */
.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.p-card-pub{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.72rem;color:var(--text-mid);letter-spacing:.02em}
.p-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gold);color:var(--gold-dark);border-radius:999px;padding:3px 9px;font-size:.8125rem;letter-spacing:.01em;text-transform:none;white-space:nowrap}
.p-badge.dueno{border-color:var(--navy);color:var(--navy)}
.p-badge.demo{border-color:#B3423C;color:#B3423C}
.p-badge svg{width:12px;height:12px}

/* ── Bloque Publicá / Publicadores / Índice / SEO ────────── */
.p-publica{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;background:var(--navy-deeper);color:#fff;border-radius:var(--p-radius);padding:44px;position:relative;overflow:hidden}
.p-publica img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18}
.p-publica>*{position:relative}
.p-publica h3{font-family:var(--font-display);font-weight:400;font-size:1.9rem;margin:0 0 12px}
.p-publica p{color:rgba(255,255,255,.75);margin:0 0 18px;line-height:1.55}
.p-publica ul{margin:0 0 22px;padding:0;list-style:none;color:rgba(255,255,255,.85);font-size:.92rem;display:grid;gap:8px}
.p-publica li::before{content:"✦";color:var(--gold);margin-right:8px;font-size:.7rem}
.p-publica .p-cta-row{display:flex;flex-wrap:wrap;gap:10px}
.p-pubs{display:flex;flex-wrap:wrap;gap:14px}
.p-pub-card{display:flex;align-items:center;gap:14px;background:var(--p-card);border:1px solid var(--p-line);border-radius:16px;padding:14px 18px;min-width:280px}
.p-pub-logo{width:52px;height:52px;border-radius:8px;background:var(--navy-deeper);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.3rem;flex-shrink:0}
.p-pub-card b{display:block;font-weight:500;color:var(--navy-deeper)}
.p-pub-card small{color:var(--text-mid);font-size:.78rem}
.p-index{width:100%;border-collapse:collapse;background:var(--p-card);border:1px solid var(--p-line);border-radius:16px;overflow:hidden}
.p-index th,.p-index td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--p-line);font-size:.92rem}
.p-index th{font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--gold-dark);background:#F4F0E6}
.p-index td.num{text-align:right;font-variant-numeric:tabular-nums lining-nums}
.p-seo{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 24px}
.p-seo a{font-size:.88rem;color:var(--text-mid);padding:4px 0}
@media(hover:hover) and (pointer:fine){.p-seo a:hover{color:var(--navy-deeper)}}
.p-note{font-size:.78rem;color:var(--text-mid);margin-top:10px}
@media(max-width:900px){.p-publica{grid-template-columns:1fr;padding:32px}.p-seo{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.p-seo{grid-template-columns:1fr}}

/* ── Barra de filtros (resultados) ───────────────────────── */
.p-filters{position:sticky;top:64px;z-index:900;background:#fff;border-bottom:1px solid var(--p-line)}
.p-filters-in{max-width:var(--p-max);margin:0 auto;padding:12px 24px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.p-fchip{display:flex;align-items:center;gap:6px;height:42px;border:1px solid var(--p-line);border-radius:8px;padding:0 10px;min-width:220px;flex:1 1 220px;position:relative}
.p-fchip input{border:0;outline:0;flex:1;min-width:80px;font:400 .9rem var(--font-body);color:var(--navy-deeper)}
.p-fchip .p-chip{padding:4px 10px}
.p-fsel{height:42px;border:1px solid var(--p-line);border-radius:8px;padding:0 34px 0 12px;font:500 .85rem var(--font-body);color:var(--navy-deeper);background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M0 0l5 6 5-6z' fill='%236B7589'/></svg>") no-repeat right 12px center;appearance:none;cursor:pointer}
.p-fbtn{height:42px;border:1px solid var(--p-line);border-radius:8px;padding:0 14px;font:500 .85rem var(--font-body);color:var(--navy-deeper);background:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
@media(hover:hover) and (pointer:fine){.p-fbtn:hover,.p-fsel:hover{border-color:var(--gold)}}
.p-fbtn svg{width:16px;height:16px}
.p-fbtn .cnt{background:var(--gold);color:var(--navy-deeper);border-radius:999px;font-size:.66rem;padding:2px 7px}
.p-pop{position:absolute;top:calc(100% + 6px);left:0;background:var(--p-card);border:1px solid var(--p-line);border-radius:16px;box-shadow:var(--p-shadow);padding:14px;z-index:950;min-width:260px;display:none}
.p-pop.open{display:block}
.p-pop label{display:block;font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--gold-dark);margin:6px 0 4px}
.p-pop .row{display:flex;gap:8px}
.p-pop input[type=number]{width:100%;height:40px;border:1px solid var(--p-line);border-radius:8px;padding:0 10px;font:400 .9rem var(--font-body)}
.p-pop .seg{display:flex;gap:6px;flex-wrap:wrap}
.p-pop .seg button{border:1px solid var(--p-line);background:#fff;border-radius:999px;padding:7px 12px;font:500 .8rem var(--font-body);cursor:pointer;color:var(--navy-deeper)}
.p-pop .seg button.on{background:var(--navy-deeper);color:#fff;border-color:var(--navy-deeper)}
.p-pop .acts{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:8px}
.p-pop .lnk{background:none;border:0;color:var(--text-mid);font-size:.82rem;cursor:pointer;text-decoration:underline}
.p-fwrap{position:relative}
/* drawer Más filtros */
.p-drawer{position:fixed;inset:0;z-index:1500;display:none}
.p-drawer.open{display:block}
.p-drawer .bg{position:absolute;inset:0;background:rgba(19,29,45,.5)}
.p-drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;overflow:auto;padding:22px 24px 90px;box-shadow:-20px 0 50px rgba(0,0,0,.2)}
.p-drawer h3{font-family:var(--font-display);font-weight:500;margin:0 0 6px;font-size:1.4rem;color:var(--navy-deeper)}
.p-drawer .grp{border-top:1px solid var(--p-line);padding:14px 0}
.p-drawer .grp label.t{display:block;font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--gold-dark);margin-bottom:8px}
.p-drawer .checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.p-drawer .checks label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--navy-deeper);cursor:pointer}
.p-drawer .foot{position:fixed;bottom:0;right:0;width:min(440px,100%);background:#fff;border-top:1px solid var(--p-line);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.p-drawer .x{position:absolute;top:14px;right:14px;background:none;border:0;font-size:1.4rem;cursor:pointer;color:var(--text-mid)}

/* ── Resultados ──────────────────────────────────────────── */
.p-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 14px}
.p-results-head h1{font-family:var(--font-display);font-weight:500;font-size:1.25rem;color:var(--navy-deeper);margin:0}
.p-results-head h1 span{color:var(--gold-dark)}
.p-results-head .acts{display:flex;gap:8px}
.p-results{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start;padding-bottom:64px}
.p-map-col{position:sticky;top:132px}
.p-map-card{background:var(--p-tray);border-radius:calc(var(--p-radius) + 8px);padding:8px;overflow:hidden}
.p-map-card .in{background:var(--p-card);border-radius:var(--p-radius);padding:8px}
#mapaResultados{width:100%;height:360px}
.p-map-hint{font-size:.78rem;color:var(--text-mid);text-align:center;padding:8px 0 2px}
.p-list{display:grid;gap:16px}
.p-card-h{display:grid;grid-template-columns:minmax(220px,38%) 1fr;background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius);overflow:hidden;position:relative;transition:box-shadow .3s var(--p-expo),transform .3s var(--p-expo)}
@media(hover:hover) and (pointer:fine){.p-card-h:hover{box-shadow:var(--p-shadow-hover);transform:translateY(-2px)}}
.p-card-photo{position:relative;background:#E9E4D8;min-height:220px}
.p-card-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-card-photo .ct{position:absolute;left:10px;bottom:10px;background:rgba(19,29,45,.75);color:#fff;font-size:.68rem;padding:4px 8px;border-radius:8px;letter-spacing:.01em}
.p-card-photo .tag{position:absolute;left:10px;top:10px;background:var(--gold);color:var(--navy-deeper);font-size:.8125rem;letter-spacing:.01em;text-transform:none;padding:4px 8px;border-radius:8px;font-weight:500}
.p-card-photo .tag.res{background:#B3423C;color:#fff}
.p-card-body{padding:18px 20px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.p-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.p-price{font-family:var(--font-display);font-size:1.5rem;color:var(--navy-deeper);line-height:1.1}
.p-price small{font-family:var(--font-body);font-size:.8rem;color:var(--text-mid)}
.p-expensas{font-size:.82rem;color:var(--text-mid)}
.p-meta{font-size:.86rem;color:var(--navy-deeper);display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.p-addr{font-weight:500;color:var(--navy-deeper);margin-top:4px}
.p-barrio{font-size:.86rem;color:var(--text-mid)}
.p-desc{font-size:.86rem;color:var(--text-mid);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px}
.p-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--p-line)}
.p-card-foot .acts{display:flex;gap:8px}
.p-publine{display:flex;align-items:center;gap:8px;font-size:.74rem;color:var(--text-mid);min-width:0}
.p-publine b{color:var(--navy-deeper);font-weight:500}
.p-card-h .p-fav{position:absolute;top:12px;right:12px;z-index:2}
.p-pager{display:flex;justify-content:center;gap:6px;margin-top:26px}
.p-pager button{min-width:38px;height:38px;border:1px solid var(--p-line);background:#fff;border-radius:8px;cursor:pointer;font:500 .85rem var(--font-body);color:var(--navy-deeper)}
.p-pager button.on{background:var(--navy-deeper);color:#fff;border-color:var(--navy-deeper)}
.p-empty{background:#fff;border:1px dashed var(--p-line);border-radius:var(--p-radius);padding:40px;text-align:center;color:var(--text-mid)}
@media(max-width:1023px){.p-results{grid-template-columns:1fr}.p-map-col{display:none}}
@media(max-width:640px){.p-card-h{grid-template-columns:1fr}.p-card-photo{min-height:200px}}

/* ── Ficha ───────────────────────────────────────────────── */
.p-ficha-top{padding-top:84px}
.p-tray{background:var(--p-tray);border-radius:calc(var(--p-radius) + 8px);padding:8px}
.p-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:8px;border-radius:var(--p-radius);overflow:hidden;position:relative}
.p-gallery a{position:relative;display:block;background:#E9E4D8;overflow:hidden}
.p-gallery a:first-child{grid-row:1/3}
.p-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
@media(hover:hover) and (pointer:fine){.p-gallery a:hover img{transform:scale(1.03)}}
.p-gallery .cts{position:absolute;left:12px;bottom:12px;display:flex;gap:6px}
.p-gallery .cts span{background:rgba(19,29,45,.75);color:#fff;font-size:.72rem;padding:5px 9px;border-radius:8px;display:inline-flex;gap:6px;align-items:center}
.p-gallery .all{position:absolute;right:12px;bottom:12px;background:#fff;color:var(--navy-deeper);border:0;border-radius:8px;padding:9px 12px;font:500 .8rem var(--font-body);cursor:pointer;box-shadow:var(--p-shadow)}
.p-ficha{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start;padding:28px 0 64px}
.p-ficha-main>*+*{margin-top:26px}
.p-kicker{font-size:.86rem;color:var(--text-mid)}
.p-ficha-price{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.p-ficha-price .big{font-family:var(--font-display);font-size:2rem;color:var(--navy-deeper)}
.p-ficha-price .big small{font-family:var(--font-body);font-size:.9rem;color:var(--text-mid);margin-left:6px}
.p-ficha h1{font-family:var(--font-display);font-weight:500;font-size:1.5rem;color:var(--navy-deeper);margin:6px 0 2px}
.p-addr-line{display:flex;align-items:center;gap:8px;color:var(--navy-deeper);font-weight:500}
.p-addr-line svg{width:16px;height:16px;color:var(--gold-dark)}
.p-map-ficha{background:var(--p-card);border:1px solid var(--p-line);border-radius:16px;padding:8px;margin-top:10px}
#mapaFicha{height:300px}
.p-icons{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;border-top:1px solid var(--p-line);border-bottom:1px solid var(--p-line);padding:18px 0}
.p-icons div{text-align:center;font-size:.86rem;color:var(--navy-deeper)}
.p-icons svg{width:22px;height:22px;color:var(--gold-dark);display:block;margin:0 auto 6px}
.p-icons small{display:block;color:var(--text-mid);font-size:.8125rem;letter-spacing:.01em;text-transform:none}
.p-sec-t{font-family:var(--font-display);font-weight:500;font-size:1.2rem;color:var(--navy-deeper);margin:0 0 10px}
.p-text{color:var(--text-mid);line-height:1.65;white-space:pre-line}
.p-text.clamp{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.p-more{background:none;border:0;color:var(--navy-deeper);font:500 .85rem var(--font-body);cursor:pointer;padding:6px 0;text-decoration:underline}
.p-quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.p-quick button{border:1px solid var(--gold);background:#fff;color:var(--navy-deeper);border-radius:999px;padding:8px 12px;font:500 .82rem var(--font-body);cursor:pointer}
.p-quick button.on{background:var(--gold);color:var(--navy-deeper)}
.p-qrow{display:flex;gap:8px}
.p-qrow input{flex:1;height:46px;border:1px solid var(--p-line);border-radius:8px;padding:0 12px;font:400 .92rem var(--font-body)}
.p-tabs2{display:flex;gap:6px;border-bottom:1px solid var(--p-line);margin-bottom:12px}
.p-tabs2 button{background:none;border:0;padding:10px 14px;font:500 .84rem var(--font-body);color:var(--text-mid);cursor:pointer;border-bottom:2px solid transparent}
.p-tabs2 button.on{color:var(--navy-deeper);border-bottom-color:var(--gold)}
.p-feat{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 20px;color:var(--navy-deeper);font-size:.92rem}
.p-feat li{list-style:none;display:flex;gap:8px;align-items:center}
.p-feat li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.p-feat ul{margin:0;padding:0;display:contents}
.p-pub-block{background:var(--p-card);border:1px solid var(--p-line);border-radius:16px;padding:18px 20px}
.p-pub-block .row{display:flex;align-items:center;gap:14px}
.p-pub-block b{font-size:1.05rem;color:var(--navy-deeper);font-weight:500}
.p-pub-block .badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.p-codes{font-size:.8rem;color:var(--text-mid)}
.p-report{background:#F4F0E6;border-radius:16px;padding:18px 20px}
.p-report b{display:flex;align-items:center;gap:8px;color:var(--navy-deeper);font-weight:500;margin-bottom:10px}
.p-report .chips{display:flex;flex-wrap:wrap;gap:8px}
.p-report .chips button{border:1px solid var(--p-line);background:#fff;border-radius:8px;padding:8px 12px;font:400 .84rem var(--font-body);cursor:pointer;color:var(--navy-deeper)}
.p-meta-line{font-size:.8rem;color:var(--text-mid);display:flex;gap:14px}
.p-legend{font-size:.76rem;color:var(--text-mid);line-height:1.5;background:var(--p-tray);border-radius:8px;padding:10px 14px}
/* columna derecha */
.p-side{position:sticky;top:84px;display:grid;gap:14px}
.p-form{background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius);padding:20px;box-shadow:var(--p-shadow)}
.p-form h3{font-family:var(--font-display);font-weight:500;font-size:1.15rem;margin:0 0 12px;color:var(--navy-deeper)}
.p-form .r2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.p-form input,.p-form textarea{width:100%;border:1px solid var(--p-line);border-radius:8px;padding:12px;font:400 .9rem var(--font-body);color:var(--navy-deeper);margin-bottom:8px;background:#fff}
.p-form textarea{min-height:88px;resize:vertical}
.p-form input:focus,.p-form textarea:focus{outline:0;border-color:var(--gold)}
.p-form .chk{display:flex;gap:8px;align-items:flex-start;font-size:.78rem;color:var(--text-mid);margin:2px 0 8px}
.p-form .chk a{color:var(--navy-deeper);text-decoration:underline}
.p-form .p-btn{width:100%;margin-top:4px}
.p-side-pub{background:#fff;border:1px solid var(--p-line);border-radius:var(--p-radius);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.p-side-pub b{display:block;color:var(--navy-deeper);font-weight:500}
.p-side-pub small{color:var(--text-mid);font-size:.78rem}
.p-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy-deeper);color:#fff;padding:12px 18px;border-radius:8px;font-size:.88rem;z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s}
.p-toast.on{opacity:1}
.p-breadcrumb{font-size:.78rem;color:var(--text-mid);display:flex;flex-wrap:wrap;gap:6px;padding:14px 0}
.p-breadcrumb a{color:var(--text-mid)}
@media(hover:hover) and (pointer:fine){.p-breadcrumb a:hover{color:var(--navy-deeper)}}
@media(max-width:1023px){.p-ficha{grid-template-columns:1fr}.p-side{position:static}.p-icons{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.p-gallery{grid-template-columns:1fr 1fr;grid-template-rows:200px 120px}.p-gallery a:nth-child(n+4){display:none}.p-feat{grid-template-columns:1fr}}
/* lightbox simple */
.p-lb{position:fixed;inset:0;background:rgba(10,14,22,.95);z-index:3000;display:none;align-items:center;justify-content:center;flex-direction:column;gap:12px}
.p-lb.open{display:flex}
.p-lb img{max-width:92vw;max-height:80vh;object-fit:contain;border-radius:8px}
.p-lb .ctl{display:flex;gap:14px;align-items:center;color:#fff;font-size:.85rem}
.p-lb .ctl button{background:rgba(255,255,255,.12);color:#fff;border:0;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.1rem}
.p-lb .x{position:absolute;top:18px;right:20px;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}

/* ── Footer (sobre .footer de base.css) ──────────────────── */
.p-legal-strip{background:#F4F0E6;border-top:1px solid var(--p-line);padding:18px 0}
.p-legal-strip .p-container{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;font-size:.74rem;color:var(--text-mid)}
.p-legal-strip a{color:var(--navy-deeper);text-decoration:underline}
.p-legal-strip b{display:block;color:var(--navy-deeper);font-weight:500;margin-bottom:4px}
.footer .p-legend{color:rgba(255,255,255,.72);background:rgba(255,255,255,.06);margin-top:12px;max-width:560px}
@media(max-width:800px){.p-legal-strip .p-container{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.p-legal-strip .p-container{grid-template-columns:1fr}}

/* ── Páginas simples (Publicar, Ingresar, Legales, Publicadores) ── */
.p-page{padding:120px 0 80px;min-height:70vh}
.p-perfiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.p-perfil{background:#fff;border:1px solid var(--p-line);border-top:3px solid var(--gold);border-radius:16px;padding:30px 22px;text-align:center;transition:color .25s,background-color .25s,border-color .25s,box-shadow .25s,opacity .25s,transform .25s;cursor:pointer;display:block}
@media(hover:hover) and (pointer:fine){.p-perfil:hover{transform:translateY(-3px);box-shadow:var(--p-shadow)}}
.p-perfil svg{width:40px;height:40px;color:var(--gold-dark);margin-bottom:14px}
.p-perfil b{display:block;font-family:var(--font-display);font-weight:500;font-size:1.15rem;color:var(--navy-deeper)}
.p-perfil span{display:block;color:var(--text-mid);font-size:.86rem;margin-top:6px}
.p-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.p-step{background:var(--p-card);border:1px solid var(--p-line);border-radius:16px;padding:18px}
.p-step i{font-style:normal;display:inline-block;width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--navy-deeper);text-align:center;line-height:26px;font-size:.78rem;font-weight:500;margin-bottom:8px}
.p-step b{display:block;color:var(--navy-deeper);font-weight:500;margin-bottom:4px}
.p-step span{font-size:.84rem;color:var(--text-mid)}
.p-login{max-width:420px;margin:0 auto;background:#fff;border:1px solid var(--p-line);border-radius:var(--p-radius);padding:30px;box-shadow:var(--p-shadow)}
.p-login h1{font-family:var(--font-display);font-weight:500;font-size:1.5rem;margin:0 0 16px;color:var(--navy-deeper)}
.p-login input{width:100%;height:46px;border:1px solid var(--p-line);border-radius:8px;padding:0 12px;font:400 .95rem var(--font-body);margin-bottom:10px}
.p-login .or{display:flex;align-items:center;gap:10px;color:var(--text-mid);font-size:.78rem;margin:14px 0}
.p-login .or::before,.p-login .or::after{content:"";flex:1;height:1px;background:var(--p-line)}
.p-login .soc{width:100%;height:46px;border:1px solid var(--p-line);border-radius:8px;background:#fff;font:500 .88rem var(--font-body);color:var(--navy-deeper);cursor:pointer;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:10px}
.p-prose{max-width:820px}
.p-prose h1{font-family:var(--font-display);font-weight:500;font-size:2rem;color:var(--navy-deeper);margin:0 0 6px}
.p-prose h2{font-family:var(--font-display);font-weight:500;font-size:1.25rem;color:var(--navy-deeper);margin:30px 0 8px}
.p-prose p,.p-prose li{color:var(--text-mid);line-height:1.65}
.p-prose .box{background:#fff;border:1px solid var(--p-line);border-left:3px solid var(--gold);border-radius:8px;padding:14px 18px;color:var(--navy-deeper)}
@media(max-width:1100px){.p-perfiles{grid-template-columns:repeat(2,1fr)}} @media(max-width:900px){.p-perfiles,.p-steps{grid-template-columns:1fr}}
.p-demo-banner{position:fixed;left:12px;bottom:12px;z-index:1900;background:#fff;border:1px solid var(--gold);border-radius:8px;padding:8px 12px;font-size:.72rem;color:var(--navy-deeper);box-shadow:var(--p-shadow);letter-spacing:.01em}
.p-demo-banner b{color:var(--gold-dark)}
/* etiqueta de operación sobre .card-tag de catalogo.css */
.card-tag.tag-venta{background:var(--gold);color:var(--navy-deeper)}
.card-tag.tag-mediano{background:var(--navy-deeper);color:#fff}
/* 23/9/2026 · El !important va acá porque la regla genérica .card-tag (más abajo en este mismo
   archivo) fuerza color:#FBFAF6 !important sobre fondo navy. En "Propiedades similares" de la
   ficha ganaba ese color y este fondo blanco al mismo tiempo: la etiqueta quedaba blanco sobre
   blanco, contraste 1,04 a 1, o sea invisible. En el catálogo y la portada no se veía porque
   hay reglas con body.p-catalogo y body.p-home que pisan el fondo; la ficha era la única sin
   ese paraguas. */
.card-tag.tag-alquiler{background:#fff;color:var(--navy-deeper) !important}

/* ── Correcciones tras la primera revisión visual (3/9) ─────── */
.p-container{min-width:0}
.p-hero-in{min-width:0}
.p-search{overflow:hidden}
.p-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.p-tabs::-webkit-scrollbar{display:none}
.p-tab{white-space:nowrap;flex-shrink:0}
.p-feat[hidden]{display:none}
.p-report b svg,.p-card-photo .ct svg,.p-gallery .cts svg,.p-sugg svg,.p-zona>svg,.p-kicker svg,.p-addr-line svg,.p-meta-line svg{width:16px;height:16px;flex-shrink:0}
.p-form .chk span{flex:1}
.p-form .chk input{margin-top:2px}
.card-img{background:var(--p-tray)}
.p-grid .card-footer{flex-wrap:wrap;gap:8px}
.p-grid .price-amount{white-space:nowrap}
.p-grid .price-amount small{font-size:.72rem;color:var(--text-mid);font-family:var(--font-body)}
#mapaResultados,#mapaFicha,#mapaHome{height:auto;min-height:0;width:100%}
.p-map-ficha{overflow:hidden}
.p-map-ficha .p-note{padding:6px 8px 2px}
.p-cond{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.p-cond li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.85);font-size:.92rem;line-height:1.45}
.p-cond li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:8px}
.p-cond-ttl{font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--gold);margin:0 0 12px}
.p-zona .n.zero{color:var(--text-mid)}
@media(max-width:700px){.p-index{display:block;overflow-x:auto}.p-icons{grid-template-columns:repeat(3,1fr)}.p-results-head h1{font-size:1.1rem}}
.p-two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.p-two>*{min-width:0}
.p-zonas-wrap>*{min-width:0}
.p-index{width:100%;max-width:100%}
@media(max-width:900px){.p-two{grid-template-columns:1fr;gap:28px}}
.p-side-nav svg,.p-kpi svg,.p-aviso-row svg,.p-tbl svg{width:16px;height:16px}
.p-btn svg{width:16px;height:16px}
.p-form .chk input{width:auto;flex:0 0 auto;margin:3px 0 0;accent-color:var(--navy-deeper)}
.p-form .chk{align-items:flex-start}
.p-sub svg,.p-kicker svg,.p-note svg,.p-m svg,.p-codes svg,.p-meta-line svg{width:.95em;height:.95em;vertical-align:-.12em}

/* ══════════════════════════════════════════════════════════════
   Identidad navy (4/9): el navy enmarca como en bairengroup.com;
   el crema queda solo donde viven fotos y tarjetas.
   ══════════════════════════════════════════════════════════════ */
:root{--p-ink:#FBFAF6;--p-ink-mid:rgba(251,250,246,.72);--p-ink-low:rgba(251,250,246,.55);--p-line-dark:rgba(251,250,246,.12);--p-navy-card:rgba(251,250,246,.06)}
html{background:var(--navy-deeper)}
/* banda de cabecera de página */
.p-band{background:var(--navy-deeper);color:var(--p-ink);padding:104px 0 36px;position:relative;overflow:hidden}
.p-band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 85% 10%,rgba(194,169,104,.10),transparent 60%);pointer-events:none}
.p-band>.p-container{position:relative}
.p-band .p-h2,.p-band h1{color:var(--p-ink)}
.p-band .p-sub{color:var(--p-ink-mid)}
.p-band .p-eyebrow{color:var(--gold);border-color:rgba(194,169,104,.45)}
.p-band .p-link{color:var(--gold-light);border-bottom-color:rgba(194,169,104,.6)}
.p-band .p-btn{border-color:var(--gold);color:var(--gold)} @media(hover:hover) and (pointer:fine){.p-band .p-btn:hover{background:var(--gold);color:var(--navy-deeper)}} .p-band .p-btn-fill{color:var(--navy-deeper)}
.p-band .p-fbtn,.p-band .p-fsel{background:var(--p-navy-card);border-color:var(--p-line-dark);color:var(--p-ink)}
.p-band .p-fsel{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M0 0l5 6 5-6z' fill='%23DECDA0'/></svg>")}
.p-band .p-fsel option{color:var(--navy-deeper)}
@media(hover:hover) and (pointer:fine){.p-band .p-fbtn:hover,.p-band .p-fsel:hover{border-color:var(--gold)}}
.p-band .p-results-head{margin:0}
.p-band .p-results-head h1{font-size:clamp(1.3rem,2.4vw,1.8rem)}
.p-band .p-results-head h1 span{color:var(--gold)}
.p-band.p-band-sm{padding:88px 0 22px}
.p-page.after-band{padding-top:44px}
/* secciones oscuras de la home */
/* página oscura entera (ingresar) */
.p-page.dark{background:var(--navy-deeper);color:var(--p-ink)}
.p-page.dark .p-login{box-shadow:0 30px 70px rgba(0,0,0,.4)}
/* pie: la franja legal también en navy */
.p-legal-strip{background:var(--navy-dark);border-top:1px solid var(--p-line-dark)}
.p-legal-strip .p-container{color:var(--p-ink-mid)} .p-legal-strip b{color:var(--p-ink)} .p-legal-strip a{color:var(--gold-light)}
/* barra de filtros pegada, clara como en el catálogo actual */
.p-filters{border-top:1px solid var(--gold)}
/* stepper sobre banda */
.p-band .p-stepper button{background:var(--p-navy-card);border-color:var(--p-line-dark);color:var(--p-ink-mid)} .p-band .p-stepper button i{background:rgba(251,250,246,.12);color:var(--p-ink)} .p-band .p-stepper button.on{border-color:var(--gold);color:var(--p-ink)} .p-band .p-stepper button.on i{background:var(--gold);color:var(--navy-deeper)} .p-band .p-stepper button.done i{background:var(--gold-light);color:var(--navy-deeper)}
.p-band .p-tabs2{border-bottom-color:var(--p-line-dark)} .p-band .p-tabs2 button{color:var(--p-ink-mid)} .p-band .p-tabs2 button.on{color:var(--p-ink);border-bottom-color:var(--gold)}
.p-band .p-side-nav .who{color:var(--p-ink-low)}
@media(max-width:700px){.p-band{padding:88px 0 26px}.p-band.p-band-sm{padding:80px 0 16px}}


/* ══════════════════════════════════════════════════════════════
   Identidad navy definitiva (4/9) · plan del informe /tmp/bp-agentes/identidad.md
   "La casa es navy; el papel es crema". Pisa el bloque anterior.
   ══════════════════════════════════════════════════════════════ */
/* Tokens de superficie */
:root{
  --p-canvas:#131D2D; --p-navy-2:#1E2A3F; --p-navy-3:#2A3A52;
  --p-sheet:#EEE5D0; --p-sheet-2:#F4F0E6; --p-card:#FDFCF9;
  --p-ink:#FBFAF6; --p-ink-2:rgba(251,250,246,.78); --p-ink-3:rgba(251,250,246,.62);
  --p-line-d:rgba(255,255,255,.12); --p-line-gold:rgba(194,169,104,.32);
  --p-tile:rgba(255,255,255,.05); --p-tile-hi:rgba(255,255,255,.09);
  --p-gold-ink:#75623C; --p-mid-ink:#59647A;
  --p-shadow-d:0 24px 60px rgba(0,0,0,.35); --p-focus:0 0 0 3px rgba(194,169,104,.35);
}
/* 8/10/2026 · El lienzo (html) navy y el contenido (body) crema: Safari del iPhone desde iOS 26 ignora theme-color y
   pinta sus barras de arriba y de abajo con el color del lienzo, que era crema y se veía blanco */
html{background:#131D2D}
body{background:var(--p-canvas)}

/* Texto sobre navy: Jost 400, más interlínea */
.p-section:not(.alt),.p-page,.p-filters,.p-form,.p-dd,.p-pop,.p-drawer .panel,.p-search,.p-login{color:var(--p-ink);font-weight:400;line-height:1.7}
.p-section:not(.alt) .p-h2,.p-page .p-h2,.p-results-head h1,.p-form h3,.p-login h1{color:var(--p-ink)}
.p-section:not(.alt) .p-sub,.p-page .p-sub{color:var(--p-ink-2)}
.p-section:not(.alt) .p-link,.p-page .p-link{color:var(--p-ink)} @media(hover:hover) and (pointer:fine){.p-link:hover{color:var(--gold-light)}}
.p-results-head h1 span{color:var(--gold-light)}
.p-eyebrow{border:0;padding:0;border-radius:0;color:var(--gold-light);font-weight:600} /* texto, como .camino-kicker */

/* Hoja crema */
.p-results>div:first-child,.p-ficha-main,.p-page #content,.p-page .p-card-panel,.p-prose{background:var(--p-sheet);border-radius:calc(var(--p-radius) + 8px);padding:20px 24px;color:var(--text-dark);font-weight:300;line-height:1.6}
.p-page .p-card-panel{border:0}
.p-prose{padding:32px 36px}
.p-ficha-main .p-h2,.p-page #content .p-h2,.p-prose h1,.p-prose h2{color:var(--navy-deeper)}
.p-page #content .p-sub,.p-prose p,.p-prose li,.p-desc,.p-expensas,.p-barrio,.p-publine,.p-kicker,.p-legend,.p-codes,.p-meta-line,.p-card-pub,.p-text{color:var(--p-mid-ink)}
.p-fld label,.p-resumen dt,.p-tbl th{color:var(--p-gold-ink)}
.p-section.alt{background:var(--p-sheet)}
#busquedas{background:var(--p-sheet-2);padding:44px 0}
.p-prose .box{border-left-width:1px;background:#F7F1E2}

/* Secciones navy de la home */
.p-section{background:var(--p-canvas)}
#barrios{background:var(--p-navy-3)}
#publicadores,#indice{border-top:1px solid rgba(194,169,104,.14)}
#publicar{position:relative;background:var(--p-canvas) url(../hero-poster.jpg?v=2) center/cover}
#publicar::before{content:"";position:absolute;inset:0;background:rgba(19,29,45,.84)}
#publicar .p-container{position:relative}
.p-publica{background:transparent;border-radius:0;padding:0} .p-publica img{display:none}
#barrios .p-zona,#guia .p-zona,.p-pub-card,.p-side-pub{background:var(--p-tile);border-color:var(--p-line-d);box-shadow:none}
@media(hover:hover) and (pointer:fine){#barrios .p-zona:hover,#guia .p-zona:hover{background:var(--p-tile-hi);border-color:var(--gold);box-shadow:none}}
#barrios .p-zona b,#guia .p-zona b,.p-pub-card b,.p-side-pub b{color:var(--p-ink)}
#barrios .p-zona span,#guia .p-zona span,.p-pub-card small,.p-side-pub small,#indice .p-note{color:var(--p-ink-3)}
#barrios .p-zona .n,#guia .p-zona .n{color:var(--gold-light)}
.p-pub-logo{background:var(--gold);color:var(--navy-deeper)}
.p-index{background:transparent;border-color:var(--p-line-d);color:var(--p-ink)}
.p-index th{background:var(--p-tile);color:var(--gold-light);border-color:var(--p-line-d)} .p-index td{border-color:var(--p-line-d)}

/* Galería y mapa: siempre sobre navy, el mapa también como isla dentro de la hoja */
.p-ficha-top .p-tray{background:var(--p-navy-2);border:1px solid var(--p-line-d)}
.p-map-home,.p-map-card,.p-map-ficha{background:var(--p-navy-2);border:1px solid var(--p-line-d)}
.p-map-home .in,.p-map-card .in{background:transparent;padding:0}
.p-map-hint,.p-map-ficha .p-note{color:var(--p-ink-3)}

/* Buscador del hero */
.p-search{background:rgba(30,42,63,.94);border:1px solid var(--p-line-gold);box-shadow:var(--p-shadow-d)}
.p-tab{color:var(--p-ink-3)} @media(hover:hover) and (pointer:fine){.p-tab:hover{color:var(--gold-light)}} .p-tab.active{color:var(--p-ink);border-bottom-color:var(--gold)}
.p-search-row{border-top-color:var(--p-line-d)}
.p-hero .p-chip,.p-fchip .p-chip{background:rgba(194,169,104,.16);border-color:transparent;color:var(--gold-light)} .p-chip button{color:inherit}

/* Campos sobre navy: la gramática de .cfield del sitio */
.p-field select,.p-field input,.p-fchip,.p-fsel,.p-fbtn,.p-pop input[type=number],.p-pop .seg button,.p-form input,.p-form textarea,.p-login input,.p-login .soc{background:var(--p-tile);border-color:rgba(255,255,255,.16);color:var(--p-ink)}
.p-fchip input{background:none;color:var(--p-ink)}
.p-field input::placeholder,.p-fchip input::placeholder,.p-form input::placeholder,.p-form textarea::placeholder,.p-login input::placeholder{color:rgba(251,250,246,.5)}
.p-field select,.p-fsel{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M0 0l5 6 5-6z' fill='%23DECDA0'/></svg>")}
.p-field select option,.p-fsel option{color:var(--navy-deeper);background:#FBFAF6}
@media(hover:hover) and (pointer:fine){.p-fbtn:hover,.p-fsel:hover,.p-fchip:hover{border-color:var(--gold)}}
.p-field:focus-within select,.p-field:focus-within input,.p-fchip:focus-within,.p-fsel:focus-visible,.p-fbtn:focus-visible,.p-form input:focus,.p-form textarea:focus,.p-login input:focus{outline:0;border-color:var(--gold);box-shadow:var(--p-focus);background:var(--p-tile-hi)}
.p-form .chk,.p-drawer .checks label{color:var(--p-ink-3)} .p-form .chk a{color:var(--p-ink)}
.p-form .chk input,.p-drawer input[type=checkbox]{accent-color:var(--gold)}
.p-form{background:var(--p-navy-2);border-color:var(--p-line-d);box-shadow:none}
.p-side .p-icon-btn{background:transparent;border-color:rgba(255,255,255,.2);color:var(--p-ink)}

/* Barra de filtros, desplegables, popovers, drawer */
.p-filters{background:var(--p-navy-2);border-bottom:1px solid var(--p-line-gold)}
.p-dd,.p-pop,.p-sugg{background:var(--p-navy-2);border:1px solid var(--p-line-d);box-shadow:var(--p-shadow-d);color:var(--p-ink)}
.p-dd{border-top:0}
.p-dd a,.p-sugg button{color:var(--p-ink-2)} @media(hover:hover) and (pointer:fine){.p-dd a:hover,.p-sugg button:hover{background:var(--p-tile-hi);color:var(--p-ink)}}
.p-dd .p-dd-ttl,.p-pop label,.p-drawer .grp label.t{color:var(--gold-light)} .p-sugg small{color:var(--p-ink-3)}
.p-pop .seg button{color:var(--p-ink-2)} .p-pop .seg button.on{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}
.p-pop .lnk,.p-drawer .lnk{color:var(--p-ink-3)}
.p-drawer .panel,.p-drawer .foot{background:var(--p-navy-2);color:var(--p-ink)} .p-drawer h3{color:var(--p-ink)} .p-drawer .grp,.p-drawer .foot{border-color:var(--p-line-d)}

/* Tarjetas en la hoja: sin bordes de color, la foto se acerca en hover */
.p-card-h,.p-emp,.p-aviso-row,.p-cur,.p-pub-block,.p-perfil,.p-step{background:var(--p-card);border:1px solid rgba(19,29,45,.08);box-shadow:var(--p-shadow)}
@media(hover:hover) and (pointer:fine){.p-card-h:hover{box-shadow:var(--p-shadow-hover);transform:translateY(-2px)}}
.p-card-photo img{transition:transform .5s var(--ease)} @media(hover:hover) and (pointer:fine){.p-card-h:hover .p-card-photo img{transform:scale(1.03)}}
.p-perfil{border-top-width:1px}
.p-pager button,.p-quick button,.p-report .chips button,.p-empty,.p-icon-btn{background:var(--p-card)}

/* Badges */
.p-badge{border-color:rgba(194,169,104,.75);color:var(--gold-light)}
.p-badge.dueno{border-color:rgba(251,250,246,.4);color:var(--p-ink)}
.p-card-h .p-badge,.p-ficha-main .p-badge,.p-page #content .p-badge,.p-section.alt .p-badge{background:#F7F1E2;border-color:rgba(138,117,71,.45);color:var(--p-gold-ink)}
.p-card-h .p-badge.dueno,.p-ficha-main .p-badge.dueno,.p-page #content .p-badge.dueno,.p-section.alt .p-badge.dueno{background:transparent;border-color:var(--navy-deeper);color:var(--navy-deeper)}
.p-badge.demo{border-color:#B3423C;color:#E8A39E} .p-page #content .p-badge.demo{color:#9C3A34}

/* Botones: sobre navy, oro; sobre papel, tinta navy; un solo oro lleno por página */
.p-btn{border-color:rgba(194,169,104,.7);color:var(--gold-light)}
@media(hover:hover) and (pointer:fine){.p-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}}
.p-btn:focus-visible{outline:0;box-shadow:var(--p-focus)}
.p-btn-fill{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)} @media(hover:hover) and (pointer:fine){.p-btn-fill:hover{background:var(--gold-light)}}
.p-btn .ic{background:rgba(19,29,45,.14)}
.p-pop .p-btn-navy,.p-drawer .p-btn-navy{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}
.p-card-h .p-btn,.p-ficha-main .p-btn,.p-page #content .p-btn,.p-page .p-card-panel .p-btn,.p-section.alt .p-btn,.p-btn-dark{background:transparent;border-color:var(--navy-deeper);color:var(--navy-deeper)}
.p-btn-navy{background:var(--navy-deeper);border-color:var(--navy-deeper);color:var(--p-ink)}@media(hover:hover) and (pointer:fine){.p-card-h .p-btn:hover,.p-ficha-main .p-btn:hover,.p-page #content .p-btn:hover,.p-page .p-card-panel .p-btn:hover,.p-section.alt .p-btn:hover,.p-btn-dark:hover{background:var(--navy-deeper);border-color:var(--navy-deeper);color:var(--p-ink)}}
.p-card-h .p-btn-fill,.p-ficha-main .p-btn-fill,.p-page .p-card-panel .p-btn-fill,.p-section.alt .p-btn-fill{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}

/* Panel, stepper, login, cierre de página */
.p-page{background:var(--p-canvas)}
.p-page .p-side-nav{background:var(--p-navy-2);border-color:var(--p-line-d)}
.p-page .p-side-nav a{color:var(--p-ink-2)} .p-page .p-side-nav a svg{color:var(--gold-light)}
.p-page .p-side-nav a.on{background:var(--p-tile-hi);color:var(--p-ink)} .p-page .p-side-nav .who{color:var(--p-ink-3);border-color:var(--p-line-d)}
.p-page .p-kpis{display:flex;gap:28px;padding:0 0 14px;margin:0 0 18px;border-bottom:1px solid var(--p-line)}
.p-page .p-kpi{background:none;border:0;padding:0;display:flex;align-items:baseline;gap:8px} .p-page .p-kpi b{font-size:1.25rem}
.p-page .p-stepper button{background:var(--p-tile);border-color:var(--p-line-d);color:var(--p-ink-3)}
.p-page .p-stepper button i{background:var(--p-tile-hi);color:var(--p-ink)}
.p-page .p-stepper button.on{border-color:var(--gold);color:var(--p-ink)} .p-page .p-stepper button.on i{background:var(--gold);color:var(--navy-deeper)}
.p-page .p-stepper button.done i{background:var(--p-ink);color:var(--navy-deeper)}
.p-page .p-note,.p-page .p-fld .hint{color:var(--p-ink-3)} .p-page #content .p-note,.p-page .p-card-panel .hint{color:var(--p-mid-ink)}
.p-perfiles{grid-template-columns:1fr;gap:0} .p-perfil{background:transparent;border:0;border-top:1px solid var(--p-line-d);border-radius:0;box-shadow:none;text-align:left;padding:22px 0;display:grid;grid-template-columns:32px 1fr;gap:16px}
.p-perfil svg{width:28px;height:28px;margin:0;color:var(--gold-light)} .p-perfil b{color:var(--p-ink)} .p-perfil span{color:var(--p-ink-3)}
.p-login{background:var(--p-navy-2);border-color:var(--p-line-d);box-shadow:none}
.p-login .or{color:var(--p-ink-3)} .p-login .or::before,.p-login .or::after{background:var(--p-line-d)}
.p-legal-strip{background:var(--p-navy-2);border-top:1px solid var(--p-line-d)}
.p-legal-strip .p-container{color:var(--p-ink-3)} .p-legal-strip b,.p-legal-strip a{color:var(--p-ink-2)}
.p-demo-banner{background:var(--p-navy-2);border-color:var(--gold);color:var(--p-ink)} .p-demo-banner b{color:var(--gold-light)}
/* Opcional, geometría del sitio: */ /* :root{--p-radius:4px} .p-btn,.p-fchip,.p-fsel,.p-fbtn{border-radius:8px} */

/* ── Objetivos táctiles en celular (44 px) y detalles de mobile ── */
@media(max-width:900px){
  .p-btn,.p-btn-sm,.p-fbtn,.p-fsel,.p-pager button,.p-quick button,.p-report .chips button,.p-pop .seg button,.p-login .soc{min-height:44px}
  .p-icon-btn{width:44px;height:44px}
  .burger{width:44px;height:44px;justify-content:center;align-items:center;padding:0}
  .p-tab{min-height:46px;padding:12px 14px}
  .p-tabs2 button{min-height:44px}
  .p-side-nav a{min-height:44px}
  .p-dd a{padding:12px 18px}
  .p-sugg button{min-height:44px}
  .p-card-foot .acts .p-btn{flex:1 1 auto;justify-content:center}
  .p-gallery .all{min-height:44px}
  .p-prose{padding:22px 18px}
  .p-results>div:first-child,.p-ficha-main,.p-page #content,.p-page .p-card-panel{padding:16px 14px}
  .p-legal-strip .p-container{gap:14px}
}
@media(max-width:520px){.p-card-foot{flex-direction:column;align-items:stretch}.p-card-foot .acts{display:flex;gap:8px}}

/* ── Correcciones de la revisión visual navy (4/9) ── */
/* el shorthand background de las reglas navy borraba repeat/position: la flecha se repetía */
.p-field select,.p-fsel{background-repeat:no-repeat;background-position:right 14px center}
.p-fsel{padding-right:34px}
/* franja crema de cierre: tinta oscura */
#busquedas{color:var(--text-dark)}
#busquedas .p-h2{color:var(--navy-deeper)}
#busquedas .p-seo a{color:var(--p-mid-ink)} @media(hover:hover) and (pointer:fine){#busquedas .p-seo a:hover{color:var(--navy-deeper)}}
/* el mapa de la home ya trae su propio fondo: sin doble marco */
#barrios .p-map-home{padding:0;overflow:hidden}
/* la flecha del select también en las bandas y popovers (el shorthand la repetía) */
.p-band .p-fsel,.p-band .p-field select,.p-pop .p-fsel,.p-drawer .p-fsel,select.p-fsel{background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px}
.p-band .p-results-head .acts .p-fsel{min-width:170px}

/* ══════════════════════════════════════════════════════════════
   Registro partido (4/9, decisión de Tomás)
   Marca en navy: home, publicar, emprendimientos, publicadores, legales, ingresar.
   Herramienta en claro con marco navy: resultados, ficha, panel, curación, importar.
   El navy queda en el marco (header, banda, filtros, mapa, formulario, pie) y el
   trabajo pasa a un plano claro continuo, sin caja contenedora.
   ══════════════════════════════════════════════════════════════ */
:root{--p-paper:#F6F2E8; --p-paper-2:#EFEADD; --p-card-w:#FFFDF8; --p-hair:rgba(19,29,45,.10)}
body.p-product{background:var(--p-paper);color:var(--text-dark)}
.p-product .p-page{background:transparent;color:var(--text-dark)}
/* fuera la caja: el plano es continuo */
.p-product .p-results>div:first-child,.p-product .p-ficha-main,
.p-product .p-page #content,.p-product .p-page .p-card-panel,.p-product .p-prose{
  background:transparent;border:0;border-radius:0;padding:0;color:var(--text-dark);font-weight:300;line-height:1.6}
.p-product .p-page .p-card-panel{padding:0}
.p-product .p-imp{background:var(--p-card-w);border-color:var(--p-hair)}
/* tinta sobre papel */
.p-product .p-h2,.p-product h1,.p-product h2,.p-product .p-sec-t,.p-product .p-addr,.p-product .p-price,
.p-product .p-ficha h1,.p-product .p-pub-block b,.p-product .p-aviso-row b,.p-product .p-cur b{color:var(--navy-deeper)}
.p-product .p-sub,.p-product .p-kicker,.p-product .p-note,.p-product .p-desc,.p-product .p-barrio,
.p-product .p-expensas,.p-product .p-publine,.p-product .p-text,.p-product .p-codes,.p-product .p-meta-line,
.p-product .p-legend,.p-product .p-card-pub,.p-product .p-empty,.p-product .p-icons small,.p-product .p-aviso-row .m,
.p-product .p-aviso-row .stats,.p-product .p-cur .m,.p-product .p-tbl td{color:var(--p-mid-ink)}
.p-product .p-meta,.p-product .p-icons div,.p-product .p-feat,.p-product .p-prose p,.p-product .p-prose li{color:var(--navy-deeper)}
.p-product .p-eyebrow,.p-product .p-fld label,.p-product .p-tbl th,.p-product .p-resumen dt,.p-product .p-cond-ttl{color:var(--p-gold-ink)}
.p-product .p-link{color:var(--navy-deeper);border-bottom-color:var(--gold)}
.p-product .p-legend{background:var(--p-paper-2);color:var(--p-mid-ink)}
/* tarjetas: casi blancas sobre el plano, con hairline y aire */
.p-product .p-card-h,.p-product .p-aviso-row,.p-product .p-cur,.p-product .p-pub-block,.p-product .p-emp,
.p-product .p-tbl,.p-product .p-report,.p-product .p-quick button,.p-product .p-report .chips button,
.p-product .p-pager button,.p-product .p-icon-btn,.p-product .p-empty{background:var(--p-card-w);border-color:var(--p-hair)}
.p-product .p-list{gap:14px}
.p-product .p-card-photo{background:var(--p-paper-2)}
.p-product .p-report{background:var(--p-paper-2);border:1px solid var(--p-hair)}
.p-product .p-card-foot{border-top-color:var(--p-hair)}
/* una sola línea de descripción: en el listado se escanea, no se lee */
.p-product .p-desc{-webkit-line-clamp:1;font-size:.84rem}
/* el oro aparece una sola vez por tarjeta: la etiqueta. La matrícula pasa a tinta navy */
.p-product .p-badge{background:transparent;border-color:rgba(19,29,45,.22);color:var(--navy)}
.p-product .p-badge.dueno{border-color:rgba(19,29,45,.22);color:var(--navy)}
.p-product .p-badge.demo{border-color:rgba(179,66,60,.5);color:#9C3A34}
.p-product .p-card-photo .tag{background:var(--gold);color:var(--navy-deeper)}
/* botones sobre papel: uno lleno navy, el resto contorno */
.p-product .p-btn{background:transparent;border-color:rgba(19,29,45,.35);color:var(--navy-deeper)}
@media(hover:hover) and (pointer:fine){.p-product .p-btn:hover{background:var(--navy-deeper);border-color:var(--navy-deeper);color:var(--p-ink)}}
.p-product .p-btn-navy,.p-product .p-btn-fill{background:var(--navy-deeper);border-color:var(--navy-deeper);color:var(--p-ink)}
@media(hover:hover) and (pointer:fine){.p-product .p-btn-navy:hover,.p-product .p-btn-fill:hover{background:var(--navy)}}
.p-product .p-btn .ic{background:rgba(251,250,246,.18)}
.p-product .p-icon-btn{color:var(--navy)} .p-product .p-icon-btn.on{color:#B3423C;border-color:#B3423C}
/* el marco sigue navy: banda, filtros, mapa, riel del panel, formulario de la ficha */
.p-product .p-band,.p-product .p-filters{background:var(--p-navy-2)}
.p-product .p-band{padding:84px 0 26px}
.p-product .p-map-card,.p-product .p-map-ficha,.p-product .p-ficha-top .p-tray{background:var(--p-navy-2);border-color:var(--p-line-d)}
.p-product .p-side-nav{background:var(--p-navy-2);border-color:var(--p-line-d)}
.p-product .p-form{background:var(--p-navy-2);border-color:var(--p-line-d);box-shadow:0 18px 44px rgba(19,29,45,.14)}
.p-product .p-form h3{color:var(--p-ink)}
.p-product .p-side-pub{background:var(--p-card-w);border-color:var(--p-hair)} .p-product .p-side-pub b{color:var(--navy-deeper)} .p-product .p-side-pub small{color:var(--p-mid-ink)}
/* mapa lateral más alto: se acabó el hueco muerto a la derecha */
.p-product #mapaResultados{height:520px}
.p-product .p-map-col{top:128px}
/* tablas del panel sobre papel */
.p-product .p-tbl th{background:var(--p-paper-2);color:var(--p-gold-ink)} .p-product .p-tbl td{border-color:var(--p-hair)}
.p-product .p-kpis{border-bottom-color:var(--p-hair)} .p-product .p-kpi b{color:var(--navy-deeper)} .p-product .p-kpi span{color:var(--p-mid-ink)}
.p-product .p-visitas summary{color:var(--navy-deeper)}
/* curación e importar sobre papel */
.p-product .p-check .ok{color:#2F6B41} .p-product .p-check .no{color:#B3423C}
.p-product .p-cur textarea,.p-product .p-imp input,.p-product .p-imp select,.p-product .p-fld input,
.p-product .p-fld select,.p-product .p-fld textarea,.p-product .p-qrow input{background:var(--p-card-w);border-color:var(--p-hair);color:var(--navy-deeper)}
.p-product .p-drop{background:var(--p-card-w)}
.p-product .p-stepper button{background:var(--p-card-w);border-color:var(--p-hair);color:var(--p-mid-ink)}
.p-product .p-stepper button i{background:var(--p-paper-2);color:var(--navy-deeper)}
.p-product .p-tabs2 button{color:var(--p-mid-ink)} .p-product .p-tabs2 button.on{color:var(--navy-deeper)} .p-product .p-tabs2{border-bottom-color:var(--p-hair)}
.p-product .p-breadcrumb,.p-product .p-breadcrumb a{color:var(--p-mid-ink)} @media(hover:hover) and (pointer:fine){.p-product .p-breadcrumb a:hover{color:var(--navy-deeper)}}
.p-product .p-gallery .all{background:var(--p-card-w);color:var(--navy-deeper)}
.p-product .p-more{color:var(--navy-deeper)}
.p-product .p-feat li::before{background:var(--gold-dark)}
.p-product .p-quick button{border-color:rgba(19,29,45,.25);color:var(--navy-deeper)} .p-product .p-quick button.on{background:var(--navy-deeper);color:var(--p-ink);border-color:var(--navy-deeper)}
/* la ficha respira: la hoja ya no existe, así que el contenido lleva su propio ancho */
.p-product .p-ficha{padding-top:34px}
@media(max-width:900px){.p-product .p-band{padding:78px 0 20px}.p-product .p-results>div:first-child,.p-product .p-ficha-main,.p-product .p-page #content{padding:0}}
/* la banda sigue siendo marco navy: su tinta no se aclara con el registro herramienta */
.p-product .p-band h1,.p-product .p-band .p-h2,.p-product .p-band .p-sec-t{color:var(--p-ink)}
.p-product .p-band .p-sub,.p-product .p-band .p-kicker,.p-product .p-band .p-note{color:var(--p-ink-2)}
.p-product .p-band .p-eyebrow,.p-product .p-band .p-results-head h1 span{color:var(--gold-light)}
.p-product .p-band .p-link{color:var(--p-ink);border-bottom-color:rgba(194,169,104,.6)}
.p-product .p-band .p-btn,.p-product .p-band .p-fbtn,.p-product .p-band .p-fsel{background:var(--p-tile);border-color:var(--p-line-d);color:var(--p-ink)}
@media(hover:hover) and (pointer:fine){.p-product .p-band .p-btn:hover,.p-product .p-band .p-fbtn:hover,.p-product .p-band .p-fsel:hover{border-color:var(--gold);background:var(--p-tile-hi);color:var(--p-ink)}}
.p-product .p-band .p-stepper button{background:var(--p-tile);border-color:var(--p-line-d);color:var(--p-ink-3)}
.p-product .p-band .p-stepper button i{background:var(--p-tile-hi);color:var(--p-ink)}
.p-product .p-band .p-stepper button.on{border-color:var(--gold);color:var(--p-ink)} .p-product .p-band .p-stepper button.on i{background:var(--gold);color:var(--navy-deeper)}
.p-product .p-band .p-stepper button.done i{background:var(--p-ink);color:var(--navy-deeper)}
.p-product .p-band .p-tabs2{border-bottom-color:var(--p-line-d)} .p-product .p-band .p-tabs2 button{color:var(--p-ink-2)} .p-product .p-band .p-tabs2 button.on{color:var(--p-ink);border-bottom-color:var(--gold)}
/* el formulario navy de la ficha conserva su tinta clara */
.p-product .p-form label,.p-product .p-form .chk{color:var(--p-ink-3)} .p-product .p-form .chk a{color:var(--p-ink)}
.p-product .p-form input,.p-product .p-form textarea{background:var(--p-tile);border-color:rgba(255,255,255,.16);color:var(--p-ink)}
.p-product .p-form .p-btn{background:transparent;border-color:rgba(194,169,104,.7);color:var(--gold-light)}
@media(hover:hover) and (pointer:fine){.p-product .p-form .p-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}}
.p-product .p-form .p-btn-fill{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}
/* el riel del panel conserva su tinta clara */
.p-product .p-side-nav a{color:var(--p-ink-2)} .p-product .p-side-nav a.on{background:var(--p-tile-hi);color:var(--p-ink)} .p-product .p-side-nav .who{color:var(--p-ink-3);border-color:var(--p-line-d)}
.p-product .p-map-card .p-map-hint,.p-product .p-map-ficha .p-note{color:var(--p-ink-3)}
/* regla final: la flecha de todos los select nunca se repite, gane quien gane el shorthand */
select.p-fsel,.p-field select,.p-band select,.p-product select{background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:10px 6px!important}
/* el mapa de la ficha no debe comerse la columna: se acota por ancho para no recortarlo */
.p-map-ficha{max-width:520px}
/* aire entre el header fijo y la galería */

/* ══════════════════════════════════════════════════════════════
   Ajuste de producto (4/9): una cosa manda por pantalla,
   nada se dice dos veces.
   ══════════════════════════════════════════════════════════════ */
/* Resultados: el conteo vive sobre el plano claro, el cromo es una sola barra */
.p-product .p-results-head{margin:0 0 18px;align-items:center}
.p-product .p-results-head h1{font-size:1.35rem;color:var(--navy-deeper)}
.p-product .p-results-head h1 span{color:var(--gold-dark)}
.p-product .p-results-head .p-fbtn,.p-product .p-results-head .p-fsel{background:var(--p-card-w);border-color:var(--p-hair);color:var(--navy-deeper)}
.p-product .p-filters{top:64px}
/* la tarjeta entera es el objetivo, con un solo botón visible */
.p-card-h .p-addr{position:static}
.p-card-h .p-addr::after{content:"";position:absolute;inset:0;z-index:1}
.p-card-h .acts,.p-card-h .p-fav,.p-card-h .p-card-photo{position:relative;z-index:2}
.p-card-h{cursor:pointer}
.p-card-h .acts{align-items:center}
.p-card-h .acts .p-icon-btn{width:38px;height:38px}
.p-product .p-card-h .acts .p-icon-btn{color:#1E7A47;border-color:rgba(30,122,71,.35)}
@media(hover:hover) and (pointer:fine){.p-product .p-card-h .acts .p-icon-btn:hover{background:#1E7A47;color:#fff;border-color:#1E7A47}}
/* Ficha: una sola voz de título, el precio con tratamiento propio */
.p-ficha-head h1{font-size:clamp(1.5rem,2.6vw,2rem);margin:6px 0 12px;letter-spacing:.005em}
.p-price-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.p-price-big{font-family:var(--font-body);font-weight:500;font-size:clamp(1.5rem,2.4vw,1.9rem);color:var(--navy-deeper);letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums}
.p-price-big small{font-size:.6em;color:var(--p-mid-ink);font-weight:400}
.p-price-row .p-expensas{font-size:.92rem}
.p-price-row .p-btn{margin-left:auto}
.p-tags{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 0}
/* la lectura no pasa de 72 caracteres */
.p-product .p-ficha-main>*{max-width:min(100%,68ch)}
.p-product .p-ficha-main .p-icons,.p-product .p-ficha-main .p-map-ficha,.p-product .p-ficha-main .p-video,.p-product .p-ficha-main .p-feat{max-width:none}
.p-product .p-ficha-main .p-ficha-head{max-width:none}
/* el mapa, ahora abajo y contenido */
.p-map-ficha{max-width:none}
.p-product #mapaFicha{max-height:340px}
.p-product .p-map-ficha{overflow:hidden}
/* Tarjeta de contacto compacta */
.p-cta{background:var(--p-card-w);border:1px solid var(--p-hair);border-radius:var(--p-radius);padding:20px;box-shadow:var(--p-shadow);display:grid;gap:10px}
.p-cta-price{font-family:var(--font-body);font-weight:500;font-size:1.5rem;color:var(--navy-deeper);font-variant-numeric:tabular-nums lining-nums}
.p-cta-price small{font-size:.6em;color:var(--p-mid-ink);font-weight:400}
.p-cta-pub{font-size:.84rem;color:var(--p-mid-ink);line-height:1.5;padding-bottom:6px;border-bottom:1px solid var(--p-hair)}
.p-cta-pub b{display:block;color:var(--navy-deeper);font-weight:500}
.p-cta .p-btn{width:100%}
.p-cta-acts{display:flex;gap:8px;justify-content:center;padding-top:4px}
.p-product .p-cta .p-btn-fill{background:var(--navy-deeper);border-color:var(--navy-deeper);color:var(--p-ink)}
@media(hover:hover) and (pointer:fine){.p-product .p-cta .p-btn-fill:hover{background:var(--navy)}}
.p-form[hidden]{display:none}
/* el corazón sigue anclado a la tarjeta: solo sube de capa, no cambia de posición */
.p-card-h .p-fav{position:absolute;z-index:3}
.p-card-h .acts,.p-card-h .p-card-photo{position:relative;z-index:2}
/* los botones de la tarjeta siempre a la derecha, aunque el publicador tenga nombre corto */
.p-card-foot{flex-wrap:nowrap;gap:12px}
.p-card-foot .p-publine{flex:1 1 auto;min-width:0;flex-wrap:wrap}
.p-card-foot .acts{flex:0 0 auto;margin-left:auto}
@media(max-width:640px){.p-card-foot{flex-wrap:wrap}.p-card-foot .acts{width:100%}.p-card-foot .acts .p-btn{flex:1}}
/* Barra de contacto al pie, solo en celular: el precio y una acción siempre a mano */
.p-mcta{display:none}
@media(max-width:900px){
  .p-mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1400;align-items:center;gap:10px;
    background:var(--navy-deeper);border-top:1px solid rgba(194,169,104,.35);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .p-mcta-price{font-family:var(--font-body);font-weight:500;font-size:1.05rem;color:var(--p-ink);font-variant-numeric:tabular-nums lining-nums;flex:1;min-width:0}
  .p-mcta-price small{font-size:.7em;color:var(--p-ink-3)}
  .p-mcta .p-btn{flex:0 0 auto} .p-mcta .p-icon-btn{flex:0 0 auto;background:transparent;border-color:rgba(251,250,246,.3);color:var(--p-ink)}
  body.p-product{padding-bottom:76px}
  .p-demo-banner{bottom:80px}
}

/* La bandeja navy alrededor de la galería era el fondo de la ficha cuando la ficha
   era oscura. Sobre el plano claro es un marco azul que no aporta: se va. */
.p-product .p-ficha-top .p-tray{background:transparent;border:0;padding:0;border-radius:0}
.p-product .p-gallery{border-radius:var(--p-radius);box-shadow:0 10px 30px rgba(19,29,45,.08)}
.p-product .p-gallery a{background:var(--p-paper-2)}

/* ══════════════════════════════════════════════════════════════
   OLA 1 de la remediación (auditoría 4/9/2026)
   ══════════════════════════════════════════════════════════════ */
/* 1.1 Los enlaces legales del pie eran tinta oscura sobre navy: 1,10 a 1 */
.footer-legal a{font-size:.7rem;color:rgba(255,255,255,.75);letter-spacing:.01em;text-decoration:none}
@media(hover:hover) and (pointer:fine){.footer-legal a:hover{color:#FBFAF6;text-decoration:underline}}
.footer-legal a:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;border-radius:8px}

/* 1.3 Todo lo pulsable acusa recibo, también en el registro de herramienta */
@media(hover:hover) and (pointer:fine){.p-product .p-icon-btn:hover{background:var(--p-paper-2);border-color:var(--navy-deeper);color:var(--navy-deeper)}}
@media(hover:hover) and (pointer:fine){.p-product .p-icon-btn.on:hover{background:rgba(179,66,60,.08);border-color:#B3423C;color:#B3423C}}
@media(hover:hover) and (pointer:fine){.p-product .p-card-h .acts .p-icon-btn:hover{background:#1E7A47;border-color:#1E7A47;color:#fff}}

/* 1.4 La tarjeta de perfil tiene tres hijos y la grilla dos columnas */
.p-perfil .ico-w{grid-row:1 / span 2;display:block}
.p-perfil b,.p-perfil>span:not(.ico-w){grid-column:2}
.p-perfil>span:not(.ico-w){margin-top:2px}

/* Anillo de foco: dos tonos, para que contraste en los dos registros */
:root{--p-focus:0 0 0 2px #131D2D, 0 0 0 4px #DECDA0}
body.p-product{--p-focus:0 0 0 2px #F6F2E8, 0 0 0 4px #131D2D}

/* OLA 2 · los menús dicen la verdad */
.p-dd a{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.p-dd-n{font-size:.72rem;color:var(--gold-dark);font-variant-numeric:tabular-nums lining-nums;flex:0 0 auto}
.p-dd a.zero{opacity:.5} .p-dd a.zero .p-dd-n{color:var(--text-mid);font-size:.68rem}
.p-zona.zero{opacity:.62}
.p-reservada{display:flex;gap:10px;align-items:flex-start;background:rgba(179,66,60,.08);border:1px solid rgba(179,66,60,.3);border-radius:8px;padding:12px 14px;margin:14px 0 0;font-size:.88rem;color:var(--navy-deeper)}
.p-reservada svg{width:16px;height:16px;color:#B3423C;flex-shrink:0;margin-top:2px}
.p-reservada a{text-decoration:underline}
.p-price .p-cta-res,.p-cta-price .p-cta-res{margin-left:0}
.p-cta-res{display:inline-block;font-family:var(--font-body);font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:#B3423C;border:1px solid rgba(179,66,60,.4);border-radius:999px;padding:3px 9px;margin-left:10px;vertical-align:middle}

/* OLA 3 · cuando el publicador todavía no cargó su contacto, no se ofrece uno ajeno */
.p-sincontacto{display:inline-flex;align-items:center;font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--text-mid);border:1px dashed rgba(19,29,45,.25);border-radius:999px;padding:8px 12px}
.p-sincontacto-box{font-size:.86rem;line-height:1.5;color:var(--p-ink-2);background:rgba(251,250,246,.06);border:1px dashed rgba(251,250,246,.25);border-radius:8px;padding:14px}
.p-product .p-sincontacto-box{color:var(--p-mid-ink);background:var(--p-paper-2);border-color:rgba(19,29,45,.2)}

/* ══════════════════════════════════════════════════════════════
   OLA 5 · Oficio y accesibilidad (4/9)
   ══════════════════════════════════════════════════════════════ */

/* 5.7 · La preferencia de movimiento reducido se declara última, así nada la pisa después.
   Antes el desplazamiento suave venía después del bloque que lo respetaba. */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1!important;transform:none!important}
  .hero-slides,.lightbox-track,.p-scroll,.p-tabs{scroll-behavior:auto!important}
  .p-skel,.p-skel-line,.p-skel-box{animation:none!important;background:var(--p-tray)!important}
}

/* 5.3 · El anillo de foco entraba con un fundido de 250 ms y faltaba en varios componentes.
   Ahora es instantáneo, está en todo lo que recibe foco y contrasta en los dos registros. */
:root{--p-focus-a:#131D2D;--p-focus-b:#DECDA0}
body.p-product{--p-focus-a:#F6F2E8;--p-focus-b:#131D2D}
/* 8/10/2026 · Pasada premium: un anillo de 2 px con separación, sin el halo de 6 px, y el anillo sigue el radio
   propio de cada elemento (antes forzaba 8 px o 999 px al enfocar). */
:where(a,button,input,select,textarea,summary,[tabindex],[role=button],[role=option],[role=tab]):focus-visible{
  outline:2px solid var(--p-focus-b);outline-offset:2px;
  box-shadow:none!important;
  transition:none!important;animation:none!important;position:relative;z-index:5
}
/* que el navegador no herede el fundido de los botones al anillo */
.p-btn,.p-icon-btn,.p-zona,.p-perfil,.p-fchip,.p-fsel,.p-fbtn{transition-property:background-color,color,border-color,transform,opacity}

/* 5.8 · Enlace de salto: cuarenta tabulaciones para pasar el header no es una navegación */
.p-skip{position:fixed;top:8px;left:8px;z-index:3000;transform:translateY(-160%);
  background:var(--navy-deeper);color:#F6F2E8;padding:12px 20px;border-radius:8px;
  font:500 .84rem/1 var(--font-body);letter-spacing:.01em;border:2px solid var(--gold);
  text-decoration:none;transition:transform .12s ease-out}
.p-skip:focus{transform:translateY(0);color:#F6F2E8}
main:focus{outline:none}
/* los desplegables cerrados no meten sus enlaces en el orden de tabulación */
.p-dd.abierto{display:block}
.p-nav-menu>div:hover .p-dd{display:block}

/* 5.6 · Región solo para lectores de pantalla y error junto al campo */
.p-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.p-toast.err{background:#7E2B26;border:1px solid #B3423C}
.p-err-campo{display:block;margin:6px 0 0;font-size:.8rem;line-height:1.4;color:#9C3A34;font-weight:500}
.p-product .p-err-campo{color:#9C3A34}
body:not(.p-product) .p-err-campo{color:#F0A9A3}
.p-invalido{border-color:#B3423C!important;background:rgba(179,66,60,.06)!important}

/* 5.1 · Estado de error real: si los datos no cargan, hay mensaje y reintento */
.p-error{display:flex;align-items:flex-start;gap:14px;background:var(--p-card);
  border:1px solid rgba(179,66,60,.35);border-radius:var(--p-radius);padding:22px 24px;flex-wrap:wrap}
.p-error svg{width:22px;height:22px;color:#B3423C;flex-shrink:0;margin-top:2px}
.p-error>div{flex:1 1 240px;min-width:0}
.p-error b{display:block;color:var(--navy-deeper);font-family:var(--font-display);font-weight:500;font-size:1.05rem;margin-bottom:4px}
.p-error span{display:block;color:var(--p-mid-ink);font-size:.9rem;line-height:1.5}
.p-error .p-btn{flex:0 0 auto;align-self:center}
body:not(.p-product) .p-error{background:var(--p-navy-card);border-color:rgba(179,66,60,.5)}
body:not(.p-product) .p-error b{color:var(--p-ink)} body:not(.p-product) .p-error span{color:var(--p-ink-mid)}

/* 5.2 · El esqueleto toma la forma del contenido, así el salto no llega a 337 px */
.p-skel,.p-skel-card,.p-skel-ficha{background:linear-gradient(90deg,#EEE9DD 25%,#F6F2E9 50%,#EEE9DD 75%);
  background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--p-radius)}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
.p-skel-card{display:grid;grid-template-columns:minmax(220px,38%) 1fr;gap:0;height:248px;margin-bottom:18px;background:var(--p-card);border:1px solid var(--p-line);overflow:hidden;animation:none}
.p-skel-card .ph{background:linear-gradient(90deg,#EEE9DD 25%,#F6F2E9 50%,#EEE9DD 75%);background-size:200% 100%;animation:sk 1.2s infinite}
.p-skel-card .bd{padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.p-skel-line{height:13px;border-radius:8px;background:linear-gradient(90deg,#EEE9DD 25%,#F6F2E9 50%,#EEE9DD 75%);background-size:200% 100%;animation:sk 1.2s infinite}
.p-skel-line.t{height:22px;width:52%} .p-skel-line.s{width:34%} .p-skel-line.m{width:78%} .p-skel-line.l{width:92%}
.p-skel-card .bd .foot{margin-top:auto;display:flex;gap:10px}
.p-skel-card .bd .foot .p-skel-line{width:74px;height:26px;border-radius:999px}
@media(max-width:760px){.p-skel-card{grid-template-columns:1fr;height:auto}.p-skel-card .ph{height:200px}}
/* la ficha reserva la altura de galería y de las dos columnas antes de tener datos */
.p-skel-ficha{animation:none;background:none}
.p-skel-ficha .gal{height:452px;border-radius:var(--p-radius);background:linear-gradient(90deg,#EEE9DD 25%,#F6F2E9 50%,#EEE9DD 75%);background-size:200% 100%;animation:sk 1.2s infinite}
.p-skel-ficha .cols{display:grid;grid-template-columns:1fr 360px;gap:28px;margin-top:24px}
.p-skel-ficha .cols>div{display:flex;flex-direction:column;gap:14px}
.p-skel-ficha .cols>div:last-child{min-height:420px;background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius);padding:20px}
@media(max-width:980px){.p-skel-ficha .cols{grid-template-columns:1fr}.p-skel-ficha .gal{height:300px}}

/* 5.9 · Un solo tratamiento de precio por contexto y cifras con ancho fijo en todos lados */
.p-price,.p-card-price,.p-precio,.p-card-h .price,.p-ficha-price,.p-dd-n,.p-index td,.p-kpi b,
.p-zona .n,.p-fbtn .cnt,.p-pager button,.p-meta b,.p-resumen dd,.stats b,.p-expensas,
time,[data-precio],[data-n]{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
/* una sola familia de sombra por registro: la negra al 35% venía de la etapa navy */
body.p-product{--p-shadow:0 8px 24px rgba(19,29,45,.07);--p-shadow-hover:0 16px 40px rgba(19,29,45,.11);--p-shadow-d:0 8px 24px rgba(19,29,45,.07)}
body:not(.p-product){--p-shadow-d:0 16px 40px rgba(0,0,0,.28)}
.p-product .p-dd,.p-product .p-pop,.p-product .p-sugg,.p-product .p-search,
.p-product .p-drawer .panel,.p-product .p-gallery .all{box-shadow:var(--p-shadow)}
/* tres radios y nada más: 8 para lo chico, 16 para tarjetas y bandejas, 999 para lo redondo */
:root{--p-r-sm:8px;--p-r-md:16px}
.p-product .p-pop,.p-product .p-sugg,.p-product .p-dd,.p-product .p-pop input[type=number],
.p-product .p-fsel,.p-product .p-fbtn,.p-product .p-fchip,.p-product .p-field select,
.p-product .p-field input,.p-product .p-qrow input,.p-product .p-form input,
.p-product .p-form textarea,.p-product .p-pager button,.p-product .p-gallery .all,
.p-product .p-card-photo .ct,.p-product .p-card-photo .tag{border-radius:var(--p-r-sm)}
.p-product .p-card-h,.p-product .p-map-ficha,.p-product .p-pub-card,.p-product .p-index,
.p-product .p-zona,.p-product .p-perfil,.p-product .p-empty,.p-product .p-error{border-radius:var(--p-r-md)}

/* 5.3 bis · El header y el pie son navy aunque el cuerpo sea papel, así que ahí manda
   el anillo del registro oscuro. Si no, sobre el header queda tinta navy sobre navy. */
.p-product #pHeader,.p-product .navbar,.p-product .mobile-menu,.p-product .footer,
.p-product .p-band,.p-product .p-skip,.p-product .p-publica{--p-focus-a:#131D2D;--p-focus-b:#DECDA0}
.p-skip:focus-visible{outline-color:#DECDA0}

/* ══════════════════════════════════════════════════════════════
   OLA 6 · Rendimiento y celular (4/9)
   ══════════════════════════════════════════════════════════════ */

/* 6.3 · Safari hace zoom solo si el campo mide menos de 16 px. Los desplegables del
   buscador median 13,6 y los del asistente 15,2, así que la pantalla saltaba al tocarlos. */
@media(max-width:900px){
  input,select,textarea,
  .p-fsel,.p-fbtn,.p-fchip input,.p-field input,.p-field select,.p-qrow input,
  .p-form input,.p-form textarea,.p-form select,.p-pop input,.p-pop select,
  .p-login input,.search-input,.filter-select,.cfield input,.cfield select,.cfield textarea{
    font-size:16px!important;line-height:1.35
  }
  .p-fsel,.p-fbtn,.p-fchip{height:46px}
  .p-field select,.p-field input{height:52px}
}

/* 6.4 · Objetivos táctiles del lightbox: cerrar medía 17 por 42 y las flechas 40 por 40 */
.p-lb .x{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;line-height:1;border-radius:999px;top:16px;right:16px}
.p-lb .ctl{gap:16px;align-items:center}
.p-lb .ctl button{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;line-height:1;border-radius:999px}
@media(max-width:760px){
  .p-lb .x{width:52px;height:52px;top:12px;right:12px}
  .p-lb .ctl{gap:20px;padding-bottom:env(safe-area-inset-bottom,0)}
  .p-lb .ctl button{width:52px;height:52px}
}

/* 6.2 · Subir y ordenar fotos desde el celular: arrastrar y soltar no existe con el dedo */
.p-foto{position:relative}
.p-foto .mover{position:absolute;left:6px;bottom:6px;display:flex;gap:4px;z-index:2}
.p-foto .mover button,.p-foto .portada{width:34px;height:34px;min-width:34px;border:0;border-radius:999px;
  background:rgba(19,29,45,.82);color:#F6F2E8;font:500 .9rem/1 var(--font-body);cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.p-foto .portada{position:absolute;right:6px;bottom:6px;width:auto;padding:0 12px;height:34px;font-size:.8125rem;
  letter-spacing:.01em;text-transform:none;z-index:2}
.p-foto .portada.on{background:var(--gold);color:var(--navy-deeper)}
.p-foto .quitar{position:absolute;right:6px;top:6px;width:32px;height:32px;border-radius:999px;border:0;
  background:rgba(19,29,45,.82);color:#F6F2E8;cursor:pointer;font-size:1rem;line-height:1;z-index:2}
.p-foto .es-portada{position:absolute;left:6px;top:6px;background:var(--gold);color:var(--navy-deeper);
  font-size:.8125rem;letter-spacing:.01em;text-transform:none;padding:4px 8px;border-radius:8px;z-index:2}
@media(pointer:coarse){
  .p-foto .mover button,.p-foto .portada,.p-foto .quitar{width:44px;height:44px;min-width:44px}
  .p-foto .portada{width:auto;padding:0 16px}
}

/* ══════════════════════════════════════════════════════════════
   CIERRE · Contrastes que la medición final encontró abajo del umbral
   ══════════════════════════════════════════════════════════════ */

/* El header, el pie y el menú del celular son navy aunque el cuerpo sea papel.
   La regla del registro claro les pintaba el botón Publicar de navy sobre navy, 1 a 1. */
.p-product #pHeader .p-btn,.p-product .navbar .p-btn,.p-product .mobile-menu .p-btn,
.p-product .footer .p-btn{background:transparent;border-color:var(--gold);color:var(--gold)}
@media(hover:hover) and (pointer:fine){.p-product #pHeader .p-btn:hover,.p-product .navbar .p-btn:hover,.p-product .mobile-menu .p-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}}
.p-product #pHeader .p-btn-fill,.p-product .navbar .p-btn-fill,.p-product .mobile-menu .p-btn-fill,
.p-btn-fill,.mobile-menu .p-btn-fill{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}
.p-product #pHeader .p-btn .ic,.p-product .navbar .p-btn .ic{background:rgba(194,169,104,.22)}

/* Las dos tintas heredadas del sitio, oro oscuro y gris medio, quedaban en 3,55 y 3,7
   sobre crema. Sobre superficies claras se usan las versiones que pasan 4,5. */
.p-product,.p-section.alt,.p-page,.p-card-h,.p-zona,.p-perfil,.p-tray,.p-index,
.p-pub-card,.p-map-home .in,.p-empty,.p-prose,.p-results,.p-ficha-main,#busquedas{
  --gold-dark:#6F5C32; --text-mid:#565E6E; --p-gold-ink:#6F5C32; --p-mid-ink:#565E6E
}
/* El oro lleno del botón lleva tinta navy, no blanco al 80 por ciento, que daba 2,29 */
.p-btn-fill,.p-btn-fill span,.m-cta .p-btn-fill{color:var(--navy-deeper)}


/* ── Ficha: hero a sangre, como la de bairengroup.com ────────────────────── */
.p-fhero{position:relative;height:68vh;min-height:420px;overflow:hidden;display:flex;align-items:flex-end;background:var(--navy-deeper,#131D2D)}
.p-fhero-slides{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.p-fhero-slides::-webkit-scrollbar{display:none}
.p-fhero-slide{flex:0 0 100%;height:100%;background-size:cover;background-position:center;scroll-snap-align:start;scroll-snap-stop:always;cursor:zoom-in;display:block}
.p-fhero-empty{display:flex;align-items:center;justify-content:center;color:rgba(251,250,246,.5);font-size:.8125rem;letter-spacing:.01em;text-transform:none;cursor:default}
.p-fhero-grad{position:absolute;left:0;right:0;bottom:0;height:58%;background:linear-gradient(to top,rgba(19,29,45,.97) 0%,rgba(19,29,45,.55) 45%,transparent 100%);z-index:1;pointer-events:none}
.p-fhero-content{position:relative;z-index:2;width:100%;padding:40px 60px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;pointer-events:none}
.p-fhero-tag{display:inline-block;color:var(--gold-light,#DECDA0);border:1px solid rgba(194,169,104,.6);font-size:.8125rem;letter-spacing:.01em;font-weight:500;text-transform:none;padding:4px 13px;margin-bottom:14px}
.p-product .p-fhero h1.p-fhero-address,.p-fhero-address{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.4rem);font-weight:500;color:#FBFAF6;line-height:1.05;margin:0 0 6px;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.p-product .p-fhero .p-fhero-sub,.p-fhero-sub{font-size:.8rem;letter-spacing:.01em;color:var(--gold-light,#DECDA0)}
.p-fhero-price-box{text-align:right;flex-shrink:0}
.p-fhero-price-lbl{font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--gold-light,#DECDA0);margin-bottom:6px}
.p-fhero-price{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,3rem);font-weight:700;color:var(--gold);line-height:1.05}
.p-fhero-price .p-per{font-size:.45em;font-weight:400;color:rgba(255,255,255,.55)}
.p-fhero-price-mo{font-size:.7rem;color:rgba(255,255,255,.5);margin-top:4px;letter-spacing:.01em}
.p-fhero .cts{position:absolute;left:60px;top:22px;z-index:2;display:flex;gap:6px}
.p-fhero .cts span{background:rgba(19,29,45,.6);color:#fff;font-size:.72rem;padding:5px 9px;border-radius:8px;display:inline-flex;gap:6px;align-items:center;backdrop-filter:blur(4px)}
.p-strip{background:var(--navy-dark,#1E2A3F);padding:14px 60px;display:flex;gap:10px;overflow-x:auto;border-bottom:1px solid rgba(194,169,104,.12);scrollbar-width:thin}
.p-strip::-webkit-scrollbar{height:3px}.p-strip::-webkit-scrollbar-thumb{background:var(--gold-dark,#8A7547)}
.p-strip .thumb{flex:0 0 96px;height:64px;padding:0;border:1px solid rgba(194,169,104,.18);background:rgba(194,169,104,.07);cursor:pointer;overflow:hidden;transition:border-color .2s}
@media(hover:hover) and (pointer:fine){.p-strip .thumb:hover{border-color:var(--gold)}}.p-strip .thumb.active{border:2px solid var(--gold)}
.p-strip .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.p-linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;display:inline-flex;gap:4px;align-items:center;vertical-align:baseline}
.p-ficha-head .p-kicker{margin-bottom:6px}
@media (max-width:768px){.p-fhero{height:58vh;min-height:360px}.p-fhero-content{padding:22px 20px;flex-direction:column;align-items:flex-start;gap:12px}.p-fhero-price-box{text-align:left}.p-fhero .cts{left:20px;top:14px}.p-strip{padding:12px 20px}}


/* ── Portada: el hero de bairengroup.com, con el buscador en una barra debajo ── */
.p-hero-site{min-height:100svh;padding:120px 24px 72px;align-items:center}
.p-hero-site video{opacity:1;filter:saturate(.92) contrast(1.05) brightness(.9);object-position:center 38%}
.p-hero-site::after{background:linear-gradient(180deg,rgba(19,29,45,.28) 0%,rgba(19,29,45,.22) 55%,rgba(19,29,45,.55) 100%)}
.p-hero-site .p-hero-in{max-width:940px}
.p-hero-site h1{font-weight:500;font-size:clamp(2.3rem,5.4vw,4.2rem);line-height:1.1;color:#F7F2E6;margin:0 0 40px;text-shadow:0 2px 34px rgba(0,0,0,.38)}
.p-hero-site h1 .hline{display:block}
.p-doors{position:static;height:auto;background:none;border:0;padding:0;display:flex;align-items:center;justify-content:center;gap:26px}
.p-doors .sep{color:var(--gold);font-size:.85rem;line-height:1;opacity:.85}
.p-doors a{position:relative;font-size:.8125rem;font-weight:500;letter-spacing:.01em;text-indent:0;text-transform:none;color:rgba(247,242,230,.92);padding:6px 2px;text-decoration:none;text-shadow:0 1px 12px rgba(0,0,0,.45);transition:color .2s var(--ease)}
.p-doors a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
@media(hover:hover) and (pointer:fine){.p-doors a:hover{color:var(--gold-light,#DECDA0)}}@media(hover:hover) and (pointer:fine){.p-doors a:hover::after{transform:scaleX(1)}}
.p-searchbar{background:var(--p-tray,#F4F0E6);border-bottom:1px solid var(--p-line);position:relative;z-index:3}
.p-searchbar .p-search{background:transparent;box-shadow:none;border-radius:0;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:10px 0}
.p-searchbar .p-tabs{padding:0 14px 0 0;border-right:1px solid var(--p-line);gap:2px}
.p-searchbar .p-tab{padding:12px 12px;font-size:.72rem}
.p-searchbar .p-search-row{border-top:0;padding:0;grid-template-columns:170px 1fr auto;gap:8px}
.p-searchbar .p-field select,.p-searchbar .p-field input,.p-searchbar .p-search-row .p-btn{height:44px}
.p-searchbar .p-chips{grid-column:1/-1;padding:0 0 6px}
@media (max-width:820px){.p-hero-site{min-height:82svh;padding:100px 20px 56px}.p-doors{gap:14px}.p-doors a{font-size:.64rem;letter-spacing:.01em;text-indent:0}.p-searchbar .p-search{grid-template-columns:1fr;gap:8px}.p-searchbar .p-tabs{border-right:0;padding:0;overflow-x:auto}.p-searchbar .p-search-row{grid-template-columns:1fr}}

/* ── Barra de navegación: logo a la izquierda, menú centrado, acciones a la derecha ── */
.p-navbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:0 24px}
.p-navbar .p-nav-menu{justify-content:center;gap:28px}
.p-navbar .p-nav-menu a,.p-navbar .p-nav-menu button{color:rgba(255,255,255,.65);font-size:.7rem;letter-spacing:.01em}
.p-navbar .p-nav-menu [aria-current="page"]{color:#fff}@media(hover:hover) and (pointer:fine){.p-navbar .p-nav-menu a:hover,.p-navbar .p-nav-menu button:hover{color:#fff}}
.p-navbar .p-nav-right{justify-self:end}
.p-navbar .burger{justify-self:end;grid-column:3}
/* La barra del buscador es papel: tinta navy aunque la página sea de marca (navy). */
html body .p-searchbar .p-search .p-tab{color:var(--text-mid,#6B7589)}
html body .p-searchbar .p-search .p-tab.active{color:var(--navy-deeper,#131D2D);border-bottom-color:var(--gold)}
html body .p-searchbar .p-field select,html body .p-searchbar .p-field input{background:#fff;color:var(--navy-deeper,#131D2D);border:1px solid var(--p-line)}
html body .p-searchbar .p-field input::placeholder{color:#9AA1AE}
html body .p-searchbar .p-field:focus-within select,html body .p-searchbar .p-field:focus-within input{border-color:var(--gold)}
html body .p-searchbar .p-chips .p-chip{background:#fff;border:1px solid var(--p-line);color:var(--navy-deeper,#131D2D)}


/* ── Buscador: la banda del catálogo de bairengroup.com (título, cantidad, mapa) ── */
.p-catband{background:var(--navy-deeper,#131D2D);color:#FBFAF6;padding:40px 28px 36px;border-bottom:1px solid rgba(194,169,104,.18)}
.p-catband-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(300px,5fr) 7fr;gap:48px;align-items:center}
.p-catband-eyebrow{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.p-catband h1{font-family:var(--font-display);font-weight:500;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;color:#FBFAF6;margin:0 0 10px}
.p-catband h1 span{color:var(--gold)}
.p-catband-sub{color:rgba(251,250,246,.72);margin:0;max-width:46ch;font-size:.95rem;line-height:1.55}
.p-catband-mapa{min-width:0}
.p-catband-mapa .in{padding:8px 96px 8px 8px;max-width:760px;margin:0 auto}
.p-catband .p-map-hint{color:rgba(251,250,246,.5);font-size:.72rem;letter-spacing:.01em;margin:8px 0 0;text-align:center}
.p-results{grid-template-columns:1fr}
@media(max-width:1023px){.p-catband{padding:26px 20px 22px}.p-catband-in{grid-template-columns:1fr;gap:16px}.p-catband-mapa{display:none}}

/* ══════════════════════════════════════════════════════════════
   Uso y accesibilidad (9/9): buscador, paginación, alerta, hoja de barrios en celular
   ══════════════════════════════════════════════════════════════ */
/* La fila de acciones va a la derecha: el título y la cantidad ya viven en la banda */
.p-product .p-results-head{justify-content:flex-end;scroll-margin-top:150px}
/* Paginación: anterior y siguiente, y la página actual sin depender solo del color */
.p-pager{flex-wrap:wrap;align-items:center}
.p-pager button.nav{min-width:38px;font-size:1.1rem;line-height:1}
.p-pager button[disabled]{opacity:.4;cursor:default}
@media(hover:hover) and (pointer:fine){.p-pager button:not(.on):not([disabled]):hover{border-color:var(--navy-deeper)}}
.p-pager button.on{font-weight:600}
/* Botón de filtro activo (alerta creada, barrio elegido): navy lleno, como el disparador de barrios del sitio */
.p-product .p-fbtn.on,.p-product .p-results-head .p-fbtn.on{background:var(--navy-deeper);border-color:var(--navy-deeper);color:var(--p-ink)}
@media(hover:hover) and (pointer:fine){.p-product .p-fbtn.on:hover{background:var(--navy)}}
.p-fbtn.on svg{color:var(--gold-light)}
/* Solo en celular */
.p-only-m{display:none}
@media(max-width:1023px){
  .p-only-m{display:inline-flex}
  /* Los filtros no persiguen en el celular: ocupan una grilla compacta y quedan arriba */
  .p-filters{position:static}
  .p-filters-in{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 16px 12px}
  .p-filters-in .p-fchip{grid-column:1/-1;min-width:0;flex:none;height:auto;min-height:46px;padding:4px 10px}
  .p-filters-in .p-fsel,.p-filters-in .p-fbtn{width:100%;min-width:0;justify-content:center}
  .p-filters-in .p-fwrap{min-width:0}
  .p-filters-in .p-pop{min-width:min(300px,calc(100vw - 32px))}
  .p-filters-in .p-fwrap:nth-of-type(2) .p-pop{left:auto;right:0}
  .p-product .p-results-head{justify-content:space-between}
  .p-product .p-results-head .acts{width:100%}
  .p-product .p-results-head .acts .p-fsel{flex:1;min-width:0}
}
/* Hoja de barrios (celular): la misma hoja navy del catálogo del sitio */
.p-msheet-wrap{position:fixed;inset:0;z-index:1500;display:none}
.p-msheet-wrap.open{display:block}
.p-msheet-wrap .bg{position:absolute;inset:0;background:rgba(19,29,45,.62)}
.p-msheet{position:absolute;left:0;right:0;bottom:0;max-height:calc(100dvh - 20px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  background:var(--navy-deeper);color:var(--p-ink);border-top:1px solid rgba(194,169,104,.5);box-shadow:0 -18px 48px rgba(0,0,0,.35);
  padding-bottom:max(12px,env(safe-area-inset-bottom));border-radius:16px 16px 0 0}
.p-msheet-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 20px;height:56px;background:var(--navy-deeper);border-bottom:1px solid rgba(194,169,104,.25)}
.p-msheet-head h3{font-family:var(--font-display);font-weight:500;font-size:1.15rem;color:var(--p-ink);margin:0}
.p-msheet-head .x{width:44px;height:44px;border:0;background:none;color:var(--gold-light);font-size:1.7rem;font-weight:300;line-height:1;cursor:pointer;border-radius:999px}
.p-msheet-map{padding:10px 8px 6px 2px}
#mapaSheetMap{width:100%;min-height:220px}
#mapaSheetMap[hidden]{display:none}
.p-msheet-list{list-style:none;margin:6px 20px 0;padding:0;border-top:1px solid rgba(255,255,255,.08)}
.p-msheet-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:11px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:none;color:var(--p-ink);font:300 .95rem var(--font-body);letter-spacing:.02em;cursor:pointer;text-align:left;border-radius:0}
.p-msheet-list button small{font-size:.7rem;letter-spacing:.01em;color:var(--gold-light);opacity:.85;white-space:nowrap}
.p-msheet-list button.on{color:var(--gold-light)}
.p-msheet-list button.on span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:10px;vertical-align:middle}
.p-msheet-list button:active{opacity:.7}
.p-msheet-wrap .p-msheet:focus-visible,.p-msheet-list button:focus-visible{outline-color:#DECDA0}

/* ── Portada: tres operaciones. El plazo del alquiler es un sub-selector chico al lado de Alquilar ── */
.p-plazo{display:inline-flex;align-items:center;gap:2px;margin:0 8px 0 2px;padding:3px;border:1px solid var(--p-line);border-radius:999px;background:#fff;flex-shrink:0;align-self:center}
.p-plazo[hidden]{display:none}
.p-plazo label{position:relative;display:inline-flex;cursor:pointer}
.p-plazo input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.p-plazo span{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--text-mid);white-space:nowrap;transition:background-color .2s,color .2s}
@media(hover:hover) and (pointer:fine){.p-plazo label:hover span{color:var(--navy-deeper)}}
.p-plazo input:checked+span{background:var(--navy-deeper);color:#FBFAF6}
.p-plazo input:focus-visible+span{outline:3px solid var(--navy-deeper);outline-offset:2px}
@media(max-width:820px){
  .p-searchbar .p-tabs{flex-wrap:wrap;overflow:visible;gap:0 2px}
  .p-plazo{order:9;flex-basis:100%;margin:2px 0 6px}
  .p-plazo span{min-height:40px;padding:0 16px}
}
/* Formularios: botón ocupado, error dentro de la grilla de dos columnas, estado de éxito de la consulta, esqueleto del asistente */
.p-btn[disabled],.p-fbtn[disabled]{opacity:.55;cursor:default;pointer-events:none}
.p-btn[aria-busy="true"]{opacity:.75}
.p-form .r2 .p-err-campo{grid-column:1/-1;margin-top:-4px}
.p-form-ok p{color:var(--p-ink-2);font-size:.9rem;line-height:1.55;margin:0 0 12px}
.p-form-ok p a{color:var(--p-ink);text-decoration:underline}
.p-form-ok .p-btn{width:100%;margin-bottom:10px}
.p-form-ok .p-linkbtn{color:var(--p-ink-2);font-size:.84rem;min-height:44px}
.p-form-ok:focus{outline:none}
.p-skel-form{display:grid;gap:16px;padding:10px 0 20px}
.p-skel-form .p-skel-line{height:46px;border-radius:8px}
.p-skel-form .p-skel-line.t{height:26px;width:40%}
.p-skel-form .p-skel-line.s{height:42px;width:180px;border-radius:999px}
/* Panel y curación: esqueleto mientras cargan, riel horizontal y tablas apiladas en el celular */
.p-skel-panel{display:grid;gap:12px;padding:4px 0 24px}
.p-skel-panel .p-skel-line.row{height:132px;border-radius:var(--p-r-md)}
.p-skel-panel .p-skel-line.t{height:30px;width:38%}
.p-skel-panel .p-skel-line.s{width:52%;margin-bottom:8px}
.p-fb{flex-wrap:wrap}
@media(max-width:900px){
  .p-product .p-panel .p-side-nav{display:flex;gap:4px;overflow-x:auto;padding:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:12px;position:static}
  .p-product .p-panel .p-side-nav::-webkit-scrollbar{display:none}
  .p-product .p-panel .p-side-nav .who{display:none}
  .p-product .p-panel .p-side-nav a{flex:0 0 auto;white-space:nowrap;padding:10px 14px;font-size:.84rem;border-radius:999px;border:1px solid transparent;min-height:44px}
  .p-product .p-panel .p-side-nav a.on{border-color:rgba(194,169,104,.55)}
  .p-product .p-visita-form .p-fsel,.p-product .p-visita-form .p-btn{flex:1 1 100%;min-width:0}
  .p-product .p-fb input{width:100%;flex:1 1 100%}
  /* El contenido del panel no puede ser más ancho que la pantalla: la cabecera y las cifras envuelven */
  .p-product .p-panel>*{min-width:0}
  .p-product #content .p-head-row{flex-wrap:wrap;align-items:flex-start}
  .p-product #content .p-head-row>div:last-child{display:flex;flex-wrap:wrap;gap:8px;width:100%}
  .p-product #content .p-head-row>div:last-child .p-btn{flex:1 1 auto;justify-content:center}
  .p-product .p-kpis{flex-wrap:wrap;gap:10px 22px}
  /* La fila del aviso no se apila: foto chica a la izquierda, datos a la derecha, acciones abajo a lo ancho */
  .p-product .p-aviso-row{grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:start}
  .p-product .p-aviso-row>div:nth-child(2){min-width:0}
  .p-product .p-aviso-row .ph{aspect-ratio:1;border-radius:8px}
  .p-product .p-aviso-row .stats{flex-wrap:wrap;gap:6px 14px}
  .p-product .p-aviso-row .acts{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}
  .p-product .p-aviso-row .acts .p-btn{flex:1 1 auto;justify-content:center;white-space:normal;height:auto;min-height:44px;padding:8px 14px;line-height:1.2}
  .p-product .p-visita-form,.p-product .p-fb{max-width:100%}
  .p-product .p-visitas ul{overflow-wrap:anywhere}
}
@media(max-width:760px){
  .p-product .p-tbl{display:block;border:0;background:transparent}
  .p-product .p-tbl thead{display:none}
  .p-product .p-tbl tbody,.p-product .p-tbl tr,.p-product .p-tbl td{display:block}
  .p-product .p-tbl tr{background:var(--p-card-w);border:1px solid var(--p-hair);border-radius:var(--p-r-md);padding:8px 14px;margin-bottom:10px}
  .p-product .p-tbl td{border:0;padding:6px 0;font-size:.9rem}
  .p-product .p-tbl td[data-th]::before{content:attr(data-th);display:block;font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--p-gold-ink);margin-bottom:2px}
  .p-product .p-tbl td:empty{display:none}
  .p-product .p-tbl td .p-btn{margin-top:4px}
}
/* Portada: esqueleto de las seleccionadas mientras llegan los datos */
.p-skel-vcard{height:380px;border-radius:var(--p-r-md);background:linear-gradient(90deg,#E4DCC8 25%,#EEE7D6 50%,#E4DCC8 75%);background-size:200% 100%;animation:sk 1.2s infinite}
/* Objetivos táctiles de 44 px en lo que quedaba chico en el celular: enlaces del pie, migas, "ver más", corazón de la tarjeta, puertas del hero */
@media(max-width:900px){
  .footer .ft-col ul li a,.footer-legal a,.p-legal-strip a{display:inline-block;padding:12px 0;margin:-12px 0}
  .footer .ft-col ul li{margin-bottom:6px}
  .p-breadcrumb a{display:inline-block;padding:13px 2px;margin:-13px 0}
  .p-link{display:inline-block;padding:11px 0;margin:-11px 0}
  .p-more,.p-linkbtn{min-height:44px;display:inline-flex;align-items:center}
  .p-card-h .p-fav,.p-card-h .acts .p-icon-btn{width:44px;height:44px}
  .p-card-h .p-addr{display:inline-block;padding:9px 0;margin:-9px 0}
  .p-doors a{min-height:44px;display:inline-flex;align-items:center;padding:0 6px}
  .p-seo a{display:inline-block;padding:10px 0}
  .p-quick button,.p-report .chips button,.p-tabs2 button{min-height:44px}
  .p-fchip input{min-height:44px}
  .p-visitas summary,.p-emp .units summary{min-height:44px;display:flex;align-items:center}
  .p-prose .box a{display:inline-block;padding:10px 0;margin:-10px 0}
  .p-fhero .cts span{min-height:32px}
  .p-pager button{min-width:44px;min-height:44px}
}
/* Contraste: las pestañas inactivas y el sub-selector de la barra de papel quedaban en 4,0:1 con el gris del sitio; pasan a 5,6:1 */
html body .p-searchbar .p-search .p-tab{color:#565E6E}
.p-plazo span{color:#565E6E}
/* Menú del celular: mediano plazo cuelga de Alquilar, no es una entrada del mismo nivel */
.mobile-menu a.m-sub{font-size:.95rem;padding-left:24px;position:relative;color:rgba(255,255,255,.62)}
.mobile-menu a.m-sub::before{content:"";position:absolute;left:6px;top:50%;width:10px;height:1px;background:var(--gold)}


/* ── Producción con IA y traducción en el formulario de publicar ── */
.p-foto .mejorar{position:absolute;left:8px;top:40px;background:var(--navy-deeper,#131D2D);color:#FBFAF6;border:1px solid var(--gold);border-radius:999px;padding:6px 10px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;cursor:pointer;opacity:.92}
@media(hover:hover) and (pointer:fine){.p-foto .mejorar:hover{opacity:1}}.p-foto .mejorar[disabled]{opacity:.6;cursor:default}
.p-iacmp{position:fixed;inset:0;z-index:1200;background:rgba(19,29,45,.82);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:12px}
.p-iacmp .dos{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1100px;width:100%}
.p-iacmp figure{margin:0;background:var(--p-tray,#F4F0E6);padding:6px}
.p-iacmp img{display:block;width:100%;height:auto;max-height:60vh;object-fit:contain;background:#000}
.p-iacmp figcaption{font-family:var(--font-body);font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--gold-dark,#8A7547);padding:8px 4px 2px}
.p-iacmp .p-note{color:rgba(251,250,246,.75);margin:0;max-width:70ch;text-align:center}
.p-iacmp .acts{display:flex;gap:10px}
.p-trad textarea{min-height:110px}
@media(max-width:760px){.p-iacmp .dos{grid-template-columns:1fr}.p-iacmp img{max-height:34vh}}

/* ═══════════════════════════════════════════════════════════════════════════
   Pasada final (10/9/2026, decisión de Tomás): las páginas de herramienta con
   la gramática de bairengroup.com. Sin registro de app: sin barra lateral, sin
   tarjetas contenedoras, sin esquinas redondeadas; bandas centradas, secciones
   con aire, formularios sobre navy como el de contacto de la web.
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1 · Bandas de cabecera centradas, como comprar.html */
.p-band{padding:128px 0 64px;background:radial-gradient(ellipse at 50% 0%, #1E2A3F 0%, #131D2D 62%)}
.p-band .p-container{text-align:center}
.p-band .p-container > div{margin-left:auto;margin-right:auto}
.p-band .p-eyebrow{border:0;padding:0;border-radius:0;font-size:.75rem;font-weight:500;letter-spacing:.07em;color:var(--gold-light,#DECDA0);margin:0 0 16px}
.p-band h1,.p-band .p-h2{font-weight:400;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.1;margin:0 auto 12px;max-width:20ch;letter-spacing:.005em}
.p-band .p-sub{margin:0 auto;max-width:60ch;font-size:1rem}
.p-band .p-stepper{justify-content:center;margin-top:26px}
.p-band .p-btn{margin-top:18px}

/* 2 · Esquinas rectas en todo, como la web */
.p-btn,.p-btn-fill,.p-fsel,.p-fbtn,.p-tab,.p-badge,.p-chip,.p-drop,.p-pop,.p-fwrap .p-pop{border-radius:2px}
.p-card-h,.prop-card,.p-aviso-row,.p-form,.p-cta,.p-step,.p-map-card,.p-map-card .in,.p-tbl,.p-kpi,.p-login,.p-card-panel,.p-pub-block,.p-fhero .cts span,.p-gallery .cts span,.p-tray{border-radius:0}
.p-field select,.p-field input,.p-fld input,.p-fld select,.p-fld textarea,.p-form input,.p-form textarea,.p-form select{border-radius:0}
.p-card-h .p-card-photo img,.prop-card .card-img img{border-radius:0}
.p-icon-btn{border-radius:0}

/* 3 · El cuerpo después de la banda es la hoja crema de la web, sin caja adentro */
body.p-product .p-page.after-band,.p-page.after-band{background:var(--p-tray,#F4F0E6);padding-top:56px}
body .p-card-panel{background:transparent;border:0;box-shadow:none;padding:0}
body .p-pub-block{background:transparent;border:0;box-shadow:none;padding:26px 0;border-top:1px solid rgba(19,29,45,.12)}
body .p-pub-block:first-child{border-top:0;padding-top:0}

/* 4 · Panel y curación: sin barra lateral; una fila de secciones bajo la banda, como la tira de filtros de la web */
body .p-panel{grid-template-columns:1fr;gap:22px}
body .p-panel .p-side-nav{position:static;display:flex;flex-wrap:wrap;gap:4px;align-items:center;background:transparent;border:0;border-bottom:1px solid rgba(19,29,45,.12);border-radius:0;padding:0 0 10px}
body .p-panel .p-side-nav .who{flex:0 0 100%;font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--text-mid);padding:0 0 10px;border:0}
body .p-panel .p-side-nav a{border-radius:0;padding:10px 14px;min-height:40px;color:var(--navy-deeper);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;background:transparent;display:inline-flex;align-items:center;gap:8px}
body .p-panel .p-side-nav a svg{display:none}
body .p-panel .p-side-nav a.on{background:var(--navy-deeper);color:#FBFAF6}
@media(hover:hover) and (pointer:fine){body .p-panel .p-side-nav a:hover{color:var(--gold-dark)}}
@media(hover:hover) and (pointer:fine){body .p-panel .p-side-nav a.on:hover{color:#FBFAF6}}
body .p-panel .p-side-nav [data-logout]{margin-left:auto;color:var(--text-mid)}
body .p-aviso-row,body .p-tbl{background:#fff;border:1px solid rgba(19,29,45,.1)}

/* 5 · Ingresar: el formulario de contacto de la web, sobre navy */
body .p-login{max-width:560px;background:transparent;border:0;box-shadow:none;padding:0}
body .p-login h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4.2vw,3rem);color:#FBFAF6;text-align:center;margin:0 0 10px;line-height:1.1}
body .p-login .p-sub{color:rgba(251,250,246,.72);text-align:center;margin:0 auto 30px;max-width:44ch}
body .p-login label.p-sr{position:absolute;left:-9999px}
body .p-login input{height:54px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:#FBFAF6;padding:0 16px;font-size:1rem;margin-bottom:12px}
body .p-login input::placeholder{color:rgba(251,250,246,.45)}
body .p-login input:focus{outline:none;border-color:var(--gold)}
body .p-login .p-btn-fill{height:54px;background:var(--gold);color:var(--navy-deeper);border:0;font-size:.72rem;letter-spacing:.01em;font-weight:700}
@media(hover:hover) and (pointer:fine){body .p-login .p-btn-fill:hover{background:var(--gold-light,#DECDA0)}}
body .p-login .or{color:rgba(251,250,246,.5)}
body .p-login .or::before,body .p-login .or::after{background:rgba(255,255,255,.15)}
body .p-login .soc{background:transparent;border:1px solid rgba(255,255,255,.18);color:#FBFAF6;height:50px}
@media(hover:hover) and (pointer:fine){body .p-login .soc:hover{border-color:var(--gold)}}
body .p-login .p-note,body .p-login .p-note a{color:rgba(251,250,246,.62)}
body .p-login .p-note a{color:var(--gold-light,#DECDA0);text-decoration:underline}
body .p-login .p-err,body .p-login [role=alert]{color:#E8B9B9}

@media(max-width:820px){.p-band{padding:104px 0 44px}.p-band h1,.p-band .p-h2{font-size:clamp(1.8rem,7vw,2.4rem)}body .p-panel .p-side-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}body .p-panel .p-side-nav .who{flex:0 0 auto;padding:0 12px 0 0}body .p-panel .p-side-nav a{white-space:nowrap}}

/* El asistente de publicar sin caja: el papel es la página, no un recuadro adentro del papel */
body #panel.p-card-panel,body.p-product .p-page.after-band .p-card-panel{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0}

/* Esquinas rectas en todo el portal, como la web. Lo único redondo: puntos de aviso, pines y avatares circulares. */
[class^="p-"],[class*=" p-"],.prop-card,.card-img,.thumb,.tag,.card-tag,.card-status{border-radius:0 !important}
.p-bell .dot,.p-fav .dot,[data-fav-count],.p-hero-site .p-doors,.p-zona-pin,.p-map-home svg *,.p-catband svg *{border-radius:50% !important}
.p-doors,.p-doors a{border-radius:0 !important}
/* .p-toast y los botones del visor: el radio lo fija la pasada premium (final de este archivo) */
/* La banda centra a sus hijos aunque traigan márgenes en línea */
.p-band .p-container{display:flex;flex-direction:column;align-items:center}
.p-band .p-container > *{max-width:100%}
.p-band.p-band-sm{padding:104px 0 40px}
.p-band.p-band-sm .p-h2{font-size:clamp(1.8rem,3.4vw,2.6rem) !important}
/* Las pestañas del panel siguen rectas también en móvil (gana a la regla de 820px) */
body.p-product .p-panel .p-side-nav a,body .p-panel .p-side-nav a,body .p-panel .p-side-nav a.on{border-radius:0 !important}
/* Botones sueltos dentro de bloques p- (preguntas sugeridas, denuncias, controles) también rectos */
[class^="p-"] button,[class*=" p-"] button,.p-quick button,.p-report .chips button,.p-fb button{border-radius:0 !important}

/* ===== Fidelidad a bairengroup.com, medida en vivo el 10/9/2026 =====
   Catálogo: cuerpo #EEE5D0, barra de filtros blanca de 52 px con controles de 34 px en versalitas,
   fila de resultados con hairline, grilla de cuatro tarjetas blancas con borde rgba(42,58,82,.07).
   Ficha: cuerpo #FBFAF6, etiquetas de sección en oro (.6rem, .35em), descripción en Playfair 1.08rem,
   mapa de Google de 320 px con borde rgba(42,58,82,.1), card lateral con cabecera navy y pie #EEE5D0. */
:root{--s-navy:#2A3A52;--s-navy-dark:#1E2A3F;--s-gold:#C2A968;--s-gold-dark:#8A7547;--s-gold-light:#DECDA0;--s-white:#FBFAF6;--s-off:#EEE5D0;--s-mid:#6B7589}
body.p-product,body.p-product .p-page,body .p-page.after-band,.p-page.after-band{background:var(--s-white)}
body.p-catalogo{background:var(--s-off)}

/* Catálogo: barra de filtros blanca */
body.p-catalogo .p-filters{background:#fff;border-top:0;border-bottom:1px solid rgba(42,58,82,.1);box-shadow:none}
body.p-catalogo .p-filters-in{padding:8px 28px;min-height:52px;gap:8px}
body.p-catalogo .p-filters .p-fbtn{height:34px;border:1px solid rgba(42,58,82,.2);background:transparent;color:var(--s-navy);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;padding:0 14px;border-radius:0;box-shadow:none}
body.p-catalogo .p-filters .p-fsel{height:34px;border:1px solid rgba(42,58,82,.18);background-color:transparent;color:var(--s-navy);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;padding:0 30px 0 14px;border-radius:0;box-shadow:none}
@media(hover:hover) and (pointer:fine){body.p-catalogo .p-filters .p-fbtn:hover,body.p-catalogo .p-filters .p-fsel:hover{border-color:rgba(42,58,82,.45);background-color:transparent;color:var(--s-navy)}}
body.p-catalogo .p-filters .p-fbtn[aria-pressed="true"],body.p-catalogo .p-filters .p-fbtn.on,body.p-catalogo .p-filters .p-fbtn[aria-expanded="true"]{background:var(--s-navy);color:var(--s-white);border-color:var(--s-navy)}
body.p-catalogo .p-filters .p-fbtn .cnt{background:var(--s-gold);color:var(--s-navy)}
body.p-catalogo .p-fchip{height:34px;min-height:34px;border:1px solid rgba(42,58,82,.18);background:#fff;border-radius:0;color:var(--s-navy);box-shadow:none}
body.p-catalogo .p-fchip input{font:300 .78rem var(--font-body);color:var(--s-navy);background:transparent;height:32px}
body.p-catalogo .p-fchip input::placeholder{color:var(--s-mid)}
body.p-catalogo .p-fchip .p-chip,body.p-catalogo #zonaChips .p-chip{background:var(--s-navy);color:var(--s-white);border-color:var(--s-navy);font-size:.8125rem;letter-spacing:.01em;text-transform:none}
body.p-catalogo .p-pop,body.p-catalogo .p-dd,body.p-catalogo .p-sugg{background:#fff;border:1px solid rgba(42,58,82,.15);box-shadow:0 12px 32px rgba(19,29,45,.12);color:var(--s-navy)}
body.p-catalogo .p-pop label,body.p-catalogo .p-dd .p-dd-ttl{color:var(--s-gold-dark)}
body.p-catalogo .p-pop .seg button{color:var(--s-navy);border-color:rgba(42,58,82,.18);background:transparent}
body.p-catalogo .p-pop .seg button.on{background:var(--s-navy);border-color:var(--s-navy);color:var(--s-white)}
body.p-catalogo .p-pop input,body.p-catalogo .p-drawer input,body.p-catalogo .p-drawer select{background:#fff;color:var(--s-navy);border:1px solid rgba(42,58,82,.18)}
body.p-catalogo .p-sugg button{color:var(--s-navy)} @media(hover:hover) and (pointer:fine){body.p-catalogo .p-sugg button:hover{background:var(--s-off)}}
body.p-catalogo .p-drawer .panel,body.p-catalogo .p-drawer .foot{background:#fff;color:var(--s-navy)} body.p-catalogo .p-drawer h3,body.p-catalogo .p-drawer .grp label.t{color:var(--s-navy)}

/* Catálogo: fila de resultados y grilla de cuatro, como catalogo.html */
body.p-catalogo main.p-container{padding:0 !important;max-width:none}
body.p-catalogo .p-results-head{margin:0;padding:12px 28px;border-bottom:1px solid rgba(42,58,82,.06);justify-content:flex-end}
body.p-catalogo .p-results-head .acts{display:flex;gap:8px;align-items:center}
body.p-catalogo .p-results-head .acts .p-fbtn,body.p-catalogo .p-results-head .acts .p-fsel{height:32px;border:1px solid rgba(42,58,82,.15);background-color:var(--s-white);color:var(--s-navy);font:400 .72rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;border-radius:0;padding:0 12px;box-shadow:none}
body.p-catalogo .p-results-head .acts .p-fsel{padding-right:30px}
body.p-catalogo .p-results-head .acts .p-fbtn[aria-pressed="true"]{background:var(--s-navy);color:var(--s-white);border-color:var(--s-navy)}
body.p-catalogo .p-results{grid-template-columns:1fr;padding:32px 28px 72px;gap:0}
body.p-catalogo .p-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:0}
body.p-catalogo .p-list .prop-card{margin:0}
body.p-catalogo .p-skel-card{grid-template-columns:1fr;height:auto;margin:0;background:#fff;border:1px solid rgba(42,58,82,.07)}
body.p-catalogo .p-skel-card .ph{aspect-ratio:16/10;height:auto}
body.p-catalogo .p-pager{margin-top:40px}
body.p-catalogo .p-empty{grid-column:1/-1;background:#fff;border:1px solid rgba(42,58,82,.07)}
@media(max-width:1200px){body.p-catalogo .p-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){body.p-catalogo .p-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:560px){body.p-catalogo .p-list{grid-template-columns:1fr}body.p-catalogo .p-results{padding:20px 16px 56px}body.p-catalogo .p-results-head,body.p-catalogo .p-filters-in{padding-left:16px;padding-right:16px}}
/* la tarjeta del sitio, tal cual: blanca, borde fino, sin sombra */
body.p-catalogo .prop-card,body.p-product .prop-card{background:#fff;border:1px solid rgba(42,58,82,.07);box-shadow:none;border-radius:0;color:var(--s-navy)}
body.p-catalogo .prop-card .card-img{background:var(--s-navy)}
body.p-catalogo .prop-card .card-tag{background:var(--s-navy);color:var(--s-white);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;padding:5px 11px;border-radius:0}
body.p-catalogo .prop-card .card-tag.tag-venta{background:var(--s-gold);color:var(--s-navy)}
body.p-catalogo .prop-card .card-body{padding:22px 22px 18px}
body.p-catalogo .prop-card .card-address{font-family:var(--font-display);font-weight:400;font-size:1.22rem;color:var(--s-navy);line-height:1.25}
body.p-catalogo .prop-card .card-barrio{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark);margin:6px 0 14px}
body.p-catalogo .prop-card .card-meta{font-size:.76rem;color:var(--s-mid);letter-spacing:.01em;margin-bottom:16px;font-weight:300}
body.p-catalogo .prop-card .card-divider{border-top:1px solid rgba(42,58,82,.1);margin-bottom:14px}
body.p-catalogo .prop-card .card-price{font-family:var(--font-display);font-size:1.35rem;color:var(--s-navy);font-weight:400}
body.p-catalogo .prop-card .card-price small{display:block;font:300 .68rem/1.2 var(--font-body);color:var(--s-mid);letter-spacing:.01em;margin-top:3px}
body.p-catalogo .prop-card .card-cta{border:1px solid rgba(42,58,82,.25);padding:9px 14px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-navy);border-radius:0;background:transparent}
body.p-catalogo .prop-card .card-cta::after{content:' →'}
body.p-catalogo .prop-card .p-card-pub{font-size:.68rem;color:var(--s-mid);margin-top:12px;font-weight:300}
body.p-catalogo .prop-card .p-card-pub b{font-weight:500;color:var(--s-navy)}

/* Ficha: cuerpo claro del sitio, etiquetas de sección en oro, descripción en Playfair */
body.p-ficha-page{background:var(--s-white)}
.p-ficha .p-sec-t{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark);margin:0 0 18px}
.p-ficha #desc{font-family:var(--font-display);font-size:1.08rem;line-height:1.7;color:var(--s-navy);font-weight:400;max-width:62ch;padding-top:26px;border-top:1px solid rgba(138,117,71,.35)}
.p-ficha .p-more{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark)}
.p-ficha .p-icons{border:1px solid rgba(42,58,82,.1);background:#fff;padding:16px 0}
.p-ficha .p-ficha-main > div{margin-bottom:44px}
.p-ficha .p-addr-line{font-weight:500;color:var(--s-navy);margin-bottom:12px}
.p-map-wrap{border:1px solid rgba(42,58,82,.1);overflow:hidden;background:#fff}
.p-map-wrap iframe{display:block;width:100%;height:320px;border:0;filter:grayscale(20%) contrast(1.05)}
@media(max-width:820px){.p-map-wrap iframe{height:240px}}

/* Ficha: card lateral con cabecera navy, filas, botones y pie del sitio */
.p-ficha .p-cta{background:#fff;border:1px solid rgba(42,58,82,.1);border-radius:0;box-shadow:none;padding:0 26px 22px;gap:0;overflow:hidden}
.p-ficha .p-cta-price{margin:0 -26px 18px;padding:26px 26px 22px;background:var(--s-navy);color:var(--s-gold);font-family:var(--font-display);font-weight:700;font-size:2.6rem;line-height:1;display:flex;flex-direction:column;gap:8px;font-variant-numeric:lining-nums}
.p-ficha .p-cta-price::before{content:attr(data-lbl);font:300 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-light)}
.p-ficha .p-cta-price small{font:300 .7rem/1.2 var(--font-body);letter-spacing:.01em;color:rgba(255,255,255,.45);margin-left:6px}
.p-ficha .p-cta-price .p-cta-res{font:500 .9rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-light)}
.p-ficha .p-cta-pub{display:grid;gap:3px;font-size:.82rem;color:var(--s-navy);line-height:1.45;padding:0 0 14px;border-bottom:1px solid rgba(42,58,82,.08);margin-bottom:14px}
.p-ficha .p-cta-pub .lbl{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-mid)}
.p-ficha .p-cta-pub b{font-weight:600;font-size:.86rem}
.p-ficha .p-cta-pub span:not(.lbl){color:var(--s-mid);font-size:.78rem}
.p-ficha .p-cta-verif{display:flex;align-items:center;gap:8px;background:rgba(194,169,104,.18);border:1px solid rgba(194,169,104,.35);padding:10px 12px;font:600 .66rem/1.3 var(--font-body);color:var(--s-navy);margin-bottom:14px}
.p-ficha .p-cta-verif svg{color:var(--s-gold-dark);flex:0 0 auto}
.p-ficha .p-cta .p-btn-fill,.p-product .p-ficha .p-cta .p-btn-fill{background:var(--s-navy);border:1px solid var(--s-navy);color:var(--s-white);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;padding:15px;border-radius:0;margin-bottom:8px;width:100%;justify-content:center}
@media(hover:hover) and (pointer:fine){.p-ficha .p-cta .p-btn-fill:hover{background:var(--s-navy-dark)}}
.p-ficha .p-cta .p-btn:not(.p-btn-fill){background:transparent;border:1px solid rgba(42,58,82,.25);color:var(--s-navy);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;padding:11px;border-radius:0;margin-bottom:8px;width:100%;justify-content:center}
@media(hover:hover) and (pointer:fine){.p-ficha .p-cta .p-btn:not(.p-btn-fill):hover{border-color:var(--s-navy)}}
.p-ficha .p-sincontacto-box{margin-bottom:12px}
.p-ficha .p-cta-acts{justify-content:center;padding-top:8px;gap:10px}
.p-ficha .p-cta-acts .p-icon-btn{border:1px solid rgba(42,58,82,.2);color:var(--s-navy);background:transparent}
.p-ficha .p-cta-foot{margin:16px -26px -22px;padding:13px 26px;background:var(--s-off);border-top:1px solid rgba(42,58,82,.07);font:300 .6rem/1.4 var(--font-body);letter-spacing:.01em;color:var(--s-mid);text-align:center}
.p-ficha .p-form{background:#fff;border:1px solid rgba(42,58,82,.1);border-radius:0;box-shadow:none}
body.p-product .p-page.after-band,body .p-page.after-band,body.p-product .p-page{background:var(--s-white)}
.p-ficha .p-cta-verif svg{width:14px;height:14px;flex:0 0 14px}
.p-ficha .p-cta-pub svg{width:12px;height:12px}
/* Línea "Publica" de la tarjeta del sitio, en todas las páginas del portal */
.prop-card .p-card-pub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font:300 .68rem/1.3 var(--font-body);color:var(--s-mid);margin-top:12px}
.prop-card .p-card-pub b{font:500 .74rem/1.3 var(--font-body);color:var(--s-navy)}
.prop-card .p-card-pub .p-badge{font-size:.58rem}
/* Celular: la fila de cabecera envuelve en vez de desbordar; la foto del emprendimiento no supera su columna */
@media(max-width:820px){.p-head-row{flex-wrap:wrap;align-items:flex-start}.p-head-row > *{max-width:100%}.p-head-row .p-btn{white-space:normal;text-align:center}}
.p-emp .ph{max-width:100%;overflow:hidden}.p-emp .ph img{max-width:100%;height:100%;object-fit:cover}
/* Catálogo: conteo a la izquierda como results-count del sitio */
body.p-catalogo .p-results-head{justify-content:space-between}
body.p-catalogo .p-results-count{font:300 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-mid)}
/* Portada: la sección "Lo que ofrecemos" del sitio, con sus clases de base.css */
.caminos{background:#EEE5D0}
.caminos .camino{border-radius:0}
/* Ficha, segunda pasada contra la ficha del sitio: cuerpo 1200/360, hero, fila de datos, mosaicos, filas del card */
.p-ficha{max-width:1200px;margin:0 auto;padding:60px 40px 40px;grid-template-columns:1fr 360px;gap:0}
.p-ficha-main{padding-right:60px;min-width:0}
@media(max-width:900px){.p-ficha{grid-template-columns:1fr;padding:32px 20px}.p-ficha-main{padding-right:0}}
.p-fhero-address{font-size:clamp(2rem,5vw,3.4rem);font-weight:500;line-height:1.05;margin-bottom:6px}
.p-fhero-sub{font-size:.8rem;letter-spacing:.01em;color:var(--s-gold-light)}
.p-fhero-price-lbl{font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--s-gold-light);margin-bottom:6px}
.p-fhero-price{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,3rem);font-weight:700;color:var(--s-gold);line-height:1.05}
.p-fhero-price-mo{font-size:.7rem;color:rgba(255,255,255,.4);margin-top:4px;letter-spacing:.01em}
.p-ficha .p-ficha-head{margin-bottom:28px}
.p-ficha .p-icons{display:flex;flex-wrap:wrap;gap:0;border:1px solid rgba(42,58,82,.1);padding:0;margin:0 0 44px;background:transparent}
.p-ficha .p-icons > div{flex:1 1 0;min-width:90px;padding:22px 12px;text-align:center;border-right:1px solid rgba(42,58,82,.1);font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--s-navy);line-height:1.1}
.p-ficha .p-icons > div:last-child{border-right:0}
.p-ficha .p-icons svg{display:none}
.p-ficha .p-icons small{display:block;font:400 .8125rem/1.2 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-mid);margin-top:4px}
.p-ficha #desc::first-letter{font-size:1.5em;color:var(--s-gold-dark);font-weight:500}
.p-amen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:44px}
@media(max-width:600px){.p-amen-grid{grid-template-columns:repeat(2,1fr)}}
.p-amen-grid .amenity{padding:22px 14px 18px;text-align:center;background:#ECE9E1;border:1px solid rgba(42,58,82,.04)}
.p-amen-grid .amenity-icon{display:flex;align-items:center;justify-content:center;color:var(--s-gold-dark);margin-bottom:10px}
.p-amen-grid .amenity-name{font-size:.8125rem;letter-spacing:.01em;font-weight:500;color:var(--s-navy);text-transform:none}
.p-ficha .p-ac-rows{margin:-4px 0 6px}
.p-ficha .ac-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(42,58,82,.07);gap:14px}
.p-ficha .ac-lbl{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-mid);flex:0 0 auto}
.p-ficha .ac-val{font:600 .82rem/1.3 var(--font-body);color:var(--s-navy);text-align:right}
.p-ficha .p-cta-pub{padding-top:10px}
.p-ficha .p-ac-links{display:flex;gap:18px;justify-content:center;margin:2px 0 6px}
.p-ficha .p-ac-link{background:none;border:0;padding:6px 0;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-navy);text-decoration:underline;text-underline-offset:3px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.p-ficha .p-ac-link svg{width:13px;height:13px}
.p-ficha .p-quick button{border:1px solid rgba(42,58,82,.25);background:transparent;color:var(--s-navy);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;padding:10px 12px}
.p-ficha .p-quick button.on{background:var(--s-navy);color:var(--s-white);border-color:var(--s-navy)}
.p-ficha .p-pub-block{background:transparent;border:0;border-top:1px solid rgba(42,58,82,.1);padding:28px 0 0}
.p-ficha .p-report{background:transparent;border:0;border-top:1px solid rgba(42,58,82,.1);padding:24px 0 0}
.p-ficha .p-report b{display:block;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark);margin-bottom:14px}
.p-ficha .p-report b svg{display:none}
.p-ficha .p-report .chips button{border:1px solid rgba(42,58,82,.25);background:transparent;color:var(--s-navy);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;padding:10px 12px}
body.p-ficha-page .p-head-row .p-h2{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark);margin:0}
.p-ficha .p-legend{background:transparent;border:0;border-top:1px solid rgba(42,58,82,.1);padding:16px 0 0;color:var(--s-mid);font-size:.72rem}
.p-ficha .p-meta-line{color:var(--s-mid);font-size:.72rem}
/* Auditoría Web Interface Guidelines (10/9/2026): contraste, foco, táctil, anclas, desbordes. Sin cambiar la gramática. */
:root{--s-gold-dark:#6F5C32;--s-mid:#565E6E}
.p-ficha .p-cta-price small{color:rgba(255,255,255,.72)}
body.p-catalogo .p-fchip:focus-within{box-shadow:0 0 0 2px #FBFAF6,0 0 0 4px #131D2D;border-color:#2A3A52}
.p-fchip input:focus-visible{outline:0}
.p-fld :is(input,select,textarea):focus-visible{outline:3px solid #131D2D;outline-offset:2px}
.p-searchbar .p-search{overflow:visible}
.p-drawer .panel,.p-iacmp,.p-msheet-wrap .sheet{overscroll-behavior:contain}
.p-head-row{flex-wrap:wrap}
.p-chip button{min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;margin:-6px -8px -6px 0}
@media(pointer:coarse){.p-chip button{min-width:44px;min-height:44px}}
#indice,#guia,#barrios,#publicar,#publicadores,#contacto,#seleccionadas,#caminos,.p-pub-block[id],article[id]{scroll-margin-top:84px}
.p-fhero{height:68svh}
a,button,[role="button"],summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
/* Desbordes en celular: tabla del índice con scroll propio; tarjeta de emprendimiento dentro de su columna */
.p-index-wrap,.p-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:820px){.p-emp{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;min-width:0}.p-emp > *{min-width:0}}
/* Catálogo en celular, medido en bairengroup.com a 430 px: banda de 101 px con título de 24.8 px; barra blanca con
   Barrios (44 px) arriba, selects de 34 px en versalitas, buscador de 44 px al final; fila de resultados con conteo y orden */
@media(max-width:820px){
  body.p-catalogo .p-catband{padding:26px 20px 22px}
  body.p-catalogo .p-catband-in{display:block}
  body.p-catalogo .p-catband-eyebrow{display:none}
  body.p-catalogo .p-catband h1,body.p-catalogo #resTitle{font-size:1.55rem;line-height:1.15;margin:0 0 6px}
  body.p-catalogo .p-catband-sub{font-size:.78rem;margin:0;opacity:.75}
  body.p-catalogo .p-catband-mapa{display:none}
  body.p-catalogo .p-filters-in{display:flex !important;flex-wrap:wrap;gap:8px;padding:12px 16px;grid-template-columns:none}
  body.p-catalogo .p-filters-in > *{width:auto;flex:0 0 auto}
  body.p-catalogo .p-filters #barriosBtn{order:1;flex:0 0 auto;height:44px;font-size:.7rem;letter-spacing:.01em;padding:0 16px;border-color:rgba(42,58,82,.2)}
  body.p-catalogo .p-filters #barriosBtn::after{content:'';width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 8px}
  body.p-catalogo .p-filters #opSel{order:2;flex:1 1 40%}
  body.p-catalogo .p-filters #tipoSel{order:3;flex:1 1 40%}
  body.p-catalogo .p-filters .p-fsel{height:34px;font-size:.6rem;letter-spacing:.01em;padding:0 26px 0 10px}
  body.p-catalogo .p-filters #ambBtn,body.p-catalogo .p-filters #precioBtn,body.p-catalogo .p-filters #moreBtn{height:34px;font-size:.6rem;letter-spacing:.01em;padding:0 12px}
  body.p-catalogo .p-filters .p-fwrap{order:4;flex:0 0 auto}
  body.p-catalogo .p-filters #moreBtn{order:5}
  body.p-catalogo .p-filters #zonaBox{order:6;flex:1 1 100%;width:100%;height:44px;min-height:44px}
  body.p-catalogo .p-fchip input{font-size:.92rem;height:42px}
  body.p-catalogo .p-results-head{padding:10px 16px;flex-wrap:nowrap;gap:8px}
  body.p-catalogo .p-results-head .acts .p-fbtn,body.p-catalogo .p-results-head .acts .p-fsel{height:40px;font-size:.72rem}
  body.p-catalogo .p-results-head .acts .p-fbtn svg{display:none}
  body.p-catalogo .p-results{padding:16px 16px 56px}
  body.p-catalogo .p-list{grid-template-columns:1fr;gap:18px}
}
@media(max-width:820px){
  body.p-catalogo .p-catband h1,body.p-catalogo #resTitle{font-size:1.55rem !important;line-height:1.15 !important}
  body.p-catalogo .p-catband-sub{font-size:.8rem !important;line-height:1.4}
  body.p-catalogo .p-filters .p-fsel{height:34px !important;font-size:.6rem !important;letter-spacing:.01em !important;padding:0 26px 0 10px !important;min-height:0 !important;width:auto !important}
  body.p-catalogo .p-filters .p-fbtn{height:34px !important;min-height:0 !important;font-size:.6rem !important;letter-spacing:.01em !important;padding:0 12px !important;width:auto !important}
  body.p-catalogo .p-filters #barriosBtn{height:44px !important;font-size:.7rem !important;letter-spacing:.01em !important;padding:0 16px !important;flex:0 0 100% !important;max-width:150px}
  body.p-catalogo .p-filters #opSel,body.p-catalogo .p-filters #tipoSel{flex:1 1 40% !important}
  body.p-catalogo .p-results-head{flex-wrap:nowrap !important}
  body.p-catalogo .p-results-count{white-space:nowrap;font-size:.66rem}
  body.p-catalogo .p-results-head .acts{flex:0 0 auto;gap:6px}
  body.p-catalogo .p-results-head .acts .p-fbtn{height:40px !important;min-height:0 !important;font-size:.66rem !important;padding:0 10px !important;width:auto !important}
  body.p-catalogo .p-results-head .acts .p-fsel{height:40px !important;min-height:0 !important;font-size:.7rem !important;padding:0 26px 0 10px !important;width:auto !important;max-width:150px}
}
/* Ficha en celular: la fila de datos en una sola línea con scroll, como stats-row del sitio */
/* 23/9/2026 · En celular esta fila iba en una sola línea con scroll lateral y sin ninguna pista: el cuarto dato ("1 baño") quedaba cortado a 390 px. Ahora van de a dos por fila. */
@media(max-width:820px){.p-ficha .p-icons{flex-wrap:wrap;overflow:visible;border-bottom:0}.p-ficha .p-icons > div{flex:1 1 50%;max-width:50%;min-width:0;padding:18px 8px;border-bottom:1px solid rgba(42,58,82,.1)}.p-ficha .p-icons > div:nth-child(2n){border-right:0}}

/* ── Detalle en lo que se toca (Motion, 10/9/2026) ────────────────────────────
   El hundido al apretar lo pone Motion. Acá va lo visual: el relleno que sube
   desde abajo en los botones de contorno, y la flecha que viaja. Sin rebotes. */
.p-btn,.p-fbtn,.card-cta,.p-ac-link,.p-quick button,.p-report .chips button{position:relative;overflow:hidden;isolation:isolate;will-change:transform}
.p-ficha .p-cta .p-btn:not(.p-btn-fill)::before,
body.p-catalogo .p-filters .p-fbtn::before,
body.p-catalogo .p-results-head .acts .p-fbtn::before,
.card-cta::before,
.p-ficha .p-quick button::before,
.p-ficha .p-report .chips button::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--s-navy,#2A3A52);transform:scaleY(0);transform-origin:50% 100%;transition:transform .24s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.p-ficha .p-cta .p-btn:not(.p-btn-fill):hover::before,body.p-catalogo .p-filters .p-fbtn:hover::before,body.p-catalogo .p-results-head .acts .p-fbtn:hover::before,.card-cta:hover::before,.p-ficha .p-quick button:hover::before,.p-ficha .p-report .chips button:hover::before{transform:scaleY(1)}}
@media(hover:hover) and (pointer:fine){.p-ficha .p-cta .p-btn:not(.p-btn-fill):hover,body.p-catalogo .p-filters .p-fbtn:hover,body.p-catalogo .p-results-head .acts .p-fbtn:hover,.card-cta:hover,.p-ficha .p-quick button:hover,.p-ficha .p-report .chips button:hover{color:var(--s-white,#FBFAF6);border-color:var(--s-navy,#2A3A52);background-color:transparent}}
/* El relleno navy se aclara al pasar; el de oro se asienta */
.p-ficha .p-cta .p-btn-fill{transition:background .3s cubic-bezier(.22,1,.36,1)}
/* La flecha viaja, como en las tarjetas del sitio */
.card-cta::after{transition:transform .3s cubic-bezier(.22,1,.36,1);display:inline-block}
@media(hover:hover) and (pointer:fine){.prop-card:hover .card-cta::after,.card-cta:hover::after{transform:translateX(4px)}}
/* Nada de esto se mueve si la persona pidió menos movimiento */
@media(prefers-reduced-motion:reduce){
  .p-btn::before,.p-fbtn::before,.card-cta::before,.p-quick button::before,.p-report .chips button::before{transition:none}
  .card-cta::after{transition:none}
}

/* ── Visor de fotos: la unidad a pantalla completa, sin cromo de aplicación ──
   Velo navy de la casa, esquinas rectas, flechas de un trazo, contador en
   versalitas doradas y la tira de miniaturas abajo. La foto llega desde la
   miniatura que se tocó, así el ojo no la pierde. */
.p-lb{position:fixed;inset:0;z-index:3000;display:none}
.p-lb.open{display:block}
.p-lb .velo{position:absolute;inset:0;background:#131D2D;opacity:.975}
.p-lb .marco{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:84px 96px 148px;touch-action:pan-y}
.p-lb img{width:100%;height:100%;object-fit:contain;border-radius:0 !important;user-select:none;-webkit-user-drag:none}
.p-lb .x{position:absolute;top:24px;right:30px;z-index:4;background:none;border:0;padding:10px 4px;color:rgba(251,250,246,.72);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;cursor:pointer;transition:color .25s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.p-lb .x:hover{color:var(--gold,#C2A968)}}
.p-lb .nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:64px;height:64px;background:none;border:0;cursor:pointer;color:rgba(251,250,246,.6);transition:color .25s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1)}
.p-lb .nav::before{content:'';position:absolute;top:50%;left:50%;width:15px;height:15px;border-left:1px solid currentColor;border-bottom:1px solid currentColor}
.p-lb .nav.prev{left:14px}.p-lb .nav.prev::before{transform:translate(-40%,-50%) rotate(45deg)}
.p-lb .nav.next{right:14px}.p-lb .nav.next::before{transform:translate(-60%,-50%) rotate(-135deg)}
@media(hover:hover) and (pointer:fine){.p-lb .nav:hover{color:var(--gold,#C2A968)}}
@media(hover:hover) and (pointer:fine){.p-lb .nav.prev:hover{transform:translateY(-50%) translateX(-3px)}}
@media(hover:hover) and (pointer:fine){.p-lb .nav.next:hover{transform:translateY(-50%) translateX(3px)}}
.p-lb .pie{position:absolute;left:0;right:0;bottom:22px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 20px}
.p-lb .cuenta{font:400 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--gold-light,#DECDA0);font-variant-numeric:tabular-nums lining-nums}
.p-lb .tiras{display:flex;gap:8px;max-width:min(920px,94vw);overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.p-lb .tiras::-webkit-scrollbar{display:none}
.p-lb .tiras .t{flex:0 0 auto;width:64px;height:44px;padding:0;border:0;background:none;cursor:pointer;opacity:.42;border-bottom:2px solid transparent;transition:opacity .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1)}
.p-lb .tiras .t img{width:100%;height:100%;object-fit:cover;display:block}
@media(hover:hover) and (pointer:fine){.p-lb .tiras .t:hover{opacity:.8}}
.p-lb .tiras .t.on{opacity:1;border-bottom-color:var(--gold,#C2A968)}
@media(max-width:820px){
  .p-lb .marco{padding:64px 14px 128px}
  .p-lb .nav{display:none}
  .p-lb .x{top:16px;right:16px}
  .p-lb .tiras .t{width:52px;height:36px}
}

/* ── Menú de arriba: un panel ancho, no un desplegable angosto ───────────────
   Se abre a todo el ancho del header como una hoja de papel que baja, con las
   secciones en columnas y una línea de oro arriba. Una sola animación de alto. */
.p-nav-menu>div{position:static}
.p-nav-menu .p-dd:not(.p-dd-cuenta){position:absolute;top:100%;left:0;right:0;width:100%;min-width:0;border-radius:0;border-left:0;border-right:0;border-top:1px solid var(--gold,#C2A968);border-bottom:1px solid rgba(42,58,82,.12);background:#FBFAF6;box-shadow:0 26px 60px rgba(19,29,45,.16);padding:0;overflow:hidden}
.p-nav-menu .p-dd.abierto:not(.p-dd-cuenta){display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 40px;align-content:start;padding:34px max(28px,calc((100vw - 1180px) / 2)) 38px}
.p-nav-menu .p-dd .col{min-width:0}
.p-nav-menu .p-dd .p-dd-ttl{padding:0 0 12px;margin:0 0 10px;border-bottom:1px solid rgba(42,58,82,.1);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark,#6F5C32)}
.p-nav-menu .p-dd a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;font:300 .92rem/1.3 var(--font-body);color:var(--navy-deeper,#131D2D);border:0;position:relative}
.p-nav-menu .p-dd a::after{content:'';position:absolute;left:0;bottom:4px;width:0;height:1px;background:var(--gold,#C2A968);transition:width .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.p-nav-menu .p-dd a:hover{background:transparent;color:var(--navy-deeper,#131D2D)}}
.p-nav-menu .p-dd a:hover::after{width:100%}
.p-nav-menu .p-dd .p-dd-n{font:400 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-mid,#565E6E);flex:0 0 auto}
@media(max-width:1024px){.p-nav-menu .p-dd.abierto{padding-left:24px;padding-right:24px;gap:0 24px}}
/* La regla vieja de hover mostraba el panel como bloque y anulaba las columnas */
.p-nav-menu>div:hover .p-dd:not(.abierto),.p-nav-menu>div:focus-within .p-dd:not(.abierto){display:none}
body .p-nav-menu .p-dd.abierto:not(.p-dd-cuenta){display:grid}
body .p-nav-menu .p-dd-cuenta.abierto{display:block}
.p-nav-menu .p-dd .col.ancha{grid-column:span 2}
.p-nav-menu .p-dd .col.ancha .p-dd-ttl{column-span:all}
@media(min-width:1024px){.p-nav-menu .p-dd .col.ancha a{break-inside:avoid}.p-nav-menu .p-dd .col.ancha{column-gap:40px}}
.p-nav-menu .p-dd .col.ancha{display:block}
.p-nav-menu .p-dd .col.ancha > a{width:calc(50% - 20px);display:inline-flex;margin-right:40px}
.p-nav-menu .p-dd .col.ancha > a:nth-child(2n+1){margin-right:0}

/* El sello de una operación asentada: oro, versalitas, ligeramente torcido */
.p-sello{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);z-index:5;pointer-events:none;opacity:0;padding:9px 20px;border:2px solid var(--gold,#C2A968);color:var(--gold-dark,#8A7547);background:rgba(251,250,246,.9);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;white-space:nowrap}
.p-aviso-row.sellado{opacity:.62;transition:opacity .5s cubic-bezier(.22,1,.36,1)}

/* ── Compartir: hoja que sube en el celular, panel centrado en escritorio ──── */
.p-compartir{position:fixed;inset:0;z-index:3200;display:flex;align-items:center;justify-content:center}
.p-compartir .velo{position:absolute;inset:0;background:#131D2D;opacity:.62}
.p-compartir .hoja{position:relative;z-index:2;width:min(420px,92vw);background:#FBFAF6;border:1px solid rgba(42,58,82,.12);border-top:2px solid var(--gold,#C2A968);padding:30px 30px 24px;box-shadow:0 30px 80px rgba(19,29,45,.3)}
.p-compartir .tirador{display:none}
.p-compartir .ttl{margin:0 0 4px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark,#6F5C32)}
.p-compartir .sub{margin:0 0 20px;font-family:var(--font-display);font-weight:400;font-size:1.16rem;line-height:1.25;color:var(--navy-deeper,#131D2D)}
.p-compartir .ops{display:grid;gap:8px}
.p-compartir .op{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;background:transparent;border:1px solid rgba(42,58,82,.22);color:var(--navy-deeper,#131D2D);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;isolation:isolate}
.p-compartir .op::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--s-navy,#2A3A52);transform:scaleY(0);transform-origin:50% 100%;transition:transform .24s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.p-compartir .op:hover{color:#FBFAF6;border-color:var(--s-navy,#2A3A52)}}
@media(hover:hover) and (pointer:fine){.p-compartir .op:hover::before{transform:scaleY(1)}}
.p-compartir .cerrar{margin:18px auto 0;display:block;background:none;border:0;padding:8px 4px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-mid,#565E6E);cursor:pointer}
@media(hover:hover) and (pointer:fine){.p-compartir .cerrar:hover{color:var(--navy-deeper,#131D2D)}}
@media(max-width:820px){
  .p-compartir{align-items:flex-end}
  .p-compartir .hoja{width:100%;max-width:none;padding:14px 20px calc(24px + env(safe-area-inset-bottom));border-left:0;border-right:0;border-bottom:0}
  .p-compartir .tirador{display:block;width:44px;height:3px;margin:0 auto 16px;background:rgba(42,58,82,.22)}
  .p-compartir .op{min-height:52px}
}

/* El rótulo que rueda: una copia debajo, un solo giro */
[data-rueda]{overflow:hidden}
[data-rueda] .rd{display:flex;flex-direction:column;line-height:1}
[data-rueda] .rd .a,[data-rueda] .rd .b{display:block;padding:.15em 0}
/* La entrada: el nombre sobre el navy de la casa */
.p-entrada{position:fixed;inset:0;z-index:5000;background:#131D2D;display:flex;align-items:center;justify-content:center;pointer-events:none}
.p-entrada .w{font:400 clamp(1.6rem,5vw,2.6rem)/1 var(--font-body);letter-spacing:.42em;text-indent:.42em;color:#FBFAF6;font-variant-numeric:tabular-nums lining-nums}
@media(prefers-reduced-motion:reduce){.p-entrada{display:none}}

/* Publicar se abre en las tres puertas antes de mandar al asistente */
.p-crear{position:relative}
.p-crear-pop{position:absolute;top:calc(100% + 10px);right:0;z-index:1200;min-width:250px;background:#FBFAF6;border:1px solid rgba(42,58,82,.14);border-top:2px solid var(--gold,#C2A968);box-shadow:0 24px 56px rgba(19,29,45,.22);padding:16px 18px 12px}
.p-crear-pop .t{margin:0 0 12px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark,#6F5C32)}
.p-crear-pop a{display:block;padding:10px 0;font:300 .9rem/1.3 var(--font-body);color:var(--navy-deeper,#131D2D);border-bottom:1px solid rgba(42,58,82,.08);position:relative;text-transform:none;letter-spacing:0}
.p-crear-pop a:last-child{border-bottom:0}
.p-crear-pop a::after{content:'';position:absolute;left:0;bottom:6px;width:0;height:1px;background:var(--gold,#C2A968);transition:width .3s cubic-bezier(.22,1,.36,1)}
.p-crear-pop a:hover::after{width:100%}

/* El menú de la cuenta: panel angosto a la derecha, con la misma gramática */
.p-nav-menu .p-dd-cuenta{position:absolute;top:100%;left:auto;right:0;width:auto;min-width:250px;background:#FBFAF6;border:1px solid rgba(42,58,82,.14);border-top:2px solid var(--gold,#C2A968);border-radius:0;box-shadow:0 24px 56px rgba(19,29,45,.22);padding:14px 18px 10px;overflow:hidden}
.p-nav-menu .p-dd-cuenta .p-dd-ttl{padding:0 0 10px;margin:0 0 8px;border-bottom:1px solid rgba(42,58,82,.1);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark,#6F5C32);word-break:break-all}
.p-nav-menu .p-dd-cuenta a{display:block;padding:9px 0;font:300 .9rem/1.3 var(--font-body);color:var(--navy-deeper,#131D2D);position:relative}
.p-nav-menu .p-dd-cuenta a::after{content:'';position:absolute;left:0;bottom:5px;width:0;height:1px;background:var(--gold,#C2A968);transition:width .3s cubic-bezier(.22,1,.36,1)}
.p-nav-menu .p-dd-cuenta a:hover::after{width:100%}

/* Titular por palabras: cada palabra dentro de su máscara */
.p-msk{display:inline-block;overflow:hidden;vertical-align:top}
.p-msk-in{display:inline-block;will-change:transform}
/* ── El menú de arriba, en cápsula flotante (spotlight navbar) ──────────────
   El componente que pidió Tomás, en la lengua de la casa: cápsula navy
   translúcida con hairline de oro, ítems en versalitas, una luz que sigue al
   cursor y una línea de oro que se desliza bajo la sección activa. */
.p-navbar,.navbar{overflow:visible;transition:background .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),border-color .24s cubic-bezier(.22,1,.36,1)}
.p-navbar.bajado,.navbar.bajado{box-shadow:0 10px 30px rgba(10,14,22,.28)}
.p-nav-menu{--foco-x:50%;--ambiente-x:0px;--ambiente-w:80px;position:relative;gap:2px;padding:5px 7px;border-radius:999px;background:transparent;border:1px solid rgba(194,169,104,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 26px rgba(10,14,22,.28)}
/* El vidrio va en una capa interna: si lo lleva la cápsula, se vuelve el marco
   de los elementos fijos y el panel del mega menú deja de centrarse en la página. */
.p-nav-menu::before{content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;background:rgba(255,255,255,.055);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.p-nav-menu .p-foco,.p-nav-menu .p-ambiente{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;border-radius:inherit;overflow:hidden;transition:opacity .24s cubic-bezier(.22,1,.36,1)}
.p-nav-menu .p-foco{background:radial-gradient(120px 46px at var(--foco-x) 100%,rgba(194,169,104,.3) 0%,rgba(194,169,104,.1) 48%,transparent 76%)}
.p-nav-menu .p-ambiente{background:none}
.p-nav-menu .p-ambiente::after{content:'';position:absolute;left:var(--ambiente-x);bottom:5px;width:var(--ambiente-w,80px);height:2px;border-radius:2px;background:var(--gold,#C2A968);box-shadow:0 -7px 20px rgba(194,169,104,.65)}
.p-nav-menu > div,.p-nav-menu > a{position:relative;z-index:1}
.p-nav-menu > div > button,.p-nav-menu > a{padding:9px 16px;border-radius:999px;color:rgba(251,250,246,.7);transition:color .25s cubic-bezier(.22,1,.36,1),background .25s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.p-nav-menu > div > button:hover,.p-nav-menu > a:hover{color:#FBFAF6;background:rgba(255,255,255,.05)}}
.p-nav-menu > div > button[aria-expanded="true"],.p-nav-menu > a[aria-current="page"]{color:#FBFAF6}
/* El panel del mega menú cuelga de la cápsula, centrado y con su ancho */
.p-nav-menu .p-dd:not(.p-dd-cuenta){border-radius:0}
.p-nav-menu .p-dd.abierto:not(.p-dd-cuenta){padding:32px 36px 36px}
@media(prefers-reduced-motion:reduce){.p-nav-menu .p-foco{display:none}}
/* El haz de la sección activa, en el menú del celular */
.mobile-menu{--haz-y:0px;--haz-h:48px}
.p-ambiente-m{position:absolute;left:0;right:0;top:var(--haz-y);height:var(--haz-h);z-index:0;pointer-events:none;opacity:0;transition:opacity .24s cubic-bezier(.22,1,.36,1);background:linear-gradient(to right,rgba(194,169,104,.16) 0%,rgba(194,169,104,.04) 55%,transparent 88%)}
.p-ambiente-m::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold,#C2A968);box-shadow:6px 0 18px rgba(194,169,104,.5)}
.mobile-menu > *:not(.p-ambiente-m){position:relative;z-index:1}
/* La cápsula del menú es la excepción a las esquinas rectas: el componente es una píldora */
.p-nav-menu,.p-nav-menu .p-foco,.p-nav-menu .p-ambiente,.p-nav-menu > div > button,.p-nav-menu > a{border-radius:999px !important}
.p-nav-menu .p-ambiente::after{border-radius:2px !important}
.p-nav-menu .p-dd,.p-nav-menu .p-dd *{border-radius:0 !important}
/* Se encoge a su contenido y queda centrada, como en el componente */
.p-navbar .p-nav-menu{justify-self:center;width:max-content;max-width:100%;flex:0 0 auto}
/* El panel del mega menú se ancla a la ventana, no a la cápsula: así queda
   centrado en la página sin importar dónde esté la cápsula. */
.p-nav-menu .p-dd:not(.p-dd-cuenta){position:fixed;top:64px;left:50%;right:auto;transform:translateX(-50%);width:min(1080px,calc(100vw - 48px))}
/* En sesión iniciada, "Mi cuenta" usa la misma clase que el menú del centro.
   La cápsula es sólo la del centro; la de la derecha vuelve a ser un grupo suelto. */
.p-nav-right .p-nav-menu{position:static !important;left:auto !important;right:auto !important;top:auto !important;margin:0 !important;width:auto !important;padding:0 !important;gap:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;border-radius:0 !important}
.p-nav-right .p-nav-menu::before{display:none}
.p-nav-right .p-nav-menu > div > button{padding:0 14px;border-radius:var(--r-ctl,10px) !important}
.p-nav-right .p-nav-menu .p-foco,.p-nav-right .p-nav-menu .p-ambiente{display:none}

/* ── La cápsula, centrada por la grilla ────────────────────────────────────
   Columnas simétricas: el logo a la izquierda, las acciones a la derecha y la
   cápsula exactamente en el medio. Cuando no hay lugar, las tres se achican
   juntas y nunca se pisan, con sesión abierta o sin ella. */
.p-navbar{grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);gap:18px}
.p-navbar > :first-child{justify-self:start}
.p-navbar > .p-nav-menu{justify-self:center;width:max-content;min-width:0}
.p-navbar > .p-nav-right{justify-self:end;min-width:0}
/* Cuando el ancho no da, la cápsula se compacta antes que pisar las acciones */
@media(max-width:1560px){.p-navbar{gap:10px}.p-navbar > .p-nav-menu{gap:0}.p-navbar > .p-nav-menu > div > button,.p-navbar > .p-nav-menu > a{padding:9px 12px;letter-spacing:.01em;font-size:.66rem}}
@media(max-width:1340px){.p-navbar > .p-nav-menu > div > button,.p-navbar > .p-nav-menu > a{padding:9px 9px;letter-spacing:.01em;font-size:.62rem}.p-navbar > .p-nav-menu{padding:4px 5px}}
/* "Publicá tu propiedad" en banda clara: la tarjeta sigue navy y el título toma el estilo del resto */
.p-publica .p-eyebrow{color:var(--gold-light,#DECDA0);margin-bottom:10px}
.p-publica .p-h2{color:#FBFAF6;font-weight:400;font-size:1.9rem;margin:0 0 12px}
.p-section.alt#publicar{border-top:1px solid rgba(42,58,82,.08)}

/* ── Repuestos: estos bloques se perdieron al reemplazar el del header ──────── */
/* Cómo funciona: las tarjetas del sitio, con el paso y una explicación */
.caminos-hd .p-eyebrow{display:block;margin-bottom:12px;color:var(--s-gold-dark,#6F5C32)}
.camino-txt{margin:0 0 22px;font:300 .88rem/1.6 var(--font-body);color:var(--s-mid,#565E6E)}
.camino .camino-kicker{order:-1}
@media(max-width:820px){.caminos-grid{grid-template-columns:1fr !important;gap:14px}.caminos{padding-left:16px;padding-right:16px}}
/* Barrios: la línea con los que todavía no tienen unidades */
.p-zonas-vacias{margin:16px 0 0;font:300 .82rem/1.6 var(--font-body);color:rgba(251,250,246,.6)}
.p-zonas-vacias a{color:rgba(251,250,246,.86);text-decoration:underline;text-underline-offset:3px}
@media(hover:hover) and (pointer:fine){.p-zonas-vacias a:hover{color:var(--gold-light,#DECDA0)}}
/* Muro de publicadores: cuadrícula con líneas, monograma en oro y una luz que sigue al cursor */
.p-muro{position:relative;display:grid;isolation:isolate;border:1px solid rgba(42,58,82,.1);background:#fff;overflow:hidden;min-height:168px}
.p-muro::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .24s cubic-bezier(.22,1,.36,1);background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(194,169,104,.16) 0%,rgba(194,169,104,.05) 42%,transparent 70%)}
.p-muro.con-luz::after{opacity:1}
.p-muro .tanda{grid-area:1/1;display:grid;grid-template-columns:repeat(4,1fr)}
.p-muro .tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:168px;padding:22px 16px;text-align:center;border-right:1px solid rgba(42,58,82,.1);color:var(--navy-deeper,#131D2D);transition:background .2s cubic-bezier(.22,1,.36,1)}
.p-muro .tile:last-child{border-right:0}
@media(hover:hover) and (pointer:fine){.p-muro .tile:hover{background:rgba(194,169,104,.06)}}
.p-muro .mono{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(194,169,104,.55);color:var(--s-gold-dark,#6F5C32);font-family:var(--font-display);font-size:1.02rem;letter-spacing:.01em}
.p-muro .nom{font:500 .84rem/1.25 var(--font-body);color:var(--navy-deeper,#131D2D)}
.p-muro .tip{font:400 .8125rem/1.2 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-mid,#565E6E)}
.p-muro .tile.vacio{border-style:dashed;border-color:rgba(42,58,82,.18)}
.p-muro .tile.vacio .mono{border-style:dashed;font-size:1.3rem}
@media(max-width:820px){.p-muro .tanda{grid-template-columns:repeat(2,1fr)}.p-muro .tile{min-height:140px;border-bottom:1px solid rgba(42,58,82,.1)}.p-muro .tile:nth-child(2n){border-right:0}}
/* Botón de producción con IA: mientras trabaja, una luz de oro recorre el rótulo */
.p-gen{position:relative;color:transparent !important;background-image:linear-gradient(90deg,var(--s-navy,#2A3A52) 0%,var(--s-navy,#2A3A52) 38%,var(--gold,#C2A968) 50%,var(--s-navy,#2A3A52) 62%,var(--s-navy,#2A3A52) 100%);background-size:280% 100%;-webkit-background-clip:text;background-clip:text;animation:p-gen-luz 1.7s linear infinite}
.p-gen svg{opacity:.35}
@keyframes p-gen-luz{0%{background-position:120% 0}100%{background-position:-120% 0}}
@media(prefers-reduced-motion:reduce){.p-gen{animation:none;color:var(--s-navy,#2A3A52) !important;background-image:none}}

/* ── La cápsula también en celular ───────────────────────────────────────────
   Cuatro ítems cortos entran en 390 px, como los cinco del ejemplo. En celular
   va entre el logo y el botón de menú; los paneles cuelgan a todo el ancho. */
.p-nav-menu{display:flex !important}
@media(max-width:820px){
  .p-navbar,.navbar{padding-left:12px;padding-right:12px;gap:8px}
  .p-navbar > .p-nav-menu{padding:3px 4px;gap:0}
  .p-navbar > .p-nav-menu > div > button,.p-navbar > .p-nav-menu > a{padding:8px 9px;font-size:.56rem;letter-spacing:.01em}
  .p-navbar > .p-nav-menu .car{display:none}
  .p-nav-menu .p-ambiente::after{bottom:3px}
  .p-nav-menu .p-dd:not(.p-dd-cuenta){width:calc(100vw - 24px);top:64px}
  .p-nav-menu .p-dd.abierto:not(.p-dd-cuenta){grid-template-columns:1fr 1fr;padding:22px 18px 24px;gap:0 18px}
  .p-nav-menu .p-dd .col.ancha{grid-column:span 2}
}
@media(max-width:360px){.p-navbar > .p-nav-menu > div > button,.p-navbar > .p-nav-menu > a{padding:8px 7px;font-size:.52rem;letter-spacing:.01em}}
/* En celular el header tiene tres columnas: logo, cápsula, botón de menú. La barra derecha no va. */
@media(max-width:820px){
  .p-navbar,.navbar{grid-template-columns:auto minmax(0,1fr) auto}
  .p-navbar > .p-nav-right{display:none !important}
  .p-navbar > .burger,.navbar > .burger{display:flex;justify-self:end}
  .p-navbar > .p-nav-menu{justify-self:center}
  /* El panel se ancla a los bordes de la pantalla, sin cálculos de centro */
  .p-nav-menu .p-dd:not(.p-dd-cuenta){left:12px;right:12px;width:auto;transform:none;max-height:calc(100dvh - 76px);overflow:auto}
}
/* ── Celular: nada puede ser más ancho que la pantalla ─────────────────────
   Chrome ensancha el viewport al ancho del contenido y los elementos fijos
   (header, botón de menú, paneles) quedan afuera. La fila de resultados del
   catálogo medía 469 px por el nowrap; se achica, y el html recorta de más. */
@media(max-width:820px){
  html,body{overflow-x:clip}
  body.p-catalogo .p-results-head{flex-wrap:nowrap !important;gap:8px;min-width:0}
  body.p-catalogo .p-results-count{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  body.p-catalogo .p-results-head .acts{flex:1 1 auto;min-width:0;justify-content:flex-end}
  body.p-catalogo .p-results-head .acts .p-fbtn{flex:0 0 auto;padding:0 10px !important}
  body.p-catalogo .p-results-head .acts .p-fsel{flex:0 1 150px;min-width:0;max-width:150px}
  /* El panel del menú en celular: una columna por sección, filas completas, conteo corto */
  .p-nav-menu .p-dd .col.ancha > a{width:100%;margin-right:0;display:flex}
  .p-nav-menu .p-dd .p-dd-n{font-size:.5rem;letter-spacing:.01em;white-space:nowrap}
  .p-nav-menu .p-dd.abierto:not(.p-dd-cuenta){grid-template-columns:1fr;padding:18px 16px 22px}
  .p-nav-menu .p-dd .col.ancha{grid-column:auto}
  .p-nav-menu .p-dd a{padding:7px 0;font-size:.86rem}
}

/* ══════════════════════════════════════════════════════════════════════════
   PORTADA NUEVA (plano del 11/9/2026), mobile first.
   Registro: navy enmarca (hero, PSI, publicar, pie), crema muestra (producto).
   Radios del plano: 8 controles, 16 tarjetas, 24 bandejas, píldoras redondas.
   ══════════════════════════════════════════════════════════════════════════ */
body.p-home{--h-navy:#131D2D;--h-navy2:#2A3A52;--h-oro:#C2A968;--h-oro2:#DECDA0;--h-crema:#F6F2E8;--h-tinta:#1A2538;--h-tinta2:#565E6E;--h-sombra:0 14px 40px rgba(19,29,45,.10);background:var(--h-crema)}
body.p-home main{display:block}
body.p-home .h-in{max-width:1180px;margin:0 auto;padding:0 20px}
body.p-home .h-sec{position:relative;padding:clamp(64px,10vw,120px) 0;min-height:70dvh;display:flex;flex-direction:column;justify-content:center}
body.p-home .h-crema{background:var(--h-crema);color:var(--h-tinta)}
body.p-home .h-navy{background:var(--h-navy);color:#FBFAF6}
body.p-home .h-borde{border-top:1px solid rgba(42,58,82,.1)}
body.p-home .h-eyebrow{margin:0 0 14px;font:500 .6rem/1 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--h-oro)}
body.p-home .h-crema .h-eyebrow{color:#6F5C32}
body.p-home .h-h2{margin:0 0 16px;font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,4.6vw,2.7rem);line-height:1.12;letter-spacing:-.005em;max-width:22ch}
body.p-home .h-copy{margin:0 0 12px;font:300 1rem/1.6 var(--font-body);max-width:58ch;color:inherit;opacity:.86}
body.p-home .h-navy .h-copy{color:rgba(251,250,246,.82)}
body.p-home .h-copy-fuerte{font-weight:400;opacity:1}
body.p-home .h-acciones{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:28px}
body.p-home .h-acciones.h-izq{justify-content:flex-start}
body.p-home .h-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:8px !important;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1)}
body.p-home .h-btn-navy{background:var(--h-navy2);color:#FBFAF6;border-color:var(--h-navy2)}
@media(hover:hover) and (pointer:fine){body.p-home .h-btn-navy:hover{background:var(--h-navy)}}
body.p-home .h-btn-oro{background:var(--h-oro);color:var(--h-navy);border-color:var(--h-oro)}
@media(hover:hover) and (pointer:fine){body.p-home .h-btn-oro:hover{background:var(--h-oro2);border-color:var(--h-oro2)}}
body.p-home .h-link{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--h-navy2);text-decoration:underline;text-underline-offset:4px}

/* 1. Hero: el buscador se ve sin scrollear */
body.p-home .h-hero{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--h-navy);color:#FBFAF6;overflow:hidden;padding:88px 0 40px}
body.p-home .h-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
body.p-home .h-hero-velo{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(19,29,45,.55) 0%,rgba(19,29,45,.35) 40%,rgba(19,29,45,.88) 100%)}
body.p-home .h-hero-in{position:relative;z-index:1;width:100%;max-width:720px;padding:0 20px;text-align:center}
body.p-home .h-hero h1{margin:0 0 12px;font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,7.2vw,3.6rem);line-height:1.08;color:#FBFAF6}
body.p-home .h-hero h1 .hline{display:block}
body.p-home .h-hero-sub{margin:0 0 26px;font:300 1rem/1.5 var(--font-body);color:rgba(251,250,246,.8)}
body.p-home .h-search{display:grid;gap:10px;padding:14px;background:rgba(19,29,45,.62);border:1px solid rgba(255,255,255,.14);border-radius:24px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 70px rgba(10,14,22,.4);text-align:left}
body.p-home .h-seg{display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.08)}
body.p-home .h-seg button{flex:1;min-height:44px;border:0;border-radius:999px !important;background:transparent;color:rgba(251,250,246,.8);font:500 .8rem/1 var(--font-body);letter-spacing:.01em;cursor:pointer;transition:background .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1)}
body.p-home .h-seg button.on{background:#FBFAF6;color:var(--h-navy)}
body.p-home .h-seg-plazo{background:transparent;padding:0;gap:8px}
body.p-home .h-seg-plazo button{min-height:40px;border:1px solid rgba(255,255,255,.22);font-size:.74rem}
body.p-home .h-seg-plazo button.on{background:var(--h-oro2);border-color:var(--h-oro2);color:var(--h-navy)}
body.p-home .h-ctx{margin:-2px 4px 0;font:300 .74rem/1.4 var(--font-body);color:rgba(251,250,246,.7)}
body.p-home .h-field{position:relative}
body.p-home .h-field input{width:100%;height:52px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#FBFAF6;padding:0 16px;font:300 1rem var(--font-body)}
body.p-home .h-field input::placeholder{color:rgba(251,250,246,.55)}
body.p-home .h-field input:focus-visible{outline:2px solid var(--h-oro);outline-offset:1px}
body.p-home .h-field .p-sugg{top:calc(100% + 6px);border-radius:16px;background:#FBFAF6;color:var(--h-tinta);border:1px solid rgba(42,58,82,.14);box-shadow:var(--h-sombra);overflow:hidden}
body.p-home .h-field .p-sugg button{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;background:none;border:0;text-align:left;color:var(--h-tinta);font:400 .92rem var(--font-body);cursor:pointer}
@media(hover:hover) and (pointer:fine){body.p-home .h-field .p-sugg button:hover{background:rgba(194,169,104,.12)}}
body.p-home .h-field .p-sugg small{margin-left:auto;font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--h-tinta2)}
body.p-home .h-cta{min-height:52px;border:0;border-radius:8px !important;background:var(--h-oro);color:var(--h-navy);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;cursor:pointer;transition:background .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.p-home .h-cta:hover{background:var(--h-oro2)}}

/* 2. Selección y 4. Edificios: carrusel horizontal con asomo de la siguiente */
body.p-home .h-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:26px 20px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
body.p-home .h-track::-webkit-scrollbar{display:none}
body.p-home .h-slide{flex:0 0 84vw;max-width:360px;scroll-snap-align:start}
body.p-home .prop-card{border-radius:16px !important;overflow:hidden;border:1px solid rgba(42,58,82,.08);box-shadow:var(--h-sombra);background:#fff;margin:0}
body.p-home .prop-card .card-img{border-radius:0}
body.p-home .prop-card .card-tag{border-radius:999px !important;font-size:.56rem;letter-spacing:.01em;padding:6px 11px;background:var(--h-navy);color:#FBFAF6}
body.p-home .prop-card .card-tag.tag-venta{background:var(--h-oro);color:var(--h-navy)}
body.p-home .prop-card .card-cta{border-radius:8px !important}
body.p-home .h-edif{position:relative;display:block;flex-basis:86vw;max-width:520px;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--h-navy2);color:#FBFAF6;text-decoration:none;box-shadow:var(--h-sombra)}
body.p-home .h-edif img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.p-home .h-edif:hover img{transform:scale(1.04)}}
body.p-home .h-edif-txt{position:absolute;left:0;right:0;bottom:0;padding:24px 22px;background:linear-gradient(to top,rgba(19,29,45,.92),rgba(19,29,45,0));display:grid;gap:6px}
body.p-home .h-edif-txt b{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1.1}
body.p-home .h-edif-txt span{font:300 .78rem/1.3 var(--font-body);color:rgba(251,250,246,.8)}
body.p-home .h-edif-txt em{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;font-style:normal;color:var(--h-oro2);margin-top:8px}

/* 3. Zonas: cuadrícula compacta con conteo protagonista */
body.p-home .h-zonas{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px}
body.p-home .h-zona{display:flex;flex-direction:column;gap:6px;min-height:84px;padding:16px;border-radius:16px;background:#fff;border:1px solid rgba(42,58,82,.08);color:var(--h-tinta);text-decoration:none;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.p-home .h-zona:hover{transform:translateY(-2px);box-shadow:var(--h-sombra)}}
body.p-home .h-zona b{font-family:var(--font-display);font-weight:400;font-size:1.1rem}
body.p-home .h-zona span{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:#6F5C32}
body.p-home .h-zona.sin{opacity:.55}
body.p-home .h-zona.sin span{color:var(--h-tinta2)}

/* 5. Tipologías */
body.p-home .h-tipos{display:grid;gap:10px;margin-top:22px}
body.p-home .h-tipo{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:0 18px;border-radius:16px;background:#fff;border:1px solid rgba(42,58,82,.08);color:var(--h-tinta);text-decoration:none}
body.p-home .h-tipo b{font-family:var(--font-display);font-weight:400;font-size:1.15rem}
body.p-home .h-tipo span{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:#6F5C32}

/* 6. PSI: editorial, navy, foto real */
body.p-home .h-dos{display:grid;gap:26px;align-items:center}
body.p-home .h-foto{margin:0;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--h-navy2)}
body.p-home .h-foto img{width:100%;height:100%;object-fit:cover;display:block}
body.p-home #psi .h-btn{margin-top:10px}

/* 7. Índice: lista de filas, cuatro visibles en celular */
body.p-home .h-indice{margin-top:22px;border:1px solid rgba(42,58,82,.1);border-radius:16px;background:#fff;overflow:hidden}
body.p-home .h-ind-cab,body.p-home .h-ind-fila{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px;padding:13px 16px;align-items:baseline}
body.p-home .h-ind-cab{font:500 .8125rem/1.2 var(--font-body);letter-spacing:.01em;text-transform:none;color:#6F5C32;border-bottom:1px solid rgba(42,58,82,.1);background:var(--h-crema)}
body.p-home .h-ind-fila{border-bottom:1px solid rgba(42,58,82,.07);font:400 .92rem/1.3 var(--font-body)}
body.p-home .h-ind-fila:last-child{border-bottom:0}
body.p-home .h-ind-fila span:first-child{font-family:var(--font-display);font-size:1.02rem}
body.p-home .h-ind-fila span:not(:first-child){font-variant-numeric:tabular-nums lining-nums;color:var(--h-tinta)}
body.p-home .h-ind-fila.sin span:not(:first-child){color:var(--h-tinta2)}
body.p-home .h-ind-fila.plegada{display:none}
body.p-home .h-ind-fila.plegada.abierta{display:grid}
body.p-home .h-nota{margin:16px 0 0;font:300 .8rem/1.55 var(--font-body);color:var(--h-tinta2);max-width:64ch}
body.p-home .h-nota b{font-weight:500;color:var(--h-tinta)}

/* 8. Publicar */
body.p-home .h-centro{text-align:center}
body.p-home .h-centro .h-h2,body.p-home .h-centro .h-copy{margin-left:auto;margin-right:auto}
body.p-home #publicar .h-btn{margin-top:12px}

/* Escritorio */
@media(min-width:900px){
  body.p-home .h-hero-in{max-width:760px}
  body.p-home .h-search{grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:12px 12px 12px 12px;border-radius:999px}
  body.p-home .h-seg{grid-column:1}
  body.p-home .h-seg button{padding:0 18px;flex:0 0 auto}
  body.p-home .h-seg-plazo{grid-column:2}
  body.p-home .h-seg-plazo[hidden]{display:none}
  body.p-home .h-ctx{grid-column:1 / -1;grid-row:2;margin:0 0 0 18px}
  body.p-home .h-field{grid-column:3}
  body.p-home .h-field input{border-radius:999px}
  body.p-home .h-cta{grid-column:4;padding:0 26px;border-radius:999px !important}
  body.p-home .h-track{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;overflow:visible;padding:30px 20px 8px;max-width:1220px;margin:0 auto}
  body.p-home .h-slide{flex:none;max-width:none}
  body.p-home .h-track-edif{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
  body.p-home .h-edif{aspect-ratio:4/5;max-width:none}
  body.p-home .h-zonas{grid-template-columns:repeat(5,1fr);gap:14px}
  body.p-home .h-tipos{grid-template-columns:repeat(3,1fr)}
  body.p-home .h-dos{grid-template-columns:1fr 1fr;gap:56px}
  body.p-home .h-ind-fila.plegada{display:grid}
  body.p-home #indiceMas{display:none}
  body.p-home .h-in{padding:0 24px}
}
@media(min-width:1200px){body.p-home .h-track{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){body.p-home .h-track{scroll-behavior:auto}}
/* Las secciones sin datos (tipologías, edificios) se ocultan aunque la sección sea flex */
body.p-home .h-sec[hidden]{display:none !important}
/* Edificios en escritorio: tarjetas de hasta 380 px, alineadas a la izquierda; una sola no se estira */
@media(min-width:900px){body.p-home .h-track-edif{grid-template-columns:repeat(auto-fit,minmax(300px,380px));justify-content:start}}

/* ── Portada: sin cápsula de menú; selección como carrusel de fotos ────────────
   En la landing el header queda con el logo y las acciones. El plazo aparece
   debajo al tocar Alquilar. La selección muestra sólo la foto, la dirección y
   el barrio: una imagen grande por vez en celular, tres y media en escritorio. */
body.p-home .p-navbar > .p-nav-menu{display:none !important}
body.p-home .h-seg-plazo[hidden],body.p-home .h-ctx[hidden]{display:none !important}
body.p-home .h-carrusel{position:relative;max-width:1400px;margin:0 auto}
body.p-home .h-track-fotos{display:flex !important;grid-template-columns:none !important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:28px 20px 10px;scrollbar-width:none;max-width:none}
body.p-home .h-track-fotos::-webkit-scrollbar{display:none}
body.p-home .h-foto-card{position:relative;flex:0 0 82vw;max-width:440px;aspect-ratio:4/5;scroll-snap-align:center;border-radius:16px;overflow:hidden;background:var(--h-navy2);text-decoration:none;color:#FBFAF6;box-shadow:var(--h-sombra);isolation:isolate}
body.p-home .h-foto-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.p-home .h-foto-card:hover img{transform:scale(1.04)}}
body.p-home .h-foto-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(19,29,45,.82) 0%,rgba(19,29,45,.25) 38%,transparent 62%);pointer-events:none}
body.p-home .h-foto-txt{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:22px 20px;display:grid;gap:5px}
body.p-home .h-foto-txt b{font-family:var(--font-display);font-weight:400;font-size:1.35rem;line-height:1.15;color:#FBFAF6}
body.p-home .h-foto-txt span{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--h-oro2)}
body.p-home .h-flecha{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:52px;height:52px;border:1px solid rgba(42,58,82,.18);border-radius:999px !important;background:rgba(251,250,246,.92);cursor:pointer;transition:background .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1);box-shadow:var(--h-sombra)}
body.p-home .h-flecha::before{content:'';position:absolute;top:50%;left:50%;width:11px;height:11px;border-left:1px solid var(--h-navy);border-bottom:1px solid var(--h-navy)}
body.p-home .h-flecha.prev{left:8px}body.p-home .h-flecha.prev::before{transform:translate(-35%,-50%) rotate(45deg)}
body.p-home .h-flecha.next{right:8px}body.p-home .h-flecha.next::before{transform:translate(-65%,-50%) rotate(-135deg)}
@media(hover:hover) and (pointer:fine){body.p-home .h-flecha:hover{background:#fff;border-color:var(--h-oro)}}
@media(min-width:900px){
  body.p-home .h-track-fotos{gap:18px;padding:34px 64px 12px}
  body.p-home .h-foto-card{flex-basis:380px;max-width:380px;scroll-snap-align:start}
  body.p-home .h-flecha{display:block}
  body.p-home .h-foto-txt{padding:26px 24px}
  body.p-home .h-foto-txt b{font-size:1.5rem}
}
/* Portada sin cápsula: el logo a la izquierda y las acciones pegadas a la derecha */
body.p-home .p-navbar,body.p-home .navbar{grid-template-columns:auto 1fr auto}
body.p-home .p-navbar > .p-nav-right{grid-column:3;justify-self:end}
/* Menú de celular: los dos botones de abajo, chicos, en Jost y en una fila */
.mobile-menu .m-cta{display:flex;gap:10px;margin-top:22px;padding:0}
.mobile-menu .m-cta .p-btn,.mobile-menu .m-cta a{flex:1 1 0;min-height:46px;height:46px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;font:500 .8125rem/1 var(--font-body) !important;letter-spacing:.01em;text-transform:none;border-radius:8px !important;border:1px solid rgba(194,169,104,.7);color:var(--gold-light,#DECDA0);background:transparent;text-decoration:none}
.mobile-menu .m-cta .p-btn-fill{background:var(--gold,#C2A968);border-color:var(--gold,#C2A968);color:var(--navy-deeper,#131D2D)}
.mobile-menu .m-link{font-size:1.25rem}
/* El carrusel medía 1400 px en celular: dentro de la sección (flex en columna) el margen auto
   lo dejaba a su ancho de contenido. Ahora ocupa el ancho de la pantalla y desliza adentro. */
body.p-home .h-carrusel{width:100%;max-width:1400px;min-width:0;margin:0 auto;overflow:hidden}
body.p-home .h-track-fotos{width:100%;min-width:0;box-sizing:border-box}
body.p-home .h-sec{align-items:stretch}

/* ── Tinta oscura sobre las bandejas claras ─────────────────────────────────
   Al pasar las páginas de herramienta a fondo claro quedaron heredando las
   tintas del modo navy (--p-ink es crema): texto crema sobre crema, invisible.
   Dentro de .after-band, que siempre es claro, las tintas vuelven a ser oscuras. */
body .p-page.after-band{--p-ink:#131D2D;--p-ink-2:#565E6E;--p-ink-3:#6B7589;--p-mid-ink:#565E6E;color:#131D2D}
body .p-page.after-band :is(h1,h2,h3,h4,p,li,b,strong,span,dt,dd,label,summary,td,th){color:inherit}
body .p-page.after-band .p-h2,body .p-page.after-band h1,body .p-page.after-band h2,body .p-page.after-band h3{color:#131D2D}
body .p-page.after-band .p-sub,body .p-page.after-band .p-note,body .p-page.after-band .p-kicker{color:#565E6E}
body .p-page.after-band .p-eyebrow{color:#6F5C32}
body .p-page.after-band .p-perfil b,body .p-page.after-band .p-step b{color:#131D2D}
body .p-page.after-band .p-perfil span,body .p-page.after-band .p-step span{color:#565E6E}
body .p-page.after-band a:not(.p-btn):not(.p-btn-fill){color:#131D2D}
body .p-page.after-band .p-btn-fill{background:#2A3A52;border-color:#2A3A52;color:#FBFAF6}
body .p-page.after-band .p-btn:not(.p-btn-fill):not(.p-btn-navy):not(.p-btn-dark){color:#131D2D;border-color:rgba(42,58,82,.25)}
body .p-page.after-band .p-perfil,body .p-page.after-band .p-step,body .p-page.after-band .box{background:#fff;border-color:rgba(42,58,82,.1)}
body .p-page.after-band .ico-w,body .p-page.after-band .ico-w svg{color:#6F5C32}
/* Pie: la línea final quedó con tinta oscura sobre navy al reescribir el footer */
.footer-bottom{color:rgba(251,250,246,.6)}
.footer-bottom span,.footer-bottom a{color:rgba(251,250,246,.6) !important}
@media(hover:hover) and (pointer:fine){.footer-bottom a:hover{color:var(--gold-light,#DECDA0) !important}}
/* Etiqueta de operación de la tarjeta: siempre crema sobre navy, u oscura sobre oro */
.card-tag{color:#FBFAF6 !important;background:#2A3A52}
.card-tag.tag-venta{color:#131D2D !important;background:var(--gold,#C2A968)}
/* Idioma en la barra de arriba, como en el sitio */
.p-lang{display:inline-flex;gap:2px;align-items:center;margin-right:6px}
.p-lang button{background:none;border:0;padding:6px 7px;cursor:pointer;font:500 .62rem/1 var(--font-body);letter-spacing:.01em;color:rgba(251,250,246,.55);border-bottom:1px solid transparent;border-radius:0 !important}
@media(hover:hover) and (pointer:fine){.p-lang button:hover{color:#FBFAF6}}
.p-lang button.on{color:var(--gold-light,#DECDA0);border-bottom-color:var(--gold,#C2A968)}
@media(max-width:820px){.p-lang{display:none}}
.mobile-menu .p-lang{display:inline-flex;margin:18px 0 0}
.mobile-menu .p-lang button{padding:8px 10px;font-size:.68rem}
/* "Avisarme si baja de precio": un botón de verdad en la tarjeta de contacto */
.p-alerta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:0 0 10px;padding:0 14px;background:rgba(194,169,104,.12);border:1px solid rgba(194,169,104,.55);border-radius:0;color:#6F5C32;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;cursor:pointer;transition:background .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.p-alerta:hover{background:rgba(194,169,104,.2)}}
.p-alerta:disabled{opacity:.75;cursor:default}
.p-alerta svg{width:14px;height:14px}
/* La barra de arriba es navy pleno en todo momento y cubre la franja del notch */
.p-navbar,.navbar{background:#131D2D !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;padding-top:env(safe-area-inset-top)}
body{background-color:#131D2D}
/* Fuera el foco que seguía al dedo: en celular se veía como una mancha */
.p-foco,.p-ambiente,.p-ambiente-m{display:none !important}
/* Zonas: el mapa de BAIREN ocupa la sección */
body.p-home .h-mapa{margin-top:26px;border-radius:16px;overflow:hidden;background:var(--h-navy);border:1px solid rgba(42,58,82,.1);padding:18px 12px 8px}
body.p-home .h-mapa #mapaHome{width:100%;min-height:300px}
body.p-home .h-mapa svg{width:100%;height:auto;display:block}
body.p-home .h-mapa-pie{margin:6px 0 8px;text-align:center;font:300 .74rem/1.4 var(--font-body);color:rgba(251,250,246,.6)}
@media(min-width:900px){body.p-home .h-mapa{padding:26px 20px 12px}body.p-home .h-mapa #mapaHome{min-height:460px}}
/* Los contenedores de la portada ocupan el ancho: como la sección es flex en
   columna, sin ancho explícito se encogían al de su hijo más ancho. */
body.p-home .h-in{width:100%;box-sizing:border-box}
body.p-home .h-mapa,body.p-home .h-mapa #mapaHome,body.p-home .h-mapa .bm-stage{width:100% !important;max-width:none}
body.p-home .h-mapa .bm-stage{aspect-ratio:auto !important;min-height:300px}
@media(min-width:900px){body.p-home .h-mapa .bm-stage{min-height:440px}}
/* El mapa se contiene en alto: sin tope ocupaba 878 px en escritorio */
body.p-home .h-mapa .bm-stage{height:clamp(300px,52vh,480px);min-height:0}
body.p-home .h-mapa #mapaHome svg{width:100%;height:100%;display:block}
@media(min-width:900px){body.p-home .h-mapa .bm-stage{min-height:0}}
/* El mapa mantiene su proporción: estirado a lo ancho, los pines se salen de la silueta */
body.p-home .h-mapa #mapaHome{max-width:min(100%,600px);margin:0 auto}
body.p-home .h-mapa .bm-stage{height:auto;aspect-ratio:1.234 / 1 !important;min-height:0}
/* PSI en formato anuncio: foto a sangre, velo navy y el texto encima */
body.p-home .h-anuncio{position:relative;overflow:hidden;min-height:0;aspect-ratio:4 / 5;justify-content:flex-end;padding:0}
body.p-home .h-anuncio-foto{position:absolute;inset:0;margin:0}
body.p-home .h-anuncio-foto img{width:100%;height:100%;object-fit:cover;display:block}
body.p-home .h-anuncio-velo{position:absolute;inset:0;background:linear-gradient(to top,rgba(19,29,45,.96) 12%,rgba(19,29,45,.72) 46%,rgba(19,29,45,.42) 100%)}
body.p-home .h-anuncio-txt{position:absolute;left:0;right:0;bottom:0;z-index:1;padding-top:0;padding-bottom:clamp(28px,6vw,56px);max-width:900px}
body.p-home .h-anuncio-txt .h-h2{max-width:17ch;font-size:clamp(1.9rem,5.4vw,3.1rem)}
body.p-home .h-anuncio-txt .h-copy{max-width:52ch}
body.p-home .h-anuncio-txt .h-btn{margin-top:16px}
/* Índice: la cifra grande que explica de qué se trata */
body.p-home .h-ind-dest{display:grid;gap:8px;margin:26px 0 6px;padding:24px 22px;border-radius:16px;background:var(--h-navy);color:#FBFAF6}
body.p-home .h-ind-dest .et{font:500 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--h-oro2)}
body.p-home .h-ind-dest .et b{color:#FBFAF6}
body.p-home .h-ind-dest .cifra{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);color:var(--h-oro);line-height:1}
body.p-home .h-ind-dest .cifra em{font:300 .82rem/1 var(--font-body);font-style:normal;color:rgba(251,250,246,.7);letter-spacing:.01em}
body.p-home .h-ind-dest .cifra b{font-weight:700;font-variant-numeric:tabular-nums lining-nums}
body.p-home .h-ind-fila span.vacio{color:var(--h-tinta2);font-size:.78rem}
body.p-home .h-link-claro{color:rgba(251,250,246,.8);margin-left:18px}
@media(hover:hover) and (pointer:fine){body.p-home .h-link-claro:hover{color:var(--h-oro2)}}
body.p-home #publicar .h-in{display:flex;flex-direction:column;align-items:center}
body.p-home #publicar .h-btn{margin-top:14px}
/* Edificio sin unidades: se ve, pero apagado */
body.p-home .h-edif.sin img{filter:grayscale(.5) brightness(.8)}
body.p-home .h-edif.sin em{color:rgba(251,250,246,.6)}
/* Edificio sin foto: el nombre sobre navy, nunca un hueco */
body.p-home .h-edif{background:linear-gradient(160deg,#1E2A3F,#131D2D)}
/* Esqueleto de la ficha: la página no queda en blanco mientras llegan los datos */
.p-fhero-skel{height:68svh;min-height:420px;background:linear-gradient(100deg,#1A2538 30%,#22314a 50%,#1A2538 70%);background-size:220% 100%;animation:p-skel 1.4s linear infinite}
.p-skel-bloque{height:96px;margin:0 0 34px;border:1px solid rgba(42,58,82,.1);background:linear-gradient(100deg,#F1EDE3 30%,#F8F5EE 50%,#F1EDE3 70%);background-size:220% 100%;animation:p-skel 1.4s linear infinite}
.p-skel-cta{height:420px;border:1px solid rgba(42,58,82,.1);background:linear-gradient(100deg,#F1EDE3 30%,#F8F5EE 50%,#F1EDE3 70%);background-size:220% 100%;animation:p-skel 1.4s linear infinite}
.p-ficha .p-skel-line{height:14px;margin:0 0 12px;border-radius:2px;background:linear-gradient(100deg,#EDE8DC 30%,#F6F2E8 50%,#EDE8DC 70%);background-size:220% 100%;animation:p-skel 1.4s linear infinite}
.p-ficha .p-skel-line.t{height:34px;width:62%;margin-bottom:16px}
.p-ficha .p-skel-line.s{width:38%;margin-bottom:30px}
.p-ficha .p-skel-line.l{width:100%}
.p-ficha .p-skel-line.m{width:74%}
@keyframes p-skel{0%{background-position:140% 0}100%{background-position:-40% 0}}
@media(prefers-reduced-motion:reduce){.p-fhero-skel,.p-skel-bloque,.p-skel-cta,.p-ficha .p-skel-line{animation:none}}

/* ── PSI dentro del portal: mismo header, mismo pie, misma lengua ─────────── */
body.p-psi{background:#F6F2E8}
.psi-in{max-width:1080px;margin:0 auto;padding:0 20px;width:100%;box-sizing:border-box}
.psi-hero{position:relative;min-height:min(92dvh,760px);display:flex;align-items:flex-end;overflow:hidden;background:#131D2D;padding:88px 0 clamp(44px,8vw,84px)}
.psi-hero-foto{position:absolute;inset:0;margin:0}
.psi-hero-foto img{width:100%;height:100%;object-fit:cover;display:block}
.psi-velo{position:absolute;inset:0;background:linear-gradient(to top,rgba(19,29,45,.96) 14%,rgba(19,29,45,.7) 52%,rgba(19,29,45,.4) 100%)}
.psi-hero .psi-in{position:relative;z-index:1}
.psi-eyebrow{margin:0 0 14px;font:500 .6rem/1 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:#C2A968}
.psi-eyebrow.psi-oscuro{color:#6F5C32}
.psi-hero h1{margin:0 0 14px;font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,6vw,3.4rem);line-height:1.08;color:#FBFAF6;max-width:17ch}
.psi-sub{margin:0 0 26px;font:300 1.05rem/1.55 var(--font-body);color:rgba(251,250,246,.82);max-width:48ch}
.psi-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:8px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1)}
.psi-btn-oro{background:#C2A968;color:#131D2D;border-color:#C2A968}
@media(hover:hover) and (pointer:fine){.psi-btn-oro:hover{background:#DECDA0;border-color:#DECDA0}}
.psi-btn-linea{background:transparent;color:#FBFAF6;border-color:rgba(255,255,255,.32)}
@media(hover:hover) and (pointer:fine){.psi-btn-linea:hover{border-color:#C2A968;color:#DECDA0}}
.psi-sec{padding:clamp(64px,9vw,110px) 0}
.psi-crema{background:#F6F2E8;color:#1A2538}
.psi-navy{background:#131D2D;color:#FBFAF6}
.psi-h2{margin:0 0 18px;font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,4.4vw,2.6rem);line-height:1.14;max-width:22ch}
.psi-centro .psi-h2,.psi-centro .psi-copy{margin-left:auto;margin-right:auto}
.psi-copy{margin:0 0 12px;font:300 1rem/1.62 var(--font-body);max-width:56ch;color:inherit;opacity:.86}
.psi-centro{text-align:center;display:flex;flex-direction:column;align-items:center}
.psi-pasos{display:grid;gap:12px;margin-top:30px}
.psi-paso{padding:22px 20px;border-radius:16px;background:#fff;border:1px solid rgba(42,58,82,.08)}
.psi-paso b{display:block;margin-bottom:6px;font-family:var(--font-display);font-weight:400;font-size:1.2rem;color:#131D2D}
.psi-paso p{margin:0;font:300 .9rem/1.6 var(--font-body);color:#565E6E}
.psi-acciones{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}
.psi-legal{margin:26px 0 0;font:300 .74rem/1.6 var(--font-body);color:rgba(251,250,246,.55);max-width:62ch}
@media(min-width:900px){.psi-pasos{grid-template-columns:repeat(2,1fr);gap:16px}.psi-in{padding:0 24px}}
/* Ficha: lo secundario se pliega, la página deja de ser una tira larga */
.p-report-min,.p-legal-min{margin:0 0 28px;border-top:1px solid rgba(42,58,82,.1);padding-top:16px}
.p-report-min summary,.p-legal-min summary{cursor:pointer;list-style:none;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-mid,#565E6E);padding:6px 0}
.p-report-min summary::-webkit-details-marker{display:none}
.p-report-min summary::after,.p-legal-min summary::after{content:' +';color:var(--s-gold-dark,#6F5C32)}
.p-report-min[open] summary::after,.p-legal-min[open] summary::after{content:' −'}
@media(hover:hover) and (pointer:fine){.p-report-min summary:hover,.p-legal-min summary:hover{color:var(--navy-deeper,#131D2D)}}
.p-report-min .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.p-legal-min p{margin:12px 0 0;font:300 .76rem/1.6 var(--font-body);color:var(--s-mid,#565E6E);max-width:70ch}
.p-ficha .p-ficha-main > div{margin-bottom:36px}
/* PSI: en las bandas navy la tinta es crema; heredaba la oscura del portal */
.psi-navy,.psi-navy .psi-h2,.psi-navy .psi-copy,.psi-navy p,.psi-navy b{color:#FBFAF6}
.psi-navy .psi-copy{color:rgba(251,250,246,.82)}
.psi-crema,.psi-crema .psi-h2,.psi-crema .psi-paso b{color:#1A2538}
.psi-crema .psi-copy,.psi-crema .psi-paso p{color:#565E6E}
/* Buscador en escritorio: el plazo baja a una segunda fila. En la misma línea
   se comía el campo de búsqueda, que quedaba en 48 px. */
@media(min-width:900px){
  body.p-home .h-search{grid-template-columns:auto minmax(220px,1fr) auto;row-gap:8px;border-radius:28px;padding:14px}
  body.p-home .h-search .h-seg{grid-column:1;grid-row:1}
  body.p-home .h-search .h-field{grid-column:2;grid-row:1;min-width:0}
  body.p-home .h-search .h-cta{grid-column:3;grid-row:1}
  body.p-home .h-search .h-seg-plazo{grid-column:1;grid-row:2;margin:0;justify-self:start}
  body.p-home .h-search .h-ctx{grid-column:2 / -1;grid-row:2;margin:0;align-self:center;text-align:left}
  body.p-home .h-search .h-seg-plazo button{min-height:36px;padding:0 14px;font-size:.68rem}
}
/* Leyenda legal sobre navy: era casi invisible */
.p-legend{color:rgba(251,250,246,.66)}
body .p-page.after-band .p-legend,body.p-home .p-legend{color:#565E6E}
footer .p-legend,.footer .p-legend{color:rgba(251,250,246,.7);background:rgba(255,255,255,.05);border-left:2px solid rgba(194,169,104,.5);padding:10px 12px}
/* Botón sobre navy en publicadores: crema, no navy sobre navy */
.p-product .p-pub-block .p-btn,.p-pub-card .p-btn,body .p-btn.p-btn-oro{color:#FBFAF6}
/* El botón navy usaba --p-ink, que en las bandejas claras pasó a ser oscuro:
   quedaba navy sobre navy. El relleno oscuro siempre lleva tinta crema. */
.p-btn-navy,.p-btn-fill,.p-product .p-btn-fill,.p-drawer .p-btn-navy{color:#FBFAF6}
body .p-page.after-band .p-btn-navy,body .p-page.after-band .p-btn-fill{color:#FBFAF6}
@media(hover:hover) and (pointer:fine){.p-btn-navy:hover,.p-btn-fill:hover{color:#FBFAF6}}

/* ── El camino del estándar ────────────────────────────────────────────────
   Trazo de oro sobre navy, hitos que se encienden al pasar. Vertical en
   celular, en zigzag suave en escritorio. Sin cajas ni tarjetas. */
body.p-home .h-estandar{padding-bottom:clamp(72px,10vw,120px)}
body.p-home .h-estandar .h-copy{max-width:54ch;margin-bottom:6px}
body.p-home .h-camino{position:relative;margin-top:clamp(38px,6vw,64px)}
body.p-home .h-camino-linea{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}
body.p-home .h-camino-linea .guia{fill:none;stroke:rgba(194,169,104,.16);stroke-width:1.5;stroke-linecap:round}
body.p-home .h-camino-linea .trazo{fill:none;stroke:var(--h-oro);stroke-width:1.5;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(194,169,104,.45))}
body.p-home .h-hitos{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:grid;gap:clamp(30px,5vw,44px)}
body.p-home .h-hito{display:flex;align-items:center;gap:18px;opacity:.32;transform:translateY(10px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
body.p-home .h-hito.on{opacity:1;transform:translateY(0)}
body.p-home .h-hito .pt{grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:1px solid rgba(194,169,104,.4);background:rgba(19,29,45,.9);color:rgba(222,205,160,.6);transition:color .5s cubic-bezier(.22,1,.36,1),border-color .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1)}
body.p-home .h-hito .pt svg{width:24px;height:24px}
body.p-home .h-hito.on .pt{color:var(--h-oro);border-color:var(--h-oro);box-shadow:0 0 0 6px rgba(194,169,104,.08),0 0 26px rgba(194,169,104,.28)}
body.p-home .h-hito b{align-self:center;font-family:var(--font-display);font-weight:400;font-size:clamp(1.24rem,3.4vw,1.6rem);color:#FBFAF6;line-height:1.15}
body.p-home .h-hito .det{font:300 .9rem/1.55 var(--font-body);color:rgba(251,250,246,.7);max-width:44ch}
@media(min-width:900px){
  body.p-home .h-hitos{grid-template-columns:repeat(4,1fr);gap:0 26px;align-items:start}
  body.p-home .h-hito{grid-template-columns:1fr;text-align:center;justify-items:center;row-gap:12px}
  body.p-home .h-hito .pt{grid-row:auto;width:66px;height:66px}
  body.p-home .h-hito .pt svg{width:28px;height:28px}
  body.p-home .h-hito .det{max-width:26ch}
  /* El zigzag del boceto: cada hito con su propia altura */
  body.p-home .h-hito:nth-child(1){margin-top:0}
  body.p-home .h-hito:nth-child(2){margin-top:64px}
  body.p-home .h-hito:nth-child(3){margin-top:22px}
  body.p-home .h-hito:nth-child(4){margin-top:88px}
  body.p-home .h-camino{padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){body.p-home .h-hito{opacity:1;transform:none}}
/* Los círculos del camino son opacos: la línea no debe verse por debajo */
body.p-home .h-hito .pt{background:#131D2D;box-shadow:0 0 0 8px #131D2D}
body.p-home .h-hito.on .pt{box-shadow:0 0 0 8px #131D2D,0 0 0 9px rgba(194,169,104,.22),0 0 26px rgba(194,169,104,.26)}
body.p-home .h-hito .det b{font:inherit;font-weight:600;color:inherit}
/* Índice: la renta como cifra grande, y una columna más en la tabla */
body.p-home .h-rent{display:grid;gap:8px;margin:26px 0 6px;padding:26px 24px;border-radius:16px;background:var(--h-navy);color:#FBFAF6}
body.p-home .h-rent .et{font:500 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--h-oro2)}
body.p-home .h-rent .cifra{display:flex;align-items:baseline;gap:2px;font-family:var(--font-display);font-size:clamp(2.6rem,8vw,4rem);color:var(--h-oro);line-height:1}
body.p-home .h-rent .cifra b{font-weight:700;font-variant-numeric:tabular-nums lining-nums}
body.p-home .h-rent .cifra em{font-style:normal;font-size:.42em}
body.p-home .h-rent .pie{font:300 .78rem/1.5 var(--font-body);color:rgba(251,250,246,.66)}
body.p-home .h-ind-cab,body.p-home .h-ind-fila{grid-template-columns:1.2fr 1fr 1fr .8fr}
body.p-home .h-ind-fila span.rent{font-weight:600;color:#6F5C32;font-variant-numeric:tabular-nums lining-nums}
@media(max-width:560px){
  body.p-home .h-ind-cab,body.p-home .h-ind-fila{grid-template-columns:1fr 1fr;gap:2px 10px;padding:14px 14px}
  body.p-home .h-ind-cab span:nth-child(3),body.p-home .h-ind-cab span:nth-child(4){display:none}
  body.p-home .h-ind-fila span:nth-child(1){grid-column:1 / -1;margin-bottom:4px}
  body.p-home .h-ind-fila span:nth-child(3)::before{content:'Alquiler ';color:var(--h-tinta2);font-size:.7rem}
  body.p-home .h-ind-fila span:nth-child(4)::before{content:'Renta ';color:var(--h-tinta2);font-size:.7rem;font-weight:400}
}
/* Bairen OS: seis apuntes, sin cajas pesadas */
body.p-home .h-os{display:grid;gap:0;margin-top:28px;border-top:1px solid rgba(42,58,82,.12)}
body.p-home .h-os-item{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid rgba(42,58,82,.1)}
body.p-home .h-os-item b{font-family:var(--font-display);font-weight:400;font-size:1.16rem;color:var(--h-tinta)}
body.p-home .h-os-item span{font:300 .88rem/1.55 var(--font-body);color:var(--h-tinta2)}
@media(min-width:900px){
  body.p-home .h-os{grid-template-columns:repeat(3,1fr);column-gap:40px}
  body.p-home .h-os-item{border-bottom:1px solid rgba(42,58,82,.1)}
}
/* PSI: la pieza es 4:5 en celular y no crece más allá de lo legible en escritorio */
body.p-home .h-anuncio{max-height:none}
@media(min-width:900px){
  body.p-home .h-anuncio{aspect-ratio:auto;min-height:0;padding:0;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0}
  body.p-home .h-anuncio-foto{position:relative;inset:auto;grid-column:1;aspect-ratio:4 / 5;max-height:640px}
  body.p-home .h-anuncio-velo{display:none}
  body.p-home .h-anuncio-txt{grid-column:2;max-width:none;display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,72px)}
}
/* PSI en celular: el bloque es 4:5 exacto y el texto entra adentro */
@media(max-width:899px){
  body.p-home .h-anuncio{aspect-ratio:4 / 5 !important;min-height:0 !important;display:block}
  body.p-home .h-anuncio-txt .h-h2{font-size:clamp(1.7rem,7vw,2.4rem);margin-bottom:10px}
  body.p-home .h-anuncio-txt .h-copy{font-size:.94rem;margin-bottom:14px}
  body.p-home .h-anuncio-txt .h-btn{margin-top:4px;min-height:46px}
  body.p-home .h-anuncio-velo{background:linear-gradient(to top,rgba(19,29,45,.97) 34%,rgba(19,29,45,.7) 60%,rgba(19,29,45,.3) 100%)}
}
@media(min-width:900px){body.p-home .h-anuncio-txt{position:relative;left:auto;right:auto;bottom:auto}}
/* El camino, como el boceto: sólo ícono y nombre, la línea uniéndolos */
body.p-home .h-hito .pt{flex:0 0 auto}
body.p-home .h-hito b{align-self:center;margin:0}
body.p-home .h-hitos{gap:clamp(26px,4vw,38px)}
@media(min-width:900px){
  body.p-home .h-hito{flex-direction:column;gap:14px;text-align:center}
  body.p-home .h-hito b{font-size:clamp(1.2rem,2.2vw,1.5rem)}
  body.p-home .h-hitos{gap:0 26px}
}
/* PSI: los tres "sin", el video y el formulario, en la lengua del portal */
.psi-nots{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0 0 18px;padding:0}
.psi-nots li{display:inline-flex;align-items:center;gap:7px;font:300 .92rem/1 var(--font-body);color:rgba(251,250,246,.78)}
.psi-nots svg{width:11px;height:11px;stroke:#C2A968;stroke-width:1.6;fill:none;stroke-linecap:round}
.psi-sub{margin:0 0 10px;font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,4vw,2.1rem);color:#FBFAF6}
.psi-sub em{font-style:italic;color:#DECDA0}
.psi-lead{margin:0 0 26px;font:300 1rem/1.6 var(--font-body);color:rgba(251,250,246,.8);max-width:48ch}
.psi-lead b{font-weight:500;color:#FBFAF6}
.psi-video-sec .psi-in{display:flex;flex-direction:column;align-items:center;text-align:center}
.psi-video{width:100%;max-width:520px;aspect-ratio:9 / 16;border-radius:16px;background:#131D2D;display:block;margin:10px 0 18px;object-fit:cover}
.psi-pdf{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:#6F5C32;text-decoration:underline;text-underline-offset:5px}
@media(hover:hover) and (pointer:fine){.psi-pdf:hover{color:#131D2D}}
.psi-form{display:grid;gap:12px;width:100%;max-width:560px;margin:26px auto 0;text-align:left}
.psi-form .pf{display:grid;gap:6px}
.psi-form .pf.full{grid-column:1 / -1}
.psi-form label{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:#DECDA0}
.psi-form input,.psi-form textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#FBFAF6;font:300 .95rem var(--font-body);box-sizing:border-box}
.psi-form textarea{min-height:110px;resize:vertical}
.psi-form input::placeholder,.psi-form textarea::placeholder{color:rgba(251,250,246,.45)}
.psi-form input:focus-visible,.psi-form textarea:focus-visible{outline:2px solid #C2A968;outline-offset:1px}
.psi-form button{margin-top:6px;width:100%}
.psi-thanks{margin:24px 0 0;font:300 1rem/1.6 var(--font-body);color:#DECDA0}
@media(min-width:700px){.psi-form{grid-template-columns:1fr 1fr}.psi-video{max-width:420px}}
/* Edificios y PSI se tocan: el anuncio arranca donde termina el carrusel,
   sin una franja de crema en el medio. */
body.p-home #edificios{padding-bottom:0}
body.p-home #edificios .h-track-edif{padding-bottom:clamp(40px,6vw,64px)}
body.p-home #psi{margin-top:0}
body.p-home #tipologias[hidden]{display:none !important}
/* Publicar: la pregunta directa, centrada, sin caja */
body.p-home .h-encaja{min-height:0;padding:clamp(64px,9vw,104px) 0}
body.p-home .h-encaja .h-h2{max-width:20ch;font-size:clamp(1.8rem,5vw,2.7rem)}
body.p-home .h-encaja .h-copy{max-width:52ch}
body.p-home .h-mini{margin:16px 0 0;font:300 .78rem/1.55 var(--font-body);color:rgba(251,250,246,.55);max-width:46ch;margin-left:auto;margin-right:auto}
/* Índice del m²: una pieza 4:5, chica y clara */
body.p-home .h-m2{min-height:0;padding:clamp(48px,7vw,84px) 0}
body.p-home .h-m2-caja{width:min(100%,420px);margin:0 auto;aspect-ratio:4 / 5;display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,5vw,38px);border-radius:16px;background:var(--h-navy);color:#FBFAF6;box-shadow:var(--h-sombra)}
body.p-home .h-m2-caja .h-eyebrow{color:var(--h-oro);margin-bottom:10px}
body.p-home .h-m2-caja .h-h2{color:#FBFAF6;font-size:clamp(1.6rem,5vw,2.1rem);margin-bottom:6px;max-width:none}
body.p-home .h-m2-fecha{margin:0 0 18px;font:300 .78rem/1.5 var(--font-body);color:rgba(251,250,246,.6)}
body.p-home .h-m2-lista{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.12)}
body.p-home .h-m2-lista li{border-bottom:1px solid rgba(255,255,255,.12)}
body.p-home .h-m2-lista a{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:11px 0;text-decoration:none;color:inherit}
body.p-home .h-m2-lista .b{font-family:var(--font-display);font-weight:400;font-size:1.06rem;color:#FBFAF6}
body.p-home .h-m2-lista .v{font:500 .92rem/1 var(--font-body);color:var(--h-oro);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
@media(hover:hover) and (pointer:fine){body.p-home .h-m2-lista a:hover .v{color:var(--h-oro2)}}
body.p-home .h-m2-pie{margin:16px 0 0;font:300 .72rem/1.5 var(--font-body);color:rgba(251,250,246,.5)}
body.p-home .h-m2-pie .h-link{color:rgba(251,250,246,.8);margin-left:6px;font-size:.62rem}
@media(hover:hover) and (pointer:fine){body.p-home .h-m2-pie .h-link:hover{color:var(--h-oro2)}}
@media(min-width:900px){body.p-home .h-m2-caja{width:min(100%,440px)}}
/* Reglas de la portada vieja que todavía pintaban sobre las secciones nuevas.
   #publicar tenía una foto de fondo y un velo navy al 84 % que tapaba el
   título y el botón. En la portada nueva no corren. */
body.p-home #publicar{background:var(--h-navy) !important}
body.p-home #publicar::before{content:none !important;display:none !important}
body.p-home #barrios,body.p-home #indice{background:var(--h-crema)}
body.p-home .h-copy em{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;font-style:italic;color:var(--h-oro2)}

/* ══ Portada según el mockup del 13/9: mismas piezas, más compactas ══════════ */
/* Hero: lupa dentro del campo */
body.p-home .h-field-lupa{position:relative}
body.p-home .h-field-lupa .lupa{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:rgba(251,250,246,.55);pointer-events:none;z-index:1}
body.p-home .h-field-lupa input{padding-left:42px}
/* El estándar: cuatro hitos en fila, también en celular */
body.p-home .h-estandar{padding:clamp(48px,7vw,88px) 0}
body.p-home .h-estandar .h-copy{margin-bottom:0}
body.p-home .h-hitos{grid-template-columns:repeat(4,1fr);gap:0 8px;align-items:start}
body.p-home .h-hito{flex-direction:column;gap:10px;text-align:center;align-items:center}
body.p-home .h-hito .pt{width:46px;height:46px;box-shadow:0 0 0 7px #131D2D}
body.p-home .h-hito.on .pt{box-shadow:0 0 0 7px #131D2D,0 0 0 8px rgba(194,169,104,.22),0 0 20px rgba(194,169,104,.24)}
body.p-home .h-hito .pt svg{width:20px;height:20px}
body.p-home .h-hito b{font-size:.8rem;line-height:1.2;font-family:var(--font-body);font-weight:400;letter-spacing:.01em;color:rgba(251,250,246,.9)}
body.p-home .h-camino{margin-top:clamp(26px,4vw,40px)}
@media(min-width:700px){
  body.p-home .h-hitos{gap:0 26px}
  body.p-home .h-hito .pt{width:62px;height:62px}
  body.p-home .h-hito .pt svg{width:26px;height:26px}
  body.p-home .h-hito b{font-size:1.05rem;font-family:var(--font-display)}
  body.p-home .h-hito:nth-child(1),body.p-home .h-hito:nth-child(2),body.p-home .h-hito:nth-child(3),body.p-home .h-hito:nth-child(4){margin-top:0}
}
/* Edificios: tres tarjetas verticales, y las tipologías abajo */
body.p-home .h-edificios{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
body.p-home .h-edif{position:relative;display:block;aspect-ratio:3 / 4;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#1E2A3F,#131D2D);color:#FBFAF6;text-decoration:none;flex:none;max-width:none}
body.p-home .h-edif img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.p-home .h-edif:hover img{transform:scale(1.05)}}
body.p-home .h-edif::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(19,29,45,.92) 8%,rgba(19,29,45,.2) 52%,transparent 78%)}
body.p-home .h-edif-txt{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:12px 12px 13px;display:grid;gap:4px}
body.p-home .h-edif-txt b{font-family:var(--font-display);font-weight:400;font-size:.98rem;line-height:1.12}
body.p-home .h-edif-txt em{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;font-style:normal;color:var(--h-oro2)}
body.p-home .h-edif.sin img{filter:grayscale(.5) brightness(.82)}
body.p-home .h-tipos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
body.p-home .h-tipo{position:relative;display:block;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#1E2A3F,#131D2D);color:#FBFAF6;text-decoration:none;min-height:0;padding:0;border:0}
body.p-home .h-tipo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.p-home .h-tipo:hover img{transform:scale(1.05)}}
body.p-home .h-tipo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(19,29,45,.9) 10%,rgba(19,29,45,.15) 60%,transparent 82%)}
body.p-home .h-tipo-txt{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:10px 11px 11px;display:flex;align-items:flex-end;justify-content:space-between;gap:6px}
body.p-home .h-tipo-txt b{font:400 .76rem/1.15 var(--font-body);color:#FBFAF6}
body.p-home .h-tipo-txt span{display:block;font:400 .8125rem/1.2 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--h-oro2)}
body.p-home .h-tipo-txt em{font-style:normal;color:var(--h-oro2);font-size:.86rem;flex:0 0 auto}
@media(min-width:700px){
  body.p-home .h-edificios,body.p-home .h-tipos{gap:18px;margin-top:26px}
  body.p-home .h-edif-txt{padding:20px}
  body.p-home .h-edif-txt b{font-size:1.4rem}
  body.p-home .h-edif-txt em{font-size:.6rem}
  body.p-home .h-tipo-txt{padding:16px 18px}
  body.p-home .h-tipo-txt b{font-size:1rem}
}
/* Publicar: título a la izquierda, botón a la derecha */
body.p-home .h-encaja{padding:clamp(40px,6vw,72px) 0;min-height:0}
body.p-home .h-encaja-fila{display:grid;gap:16px;align-items:center}
body.p-home .h-encaja-txt .h-h2{font-size:clamp(1.4rem,5vw,2rem);margin-bottom:8px;max-width:16ch}
body.p-home .h-encaja-txt .h-copy{font-size:.86rem;margin:0;max-width:52ch}
body.p-home .h-encaja .h-btn{justify-self:start}
@media(min-width:700px){
  body.p-home .h-encaja-fila{grid-template-columns:1fr auto;gap:40px}
  body.p-home .h-encaja .h-btn{justify-self:end}
}
/* Índice: título afuera, caja navy con tres barrios y el enlace */
body.p-home .h-m2{padding:clamp(40px,6vw,80px) 0}
body.p-home .h-m2 .h-h2{margin-bottom:4px}
body.p-home .h-m2-fecha{margin:0 0 18px;color:var(--h-tinta2)}
body.p-home .h-m2-caja{width:100%;max-width:none;aspect-ratio:auto;display:block;padding:clamp(16px,3vw,22px) clamp(16px,3vw,24px);border-radius:14px}
body.p-home .h-m2-lista{border-top:0}
body.p-home .h-m2-lista li{border-bottom:1px solid rgba(255,255,255,.1)}
body.p-home .h-m2-lista li:last-child{border-bottom:0}
body.p-home .h-m2-lista a{padding:10px 0}
body.p-home .h-m2-lista .b{font-family:var(--font-body);font-weight:400;font-size:.92rem}
body.p-home .h-m2-lista .v{font-size:.86rem}
body.p-home .h-m2-mas{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);text-decoration:none;color:rgba(251,250,246,.62);font:300 .74rem/1.3 var(--font-body)}
body.p-home .h-m2-mas svg{width:15px;height:15px;color:var(--h-oro);flex:0 0 auto}
body.p-home .h-m2-mas span{flex:1}
body.p-home .h-m2-mas em{font-style:normal;color:var(--h-oro)}
@media(hover:hover) and (pointer:fine){body.p-home .h-m2-mas:hover{color:#FBFAF6}}

/* ══ 13/9/2026 · Réplica del mockup que dibujó Tomás: densidad, alineación
   y jerarquía de la home en celular. El escritorio conserva lo suyo. ═══════ */
@media(max-width:899px){
  /* Las secciones dejan de medir 70dvh: la portada del mockup es compacta */
  body.p-home .h-sec{min-height:0;padding:26px 0}
  body.p-home .h-in{padding:0 18px}
  body.p-home .h-eyebrow{margin-bottom:8px;font-size:.75rem;letter-spacing:.07em}
  body.p-home .h-h2{font-size:1.42rem;line-height:1.14;margin-bottom:6px;max-width:19ch}
  body.p-home .h-copy{font-size:.74rem;line-height:1.5;margin-bottom:0}
  /* Hero: el texto arranca en el margen izquierdo y el buscador queda abajo */
  body.p-home .h-hero{min-height:86dvh;align-items:flex-end;padding:96px 0 26px}
  body.p-home .h-hero-in{text-align:left;max-width:none;padding:0 18px}
  body.p-home .h-hero h1{font-size:1.72rem;line-height:1.14;margin-bottom:6px}
  body.p-home .h-hero-sub{font-size:.76rem;margin-bottom:16px;color:rgba(251,250,246,.86)}
  body.p-home .h-seg{border-radius:8px;padding:3px;gap:3px;background:rgba(251,250,246,.12)}
  body.p-home .h-seg button{min-height:38px;border-radius:6px !important;font-size:.74rem}
  body.p-home .h-seg-plazo button{min-height:36px}
  body.p-home .h-field input{height:44px;border-radius:8px;font-size:.84rem}
  body.p-home .h-field-lupa input{padding-left:38px}
  body.p-home .h-field-lupa .lupa{left:13px;width:15px;height:15px}
  body.p-home .h-cta{min-height:42px;font-size:.62rem;letter-spacing:.01em}
  /* El estándar: cuatro hitos parejos, chicos, en una sola fila */
  body.p-home .h-estandar{padding:26px 0 28px}
  body.p-home .h-camino{margin-top:18px}
  body.p-home .h-hitos{gap:0 6px}
  body.p-home .h-hito .pt{width:38px;height:38px;box-shadow:0 0 0 5px var(--h-navy)}
  body.p-home .h-hito.on .pt{box-shadow:0 0 0 5px var(--h-navy),0 0 0 6px rgba(194,169,104,.2),0 0 16px rgba(194,169,104,.22)}
  body.p-home .h-hito .pt svg{width:17px;height:17px}
  body.p-home .h-hito b{font-size:.6rem;line-height:1.18;letter-spacing:0}
  /* Edificios: tres fachadas, los puntitos, y abajo las tipologías */
  body.p-home .h-edificios{gap:7px;margin-top:12px}
  body.p-home .h-edif{border-radius:9px;aspect-ratio:5 / 7}
  body.p-home .h-edif-txt{padding:8px 8px 9px;gap:3px}
  body.p-home .h-edif-txt b{font-size:.8rem}
  body.p-home .h-edif-txt em{font-size:.44rem;letter-spacing:.01em}
  /* Publicar: el título a la izquierda y el botón enfrentado a la derecha */
  body.p-home .h-encaja{padding:24px 0}
  body.p-home .h-encaja-fila{grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
  body.p-home .h-encaja-txt .h-h2{font-size:1.28rem;max-width:14ch;margin-bottom:5px}
  body.p-home .h-encaja-txt .h-copy{font-size:.66rem;line-height:1.48}
  body.p-home .h-encaja .h-btn{justify-self:end;min-height:36px;padding:0 13px;font-size:.55rem;letter-spacing:.01em;text-align:center}
  /* Índice */
  body.p-home .h-m2{padding:24px 0}
  body.p-home .h-m2-fecha{font-size:.68rem;margin-bottom:10px}
  body.p-home .h-m2-caja{padding:4px 12px;border-radius:9px}
  body.p-home .h-m2-lista a{padding:8px 0}
  body.p-home .h-m2-lista .b{font-size:.72rem}
  body.p-home .h-m2-lista .v{font-size:.72rem}
}
/* Los tres puntitos: separan las fachadas de las tipologías y avisan que hay más */
body.p-home .h-puntos{display:flex;align-items:center;justify-content:center;gap:7px;margin:14px 0}
body.p-home .h-puntos i{width:6px;height:6px;border-radius:50%;background:var(--h-oro);opacity:.3;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
body.p-home .h-puntos i:first-child{opacity:1;transform:scale(1.12)}
@media(min-width:700px){body.p-home .h-puntos{margin:22px 0}}
/* Tipologías: la foto arriba y el nombre en una banda clara, como el mockup */
body.p-home .h-tipos{align-items:start;gap:7px;margin-top:0}
body.p-home .h-tipo{display:flex;flex-direction:column;aspect-ratio:auto;background:#FBFAF6;border:1px solid rgba(42,58,82,.13);border-radius:9px;overflow:hidden;box-shadow:0 1px 2px rgba(19,29,45,.04)}
body.p-home .h-tipo::after{content:none}
body.p-home .h-tipo-foto{position:relative;display:block;aspect-ratio:4 / 3;background:linear-gradient(160deg,#1E2A3F,#131D2D);overflow:hidden}
body.p-home .h-tipo-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.p-home .h-tipo:hover .h-tipo-foto img{transform:scale(1.05)}}
body.p-home .h-tipo-txt{position:static;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px 8px;flex:1}
body.p-home .h-tipo-txt b{font:400 .65rem/1.22 var(--font-body);color:var(--h-tinta)}
body.p-home .h-tipo-txt em{font-style:normal;color:var(--h-oro);font-size:.76rem;line-height:1;flex:0 0 auto}
@media(min-width:700px){
  body.p-home .h-tipos{gap:18px}
  body.p-home .h-tipo{border-radius:12px}
  body.p-home .h-tipo-txt{padding:13px 16px 14px}
  body.p-home .h-tipo-txt b{font-size:.92rem}
  body.p-home .h-tipo-txt em{font-size:1rem}
}
/* Índice: la caja navy con los tres barrios y, aparte, la puerta a todo el índice */
body.p-home .h-m2-mas{margin-top:8px;padding:9px 12px;border:1px solid rgba(42,58,82,.14);border-top:1px solid rgba(42,58,82,.14);border-radius:9px;background:#FBFAF6;color:var(--h-tinta2);font-size:.68rem}
@media(hover:hover) and (pointer:fine){body.p-home .h-m2-mas:hover{color:var(--h-tinta);border-color:rgba(42,58,82,.3)}}
body.p-home .h-m2-mas em{color:var(--h-tinta2);font-size:1rem;line-height:1}
@media(min-width:700px){body.p-home .h-m2-mas{padding:14px 20px;font-size:.82rem;margin-top:12px}}
/* PSI: volanta arriba, texto a la izquierda, la foto pegada al borde derecho */
@media(max-width:899px){
  body.p-home .h-anuncio{aspect-ratio:auto !important;display:grid !important;grid-template-columns:minmax(0,1fr) 40%;grid-template-rows:auto 1fr;padding:0}
  body.p-home .h-anuncio-top{grid-column:1 / -1;grid-row:1;padding-top:22px}
  body.p-home .h-anuncio-top .h-eyebrow{margin:0}
  body.p-home .h-anuncio-txt{position:static;grid-column:1;grid-row:2;padding:10px 14px 24px 18px;max-width:none;display:flex;flex-direction:column;align-items:flex-start}
  body.p-home .h-anuncio-txt .h-h2{font-size:1.28rem;max-width:15ch;margin-bottom:6px}
  body.p-home .h-anuncio-txt .h-copy{font-size:.66rem;line-height:1.5;margin-bottom:12px}
  body.p-home .h-anuncio-txt .h-btn{margin-top:auto;min-height:34px;padding:0 13px;font-size:.55rem;letter-spacing:.01em}
  body.p-home .h-anuncio-foto{position:relative;inset:auto;grid-column:2;grid-row:2;height:100%;min-height:150px}
  body.p-home .h-anuncio-velo{display:none}
}
@media(min-width:900px){
  body.p-home .h-anuncio{grid-template-rows:auto 1fr}
  body.p-home .h-anuncio-top{grid-column:2;grid-row:1;align-self:end;padding:clamp(40px,5vw,72px) clamp(40px,5vw,72px) 0}
  body.p-home .h-anuncio-top .h-eyebrow{margin:0}
  body.p-home .h-anuncio-foto{grid-column:1;grid-row:1 / 3}
  body.p-home .h-anuncio-txt{grid-row:2;justify-content:flex-start;padding-top:14px}
}
/* Correcciones medidas sobre el mockup, 13/9 */
body.p-home .h-encaja .h-in.h-encaja-fila{display:grid}
body.p-home .h-tipo .h-tipo-foto{width:100%;flex:0 0 auto;align-self:stretch}
body.p-home #edificios .h-h2{max-width:24ch}
body.p-home .h-puntos i{width:7px;height:7px;opacity:.32}
body.p-home .h-puntos i:first-child{opacity:.95}
body.p-home .h-hito .pt{border-color:rgba(194,169,104,.72);background:#1B2739}
body.p-home .h-hito .pt svg{opacity:.92}
body.p-home .h-hito.on .pt{border-color:var(--h-oro);background:#22314A}
body.p-home .h-hito b{opacity:1}
/* El bloque de publicar quedó en columna centrada por una regla vieja con id */
body.p-home #publicar .h-in.h-encaja-fila{display:grid;flex-direction:row;align-items:center;text-align:left}
body.p-home #publicar .h-encaja-txt{text-align:left}
body.p-home #publicar .h-btn{margin-top:0;justify-self:end}
/* Los cuatro criterios se leen todos, no sólo el que está iluminado */
body.p-home .h-hito{opacity:.74}
body.p-home .h-hito.on{opacity:1}
body.p-home .h-hito .pt{color:rgba(222,205,160,.86)}
/* Mientras no estén las fotos de tipologías, el recuadro se ve limpio y no roto */
body.p-home .h-tipo-foto.vacia img{display:none}
body.p-home .h-tipo-foto.vacia::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border:1px solid rgba(194,169,104,.4);border-radius:50%}
/* La línea del corredor tiene que leerse */
body.p-home footer .p-legend,body.p-home .p-foot .p-legend{color:rgba(251,250,246,.74)}
/* PSI: la foto que eligió Tomás, en 16:9, fundida al navy como en la referencia */
body.p-home .h-anuncio-foto{overflow:hidden}
body.p-home .h-anuncio-fade{position:absolute;inset:0;z-index:1;pointer-events:none}
@media(max-width:899px){
  body.p-home .h-anuncio-foto{aspect-ratio:16 / 9;height:auto;min-height:0;align-self:center;margin:0}
  body.p-home .h-anuncio-fade{background:linear-gradient(to right,var(--h-navy) 0%,rgba(19,29,45,.55) 30%,rgba(19,29,45,.06) 68%,transparent 100%)}
}
@media(min-width:900px){
  body.p-home .h-anuncio-foto{aspect-ratio:16 / 9 !important;max-height:none;align-self:center}
  body.p-home .h-anuncio-fade{background:linear-gradient(to left,var(--h-navy) 0%,rgba(19,29,45,.5) 26%,rgba(19,29,45,.05) 64%,transparent 100%)}
}
/* Los nombres de tipología van como en el mockup: como se escriben, no en versalitas */
body.p-home .h-tipo-txt b{text-transform:none;letter-spacing:0}
body.p-home .h-tipo-txt b{flex:1;text-align:left}
/* En escritorio el botón de PSI no se estira a todo el ancho de su columna */
@media(min-width:900px){body.p-home .h-anuncio-txt{align-items:flex-start}}

/* ══ 13/9 · PSI: la foto ocupa toda la sección y el navy la vela de izquierda
   a derecha, como en la referencia. El texto vive encima, nunca al costado. ══ */
body.p-home .h-anuncio{position:relative;display:block !important;grid-template-columns:none !important;aspect-ratio:auto !important;padding:0;overflow:hidden;isolation:isolate}
body.p-home .h-anuncio-foto{position:absolute !important;inset:0 !important;width:100%;height:100%;max-height:none !important;aspect-ratio:auto !important;margin:0;z-index:0;align-self:auto}
body.p-home .h-anuncio-foto img{width:100%;height:100%;object-fit:cover;display:block}
body.p-home .h-anuncio-fade{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(to right,rgba(19,29,45,.97) 0%,rgba(19,29,45,.92) 34%,rgba(19,29,45,.62) 62%,rgba(19,29,45,.28) 86%,rgba(19,29,45,.16) 100%),
  linear-gradient(to top,rgba(19,29,45,.55) 0%,rgba(19,29,45,.08) 52%,transparent 100%)}
body.p-home .h-anuncio-top,body.p-home .h-anuncio-txt{position:relative;z-index:2;grid-column:auto;grid-row:auto}
body.p-home .h-anuncio-velo{display:none !important}
@media(max-width:899px){
  body.p-home .h-anuncio{min-height:56dvh}
  body.p-home .h-anuncio-top{padding-top:30px;padding-bottom:0}
  body.p-home .h-anuncio-txt{padding:10px 18px 32px;max-width:none;display:flex;flex-direction:column;align-items:flex-start}
  body.p-home .h-anuncio-txt .h-h2{font-size:1.42rem;max-width:14ch;margin-bottom:7px}
  body.p-home .h-anuncio-txt .h-copy{font-size:.74rem;max-width:30ch;margin-bottom:16px}
  body.p-home .h-anuncio-txt .h-btn{margin-top:0;min-height:38px;padding:0 15px;font-size:.58rem}
}
@media(min-width:900px){
  body.p-home .h-anuncio{min-height:62dvh;display:flex !important;flex-direction:column;justify-content:center}
  body.p-home .h-anuncio-top{padding:0 0 6px}
  body.p-home .h-anuncio-txt{padding:0;max-width:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
  body.p-home .h-anuncio-txt .h-h2{max-width:15ch}
  body.p-home .h-anuncio-txt .h-copy{max-width:38ch}
  body.p-home .h-anuncio-fade{background:
    linear-gradient(to right,rgba(19,29,45,.96) 0%,rgba(19,29,45,.9) 30%,rgba(19,29,45,.55) 58%,rgba(19,29,45,.2) 84%,rgba(19,29,45,.1) 100%),
    linear-gradient(to top,rgba(19,29,45,.42) 0%,transparent 60%)}
}
/* La sección de PSI tiene que respirar: una regla vieja la dejaba en min-height:0 */
@media(max-width:899px){body.p-home .h-anuncio{min-height:56dvh !important}}
@media(min-width:900px){body.p-home .h-anuncio{min-height:62dvh !important}}
/* PSI: el texto centrado sobre la foto y el encuadre puesto en la pileta */
body.p-home .h-anuncio-foto img{object-position:62% 46%}
@media(max-width:899px){
  body.p-home .h-anuncio{display:flex !important;flex-direction:column;justify-content:center;min-height:50dvh !important}
  body.p-home .h-anuncio-top{padding-top:0;padding-bottom:0}
  body.p-home .h-anuncio-txt{padding:10px 18px 0}
  body.p-home .h-anuncio-fade{background:
    linear-gradient(to right,rgba(19,29,45,.95) 0%,rgba(19,29,45,.86) 36%,rgba(19,29,45,.5) 66%,rgba(19,29,45,.2) 90%,rgba(19,29,45,.12) 100%),
    linear-gradient(to top,rgba(19,29,45,.4) 0%,transparent 55%)}
}
/* En escritorio el texto de PSI vuelve a respetar el margen del sitio */
@media(min-width:900px){
  body.p-home .h-anuncio-top,body.p-home .h-anuncio-txt{width:100%;max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}
  body.p-home .h-anuncio-top{padding-bottom:8px}
}

/* ══ 10/9/2026 (noche) · Pasada de diseño sobre la portada con las skills de
   taste, redesign y frontend-design. Qué cambia: piso de legibilidad y targets
   de 44 px en celular; el estándar sin medio viewport vacío en escritorio; el
   carrusel de unidades seleccionadas en lugar de las tipologías (pedido de
   Tomás); el índice como tres cifras en escritorio; esqueletos de carga para
   que nada salte. Se agrega al final; nada se reemplaza. ═══════════════════ */

/* Títulos sin viudas, párrafos con cortes parejos */
body.p-home .h-h2,body.p-home .h-hero h1{text-wrap:balance}
body.p-home .h-copy,body.p-home .h-hero-sub{text-wrap:pretty}

/* Celular: nada por debajo de 11 px, nada tocable por debajo de 44 px.
   La composición del mockup se conserva; sólo se sube el piso. */
@media(max-width:899px){
  body.p-home .h-eyebrow{font-size:.75rem;letter-spacing:.07em}
  body.p-home .h-copy{font-size:.8rem;line-height:1.55}
  body.p-home .h-hero-sub{font-size:.84rem}
  body.p-home .h-seg button{min-height:44px;font-size:.78rem}
  body.p-home .h-seg-plazo button{min-height:40px;font-size:.74rem}
  body.p-home .h-field input{height:48px;font-size:.9rem}
  body.p-home .h-cta{min-height:46px;font-size:.66rem}
  body.p-home .h-hito b{font-size:.7rem;line-height:1.2}
  body.p-home .h-edif-txt b{font-size:.84rem}
  body.p-home .h-edif-txt em{font-size:.56rem;letter-spacing:.01em}
  body.p-home .h-encaja-txt .h-copy{font-size:.76rem}
  body.p-home .h-encaja .h-btn,body.p-home .h-anuncio-txt .h-btn{min-height:44px;padding:0 16px;font-size:.62rem;letter-spacing:.01em}
  body.p-home .h-m2-fecha{font-size:.76rem}
  body.p-home .h-m2-lista a{padding:12px 0}
  body.p-home .h-m2-lista .b,body.p-home .h-m2-lista .v{font-size:.8rem}
  body.p-home .h-m2-mas{min-height:44px;font-size:.76rem}
  body.p-home .h-anuncio-txt .h-copy{font-size:.8rem;max-width:32ch}
}

/* Escritorio: el estándar mide lo que mide su contenido; publicar respira */
@media(min-width:900px){
  body.p-home .h-estandar{min-height:0;padding:clamp(56px,7vw,88px) 0}
  body.p-home .h-camino{padding-bottom:0}
  body.p-home .h-encaja{padding:clamp(56px,7vw,88px) 0}
  body.p-home .h-encaja-txt .h-h2{font-size:clamp(1.7rem,2.6vw,2.3rem);max-width:18ch}
  body.p-home .h-encaja-txt .h-copy{font-size:.94rem}
}

/* Edificios cierra con aire después del carrusel */
body.p-home #edificios{padding-bottom:clamp(28px,5vw,64px)}

/* ── Carrusel de unidades seleccionadas ──────────────────────────────────
   Una foto por unidad, la dirección y el barrio. La primera tarjeta alinea
   con el margen del contenido y el resto sangra hacia la derecha: se ve que
   hay más. En celular se desliza; en escritorio además hay flechas. */
body.p-home .h-carrusel{position:relative;width:100%;max-width:none;min-width:0;margin:0;overflow:visible}
body.p-home .h-track-fotos{display:flex !important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 18px 6px;scroll-padding-left:18px;scrollbar-width:none;max-width:none;margin:0;overscroll-behavior-x:contain}
body.p-home .h-track-fotos::-webkit-scrollbar{display:none}
body.p-home .h-foto-card{flex:0 0 78vw;max-width:420px;aspect-ratio:4/5;scroll-snap-align:start;border-radius:12px}
body.p-home .h-foto-txt{padding:16px}
body.p-home .h-foto-txt b{font-size:1.15rem}
body.p-home .h-foto-txt span{font-size:.6rem;letter-spacing:.01em}
body.p-home .h-flecha[disabled]{opacity:.3;cursor:default;pointer-events:none}
@media(min-width:900px){
  body.p-home .h-track-fotos{gap:18px;padding:26px 24px 8px max(24px,calc((100vw - 1180px)/2 + 24px));scroll-padding-left:max(24px,calc((100vw - 1180px)/2 + 24px))}
  body.p-home .h-foto-card{flex-basis:372px;max-width:372px;border-radius:14px}
  body.p-home .h-foto-txt{padding:22px}
  body.p-home .h-foto-txt b{font-size:1.4rem}
  body.p-home .h-foto-txt span{font-size:.62rem}
  body.p-home .h-flecha{display:block}
  body.p-home .h-flecha.prev{left:max(12px,calc((100vw - 1180px)/2 - 2px))}
  body.p-home .h-flecha.next{right:24px}
}
/* Los puntos ahora son de verdad: uno por unidad, encendido el que se ve */
body.p-home .h-puntos{margin:12px 0 0;gap:6px}
body.p-home .h-puntos i,body.p-home .h-puntos i:first-child{width:6px;height:6px;opacity:.28;transform:none;transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1)}
body.p-home .h-puntos i.on{opacity:.95;transform:scale(1.2)}
@media(min-width:900px){body.p-home .h-puntos{margin-top:16px}}

/* Esqueletos: fachadas y unidades ocupan su lugar antes de que lleguen los
   datos, así la página no salta. Un brillo lento; ninguno si se pidió calma. */
body.p-home .h-esq{position:relative;overflow:hidden;display:block;background:linear-gradient(160deg,#1E2A3F,#131D2D);pointer-events:none}
body.p-home .h-esq::after{content:none}
body.p-home .h-esq::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(251,250,246,.07) 50%,transparent 70%);transform:translateX(-100%);animation:h-brillo 1.8s cubic-bezier(.22,1,.36,1) infinite}
@keyframes h-brillo{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){body.p-home .h-esq::before{animation:none}}

/* ── Índice en escritorio: tres cifras, no una tabla de 1180 px de ancho ──
   El ojo no viaja un metro entre el barrio y su valor. El precio sigue quieto. */
@media(min-width:900px){
  body.p-home .h-m2-caja{padding:6px clamp(20px,3vw,32px)}
  body.p-home .h-m2-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
  body.p-home .h-m2-lista li,body.p-home .h-m2-lista li:last-child{border-bottom:0;border-left:1px solid rgba(255,255,255,.1)}
  body.p-home .h-m2-lista li:first-child{border-left:0}
  body.p-home .h-m2-lista a{flex-direction:column;align-items:flex-start;gap:8px;padding:24px clamp(18px,2.4vw,30px)}
  body.p-home .h-m2-lista li:first-child a{padding-left:2px}
  body.p-home .h-m2-lista .b{font:400 .92rem/1.3 var(--font-body);color:rgba(251,250,246,.72)}
  body.p-home .h-m2-lista .v{font:400 clamp(1.7rem,2.4vw,2.2rem)/1.05 var(--font-display);color:var(--h-oro);letter-spacing:-.01em}
  @media(hover:hover) and (pointer:fine){body.p-home .h-m2-lista a:hover .b{color:#FBFAF6}}
  /* La puerta al índice completo es un enlace, no una segunda caja */
  body.p-home .h-m2-mas{display:inline-flex;width:auto;margin-top:18px;padding:0;border:0;background:transparent;color:var(--h-tinta);font:500 .9rem/1.3 var(--font-body);gap:10px}
  body.p-home .h-m2-mas span{flex:none;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(194,169,104,.7);transition:text-decoration-color .3s cubic-bezier(.22,1,.36,1)}
  @media(hover:hover) and (pointer:fine){body.p-home .h-m2-mas:hover{color:var(--h-tinta);border-color:transparent}}
  @media(hover:hover) and (pointer:fine){body.p-home .h-m2-mas:hover span{text-decoration-color:var(--h-navy)}}
  body.p-home .h-m2-mas em{color:var(--h-oro);font-size:1.1rem}
}

/* El relleno oro lleva tinta navy (7,4:1). Una regla del 10/9 (línea ~2127)
   puso crema sobre todo .p-btn-fill y el "Ingresar" del header quedó en 2,2:1.
   El relleno navy de las páginas de producto sigue en crema, como estaba. */
.p-btn-fill{color:var(--navy-deeper)}@media(hover:hover) and (pointer:fine){.p-btn-fill:hover{color:var(--navy-deeper)}}
.p-product .p-btn-fill{color:#FBFAF6}@media(hover:hover) and (pointer:fine){.p-product .p-btn-fill:hover{color:#FBFAF6}}
.p-product .p-form .p-btn-fill,.p-product #pHeader .p-btn-fill,.p-product .navbar .p-btn-fill,.p-product .mobile-menu .p-btn-fill{color:var(--navy-deeper)}@media(hover:hover) and (pointer:fine){.p-product .p-form .p-btn-fill:hover{color:var(--navy-deeper)}}

/* Índice en escritorio: el ícono y el chevrón del enlace, en oro oscuro (3,6:1) */
@media(min-width:900px){body.p-home .h-m2-mas svg,body.p-home .h-m2-mas em{color:#8A7547}}
/* Un poco más de aire entre las fachadas y el carrusel */
body.p-home .h-track-fotos{padding-top:18px}
@media(min-width:900px){body.p-home .h-track-fotos{padding-top:36px}}

/* ══ 10/9/2026 (noche, 2) · Fuera el carrusel de unidades: la sección muestra
   los tres edificios premium, grandes. En escritorio la grilla se ensancha
   más allá del texto y las tarjetas crecen; en celular van una debajo de la
   otra, a todo el ancho, con la foto en 4:3. ══════════════════════════════ */
body.p-home #edificios{padding-bottom:clamp(40px,7vw,96px)}
body.p-home .h-edif-txt b{text-wrap:balance}
@media(min-width:900px){
  body.p-home .h-edificios{gap:22px;margin:34px auto 0;width:calc(100% + 140px);max-width:1320px;margin-left:-70px}
  body.p-home .h-edif{aspect-ratio:3 / 4;border-radius:16px}
  body.p-home .h-edif-txt{padding:26px 26px 28px;gap:8px}
  body.p-home .h-edif-txt b{font-size:clamp(1.5rem,2vw,1.9rem)}
  body.p-home .h-edif-txt em{font-size:.64rem;letter-spacing:.01em}
}
@media(min-width:1320px){body.p-home .h-edificios{width:1320px;margin-left:calc((1132px - 1320px) / 2)}}
@media(max-width:899px){
  body.p-home .h-edificios{grid-template-columns:1fr;gap:12px;margin-top:16px}
  body.p-home .h-edif{aspect-ratio:4 / 3;border-radius:12px}
  body.p-home .h-edif-txt{padding:16px 16px 17px;gap:5px}
  body.p-home .h-edif-txt b{font-size:1.3rem}
  body.p-home .h-edif-txt em{font-size:.6rem;letter-spacing:.01em}
}
/* La primera pantalla es sólo el hero, también en celular: "Selección BAIREN"
   arranca debajo del pliegue y no asoma al entrar. */
@media(max-width:899px){body.p-home .h-hero{min-height:100dvh;min-height:100svh;padding-bottom:30px}}

/* ══ 10/9/2026 (noche, 3) · Los edificios premium en carrusel hacia la derecha,
   grandes: en celular una fachada casi a todo el ancho y la siguiente asomando;
   en escritorio dos y media, con flechas. La primera alinea con el margen. ══ */
body.p-home .h-edificios{display:flex !important;grid-template-columns:none !important;width:auto;max-width:none;margin:0;gap:12px;padding:16px 18px 6px;scroll-padding-left:18px}
body.p-home .h-edificios .h-edif{flex:0 0 82vw;max-width:520px;aspect-ratio:4 / 5;border-radius:12px;scroll-snap-align:start}
body.p-home .h-edificios .h-edif-txt{padding:18px 18px 19px;gap:6px}
body.p-home .h-edificios .h-edif-txt b{font-size:1.4rem}
body.p-home .h-edificios .h-edif-txt em{font-size:.6rem;letter-spacing:.01em}
@media(min-width:900px){
  body.p-home .h-edificios{gap:22px;padding:34px 24px 8px max(24px,calc((100vw - 1180px)/2 + 24px));scroll-padding-left:max(24px,calc((100vw - 1180px)/2 + 24px));margin:0}
  body.p-home .h-edificios .h-edif{flex-basis:520px;max-width:520px;border-radius:16px}
  body.p-home .h-edificios .h-edif-txt{padding:26px 26px 28px;gap:8px}
  body.p-home .h-edificios .h-edif-txt b{font-size:clamp(1.5rem,2vw,1.9rem)}
  body.p-home .h-edificios .h-edif-txt em{font-size:.64rem;letter-spacing:.01em}
  body.p-home #edifCarrusel .h-flecha{display:block}
  body.p-home #edifCarrusel .h-flecha.prev{left:max(12px,calc((100vw - 1180px)/2 - 2px))}
  body.p-home #edifCarrusel .h-flecha.next{right:24px}
}
@media(min-width:1320px){body.p-home .h-edificios{width:auto;margin-left:0}}
body.p-home #edifCarrusel .h-flecha[hidden],body.p-home .h-puntos[hidden]{display:none !important}
body.p-home #edificios{padding-bottom:clamp(28px,5vw,64px)}

/* ══ 10/9/2026 (noche, 4) · "Puerto Madero" al lado de Lumière, y al final del
   riel de edificios una caja con "+" que lleva a publicar. ═══════════════════ */
body.p-home .h-edif-sub{font:300 .8rem/1 var(--font-body);letter-spacing:.02em;color:rgba(251,250,246,.78);margin-left:10px;white-space:nowrap}
@media(min-width:900px){body.p-home .h-edif-sub{font-size:.92rem;margin-left:12px}}
body.p-home .h-edif.h-edif-mas{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;background:rgba(42,58,82,.05);border:1px solid rgba(42,58,82,.16);color:var(--h-tinta);text-align:center;transition:border-color .3s cubic-bezier(.22,1,.36,1),background .3s cubic-bezier(.22,1,.36,1)}
body.p-home .h-edif.h-edif-mas::after{content:none}
body.p-home .h-edif.h-edif-mas .h-mas-ic{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border:1px solid rgba(42,58,82,.4);border-radius:10px;font:300 2rem/1 var(--font-body);color:var(--h-navy2);transition:border-color .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1),background .3s cubic-bezier(.22,1,.36,1)}
body.p-home .h-edif.h-edif-mas b{font-family:var(--font-display);font-weight:400;font-size:1.3rem;line-height:1.2;max-width:12ch;text-wrap:balance;color:var(--h-tinta)}
@media(hover:hover) and (pointer:fine){body.p-home .h-edif.h-edif-mas:hover{border-color:var(--h-oro);background:rgba(194,169,104,.08)}}
@media(hover:hover) and (pointer:fine){body.p-home .h-edif.h-edif-mas:hover .h-mas-ic{border-color:var(--h-oro);color:var(--h-navy);background:rgba(194,169,104,.14)}}
@media(min-width:900px){
  body.p-home .h-edif.h-edif-mas .h-mas-ic{width:72px;height:72px;font-size:2.4rem;border-radius:12px}
  body.p-home .h-edif.h-edif-mas b{font-size:1.6rem}
}

/* ══ 10/9/2026 (noche, 5) · El camino del estándar, con más oficio.
   Una coreografía (en bairen-motion.js, BPM.camino): el hilo va de hito en
   hito, un punto de luz viaja en la punta, y cada hito se enciende cuando el
   hilo llega: anillo que se dibuja, ícono a oro, nombre que sube y, en
   escritorio, una línea de detalle en voz baja. Cierra con una frase. ═════ */
body.p-home .h-camino-linea .guia{stroke:rgba(194,169,104,.13);stroke-width:1}
body.p-home .h-camino-linea .trazo{stroke:var(--h-oro);stroke-width:1.25;filter:none}
body.p-home .h-camino-linea .punta{fill:#F3E7C3;opacity:0;filter:drop-shadow(0 0 5px rgba(222,205,160,.95))}
body.p-home .h-camino-linea .halo{fill:rgba(194,169,104,.22);opacity:0;filter:blur(5px)}
/* El punto: borde apenas, el oro lo pone el anillo al encenderse */
body.p-home .h-hito .pt{position:relative;border-color:rgba(194,169,104,.28);background:#1B2739;color:rgba(222,205,160,.62);transition:color .6s cubic-bezier(.22,1,.36,1),background .6s cubic-bezier(.22,1,.36,1),box-shadow .8s cubic-bezier(.22,1,.36,1)}
body.p-home .h-hito.on .pt{border-color:rgba(194,169,104,.28);background:#22314A;color:var(--h-oro);box-shadow:0 0 0 7px #131D2D,0 0 28px rgba(194,169,104,.22)}
body.p-home .h-hito .pt .anillo{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);transform:rotate(-90deg);pointer-events:none;overflow:visible}
body.p-home .h-hito .pt .anillo circle{fill:none;stroke:var(--h-oro);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:195;stroke-dashoffset:195;transition:stroke-dashoffset .75s cubic-bezier(.22,1,.36,1)}
body.p-home .h-hito.on .pt .anillo circle{stroke-dashoffset:0}
/* Los hitos se leen siempre; lo que cambia al encenderse es el nombre, que sube */
body.p-home .h-hito{opacity:1;transform:none;transition:none}
body.p-home .h-hito b{opacity:.55;transform:translateY(5px);transition:opacity .6s cubic-bezier(.22,1,.36,1) .1s,transform .6s cubic-bezier(.22,1,.36,1) .1s}
body.p-home .h-hito.on b{opacity:1;transform:none}
/* Detalle en voz baja: sólo en escritorio, entra después del nombre */
body.p-home .h-hito .det{display:none}
@media(min-width:900px){
  body.p-home .h-hito{gap:12px}
  body.p-home .h-hito .det{display:block;margin-top:-2px;font:300 .82rem/1.5 var(--font-body);color:rgba(251,250,246,.6);max-width:24ch;text-wrap:pretty;opacity:0;transform:translateY(6px);transition:opacity .7s cubic-bezier(.22,1,.36,1) .28s,transform .7s cubic-bezier(.22,1,.36,1) .28s}
  body.p-home .h-hito.on .det{opacity:1;transform:none}
  body.p-home .h-hitos{align-items:start}
}
/* La frase que cierra el camino: aparece cuando el cuarto hito se encendió */
body.p-home .h-camino-cierre{margin:clamp(22px,4vw,40px) 0 0;font:italic 400 clamp(.98rem,1.6vw,1.2rem)/1.4 var(--font-display);color:rgba(251,250,246,.82);text-align:center;opacity:0;transform:translateY(6px);transition:opacity .8s cubic-bezier(.22,1,.36,1) .3s,transform .8s cubic-bezier(.22,1,.36,1) .3s}
body.p-home .h-camino.completo ~ .h-camino-cierre,body.p-home .h-estandar:has(.h-camino.completo) .h-camino-cierre{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  body.p-home .h-hito b,body.p-home .h-hito .det,body.p-home .h-camino-cierre{opacity:1;transform:none;transition:none}
  body.p-home .h-hito .pt .anillo circle{transition:none}
}

/* ══ 10/9/2026 (noche, 6) · Fachadas: fuera el degradado navy que tapaba media
   foto. Queda un velo corto, con transición suave, sólo donde va el texto; la
   foto se ve entera. Las fachadas sin unidades ya no van en gris. ═══════════ */
body.p-home .h-edif{background:#1B2739}
body.p-home .h-edif::after{background:linear-gradient(to top,rgba(19,29,45,.72) 0%,rgba(19,29,45,.55) 8%,rgba(19,29,45,.36) 17%,rgba(19,29,45,.19) 26%,rgba(19,29,45,.07) 36%,rgba(19,29,45,0) 46%)}
body.p-home .h-edif.sin img{filter:none}
body.p-home .h-edif-txt b,body.p-home .h-edif-txt em{text-shadow:0 1px 2px rgba(19,29,45,.5)}
body.p-home .h-esq{background:#1B2739}
/* Tomás (10/9): sin frase de cierre ni líneas de detalle; el camino es ícono y nombre. */
body.p-home .h-hito .det,body.p-home .h-camino-cierre{display:none !important}
@media(min-width:900px){body.p-home .h-hito{gap:14px}}
body.p-home .h-camino-linea .punta,body.p-home .h-camino-linea .halo{transition:opacity .35s cubic-bezier(.22,1,.36,1)}

/* ══ 11/9/2026 · Arreglos de la auditoría (impeccable critique + audit) ═══════
   Piso de legibilidad real en celular, pie compacto, la puerta a los criterios
   junto al estándar, header anónimo sin controles que no sirven todavía. ════ */
/* Celular: nada visible por debajo de 11 px; el cuerpo, 14 px */
@media(max-width:899px){
  body.p-home .h-eyebrow{font-size:.75rem;letter-spacing:.07em}
  body.p-home .h-copy{font-size:.875rem;line-height:1.55}
  body.p-home .h-hero-sub{font-size:.9rem}
  body.p-home .h-cta{font-size:.6875rem}
  body.p-home .h-edif-txt em{font-size:.6875rem;letter-spacing:.01em}
  body.p-home .h-encaja-txt .h-copy,body.p-home .h-anuncio-txt .h-copy{font-size:.875rem}
  body.p-home .h-encaja .h-btn,body.p-home .h-anuncio-txt .h-btn{font-size:.6875rem;letter-spacing:.01em;padding:0 14px}
  body.p-home .h-m2-fecha{font-size:.8125rem}
  body.p-home .h-m2-lista .b,body.p-home .h-m2-lista .v{font-size:.875rem}
  body.p-home .h-m2-mas{font-size:.8125rem}
  body.p-home .h-hito b{font-size:.6875rem}
  /* Pie: las zonas en dos columnas, así el pie deja de ser un tercio de la página */
  /* 23/9/2026 · Las dos columnas solo cuando entran. A 360px el ancho mínimo de este bloque
     era 347px contra 312px disponibles, así que el pie se salía de la pantalla: el mail
     quedaba cortado sin la "m" final y la línea divisoria se iba de largo. */
  body.p-home .footer .ft-col ul{columns:1}
  @media(min-width:420px){ body.p-home .footer .ft-col ul{columns:2;column-gap:18px} }
  body.p-home .footer .ft-col li{break-inside:avoid}
}
/* Estándar: el copy y la puerta a los criterios en la misma línea */
body.p-home .h-estandar-linea{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
body.p-home .h-estandar-linea .h-copy{margin:0}
body.p-home .h-criterios{font:500 .78rem/1.3 var(--font-body);letter-spacing:.02em;color:var(--h-oro2);text-decoration:none;white-space:nowrap;border-bottom:1px solid rgba(222,205,160,.35);padding-bottom:2px;transition:border-color .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1)}
body.p-home .h-criterios em{font-style:normal}
@media(hover:hover) and (pointer:fine){body.p-home .h-criterios:hover{color:#FBFAF6;border-color:var(--h-oro)}}
@media(max-width:899px){body.p-home .h-criterios{font-size:.75rem}}
/* Índice: el enlace sin ícono, alineado con el texto */
body.p-home .h-m2-mas span{flex:1}
/* Idioma en el header: targets de al menos 28 px (WCAG 2.2 pide 24) */
.p-lang button{min-width:30px;min-height:28px}
@media(max-width:899px){body.p-home .h-criterios{display:inline-flex;align-items:center;min-height:40px;border-bottom:0;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(222,205,160,.45)}}
/* "Cómo seleccionamos": igual que en escritorio también en celular (chico, oro, línea fina);
   el área táctil de 40 px la da un pseudo-elemento invisible, no la caja visible. */
@media(max-width:899px){
  body.p-home .h-criterios{display:inline-block;min-height:0;font-size:.78rem;text-decoration:none;border-bottom:1px solid rgba(222,205,160,.35);position:relative}
  body.p-home .h-criterios::after{content:"";position:absolute;left:-8px;right:-8px;top:-12px;bottom:-12px}
}
/* Lo oculto del header (campana, Mis contactos, corazón sin favoritos) no se muestra aunque
   .p-ghost tenga display propio: el atributo hidden manda. */
.p-nav-right [hidden],.p-navbar [hidden]{display:none !important}

/* ══ 11/9/2026 · "Cómo seleccionamos" debajo de los hitos: chico, sin negrita, y aparece
   recién cuando el cuarto hito se encendió (clase .completo que pone BPM.camino).
   Los hitos suben un poco. ═══════════════════════════════════════════════════ */
body.p-home .h-camino{margin-top:clamp(16px,2.6vw,26px)}
@media(max-width:899px){body.p-home .h-camino{margin-top:12px}}
body.p-home .h-criterios{display:inline-block;margin:clamp(18px,3vw,28px) 0 0;font:300 .72rem/1.3 var(--font-body);letter-spacing:.02em;color:rgba(222,205,160,.72);text-decoration:none;border-bottom:1px solid rgba(222,205,160,.28);padding-bottom:2px;white-space:nowrap;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .7s cubic-bezier(.22,1,.36,1) .45s,transform .7s cubic-bezier(.22,1,.36,1) .45s,visibility 0s linear 1.2s,color .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1)}
body.p-home .h-camino.completo ~ .h-criterios{opacity:1;visibility:visible;transform:none;transition-delay:.45s,.45s,0s,0s,0s}
@media(hover:hover) and (pointer:fine){body.p-home .h-criterios:hover{color:#FBFAF6;border-color:var(--h-oro)}}
body.p-home .h-criterios em{font-style:normal}
@media(max-width:899px){body.p-home .h-criterios{font-size:.7rem;margin-top:16px;position:relative;min-height:0}body.p-home .h-criterios::after{content:"";position:absolute;left:-8px;right:-8px;top:-12px;bottom:-12px}}
@media(prefers-reduced-motion:reduce){body.p-home .h-criterios{transition:none}}

/* ══ 11/9/2026 · El menú del portal, con el criterio de la portada ════════════
   Escritorio: logo | COMPRAR · ALQUILAR · EMPRENDIMIENTOS · PSI (versalitas
   del sitio, centradas, activo con línea de oro) | idioma · Publicar · Ingresar.
   Celular: el idioma centrado en el header como en bairengroup.com; el burger
   abre un panel que baja del header (el hero sigue detrás, con un velo), con
   cuatro secciones en Playfair, una fila secundaria en voz baja y las dos
   acciones. Sin plazos ni cuenta para quien no ingresó. ══════════════════════ */
.p-navbar,body.p-home .p-navbar,body.p-home .navbar{grid-template-columns:auto 1fr auto;gap:14px}
.p-navbar > .p-nav-left{grid-column:1}
.p-navbar > .p-nav-principal,.p-navbar > .p-lang-movil{grid-column:2;justify-self:center}
.p-navbar > .p-nav-right,body.p-home .p-navbar > .p-nav-right{grid-column:3;justify-self:end}
.p-navbar > .burger{grid-column:3;justify-self:end}
/* Menú principal (escritorio) */
.p-nav-principal{display:none;align-items:center;gap:28px;min-width:0}
.p-nav-principal a{position:relative;display:inline-flex;align-items:center;min-height:44px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:rgba(255,255,255,.65);text-decoration:none;white-space:nowrap;transition:color .25s cubic-bezier(.22,1,.36,1)}
.p-nav-principal a::after{content:"";position:absolute;left:0;right:.18em;bottom:9px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.p-nav-principal a:focus-visible{color:#FBFAF6}@media(hover:hover) and (pointer:fine){.p-nav-principal a:hover{color:#FBFAF6}}
.p-nav-principal a.on{color:#FBFAF6}
.p-nav-principal a.on::after{transform:scaleX(1)}@media(hover:hover) and (pointer:fine){.p-nav-principal a:hover::after{transform:scaleX(1)}}
.p-nav-principal a:focus-visible{outline:0;color:#FBFAF6} .p-nav-principal a:focus-visible::after{transform:scaleX(1)}
@media(min-width:1024px){
  .p-nav-principal{display:flex}
  .p-lang-movil{display:none !important}
  .p-nav-right .p-lang{margin-right:6px}
}
@media(min-width:1024px) and (max-width:1180px){.p-nav-principal{gap:20px}.p-nav-principal a{letter-spacing:.01em;font-size:.66rem}}
/* Idioma centrado en el header en celular, como el sitio */
@media(max-width:1023px){
  .p-lang-movil{display:inline-flex !important;gap:2px}
  .p-lang-movil button{min-width:34px;min-height:36px;font-size:.62rem;letter-spacing:.01em}
}
/* Panel de celular */
.mobile-menu{padding:18px 24px 24px;max-height:calc(100dvh - 64px);overflow:auto;border-bottom:1px solid rgba(194,169,104,.22);box-shadow:0 30px 60px rgba(10,14,22,.35)}
.mobile-menu .m-link{position:relative;display:flex;align-items:center;justify-content:space-between;font:300 1.3rem/1.2 var(--font-display);color:rgba(251,250,246,.86);padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.mobile-menu .m-link:last-of-type{border-bottom:0}
.mobile-menu .m-link.on{color:#FBFAF6}
.mobile-menu .m-link.on::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:0 0 auto;margin-left:14px}
.mobile-menu .m-secundario{display:flex;flex-wrap:wrap;gap:6px 26px;padding:14px 0 2px;border-top:1px solid rgba(255,255,255,.07)}
.mobile-menu .m-secundario a{display:inline-flex;align-items:center;min-height:40px;font:400 .82rem/1.3 var(--font-body);letter-spacing:.02em;color:rgba(251,250,246,.62);border:0;padding:0;text-decoration:none}
.mobile-menu .m-secundario a.on{color:var(--gold-light,#DECDA0)}
.mobile-menu .m-cuenta{display:flex;flex-wrap:wrap;gap:0 26px;padding:6px 0 2px}
.mobile-menu .m-cuenta a[hidden]{display:none}
.mobile-menu .m-cuenta a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:400 .82rem/1.3 var(--font-body);color:rgba(251,250,246,.78);border:0;padding:0;text-decoration:none}
.mobile-menu .m-cuenta a svg{width:16px;height:16px}
.mobile-menu .m-cuenta[hidden]{display:none}
.mobile-menu .m-cta{margin-top:16px}
/* Velo sobre la página cuando el panel está abierto; toca afuera y cierra */
.m-velo{position:fixed;left:0;right:0;top:64px;bottom:0;z-index:998;background:rgba(19,29,45,.55);opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.22,1,.36,1)}
.m-velo.on{opacity:1;pointer-events:auto}
html.menu-abierto{overflow:hidden}
@media(min-width:1024px){.m-velo{display:none}}
@media(prefers-reduced-motion:reduce){.p-nav-principal a::after,.m-velo{transition:none}}
/* En escritorio el menú se centra en la pantalla, no en el hueco: columnas laterales iguales */
@media(min-width:1024px){.p-navbar,body.p-home .p-navbar,body.p-home .navbar{grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr)}}

/* ══ 11/9/2026 · El panel, registro producto ═════════════════════════════════
   El diseño sirve a la tarea: un publicador a las 11 en su oficina mirando 38 avisos,
   a la tarde desde el celular en una visita. Plano claro (registro partido),
   navy solo en el marco. Sin banda de título: el panel arranca en el riel.
   Escritorio: riel lateral con ícono, nombre y contador, activo con fondo
   tenue y tinta navy (antes, navy sobre navy: invisible). Celular: fila de
   pastillas deslizable, pegada bajo el header. Mis avisos: buscador, estado,
   operación y orden; fila compacta con una acción visible y un menú "···";
   de a doce. Vacíos que enseñan. ══════════════════════════════════════════ */
body.p-panel-page .p-page.after-band{padding-top:96px}
body.p-panel-page .p-panel{display:grid;grid-template-columns:232px minmax(0,1fr);gap:36px;align-items:start}
body.p-panel-page .p-side-nav,body.p-panel-page .p-panel .p-side-nav{display:block;position:sticky;top:88px;background:transparent;border:0;padding:0;border-radius:0;overflow:visible;flex-wrap:nowrap}
body.p-panel-page .p-side-nav .who{display:block;padding:2px 12px 14px;border:0;font:400 .78rem/1.4 var(--font-body);letter-spacing:0;text-transform:none;color:var(--text-mid);overflow:hidden}
body.p-panel-page .p-side-nav .who .q{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.p-panel-page .p-side-nav .who .p-badge{margin-top:6px}
body.p-panel-page .p-rail{display:flex;flex-direction:column;gap:2px}
body.p-panel-page .p-rail-pie{margin-top:14px;padding-top:12px;border-top:1px solid rgba(19,29,45,.1)}
body.p-panel-page .p-side-nav a,body.p-panel-page .p-panel .p-side-nav a,body.p-panel-page .p-panel .p-side-nav a.on{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 12px;border:0;border-radius:10px !important;background:transparent;color:var(--navy-deeper);font:400 .9rem/1.2 var(--font-body);letter-spacing:0;text-transform:none;text-decoration:none;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1)}
body.p-panel-page .p-side-nav a svg{display:block;width:17px;height:17px;flex:0 0 auto;color:var(--text-mid);transition:color .18s cubic-bezier(.22,1,.36,1)}
body.p-panel-page .p-side-nav a span:not(.n){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.p-panel-page .p-side-nav a .n{flex:0 0 auto;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:rgba(19,29,45,.07);color:var(--navy-deeper);font:500 .72rem/20px var(--font-body);text-align:center;font-variant-numeric:tabular-nums lining-nums}
@media(hover:hover) and (pointer:fine){body.p-panel-page .p-side-nav a:hover{background:rgba(19,29,45,.05);color:var(--navy-deeper)}}
body.p-panel-page .p-side-nav a.on,body.p-panel-page .p-panel .p-side-nav a.on{background:#EEE5D0;color:var(--navy-deeper);font-weight:500}
body.p-panel-page .p-side-nav a.on svg{color:var(--gold-dark)}
body.p-panel-page .p-side-nav a.on .n{background:rgba(19,29,45,.1)}
body.p-panel-page .p-side-nav [data-logout]{color:var(--text-mid);margin:0}
body.p-panel-page .p-side-nav a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* Cabecera de cada vista */
body.p-panel-page #content .p-h2{font-size:1.65rem;margin:0 0 4px}
body.p-panel-page #content .p-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
body.p-panel-page #content .p-head-row .p-sub{margin:0;font-size:.9rem}
body.p-panel-page .p-head-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
body.p-panel-page .p-nota-vistas{margin:0 0 10px}
/* Herramientas de la lista */
body.p-panel-page .p-herr{display:grid;grid-template-columns:minmax(200px,1.4fr) repeat(3,minmax(150px,1fr));gap:8px;margin:6px 0 8px}
body.p-panel-page .p-herr .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.p-panel-page .p-herr-q{position:relative;display:block}
body.p-panel-page .p-herr-q input{width:100%;height:40px;padding:0 12px 0 34px;border:1px solid rgba(19,29,45,.16);border-radius:8px;background:#FFFDF8 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7589' stroke-width='1.6' stroke-linecap='round'><circle cx='11' cy='11' r='6.5'/><path d='m16 16 4.5 4.5'/></svg>") 11px center/15px no-repeat;font:400 .88rem var(--font-body);color:var(--navy-deeper)}
body.p-panel-page .p-herr-q input::placeholder{color:#8A93A3}
body.p-panel-page .p-herr-q input:focus-visible{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,169,104,.28)}
body.p-panel-page .p-herr .p-fsel{height:40px;font-size:.8rem;letter-spacing:.02em;text-transform:none;font-weight:400;padding:0 30px 0 12px;background-color:#FFFDF8}
body.p-panel-page .p-herr-n{margin:0 0 12px;font:400 .8rem/1.3 var(--font-body);color:var(--text-mid)}
body.p-panel-page .p-herr-n .p-link,body.p-panel-page .p-empty .p-link{background:none;border:0;padding:0;font:inherit;color:var(--navy-deeper);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* Fila compacta */
body.p-panel-page .p-avisos-lista{display:flex;flex-direction:column;gap:8px}
body.p-panel-page .p-aviso-row.v2{display:grid;grid-template-columns:96px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:12px;margin:0;background:#FFFDF8;border:1px solid rgba(19,29,45,.1);border-radius:12px;position:relative;isolation:isolate}
body.p-panel-page .p-aviso-row.v2:has(details.p-mas[open]){z-index:2}
body.p-panel-page .p-aviso-row.v2 .ph{display:block;width:96px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#EEE5D0}
body.p-panel-page .p-aviso-row.v2 .ph img{width:100%;height:100%;object-fit:cover;display:block}
body.p-panel-page .p-aviso-main{min-width:0}
body.p-panel-page .p-aviso-main b{display:block;font:500 .98rem/1.25 var(--font-body);color:var(--navy-deeper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.p-panel-page .p-aviso-main .m{margin-top:3px;font:400 .8rem/1.4 var(--font-body);color:var(--text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.p-panel-page .p-aviso-est{display:flex;align-items:center;gap:6px;margin-top:7px;flex-wrap:wrap}
body.p-panel-page .p-aviso-est .p-badge{margin:0}
body.p-panel-page .p-aviso-motivo{margin-top:6px}
body.p-panel-page .p-aviso-cifras{display:flex;gap:18px;margin:0;padding:0 6px;white-space:nowrap}
body.p-panel-page .p-aviso-cifras div{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:52px}
body.p-panel-page .p-aviso-cifras dt{font:400 .66rem/1.2 var(--font-body);letter-spacing:.01em;color:var(--text-mid)}
body.p-panel-page .p-aviso-cifras dd{margin:0;font:500 1rem/1.2 var(--font-body);color:var(--navy-deeper);font-variant-numeric:tabular-nums lining-nums}
body.p-panel-page .p-aviso-row.v2 .acts{display:flex;flex-direction:row;align-items:center;gap:6px}
body.p-panel-page .p-aviso-row.v2 .acts .p-btn{white-space:nowrap}
/* Visitas y reservas, plegadas dentro de la fila */
body.p-panel-page .p-visitas{margin-top:8px}
body.p-panel-page .p-visitas summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;font:400 .8rem/1.3 var(--font-body);color:var(--navy-deeper);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(19,29,45,.3);min-height:32px}
body.p-panel-page .p-visitas summary::-webkit-details-marker{display:none}
body.p-panel-page .p-visitas summary .n{display:inline-block;min-width:18px;padding:0 5px;border-radius:999px;background:rgba(19,29,45,.07);font-size:.7rem;line-height:18px;text-align:center;text-decoration:none}
body.p-panel-page .p-visitas summary small{color:var(--text-mid);text-decoration:none}
body.p-panel-page .p-visitas ul{list-style:none;margin:8px 0;padding:0;font:400 .82rem/1.5 var(--font-body);color:var(--text-mid)}
body.p-panel-page .p-visitas li b{color:var(--navy-deeper);font-weight:500}
body.p-panel-page .p-visitas .p-fb{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle}
body.p-panel-page .p-visitas .p-fb input{height:36px;font-size:.8rem;width:220px;max-width:100%}
body.p-panel-page .p-visita-form{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
body.p-panel-page .p-visita-form .p-fsel{height:40px;padding-left:10px;background-image:none;text-transform:none;letter-spacing:0;font-size:.82rem}
body.p-panel-page .p-visita-form select.p-fsel{padding-right:28px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M0 0l5 6 5-6z' fill='%23131D2D'/></svg>")}
body.p-panel-page .p-visita-form input[name=nota]{flex:1;min-width:160px}
/* Menú "···": details nativo, cerrado al tocar afuera o con Escape (panel.html) */
body.p-panel-page details.p-mas{position:relative}
body.p-panel-page details.p-mas summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(19,29,45,.16);border-radius:8px;background:#FFFDF8;color:var(--navy-deeper);font:600 1.1rem/1 var(--font-body);letter-spacing:.01em;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}
body.p-panel-page details.p-mas summary::-webkit-details-marker{display:none}
body.p-panel-page details.p-mas[open] summary{background:#EEE5D0;border-color:rgba(19,29,45,.22)}@media(hover:hover) and (pointer:fine){body.p-panel-page details.p-mas summary:hover{background:#EEE5D0;border-color:rgba(19,29,45,.22)}}
body.p-panel-page details.p-mas summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
body.p-panel-page .p-mas-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;padding:6px;background:#FFFDF8;border:1px solid rgba(19,29,45,.14);border-radius:10px;box-shadow:0 18px 44px rgba(19,29,45,.14);z-index:5;display:flex;flex-direction:column}
body.p-panel-page .p-mas-menu a,body.p-panel-page .p-mas-menu button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:var(--navy-deeper);font:400 .86rem/1.2 var(--font-body);text-decoration:none;cursor:pointer;min-height:40px}
body.p-panel-page .p-mas-menu a:focus-visible,body.p-panel-page .p-mas-menu button:focus-visible{background:#F4F0E6;outline:0}@media(hover:hover) and (pointer:fine){body.p-panel-page .p-mas-menu a:hover,body.p-panel-page .p-mas-menu button:hover{background:#F4F0E6;outline:0}}
body.p-panel-page .p-vermas{display:flex;align-items:center;gap:14px;margin:14px 0 0}
body.p-panel-page .p-vermas span{font:400 .8rem/1.3 var(--font-body);color:var(--text-mid)}
/* Vacíos que enseñan */
body.p-panel-page .p-empty.p-ensena{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:22px 24px;background:#FFFDF8;border:1px solid rgba(19,29,45,.1);border-radius:12px}
body.p-panel-page .p-empty.p-ensena b{font:500 1rem/1.3 var(--font-body);color:var(--navy-deeper)}
body.p-panel-page .p-empty.p-ensena p{margin:0;max-width:56ch;font:400 .9rem/1.55 var(--font-body);color:var(--text-mid)}
body.p-panel-page .p-empty.p-ensena .p-btn{margin-top:6px}
/* Mi cuenta como ficha */
/* 9/10 · Mi cuenta: los accesos de BAIREN digital (Pagos, identidad, avisos, membresía; y lo del equipo). Lista de app:
   renglones de 56 px con el nombre, una línea de ayuda y la flecha */
body.p-panel-page .p-atajos{margin:14px 0 18px;border:1px solid rgba(19,29,45,.1);border-radius:12px!important;background:#FFFDF8;overflow:hidden}
body.p-panel-page .p-atajo{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 16px;color:var(--navy-deeper,#131D2D);text-decoration:none;border-top:1px solid rgba(19,29,45,.08)}
body.p-panel-page .p-atajos > .p-atajo:first-child{border-top:0}
body.p-panel-page .p-atajo .t{display:flex;flex-direction:column;gap:2px;font:500 .95rem/1.25 var(--font-body)}
body.p-panel-page .p-atajo small{font:400 .78rem/1.3 var(--font-body);color:#59647A}
body.p-panel-page .p-atajo .ch{width:18px;height:18px;flex:0 0 auto;color:#75623C}
body.p-panel-page .p-atajo:focus-visible{background:rgba(19,29,45,.03)}@media(hover:hover) and (pointer:fine){body.p-panel-page .p-atajo:hover{background:rgba(19,29,45,.03)}}
body.p-panel-page .p-atajos-eq[hidden]{display:none}
body.p-panel-page .p-atajos-l{margin:0;padding:14px 16px 6px;border-top:1px solid rgba(19,29,45,.08);font:500 .78rem/1.2 var(--font-body);letter-spacing:.02em;color:#75623C}
body.p-panel-page .p-ficha-cuenta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin:14px 0 18px;padding:0;border:1px solid rgba(19,29,45,.1);border-radius:12px;background:#FFFDF8;overflow:hidden}
body.p-panel-page .p-ficha-cuenta > div{padding:14px 18px;border-bottom:1px solid rgba(19,29,45,.08);border-right:1px solid rgba(19,29,45,.08)}
body.p-panel-page .p-ficha-cuenta dt{font:400 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--text-mid)}
body.p-panel-page .p-ficha-cuenta dd{margin:3px 0 0;font:400 .95rem/1.4 var(--font-body);color:var(--navy-deeper);overflow-wrap:anywhere}
body.p-panel-page .p-ficha-cuenta dd svg{width:14px;height:14px;vertical-align:-2px;color:var(--gold-dark)}
body.p-panel-page .p-cuenta-acts{margin-bottom:18px}
body.p-panel-page .p-btn-quiet{border-color:transparent;color:var(--text-mid)} @media(hover:hover) and (pointer:fine){body.p-panel-page .p-btn-quiet:hover{border-color:rgba(19,29,45,.2);color:var(--navy-deeper);background:transparent}}
body.p-panel-page .p-cuenta-priv{max-width:64ch}
/* Celular y tablets */
@media(max-width:1023px){
  body.p-panel-page .p-page.after-band{padding-top:64px}
  body.p-panel-page .p-panel{grid-template-columns:1fr;gap:0}
  body.p-panel-page .p-side-nav,body.p-panel-page .p-panel .p-side-nav{position:sticky;top:64px;z-index:20;margin:0 -20px 18px;padding:8px 20px 0;background:#F6F2E8;border-bottom:1px solid rgba(19,29,45,.1)}
  body.p-panel-page .p-side-nav .who{display:none}
  body.p-panel-page .p-side-nav .p-rail{flex-direction:row;gap:4px;overflow-x:auto;scrollbar-width:none;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  body.p-panel-page .p-side-nav .p-rail::-webkit-scrollbar{display:none}
  body.p-panel-page .p-side-nav .p-rail-pie{display:none}
  body.p-panel-page .p-side-nav a,body.p-panel-page .p-panel .p-side-nav a,body.p-panel-page .p-panel .p-side-nav a.on{flex:0 0 auto;min-height:38px;padding:8px 12px;border-radius:999px !important;border:1px solid rgba(19,29,45,.14);font-size:.84rem}
  body.p-panel-page .p-side-nav a svg{display:none}
  body.p-panel-page .p-side-nav a.on,body.p-panel-page .p-panel .p-side-nav a.on{background:var(--navy-deeper);border-color:var(--navy-deeper);color:#FBFAF6}
  body.p-panel-page .p-side-nav a.on .n{background:rgba(251,250,246,.18);color:#FBFAF6}
  body.p-panel-page #content .p-head-row{flex-direction:column}
  body.p-panel-page .p-head-acts .p-btn{flex:1 1 auto;justify-content:center}
  body.p-panel-page .p-herr{grid-template-columns:1fr 1fr}
  body.p-panel-page .p-herr-q{grid-column:1 / -1}
  body.p-panel-page .p-aviso-row.v2{grid-template-columns:76px minmax(0,1fr);gap:10px 12px;padding:10px}
  body.p-panel-page .p-aviso-row.v2 .ph{width:76px}
  body.p-panel-page .p-aviso-main b,body.p-panel-page .p-aviso-main .m{white-space:normal}
  body.p-panel-page .p-aviso-cifras{grid-column:1 / -1;padding:6px 0 0;border-top:1px solid rgba(19,29,45,.08);gap:0;justify-content:space-between}
  body.p-panel-page .p-aviso-cifras div{align-items:flex-start;min-width:0}
  body.p-panel-page .p-aviso-row.v2 .acts{grid-column:1 / -1;justify-content:space-between}
  body.p-panel-page .p-aviso-row.v2 .acts .p-btn{flex:1}
  body.p-panel-page .p-mas-menu{right:0;left:auto;min-width:220px}
  body.p-panel-page .p-visitas .p-fb input{width:100%}
}
@media(prefers-reduced-motion:reduce){body.p-panel-page .p-side-nav a,body.p-panel-page details.p-mas summary{transition:none}}
/* Panel: el botón primario de cada vista es oro; los controles de la lista nunca desbordan */
body.p-panel-page #content .p-btn-fill,body.p-panel-page .p-page #content .p-btn-fill{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}
@media(hover:hover) and (pointer:fine){body.p-panel-page #content .p-btn-fill:hover{background:var(--gold-light);border-color:var(--gold-light)}}
body.p-panel-page .p-herr > *,body.p-panel-page .p-herr .p-fsel,body.p-panel-page .p-herr-q input{min-width:0;width:100%;max-width:none;box-sizing:border-box}

/* ══ 11/9/2026 · Páginas de herramienta (publicar aviso, curación, importar):
   cabecera compacta en vez de la banda grande de las páginas de marca. En
   celular el stepper es "Paso 2 de 5 · Lo principal" con una barra fina. ══ */
body.p-herramienta .p-band{padding:88px 0 22px;background:var(--navy-deeper)}
body.p-herramienta .p-band .p-container{text-align:left;max-width:920px}
body.p-herramienta .p-band .p-eyebrow{margin:0 0 6px;letter-spacing:.07em}
body.p-herramienta .p-band h1,body.p-herramienta .p-band .p-h2{font-size:1.55rem !important;margin:0 0 4px;max-width:none}
body.p-herramienta .p-band .p-sub{margin:0;max-width:64ch;font-size:.9rem;color:rgba(251,250,246,.72)}
body.p-herramienta .p-band .p-stepper{justify-content:flex-start;margin:14px 0 0;gap:6px}
body.p-herramienta .p-band .p-stepper button{padding:7px 12px;font-size:.74rem;min-height:36px}
body.p-herramienta .p-band .p-stepper button i{width:20px;height:20px;font-size:.68rem}
body.p-herramienta .p-band .p-stepper .p-paso-txt{display:none}
body.p-herramienta .p-band .p-tabs,body.p-herramienta .p-band nav{justify-content:flex-start}
body.p-herramienta .p-page.after-band{padding-top:28px}
@media(max-width:820px){
  body.p-herramienta .p-band{padding:80px 0 18px}
  body.p-herramienta .p-band h1,body.p-herramienta .p-band .p-h2{font-size:1.35rem !important}
  body.p-herramienta .p-band .p-sub{font-size:.84rem}
  body.p-herramienta .p-band .p-stepper{flex-wrap:nowrap;gap:4px;margin-top:12px}
  body.p-herramienta .p-band .p-stepper .p-paso-txt{display:block;flex:0 0 100%;margin:0 0 6px;font:500 .8rem/1.3 var(--font-body);color:#FBFAF6}
  body.p-herramienta .p-band .p-stepper{flex-wrap:wrap}
  body.p-herramienta .p-band .p-stepper button{flex:1 1 0;min-height:0;height:4px;padding:0;border:0;border-radius:2px;background:rgba(251,250,246,.18);font-size:0;color:transparent;overflow:hidden}
  body.p-herramienta .p-band .p-stepper button i{display:none}
  body.p-herramienta .p-band .p-stepper button.done{background:rgba(251,250,246,.6)}
  body.p-herramienta .p-band .p-stepper button.on{background:var(--gold)}
  body.p-herramienta .p-band .p-stepper button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
}
/* La cabecera de herramienta alinea a la izquierda de verdad (la banda de marca centra por flex) */
body.p-herramienta .p-band .p-container{align-items:flex-start}
body.p-herramienta .p-band .p-stepper{width:100%}
body.p-panel-page #content .p-btn.p-btn-quiet{border-color:transparent;color:var(--text-mid);background:transparent}
@media(hover:hover) and (pointer:fine){body.p-panel-page #content .p-btn.p-btn-quiet:hover{border-color:rgba(19,29,45,.2);color:var(--navy-deeper)}}
body.p-herramienta .p-empty.p-ensena{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:22px 24px;background:#FFFDF8;border:1px solid rgba(19,29,45,.1);border-radius:12px}
body.p-herramienta .p-empty.p-ensena b{font:500 1rem/1.3 var(--font-body);color:var(--navy-deeper)}
body.p-herramienta .p-empty.p-ensena p{margin:0;max-width:56ch;font:400 .9rem/1.55 var(--font-body);color:var(--text-mid)}
body.p-herramienta .p-band .p-tabs2{justify-content:flex-start;width:100%}

/* ── El velo de carga (11/9): cubre cada página desde el primer byte hasta que
   está lista. Mismo navy que el fondo del html, así en una carga rápida no se
   nota: la palabra recién aparece a los 500 ms (animación, no transición, para
   que no se pinte de entrada). pointer-events:none: nunca bloquea. La clase
   html.cargando la pone y la saca el script inline del <head> de cada página.
   La entrada de la primera visita (BPM.entrada) usa esta misma capa. ─────── */
.p-velo{position:fixed;inset:0;z-index:5001;background:var(--navy-deeper);display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .45s cubic-bezier(.22,1,.36,1),visibility 0s .45s}
html.cargando .p-velo{opacity:1;visibility:visible;transition:none}
.p-velo .w{font:400 clamp(1.6rem,5vw,2.6rem)/1 var(--font-body);letter-spacing:.42em;text-indent:.42em;color:#FBFAF6;opacity:0;transition:opacity .3s cubic-bezier(.22,1,.36,1)}
html.cargando .p-velo .w{animation:p-velo-palabra .3s cubic-bezier(.22,1,.36,1) .5s both}
@keyframes p-velo-palabra{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.p-velo,.p-velo .w{transition:none}html.cargando .p-velo .w{animation:none;opacity:1}}

/* ══ 11/9/2026 · Panel: geometría angular, como el sitio y como el resto de las
   páginas de herramienta (botones y filas a 0 px). Nada redondo: ni buscador,
   ni "···", ni fotos, ni pastillas, ni contadores. ═══════════════════════════ */
/* 8/10/2026 · Pasada premium: esta regla ponía todo el panel a 0 px; ahora el radio lo fija el final de este archivo. */
body.p-panel-page .p-side-nav a .n{min-width:20px;height:18px;line-height:18px;padding:0 5px}
@media(max-width:1023px){
  /* las pestañas del panel: el radio lo fija la pasada premium (final de este archivo) */
  body.p-herramienta .p-band .p-stepper button{border-radius:0}
}
/* El navegador no "ancla" el scroll cuando cambia la vista: el panel decide dónde queda */
body.p-panel-page .p-page,body.p-panel-page #content{overflow-anchor:none}
body.p-panel-page,html:has(body.p-panel-page){overflow-anchor:none}

/* ══ 11/9/2026 · Zona de carga de archivos (publicar: fotos y documentos).
   Antes: el control nativo del navegador y una cajita punteada. Ahora una zona
   angular a todo el ancho, con ícono de trazo fino, título, formatos y un
   botón real; al arrastrar se enciende; los documentos se listan con su peso
   y se pueden quitar. ═══════════════════════════════════════════════════════ */
.p-carga{display:flex;align-items:center;gap:18px;width:100%;padding:22px 24px;margin:0;background:#FFFDF8;border:1px solid rgba(19,29,45,.16);border-radius:0;color:var(--navy-deeper);text-align:left;font:inherit;cursor:pointer;transition:border-color .2s cubic-bezier(.22,1,.36,1),background .2s cubic-bezier(.22,1,.36,1)}
.p-carga > svg{width:34px;height:34px;flex:0 0 auto;color:var(--gold-dark)}
.p-carga-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.p-carga-txt b{font:500 .98rem/1.3 var(--font-body);color:var(--navy-deeper)}
.p-carga-txt span{font:400 .82rem/1.45 var(--font-body);color:var(--text-mid)}
.p-carga .p-carga-btn{flex:0 0 auto;pointer-events:none}
.p-carga:focus-visible{border-color:rgba(19,29,45,.4);background:#FFFCF4;outline:0}@media(hover:hover) and (pointer:fine){.p-carga:hover{border-color:rgba(19,29,45,.4);background:#FFFCF4;outline:0}}
.p-carga:focus-visible{box-shadow:0 0 0 3px rgba(194,169,104,.35)}
.p-carga.sobre{border-color:var(--gold);background:#FBF6E7}
.p-carga.sobre > svg{color:var(--gold)}
.p-carga-lista{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.p-carga-lista li{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 6px 0 12px;background:#FFFDF8;border:1px solid rgba(19,29,45,.1);font:400 .84rem/1.3 var(--font-body);color:var(--navy-deeper)}
.p-carga-lista .nom{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-carga-lista .peso{flex:0 0 auto;color:var(--text-mid);font-variant-numeric:tabular-nums lining-nums}
.p-carga-lista .quitar{flex:0 0 auto;width:40px;height:40px;border:0;background:transparent;color:var(--text-mid);font:300 1.4rem/1 var(--font-body);cursor:pointer}
.p-carga-lista .quitar:focus-visible{color:#9C3A34;outline:0}@media(hover:hover) and (pointer:fine){.p-carga-lista .quitar:hover{color:#9C3A34;outline:0}}
@media(max-width:700px){
  .p-carga{flex-wrap:wrap;gap:12px 14px;padding:18px 16px}
  .p-carga > svg{width:28px;height:28px}
  .p-carga-txt{flex:1 1 calc(100% - 44px)}
  .p-carga .p-carga-btn{flex:1 1 100%;justify-content:center;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.p-carga{transition:none}}

/* Ingresar: Google y Apple con su logo, como en cualquier registro */
.p-login .soc{display:flex;align-items:center;justify-content:center;gap:10px}
.p-login .soc .soc-logo{width:18px;height:18px;flex:0 0 auto}
.p-login .soc[data-soc=apple] .soc-logo{color:#FBFAF6;transform:translateY(-1px)}

/* ══ 11/9/2026 · Catálogo, con la coherencia del panel ═══════════════════════
   Misma grilla que bairengroup.com (banda navy, barra blanca, tarjetas en 4),
   angular, versalitas Jost, un oro por tarjeta. El plazo va como pastillas
   Todos / Mediano / Largo, el patrón del propio sitio. En celular la barra se
   ordena en filas de 44 px, el conteo no se corta y la banda mide lo del sitio. */
body.p-catalogo .p-plazo-pills{display:flex;gap:6px}
body.p-catalogo .p-plazo-pills[hidden]{display:none !important}
body.p-catalogo .p-plazo-pills button{height:34px;padding:0 14px;border:1px solid rgba(42,58,82,.18);border-radius:0;background:#fff;color:var(--navy-deeper);font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;cursor:pointer;white-space:nowrap;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.p-catalogo .p-plazo-pills button:hover{border-color:rgba(42,58,82,.45)}}
body.p-catalogo .p-plazo-pills button.on{background:var(--navy-deeper);border-color:var(--navy-deeper);color:#FBFAF6}
body.p-catalogo .p-plazo-pills button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
body.p-catalogo .p-results-head .acts .p-fbtn svg{width:15px;height:15px}
@media(min-width:821px){
  body.p-catalogo .p-filters-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
  body.p-catalogo .p-filters #zonaBox{flex:1 1 260px;min-width:220px}
  body.p-catalogo .p-plazo-pills{order:0}
}
@media(max-width:820px){
  /* Banda: título de una línea como en el sitio; el texto explicativo no va en celular */
  body.p-catalogo .p-catband{padding:22px 20px 20px}
  body.p-catalogo .p-catband h1,body.p-catalogo #resTitle{font-size:1.4rem !important;line-height:1.2 !important;margin:0 !important}
  body.p-catalogo .p-catband-sub{display:none !important}
  /* Barra: filas ordenadas, todo a 44 px, angular */
  body.p-catalogo .p-filters-in{display:flex !important;flex-wrap:wrap;gap:8px;padding:12px 16px}
  body.p-catalogo .p-filters .p-fsel,body.p-catalogo .p-filters .p-fbtn,body.p-catalogo .p-filters #barriosBtn,body.p-catalogo .p-filters .p-plazo-pills button{height:44px !important;min-height:44px !important;font-size:.66rem !important;letter-spacing:.01em !important;}
  body.p-catalogo .p-filters #barriosBtn{order:1 !important;flex:1 1 calc(50% - 4px) !important;max-width:none !important;justify-content:center;padding:0 12px !important}
  body.p-catalogo .p-filters #opSel{order:2 !important;flex:1 1 calc(50% - 4px) !important;width:auto !important}
  body.p-catalogo .p-filters .p-plazo-pills{order:3;flex:1 1 100%;gap:6px}
  body.p-catalogo .p-filters .p-plazo-pills button{flex:1 1 0;padding:0 6px !important;letter-spacing:.01em !important}
  body.p-catalogo .p-filters #tipoSel{order:4 !important;flex:1 1 calc(34% - 6px) !important;width:auto !important}
  body.p-catalogo .p-filters .p-fwrap{order:5 !important;flex:1 1 calc(33% - 6px) !important}
  body.p-catalogo .p-filters .p-fwrap .p-fbtn{width:100% !important;justify-content:center}
  body.p-catalogo .p-filters #zonaBox{order:6 !important;flex:1 1 calc(100% - 120px) !important;width:auto !important;height:44px !important;min-height:44px !important}
  body.p-catalogo .p-filters #moreBtn{order:7 !important;flex:0 0 112px !important;width:112px !important;justify-content:center;padding:0 10px !important}
  /* Conteo y acciones: el número no se corta; la alerta es solo la campana */
  body.p-catalogo .p-results-head{display:flex;align-items:center;gap:8px;padding:10px 16px}
  body.p-catalogo .p-results-count{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.66rem}
  body.p-catalogo .p-results-head .acts{flex:0 0 auto;display:flex;gap:6px}
  body.p-catalogo .p-results-head .acts .p-fbtn{width:40px !important;padding:0 !important;justify-content:center}
  body.p-catalogo .p-results-head .acts .p-fbtn svg{display:inline-block !important;margin:0}
  body.p-catalogo .p-results-head .acts .p-fbtn .t{display:none}
  body.p-catalogo .p-results-head .acts .p-fsel{max-width:150px}
}
/* Catálogo: ajustes medidos. En celular la fila de acciones no ocupa todo el ancho (el conteo tenía 0 px);
   en escritorio la barra entra en una fila: opción "Todas" corta, pastillas compactas, "Filtros" con ícono. */
@media(max-width:820px){
  body.p-catalogo .p-results-head .acts{width:auto !important;flex:0 0 auto !important}
  body.p-catalogo .p-filters #moreBtn{flex:0 0 124px !important;width:124px !important;font-size:.62rem !important;letter-spacing:.01em !important}
  body.p-catalogo .p-filters #zonaBox{flex:1 1 calc(100% - 132px) !important}
}
@media(min-width:821px){
  body.p-catalogo .p-filters #zonaBox{flex:1 1 200px;min-width:180px}
  body.p-catalogo .p-plazo-pills button{padding:0 10px;letter-spacing:.01em}
  body.p-catalogo .p-filters #opSel{width:auto;max-width:150px}
}

/* ══ 11/9/2026 · Ficha, con la coherencia del panel ══════════════════════════
   Las características van de a seis (el resto se despliega) y sin repetir lo
   que ya dice la fila de cifras. Las cajas de aviso sin línea punteada. ══════ */
.p-amen-mas{margin-top:-32px}
.p-amen-mas[hidden]{display:none !important}
.p-amen-toggle{display:inline-block;margin:-30px 0 44px;background:none;border:0;padding:0;font:500 .8rem/1.3 var(--font-body);color:var(--navy-deeper);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(19,29,45,.35);cursor:pointer;min-height:40px}
@media(hover:hover) and (pointer:fine){.p-amen-toggle:hover{text-decoration-color:var(--navy-deeper)}}
.p-amen-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.p-sincontacto-box,.p-sincontacto,.p-empty{border-style:solid !important}
.p-product .p-sincontacto-box{background:#F4F0E6;border-color:rgba(19,29,45,.12)}

/* ══ 11/9/2026 · Publicar, la landing: marca, con la coherencia de la portada.
   "Cómo funciona" deja las cuatro tarjetas iguales y pasa a una lista con
   número en oro y hairlines; lo que incluye va en dos columnas sin cajas; las
   condiciones sin caja dentro de caja; el botón primario es oro. ═══════════ */
body.p-publicar-landing .p-pl-sec{margin-top:clamp(44px,6vw,64px)}
body.p-publicar-landing .p-pl-sec .p-h2{font-size:1.6rem;margin:0 0 6px}
body.p-publicar-landing .p-pasos{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;border-top:1px solid rgba(19,29,45,.14)}
body.p-publicar-landing .p-pasos li{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;padding:22px 0 0;align-content:start}
body.p-publicar-landing .p-pasos i{grid-row:1 / span 2;font:400 1.9rem/1 var(--font-display);font-style:normal;color:var(--gold-dark);letter-spacing:-.02em}
body.p-publicar-landing .p-pasos b{font:500 1rem/1.3 var(--font-body);color:var(--navy-deeper)}
body.p-publicar-landing .p-pasos span{font:400 .88rem/1.55 var(--font-body);color:var(--text-mid);max-width:30ch}
body.p-publicar-landing .p-pl-incluye{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;padding-top:26px;border-top:1px solid rgba(19,29,45,.14)}
body.p-publicar-landing .p-pl-incluye p,body.p-publicar-landing .p-pl-cond p{margin:0;font:400 .95rem/1.6 var(--font-body);color:var(--text-mid);max-width:52ch}
body.p-publicar-landing .p-pl-cond{padding:26px 28px;background:#F4F0E6;border:1px solid rgba(19,29,45,.08)}
body.p-publicar-landing .p-pl-cond .p-h2{font-size:1.25rem}
body.p-publicar-landing .p-pl-cond .p-link{display:inline-block;margin-top:12px;font:500 .84rem/1.3 var(--font-body);color:var(--navy-deeper);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(19,29,45,.35)}
body.p-publicar-landing .p-pl-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:40px}
body.p-publicar-landing .p-pl-cta .p-btn-fill,body.p-publicar-landing .p-page .p-pl-cta .p-btn-fill{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper);min-height:48px;padding:0 24px}
@media(hover:hover) and (pointer:fine){body.p-publicar-landing .p-pl-cta .p-btn-fill:hover{background:var(--gold-light);border-color:var(--gold-light)}}
body.p-publicar-landing .p-pl-cta .p-note{margin:0;max-width:44ch}
@media(max-width:820px){
  body.p-publicar-landing .p-pasos{grid-template-columns:1fr;gap:0}
  body.p-publicar-landing .p-pasos li{padding:16px 0;border-bottom:1px solid rgba(19,29,45,.1)}
  body.p-publicar-landing .p-pasos li:last-child{border-bottom:0}
  body.p-publicar-landing .p-pasos span{max-width:none}
  body.p-publicar-landing .p-pl-incluye{grid-template-columns:1fr;gap:22px}
  body.p-publicar-landing .p-pl-cond{padding:20px}
  body.p-publicar-landing .p-pl-cta .p-btn-fill{width:100%;justify-content:center}
}

/* ══ 11/9/2026 · PSI: el formulario con la geometría del portal (angular) y voseo. ══ */
body.p-psi .psi-form input,body.p-psi .psi-form textarea,body.p-psi .psi-form button,body.p-psi .psi-btn,body.p-psi .psi-video,body.p-psi .psi-form .pf input{border-radius:0 !important}
body.p-psi .psi-form input:focus-visible,body.p-psi .psi-form textarea:focus-visible{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,169,104,.28)}

/* ══ 11/9/2026 · Publicadores: tres tarjetas de muestra por publicador a un ancho que no
   parte el precio y el botón en dos filas; en celular, dos y el resto en "Ver sus propiedades". ══ */
body.p-publicadores .p-pub-muestra{margin-top:18px;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){
  body.p-publicadores .p-pub-muestra{grid-template-columns:1fr;gap:16px}
  body.p-publicadores .p-pub-muestra .prop-card:nth-child(n+3){display:none}
}

/* ══ 11/9/2026 · Criterios: lectura y cierre con acción. ══════════════════════ */
body.p-criterios .p-prose p{line-height:1.65}
body.p-criterios .p-crit-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px;padding-top:24px;border-top:1px solid rgba(19,29,45,.12)}
body.p-criterios .p-crit-cta .p-btn-fill,body.p-criterios .p-page .p-crit-cta .p-btn-fill{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}
@media(hover:hover) and (pointer:fine){body.p-criterios .p-crit-cta .p-btn-fill:hover{background:var(--gold-light);border-color:var(--gold-light)}}
@media(max-width:820px){body.p-criterios .p-crit-cta .p-btn{flex:1 1 100%;justify-content:center}}

/* ══ 11/9/2026 · Legales: índice de secciones arriba, para una página de nueve títulos. ══ */
body.p-legales .p-indice-secciones{margin:0 0 28px;padding:18px 22px;background:#F4F0E6;border:1px solid rgba(19,29,45,.08)}
body.p-legales .p-indice-secciones .t{margin:0 0 8px;font:500 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--gold-dark)}
body.p-legales .p-indice-secciones ol{margin:0;padding:0;list-style:none;columns:2;column-gap:28px}
body.p-legales .p-indice-secciones li{break-inside:avoid}
body.p-legales .p-indice-secciones a{display:inline-flex;align-items:center;min-height:36px;font:400 .9rem/1.3 var(--font-body);color:var(--navy-deeper);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(19,29,45,.3)}
@media(hover:hover) and (pointer:fine){body.p-legales .p-indice-secciones a:hover{text-decoration-color:var(--navy-deeper)}}
body.p-legales .p-prose h2[id]{scroll-margin-top:84px}
@media(max-width:820px){body.p-legales .p-indice-secciones ol{columns:1}body.p-legales .p-indice-secciones a{min-height:40px}}

/* ══ 11/9/2026 · Publicar: la lista de perfiles, cuadrada de verdad. Ícono centrado con el
   bloque de texto, título y descripción juntos, hairlines entre filas, flecha a la derecha. ══ */
body.p-publicar-landing .p-perfiles{display:block;margin:0;padding:0;background:#FFFDF8;border:1px solid rgba(19,29,45,.1);border-radius:0;box-shadow:none;gap:0}
body.p-publicar-landing .p-perfil{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:18px;row-gap:3px;align-items:center;padding:20px 22px;margin:0;border:0;border-top:1px solid rgba(19,29,45,.1);border-radius:0;background:transparent;box-shadow:none;text-align:left;text-decoration:none;color:var(--navy-deeper);transition:background .18s cubic-bezier(.22,1,.36,1)}
body.p-publicar-landing .p-perfil:first-child{border-top:0}
body.p-publicar-landing .p-perfil .ico-w{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;color:var(--gold-dark)}
body.p-publicar-landing .p-perfil .ico-w svg{width:26px;height:26px}
body.p-publicar-landing .p-perfil b{grid-column:2;grid-row:1;margin:0;font:400 1.15rem/1.25 var(--font-display);color:var(--navy-deeper)}
body.p-publicar-landing .p-perfil span:not(.ico-w){grid-column:2;grid-row:2;margin:0;font:400 .88rem/1.5 var(--font-body);color:var(--text-mid);max-width:60ch}
body.p-publicar-landing .p-perfil::after{content:"›";grid-column:3;grid-row:1 / span 2;align-self:center;font:300 1.6rem/1 var(--font-body);color:var(--gold-dark);transition:transform .25s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){body.p-publicar-landing .p-perfil:hover{background:#F4F0E6}}
@media(hover:hover) and (pointer:fine){body.p-publicar-landing .p-perfil:hover::after{transform:translateX(3px)}}
body.p-publicar-landing .p-perfil:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
@media(max-width:820px){
  body.p-publicar-landing .p-perfil{grid-template-columns:36px minmax(0,1fr) auto;column-gap:14px;padding:16px 16px}
  body.p-publicar-landing .p-perfil .ico-w{width:36px;height:36px}
  body.p-publicar-landing .p-perfil .ico-w svg{width:24px;height:24px}
  body.p-publicar-landing .p-perfil b{font-size:1.08rem}
  body.p-publicar-landing .p-perfil span:not(.ico-w){font-size:.84rem}
}

/* ══ 11/9/2026 · Criterios de selección, como página de lectura de marca: sin la hoja beige
   flotante; columna de lectura sobre la página, condiciones con número en oro y cualidades
   como lista de dos columnas con hairlines. ═══════════════════════════════════════════════ */
body.p-criterios .p-page.after-band{padding-top:56px}
body.p-criterios .p-crit{max-width:860px;margin:0 auto;padding:0 24px 72px;color:var(--navy-deeper)}
body.p-criterios .p-crit-sec{padding:44px 0 0}
body.p-criterios .p-crit-sec + .p-crit-sec{margin-top:44px;border-top:1px solid rgba(19,29,45,.12)}
body.p-criterios .p-crit h2{margin:0 0 12px;font:400 1.75rem/1.2 var(--font-display);color:var(--navy-deeper);letter-spacing:-.005em}
body.p-criterios .p-crit p{margin:0 0 14px;font:400 1rem/1.7 var(--font-body);color:#3E4756;max-width:66ch}
body.p-criterios .p-crit-intro{font-size:1.05rem}
body.p-criterios .p-crit-cond{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:0;border-top:1px solid rgba(19,29,45,.12)}
body.p-criterios .p-crit-cond li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 12px;padding:20px 0;border-bottom:1px solid rgba(19,29,45,.1)}
body.p-criterios .p-crit-cond i{grid-row:1 / span 2;font:400 2rem/1 var(--font-display);font-style:normal;color:var(--gold-dark);letter-spacing:-.02em}
body.p-criterios .p-crit-cond b{font:500 1.05rem/1.3 var(--font-body);color:var(--navy-deeper)}
body.p-criterios .p-crit-cond span{font:400 .95rem/1.6 var(--font-body);color:#3E4756;max-width:62ch}
body.p-criterios .p-crit-cual{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:22px 0 0;padding:0;border-top:1px solid rgba(19,29,45,.12)}
body.p-criterios .p-crit-cual > div{padding:14px 0;border-bottom:1px solid rgba(19,29,45,.1)}
body.p-criterios .p-crit-cual dt{font:500 .98rem/1.3 var(--font-body);color:var(--navy-deeper)}
body.p-criterios .p-crit-cual dd{margin:3px 0 0;font:400 .9rem/1.55 var(--font-body);color:#3E4756}
body.p-criterios .p-crit-dos{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
body.p-criterios .p-crit-cta{margin-top:26px;padding-top:0;border-top:0}
@media(max-width:820px){
  body.p-criterios .p-page.after-band{padding-top:36px}
  body.p-criterios .p-crit{padding:0 20px 56px}
  body.p-criterios .p-crit-sec{padding-top:34px}
  body.p-criterios .p-crit-sec + .p-crit-sec{margin-top:34px}
  body.p-criterios .p-crit h2{font-size:1.45rem}
  body.p-criterios .p-crit-cond li{grid-template-columns:40px minmax(0,1fr)}
  body.p-criterios .p-crit-cond i{font-size:1.6rem}
  body.p-criterios .p-crit-cual,body.p-criterios .p-crit-dos{grid-template-columns:1fr}
  body.p-criterios .p-crit-dos > div + div{margin-top:30px}
}
body.p-criterios .p-crit-cond li:last-child,body.p-criterios .p-crit-cual > div:nth-last-child(-n+2){border-bottom:0}
@media(max-width:820px){body.p-criterios .p-crit-cual > div:nth-last-child(2){border-bottom:1px solid rgba(19,29,45,.1)}}

/* ── 11/9 noche · perfil al crear la cuenta ── */
/* Ingresar: la pregunta después del código. Lista vertical angular, sin tarjetas: número al frente,
   título y una línea. Sobre la página navy el borde en reposo es el de los campos; la elegida lleva
   borde y número en oro (navy sobre navy no se vería). Filas de 44 px o más. */
body .p-login.pregunta h1{font-size:clamp(1.7rem,3.6vw,2.4rem)}
body .p-login.pregunta .p-sub{max-width:52ch}
body .p-login .p-quien{margin:0 0 14px;padding:0;border:0;min-width:0}
body .p-login .p-quien legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body .p-login .p-quien-op{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;align-items:center;min-height:44px;padding:14px 16px;margin:0 0 -1px;border:1px solid rgba(255,255,255,.18);border-radius:0;background:rgba(255,255,255,.04);color:#FBFAF6;cursor:pointer;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}
body .p-login .p-quien-op:last-child{margin-bottom:0}
body .p-login .p-quien-op input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
body .p-login .p-quien-op i{font:400 1.35rem/1 var(--font-display);font-style:normal;color:rgba(251,250,246,.5);text-align:center;transition:color .18s cubic-bezier(.22,1,.36,1)}
body .p-login .p-quien-op .tx{display:block;min-width:0}
body .p-login .p-quien-op b{display:block;font:500 1rem/1.3 var(--font-body);color:#FBFAF6}
body .p-login .p-quien-op small{display:block;margin-top:2px;font:400 .84rem/1.45 var(--font-body);color:rgba(251,250,246,.62)}
@media(hover:hover) and (pointer:fine){body .p-login .p-quien-op:hover{background:rgba(255,255,255,.07)}}
body .p-login .p-quien-op:has(input:checked){border-color:var(--gold);background:rgba(255,255,255,.08);z-index:1}
body .p-login .p-quien-op:has(input:checked) i{color:var(--gold)}
body .p-login .p-quien-op:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px;z-index:2}
/* Panel: el perfil como versalita debajo del mail, y el control para cambiarlo en Mi cuenta
   (tres opciones angulares, la elegida en navy; 44 px de alto). */
body.p-panel-page .p-side-nav .who .rol{display:block;margin-top:5px;font:500 .8125rem/1.4 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--gold-dark);word-break:normal;overflow-wrap:normal}
body.p-panel-page .p-perfil-sel{margin:0 0 18px;padding:16px 18px;border:1px solid rgba(19,29,45,.1);background:#FFFDF8;min-width:0}
body.p-panel-page .p-perfil-sel legend{padding:0 6px;margin-left:-6px;font:500 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--gold-dark)}
body.p-panel-page .p-perfil-sel .p-note{margin:2px 0 12px;max-width:56ch}
body.p-panel-page .p-perfil-sel .ops{display:flex;flex-wrap:wrap;gap:0}
body.p-panel-page .p-perfil-sel label{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;margin:0 0 0 -1px;border:1px solid rgba(19,29,45,.22);background:#FFFDF8;color:var(--navy-deeper);font:500 .84rem/1.2 var(--font-body);cursor:pointer;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1)}
body.p-panel-page .p-perfil-sel label:first-child{margin-left:0}
body.p-panel-page .p-perfil-sel label input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
@media(hover:hover) and (pointer:fine){body.p-panel-page .p-perfil-sel label:hover{background:#F4F0E6}}
body.p-panel-page .p-perfil-sel label:has(input:checked){background:var(--navy-deeper);border-color:var(--navy-deeper);color:#FBFAF6;z-index:1}
body.p-panel-page .p-perfil-sel label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px;z-index:2}
@media(max-width:820px){
  body .p-login .p-quien-op{grid-template-columns:32px minmax(0,1fr);column-gap:12px;padding:12px 14px}
  body .p-login .p-quien-op i{font-size:1.2rem}
  body.p-panel-page .p-perfil-sel .ops{flex-direction:column}
  body.p-panel-page .p-perfil-sel label{margin:-1px 0 0;justify-content:flex-start}
  body.p-panel-page .p-perfil-sel label:first-child{margin-top:0}
}

/* ── 11/9 noche · curación: sistema ── */
/* Curación → Sistema: qué está configurado del motor, qué falta y cómo resolverlo, la última
   sincronización, los números del día y el cron. Registro producto, angular, sin tarjetas:
   secciones separadas por hairline con el título en versalita a la izquierda y el contenido a la
   derecha; adentro, listas de definición por fila (el patrón de dl.p-ficha-cuenta del panel).
   El único acento es el check en oro de lo que está; lo que falta lleva un punto vacío y, debajo,
   el paso exacto. Nombres de variables y el curl en monoespaciada: son para copiar. */
body.p-herramienta .p-sis{color:var(--navy-deeper)}
body.p-herramienta .p-sis-sec{display:grid;grid-template-columns:200px minmax(0,1fr);gap:4px 32px;padding:22px 0 24px;border-top:1px solid rgba(19,29,45,.12)}
body.p-herramienta .p-sis-sec:first-child{border-top:0;padding-top:4px}
body.p-herramienta .p-sis-sec > h2{margin:0;font:500 .8125rem/1.6 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--navy-deeper)}
body.p-herramienta .p-sis-sec > h2 small{display:block;margin-top:4px;font:400 .8rem/1.45 var(--font-body);letter-spacing:0;text-transform:none;color:var(--text-mid);max-width:24ch}
body.p-herramienta .p-sis-sec > div{min-width:0}
/* Motor: una fila por pieza, nombre en versalita, marca y estado, el paso debajo */
body.p-herramienta .p-sis-dl{margin:0;padding:0}
body.p-herramienta .p-sis-dl > div{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:2px 20px;padding:12px 0;border-bottom:1px solid rgba(19,29,45,.08)}
body.p-herramienta .p-sis-dl > div:last-child{border-bottom:0;padding-bottom:0}
body.p-herramienta .p-sis-dl dt{font:500 .8125rem/1.5 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--text-mid);padding-top:3px}
body.p-herramienta .p-sis-dl dd{margin:0;min-width:0;font:400 .92rem/1.45 var(--font-body);color:var(--navy-deeper)}
body.p-herramienta .p-sis-dl dd .st{display:flex;align-items:flex-start;gap:10px}
body.p-herramienta .p-sis-dl .mk{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-top:2px}
body.p-herramienta .p-sis-dl .mk svg{width:16px;height:16px;color:var(--gold-dark)}
body.p-herramienta .p-sis-dl .mk.no::before{content:"";width:10px;height:10px;border:1.5px solid rgba(19,29,45,.5);border-radius:50%}
body.p-herramienta .p-sis-dl .mk.nose::before{content:"";width:10px;height:10px;border:1.5px dashed rgba(19,29,45,.4);border-radius:50%}
body.p-herramienta .p-sis-dl .paso{display:block;margin:5px 0 0 26px;font:400 .82rem/1.5 var(--font-body);color:var(--text-mid);max-width:72ch}
body.p-herramienta .p-sis-code{font:500 .8rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--navy-deeper);background:rgba(19,29,45,.06);padding:1px 5px;overflow-wrap:anywhere}
/* Última sincronización y Cron: la fecha en frase, los números en Jost tabular con rótulo en versalita */
body.p-herramienta .p-sis-lead{margin:0 0 8px;font:400 .95rem/1.45 var(--font-body);color:var(--navy-deeper)}
body.p-herramienta .p-sis-lead b{font-weight:500}
body.p-herramienta .p-sis-lead span{color:var(--text-mid)}
body.p-herramienta .p-sis-nums{display:flex;flex-wrap:wrap;gap:0 28px;margin:0 0 12px;padding:0}
body.p-herramienta .p-sis-nums > div{display:flex;align-items:baseline;gap:8px;padding:5px 0}
body.p-herramienta .p-sis-nums dt{font:500 .8125rem/1.5 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--text-mid)}
body.p-herramienta .p-sis-nums dd{margin:0;font:400 1.05rem/1.3 var(--font-body);color:var(--navy-deeper);font-variant-numeric:tabular-nums lining-nums}
body.p-herramienta .p-sis-nums dd small{font:400 .8rem/1.3 var(--font-body);color:var(--text-mid)}
body.p-herramienta .p-sis-err{margin:0 0 12px;font:400 .86rem/1.5 var(--font-body);color:var(--text-mid);max-width:80ch;overflow-wrap:anywhere}
body.p-herramienta .p-sis-err b{font-weight:500;color:var(--navy-deeper)}
body.p-herramienta .p-sis-err.vivo b{color:#9C3A34}
body.p-herramienta .p-sis-acts{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:4px}
body.p-herramienta .p-sis-acts .p-btn{min-height:40px}
body.p-herramienta .p-sis-acts .p-btn:disabled{cursor:progress}
body.p-herramienta .p-sis-res{font:400 .86rem/1.45 var(--font-body);color:var(--text-mid);font-variant-numeric:tabular-nums lining-nums;max-width:60ch}
body.p-herramienta .p-sis-res.ok{color:var(--navy-deeper)}
body.p-herramienta .p-sis-res.error{color:#9C3A34}
body.p-herramienta .p-sis-res:empty{display:none}
/* Hoy: dos columnas de filas rótulo · número; los que llevan a otra pestaña van subrayados */
body.p-herramienta .p-sis-hoy{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:0;padding:0}
body.p-herramienta .p-sis-hoy > div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:0;border-bottom:1px solid rgba(19,29,45,.08)}
body.p-herramienta .p-sis-hoy dt{font:400 .9rem/1.4 var(--font-body);color:var(--navy-deeper)}
body.p-herramienta .p-sis-hoy dt a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(19,29,45,.35)}
@media(hover:hover) and (pointer:fine){body.p-herramienta .p-sis-hoy dt a:hover{text-decoration-color:var(--navy-deeper)}}
body.p-herramienta .p-sis-hoy dt a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
body.p-herramienta .p-sis-hoy dd{margin:0;font:500 1rem/1.3 var(--font-body);color:var(--navy-deeper);font-variant-numeric:tabular-nums lining-nums;text-align:right}
body.p-herramienta .p-sis-hoy dd small{font:400 .78rem/1.3 var(--font-body);color:var(--text-mid)}
body.p-herramienta .p-sis-pre{margin:6px 0 0;padding:10px 14px;background:#FFFDF8;border:1px solid rgba(19,29,45,.1);overflow-x:auto;font:400 .8rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--navy-deeper);white-space:pre;-webkit-overflow-scrolling:touch}
body.p-herramienta .p-sis-nota{margin:4px 0 0;font:400 .86rem/1.5 var(--font-body);color:var(--text-mid);max-width:70ch}
body.p-herramienta .p-sis-aviso{margin:0;padding:18px 0 4px;font:400 .9rem/1.55 var(--font-body);color:var(--text-mid);border-top:1px solid rgba(19,29,45,.12)}
body.p-herramienta .p-sis-aviso span{display:block;max-width:70ch}
body.p-herramienta .p-sis-pie{margin:0;padding:14px 0 0;border-top:1px solid rgba(19,29,45,.12);font:400 .76rem/1.4 var(--font-body);letter-spacing:.01em;color:var(--text-mid)}
body.p-herramienta #out .p-empty.p-ensena .p-btn{margin-top:6px}
/* Con tres pestañas, en celular la fila de Curación es un riel que se desliza (el patrón del panel) */
@media(max-width:820px){
  body.p-herramienta .p-band .p-tabs2{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%}
  body.p-herramienta .p-band .p-tabs2::-webkit-scrollbar{display:none}
  body.p-herramienta .p-band .p-tabs2{gap:4px}
  body.p-herramienta .p-band .p-tabs2 button{flex:0 0 auto;white-space:nowrap;padding:10px 10px}
  body.p-herramienta .p-sis-sec{grid-template-columns:1fr;gap:10px 0;padding:18px 0 20px}
  body.p-herramienta .p-sis-sec > h2 small{max-width:none}
  body.p-herramienta .p-sis-dl > div{grid-template-columns:1fr;gap:4px 0}
  body.p-herramienta .p-sis-hoy{grid-template-columns:1fr}
  body.p-herramienta .p-sis-nums{gap:0 20px}
  body.p-herramienta .p-sis-acts .p-btn{width:100%;justify-content:center;min-height:44px}
}

/* ── 11/9 noche · perfil: arreglos de la revisión ── */
/* (a) Celular: los enlaces del riel del panel medían 38 px; piso de 44 px. Misma especificidad que la regla
   de 1023 px de arriba (incluido a.on), así gana por orden. */
@media(max-width:1023px){
  body.p-panel-page .p-side-nav a,body.p-panel-page .p-panel .p-side-nav a,body.p-panel-page .p-panel .p-side-nav a.on{min-height:44px;padding:10px 14px}
}
/* (b) El estado elegido no depende solo de :has(): la clase .on la pone el change (ingresar y Mi cuenta). */
body .p-login .p-quien-op.on{border-color:var(--gold);background:rgba(255,255,255,.08);z-index:1}
body .p-login .p-quien-op.on i{color:var(--gold)}
body.p-panel-page .p-perfil-sel label.on{background:var(--navy-deeper);border-color:var(--navy-deeper);color:#FBFAF6;z-index:1}
/* Mi cuenta, mientras guarda: el grupo deshabilitado se ve apagado y el cursor dice que espera */
body.p-panel-page .p-perfil-sel:disabled label{opacity:.55;cursor:progress}
@media(hover:hover) and (pointer:fine){body.p-panel-page .p-perfil-sel:disabled label:hover{background:#FFFDF8}}
@media(hover:hover) and (pointer:fine){body.p-panel-page .p-perfil-sel:disabled label.on:hover,body.p-panel-page .p-perfil-sel:disabled label:has(input:checked):hover{background:var(--navy-deeper)}}
/* (c) Portada: el botón "Mi cuenta" con sesión vive en .p-nav-menu, cuya regla de botones (background:none) le
   sacaba el relleno oro. El header es el mismo en todas las páginas (ui.js, .navbar.p-navbar > .p-nav-right). */
.p-navbar .p-nav-menu .p-btn-fill,body.p-home .navbar .p-btn-fill{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}
@media(hover:hover) and (pointer:fine){.p-navbar .p-nav-menu .p-btn-fill:hover,body.p-home .navbar .p-btn-fill:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--navy-deeper)}}

/* ── 11/9 noche · sistema: arreglos de la revisión ── */
/* (a) El botón "Sincronizar ahora" medía 40 px: piso de 44 px en todos los anchos. */
body.p-herramienta .p-sis-acts .p-btn{min-height:44px}
/* (b) La regla .p-sis-acts .p-btn:disabled{cursor:progress} de arriba era muerta: .p-btn[disabled] lleva pointer-events:none
   y el cursor nunca se veía. Se neutraliza con la misma especificidad y el cursor de espera pasa al grupo, que curacion.html
   marca con aria-busy mientras sincroniza. */
body.p-herramienta .p-sis-acts .p-btn:disabled{cursor:default}
body.p-herramienta .p-sis-acts[aria-busy="true"]{cursor:progress}
/* (c) El resultado "Omitida: ..." tenía clase sin regla: en gris medio, como un aviso, ni éxito ni error. */
body.p-herramienta .p-sis-res.omitida{color:var(--text-mid)}
/* (d) Las marcas de lo que falta y lo que no se comprobó eran redondas en una página angular: cuadradas, radio 0;
   la de "sin comprobar" en trazo discontinuo. */
body.p-herramienta .p-sis-dl .mk.no::before{content:"";width:10px;height:10px;border:1.5px solid rgba(19,29,45,.5);border-radius:0}
body.p-herramienta .p-sis-dl .mk.nose::before{content:"";width:10px;height:10px;border:1.5px dashed rgba(19,29,45,.5);border-radius:0}
/* (e) Sesión vencida o fuera de la lista: las dos acciones (Volver a entrar, Reintentar) en fila, no una debajo de la
   otra como las apila el flex en columna del vacío que enseña; en celular, 44 px de alto. */
body.p-herramienta #out .p-empty.p-ensena .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
body.p-herramienta #out .p-empty.p-ensena .acts .p-btn{margin-top:0}
@media(max-width:820px){
  body.p-herramienta #out .p-empty.p-ensena .acts .p-btn{min-height:44px}
}

/* ── 12/9 madrugada · Bairen OS: enlace en la portada y en el riel del panel ── */
body.p-home .h-link-os{color:var(--h-oro2);font-style:italic;text-decoration:underline;text-decoration-color:rgba(194,169,104,.45);text-decoration-thickness:1px;text-underline-offset:3px}
@media(hover:hover) and (pointer:fine){body.p-home .h-link-os:hover{text-decoration-thickness:2px}}

/* ── 12/9 madrugada · ficha: el formulario de consulta es una tarjeta clara sobre crema; la tinta vuelve a navy
   (el tema de producto le daba tinta crema y fondos translúcidos pensados para un panel oscuro) ── */
body.p-ficha-page .p-form{--p-ink:#131D2D;--p-ink-2:#565E6E;--p-ink-3:#6B7589;color:#131D2D;background:#fff;border:1px solid rgba(42,58,82,.14);border-radius:0;box-shadow:none}
body.p-ficha-page .p-form h3{color:#131D2D}
body.p-ficha-page .p-form input,body.p-ficha-page .p-form textarea,body.p-ficha-page .p-form select{color:#131D2D;background:#fff;border:1px solid rgba(42,58,82,.28);border-radius:0}
body.p-ficha-page .p-form input:focus,body.p-ficha-page .p-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(194,169,104,.25)}
body.p-ficha-page .p-form input::placeholder,body.p-ficha-page .p-form textarea::placeholder{color:rgba(19,29,45,.5)}
body.p-ficha-page .p-form .chk,body.p-ficha-page .p-form .chk span,body.p-ficha-page .p-form .p-note,body.p-ficha-page .p-form label{color:#565E6E}
body.p-ficha-page .p-form .chk a{color:#131D2D}
body.p-ficha-page .p-form .chk input{accent-color:#131D2D}
body.p-ficha-page .p-form .p-err,body.p-ficha-page .p-form [data-err]{color:#b94a4a}

/* ── 12/9 · imagen de perfil ── */
/* La imagen de la cuenta (BPStore.getAvatar, BP.avatar): uno de cuatro íconos de img/avatares o la foto propia. Siempre
   cuadrada, angular (radio 0) y con object-fit cover; sin imagen, el ícono genérico de usuario en el mismo cuadrado.
   Tres tamaños: 22 px en el botón "Mi cuenta" del header, 48 en el .who del riel del panel, 56 en la fila de Mi cuenta.
   .ph es el respaldo si el SVG no carga: cuadrado navy con la inicial del mail. */
.p-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;width:48px;height:48px;border:1px solid rgba(19,29,45,.18);border-radius:0;background:#FFFDF8;color:var(--text-mid);overflow:hidden;vertical-align:middle}
.p-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.p-avatar.vacio svg{width:46%;height:46%}
.p-avatar.ph{background:var(--navy-deeper);border-color:var(--navy-deeper);color:#FBFAF6}
.p-avatar.ph b{font:500 .95rem/1 var(--font-body);letter-spacing:.01em}
/* En las páginas de producto, la regla "todo hereda el color" de .p-page.after-band le ganaba a la inicial: crema sobre navy, siempre */
body .p-page .p-avatar.ph,body .p-page .p-avatar.ph b,body .p-side-nav .p-avatar.ph b{color:#FBFAF6}
/* Header: 22 px dentro del botón "Mi cuenta"; borde crema al 25 % porque la barra es navy. Misma medida en el menú de celular. */
.p-navbar .p-avatar-h,.mobile-menu .p-avatar-h,.p-nav-right .p-avatar-h{width:22px;height:22px;border-color:rgba(246,242,232,.25);background:transparent;flex:0 0 auto}
.p-navbar .p-avatar-h.ph b,.mobile-menu .p-avatar-h.ph b{font-size:.62rem}
/* Panel: 48 px a la izquierda del mail y el perfil. En celular el .who sigue oculto (la fila de pastillas no lo lleva). */
body.p-panel-page .p-side-nav .who{display:flex;align-items:center;gap:12px}
body.p-panel-page .p-side-nav .who .txt{min-width:0;flex:1 1 auto}
@media(max-width:1023px){body.p-panel-page .p-side-nav .who{display:none}}
/* Mi cuenta: la fila "Tu imagen" abre la ficha y ocupa todo el ancho. A la izquierda la imagen actual (56 px); a la derecha
   los cuatro íconos como radios visuales (44 px), la elegida con borde navy de 2 px y una esquina oro; después
   "Subir una foto" y, si hay foto, "Quitar". Mientras guarda, el grupo entero deshabilitado y apagado. */
body.p-panel-page .p-ficha-cuenta > .p-cuenta-img{grid-column:1/-1}
body.p-panel-page .p-avatar-sel{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:8px 0 0;padding:0;border:0;min-width:0}
body.p-panel-page .p-avatar-sel .actual{display:flex;flex:0 0 auto}
body.p-panel-page .p-avatar-sel .p-avatar-actual{width:56px;height:56px}
body.p-panel-page .p-avatar-sel .ops{display:flex;flex-wrap:wrap;gap:6px}
body.p-panel-page .p-avatar-sel .op{position:relative;display:inline-flex;box-sizing:border-box;width:44px;height:44px;padding:0;margin:0;border:1px solid rgba(19,29,45,.22);border-radius:0;background:#FFFDF8;cursor:pointer;overflow:hidden;transition:border-color .18s cubic-bezier(.22,1,.36,1)}
body.p-panel-page .p-avatar-sel .op input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
body.p-panel-page .p-avatar-sel .op img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
@media(hover:hover) and (pointer:fine){body.p-panel-page .p-avatar-sel .op:hover{border-color:rgba(19,29,45,.55)}}
body.p-panel-page .p-avatar-sel .op.ph{align-items:center;justify-content:center;background:var(--navy-deeper)}
body .p-page .p-avatar-sel .op.ph b{color:#FBFAF6;font:500 .8rem/1 var(--font-body)}
body.p-panel-page .p-avatar-sel .op.on,body.p-panel-page .p-avatar-sel .op:has(input:checked){border:2px solid var(--navy-deeper)}
body.p-panel-page .p-avatar-sel .op.on::after,body.p-panel-page .p-avatar-sel .op:has(input:checked)::after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 11px 11px 0;border-color:transparent var(--gold) transparent transparent}
body.p-panel-page .p-avatar-sel .op:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px;z-index:2}
body.p-panel-page .p-avatar-sel .acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body.p-panel-page .p-avatar-sel .acts .p-btn{border-radius:0;min-height:44px;height:44px}
body.p-panel-page .p-avatar-sel .acts .p-btn.ocupado{cursor:progress;opacity:.7}
body.p-panel-page .p-avatar-sel .p-note{flex:0 0 100%;margin:0;max-width:56ch}
body.p-panel-page .p-avatar-sel:disabled{cursor:progress}
body.p-panel-page .p-avatar-sel:disabled .op,body.p-panel-page .p-avatar-sel:disabled .p-btn{opacity:.55;cursor:progress}
@media(hover:hover) and (pointer:fine){body.p-panel-page .p-avatar-sel:disabled .op:hover{border-color:rgba(19,29,45,.22)}}
@media(hover:hover) and (pointer:fine){body.p-panel-page .p-avatar-sel:disabled .op.on:hover,body.p-panel-page .p-avatar-sel:disabled .op:has(input:checked):hover{border-color:var(--navy-deeper)}}
body.p-panel-page .p-avatar-sel .p-btn[disabled]{pointer-events:none}
/* "Quitar" solo cuando hay foto: el display de .p-btn le ganaba al atributo hidden */
body.p-panel-page .p-avatar-sel .p-btn[hidden]{display:none}
@media(max-width:820px){
  body.p-panel-page .p-avatar-sel{gap:12px 14px}
  body.p-panel-page .p-avatar-sel .acts{flex:0 0 100%}
  body.p-panel-page .p-avatar-sel .acts .p-btn{flex:1 1 auto;justify-content:center}
}

/* ── 12/9 · imagen de perfil: ajustes de la revisión ── */
body.p-panel-page .p-ficha-cuenta dd .p-avatar.vacio svg{width:46%;height:46%;color:var(--text-mid)}
body.p-panel-page .p-side-nav .who .q{white-space:normal;overflow-wrap:anywhere}
body.p-panel-page .p-avatar-sel .op input:focus-visible + img{outline:2px solid var(--gold);outline-offset:-2px}

/* ── 12/9 · curación: pestañas en celular ── */
/* A 390 px las tres pestañas de Curación ("Avisos en revisión", "Publicadores por verificar", "Sistema") desbordaban y
   la tercera quedaba fuera de la pantalla sin nada que indicara deslizar (la regla de 820 px las fija nowrap en un riel).
   Hasta 767 px reparten el ancho en una sola fila (flex 1 1 0), el texto puede ir en dos líneas, letra y padding más
   chicos que en escritorio y 44 px de alto mínimo; la fila entera comparte la altura, así la línea oro de la activa
   queda al ras en las tres. Sin min-width:0 a propósito: el mínimo de cada pestaña es su palabra más larga, entonces
   la fila entra cuando puede y, si no entra (pantallas de menos de 320 px o letra agrandada), se desliza con snap.
   La señal de que hay más a la derecha es un degradado en el borde (mask-image) que solo aparece cuando de verdad
   hay desborde: la animación va atada al scroll horizontal del propio riel (animation-timeline) y, sin recorrido,
   el navegador no la aplica. Donde no hay animation-timeline el riel se desliza igual, sin degradado.
   Estados activa (línea oro) y foco: sin cambios. Los mismos selectores que la regla de 820 px, así ganan por orden. */
@media(max-width:767px){
  body.p-herramienta .p-band .p-tabs2{gap:4px;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body.p-herramienta .p-band .p-tabs2 button{flex:1 1 0;min-height:44px;padding:8px 6px;font:500 .78rem/1.15 var(--font-body);white-space:normal;text-align:center;scroll-snap-align:start;hyphens:manual}
  /* El contador, si lo hay (<span class="n">), pegado a la última palabra y sin partirse: inline, no inline-block,
     y el espacio lo pone el margen; en el HTML va sin espacio antes del span, si no ese espacio es un corte posible */
  body.p-herramienta .p-band .p-tabs2 button .n{display:inline;white-space:nowrap;margin-left:.35em;font-variant-numeric:tabular-nums lining-nums}
  @supports (animation-timeline:scroll()){
    body.p-herramienta .p-band .p-tabs2{animation:p-tabs2-borde linear both;animation-timeline:scroll(self x)}
  }
}
@keyframes p-tabs2-borde{
  from{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 0,#000 calc(100% - 36px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 0,#000 calc(100% - 36px),transparent 100%)}
  to{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 36px,#000 100%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 36px,#000 100%,transparent 100%)}
}

/* ── 12/9 · emprendimientos: la línea "Publica …" con sus sellos se parte en celular en vez de desbordar ── */
@media (max-width:767px){.p-emp .p-publine{flex-wrap:wrap;row-gap:6px}}

/* ── 12/9 · sistema: errores y respaldo ── */
/* Curación → Sistema. (a) La fila "Último respaldo" en Hoy ocupa las dos columnas: el valor es una frase (fecha relativa,
   peso y tablas de la copia, o "Todavía no hay respaldo…"), no un número; el rótulo sigue a la izquierda y la frase a la
   derecha, como el resto de las filas; si la copia es vieja o falta, el motivo va debajo en una línea chica. En celular la
   frase baja a su propia línea, alineada a la izquierda. (b) La sección "Errores del navegador": el total como lead (en
   el rojo apagado de los errores cuando hay alguno) y una lista ordenada de los cinco mensajes más repetidos, cada uno
   en su fila con hairline: el mensaje en monoespaciada (es lo que se busca en el código) y debajo página, veces y la
   última vez. Registro producto: sin tarjetas, sin fondos, el mismo ritmo de 10 px que las demás listas de Sistema. */
body.p-herramienta .p-sis-hoy > div.p-sis-resp{grid-column:1/-1}
body.p-herramienta .p-sis-hoy > div.p-sis-resp dd{font-weight:400;font-size:.92rem;line-height:1.45;max-width:64ch;padding:9px 0}
body.p-herramienta .p-sis-hoy > div.p-sis-resp dd b{font-weight:500}
body.p-herramienta .p-sis-hoy > div.p-sis-resp dd span{color:var(--text-mid)}
body.p-herramienta .p-sis-hoy > div.p-sis-resp dd small{display:block;margin-top:2px;font:400 .8rem/1.45 var(--font-body);color:var(--text-mid)}
body.p-herramienta .p-sis-hoy > div.p-sis-resp.no dd small{color:#9C3A34}
body.p-herramienta .p-sis-lead.vivo b{color:#9C3A34}
body.p-herramienta .p-sis-errs{list-style:none;margin:4px 0 0;padding:0;counter-reset:err}
body.p-herramienta .p-sis-errs li{display:grid;grid-template-columns:minmax(0,1fr);gap:3px 0;padding:10px 0;border-top:1px solid rgba(19,29,45,.08)}
body.p-herramienta .p-sis-errs li:last-child{padding-bottom:0}
body.p-herramienta .p-sis-errs .msg{display:block;font:500 .8rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--navy-deeper);overflow-wrap:anywhere;white-space:pre-wrap}
body.p-herramienta .p-sis-errs .meta{font:400 .82rem/1.5 var(--font-body);color:var(--text-mid);overflow-wrap:anywhere}
body.p-herramienta .p-sis-errs .meta .n{color:var(--navy-deeper);font-variant-numeric:tabular-nums lining-nums}
@media(max-width:820px){
  body.p-herramienta .p-sis-hoy > div.p-sis-resp{flex-wrap:wrap;align-items:flex-start;padding:10px 0}
  body.p-herramienta .p-sis-hoy > div.p-sis-resp dt{padding-top:0}
  body.p-herramienta .p-sis-hoy > div.p-sis-resp dd{flex:1 1 100%;text-align:left;max-width:none;padding:0}
}

/* 16/9 · Publicar · sección "Qué cuesta": mismas medidas que Cómo funciona, sin numerales. */
body.p-publicar-landing #precios p{margin:0 0 10px;font:400 .95rem/1.6 var(--font-body);color:var(--text-mid);max-width:62ch}
body.p-publicar-landing .p-reglas{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;border-top:1px solid rgba(19,29,45,.14)}
body.p-publicar-landing .p-reglas li{display:grid;gap:6px;padding:22px 0 0;align-content:start}
body.p-publicar-landing .p-reglas b{font:500 1rem/1.3 var(--font-body);color:var(--navy-deeper)}
body.p-publicar-landing .p-reglas span{font:400 .88rem/1.55 var(--font-body);color:var(--text-mid);max-width:30ch}
@media(max-width:820px){body.p-publicar-landing .p-reglas{grid-template-columns:1fr;gap:0}body.p-publicar-landing .p-reglas li{padding:16px 0;border-bottom:1px solid rgba(19,29,45,.1)}}

/* 16/9 · Publicar · planes de membresía: tarjetas con línea, sin sombra, esquinas rectas; el valor es una línea de texto. */
body.p-publicar-landing .p-planes{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0 0}
body.p-publicar-landing .p-plan{background:#fff;border:1px solid rgba(19,29,45,.14);padding:22px 22px 20px;display:flex;flex-direction:column}
body.p-publicar-landing .p-plan h3{margin:0;font:400 1.2rem/1.2 var(--font-display);color:var(--navy-deeper)}
body.p-publicar-landing .p-plan-precio{margin:14px 0 2px;font:400 1.65rem/1.1 var(--font-display);color:var(--navy-deeper);letter-spacing:-.01em}
body.p-publicar-landing .p-plan-precio small{font:400 .82rem/1 var(--font-body);color:var(--text-mid);margin-left:4px}
body.p-publicar-landing .p-plan-nota{font:500 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--gold-dark);min-height:2.6em}
body.p-publicar-landing .p-plan ul{list-style:none;margin:12px 0 0;padding:0}
body.p-publicar-landing .p-plan li{font:400 .88rem/1.5 var(--font-body);color:var(--text-mid);padding:8px 0;border-top:1px solid rgba(19,29,45,.1)}
body.p-publicar-landing .p-plan-pie{margin:14px 0 0;font:400 .86rem/1.55 var(--font-body);color:var(--text-mid);max-width:70ch}
body.p-publicar-landing #precios .p-reglas{margin-top:26px}
@media(max-width:1000px){body.p-publicar-landing .p-planes{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body.p-publicar-landing .p-planes{grid-template-columns:1fr}}

/* 16/9 · Membership: página propia. Selector mensual/anual, tarjeta con énfasis, tabla comparativa, preguntas. */
body.p-membership .p-mb-estado p{margin:0;font:400 .95rem/1.6 var(--font-body);color:var(--text-mid);max-width:70ch}
body.p-membership .p-mb-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
body.p-membership .p-toggle{display:inline-flex;border:1px solid rgba(19,29,45,.18);background:#fff}
body.p-membership .p-toggle button{font:500 .82rem/1 var(--font-body);color:var(--navy-deeper);background:transparent;border:0;padding:11px 16px;cursor:pointer;letter-spacing:.02em}
body.p-membership .p-toggle button small{font-size:.72rem;color:var(--gold-dark);margin-left:6px}
body.p-membership .p-toggle button.on{background:var(--navy-deeper);color:#FBFAF6}
body.p-membership .p-toggle button.on small{color:var(--gold)}
body.p-membership .p-plan-para{margin:6px 0 0;font:400 .86rem/1.45 var(--font-body);color:var(--text-mid);min-height:2.6em}
body.p-membership .p-plan .p-btn{margin-top:auto;padding-top:12px;justify-content:center;align-self:stretch;margin-top:18px}
body.p-membership .p-plan-ac{border-color:var(--navy-deeper);box-shadow:inset 0 3px 0 var(--gold)}
body.p-membership .p-cmp-wrap{overflow-x:auto;margin-top:18px;border-top:1px solid rgba(19,29,45,.14)}
body.p-membership .p-cmp{width:100%;min-width:720px;border-collapse:collapse;font:400 .88rem/1.45 var(--font-body);color:var(--text-mid)}
body.p-membership .p-cmp th,body.p-membership .p-cmp td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid rgba(19,29,45,.1);vertical-align:top}
body.p-membership .p-cmp thead th{font:500 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--navy-deeper);padding-top:16px}
body.p-membership .p-cmp tbody th{font-weight:400;color:var(--navy-deeper);width:34%}
body.p-membership .p-cmp .p-cmp-cat th{font:400 1.05rem/1.2 var(--font-display);color:var(--navy-deeper);padding-top:22px;border-bottom:0}
body.p-membership .p-faq{border-top:1px solid rgba(19,29,45,.14);margin-top:14px}
body.p-membership .p-faq details{border-bottom:1px solid rgba(19,29,45,.1)}
body.p-membership .p-faq summary{cursor:pointer;list-style:none;padding:16px 28px 16px 0;font:500 .98rem/1.35 var(--font-body);color:var(--navy-deeper);position:relative}
body.p-membership .p-faq summary::-webkit-details-marker{display:none}
body.p-membership .p-faq summary::after{content:'+';position:absolute;right:4px;top:14px;color:var(--gold-dark);font:400 1.2rem/1 var(--font-display)}
body.p-membership .p-faq details[open] summary::after{content:'\2212'}
body.p-membership .p-faq p{margin:0 0 18px;font:400 .92rem/1.6 var(--font-body);color:var(--text-mid);max-width:68ch}
@media(max-width:820px){body.p-membership .p-mb-head{align-items:flex-start}}

/* 16/9 · Membership, versión corta: una línea de condiciones en vez de tabla y reglas; más aire en las tarjetas. */
body.p-membership .p-mb-linea{margin:0;font:400 .95rem/1.55 var(--font-body);color:var(--text-mid);max-width:52ch}
body.p-membership .p-planes{margin-top:26px;gap:22px}
body.p-membership .p-plan{padding:28px 26px 26px}
body.p-membership .p-plan h3{font-size:1.3rem}
body.p-membership .p-plan-precio{margin-top:18px;font-size:2rem}
body.p-membership .p-plan ul{margin-top:16px}
body.p-membership .p-plan li{padding:9px 0}
body.p-membership .p-mb-condiciones{margin:22px 0 0;font:400 .84rem/1.6 var(--font-body);color:var(--text-mid);letter-spacing:.01em}
body.p-membership #preguntas .p-h2{font-size:1.35rem}

/* 16/9 · Membership iba destacado en oro en el menú. 8/10/2026 · Membership pasó al pie. */

/* ══ 16/9 · PSI en la portada: textos más grandes y el navy llega más a la derecha (pedido de Tomás). ══ */
@media(min-width:900px){
  body.p-home .h-anuncio-fade{background:
    linear-gradient(to right,rgba(19,29,45,.97) 0%,rgba(19,29,45,.93) 40%,rgba(19,29,45,.68) 66%,rgba(19,29,45,.3) 88%,rgba(19,29,45,.14) 100%),
    linear-gradient(to top,rgba(19,29,45,.42) 0%,transparent 60%)}
  body.p-home .h-anuncio-top .h-eyebrow{font-size:.75rem;letter-spacing:.07em}
  body.p-home .h-anuncio-txt .h-h2{font-size:clamp(2.3rem,4.4vw,3.6rem);max-width:15ch;margin-bottom:18px}
  body.p-home .h-anuncio-txt .h-copy{font-size:1.22rem;line-height:1.5;max-width:40ch;margin-bottom:16px}
  body.p-home .h-anuncio-txt .h-btn{margin-top:14px}
}
@media(max-width:899px){
  body.p-home .h-anuncio-top .h-eyebrow{font-size:.66rem}
  body.p-home .h-anuncio-txt .h-h2{font-size:1.75rem;max-width:14ch;margin-bottom:10px}
  body.p-home .h-anuncio-txt .h-copy{font-size:.98rem;max-width:30ch;margin-bottom:18px}
  body.p-home .h-anuncio-txt .h-btn{min-height:44px;padding:0 18px;font-size:.64rem}
  body.p-home .h-anuncio-fade{background:
    linear-gradient(to right,rgba(19,29,45,.96) 0%,rgba(19,29,45,.9) 44%,rgba(19,29,45,.6) 70%,rgba(19,29,45,.26) 92%,rgba(19,29,45,.14) 100%),
    linear-gradient(to top,rgba(19,29,45,.4) 0%,transparent 55%)}
}

/* ═══════════════════════════════════════════════════════════════════
   23/9/2026 · Celular: legibilidad del catálogo
   Va al final a propósito, para pisar las reglas de arriba sin tener que
   desarmarlas. Sale de medir sobre el sitio en vivo a 390 y 360 px.
   ═══════════════════════════════════════════════════════════════════ */
@media(max-width:820px){
  /* El selector de tipo mostraba "DEPARTAMEN": la palabra no entraba en su
     ancho. Sin el espaciado entre letras y con menos aire a los costados,
     "DEPARTAMENTO" entra entero. En escritorio queda como estaba. */
  /* Con !important porque las reglas de más arriba lo tienen: sin esto, no gana. */
  body.p-catalogo .p-filters .p-fsel{letter-spacing:.02em !important;padding:0 22px 0 8px !important}

  /* La tarjeta tenía texto de 9 a 10 px en mayúscula con espaciado ancho:
     se lee con esfuerzo, y es justo la información con la que alguien
     decide si entra a la ficha. Piso de 11 px y espaciado más corto. */
  .card-tag{font-size:.7rem !important;letter-spacing:.01em !important}
  .card-barrio{font-size:.72rem;letter-spacing:.01em}
  .card-cta{font-size:.72rem;letter-spacing:.01em}
  .p-badge{font-size:.7rem}
}

/* ═══════════════════════════════════════════════════════════════════
   23/9/2026 · Accesibilidad, medido sobre el sitio en vivo
   ═══════════════════════════════════════════════════════════════════ */

/* Las casillas del formulario de contacto eran de 13 px: el tamaño que trae el
   navegador. La etiqueta envuelve al input, así que tocando el texto funciona,
   pero quien apunta al cuadradito falla, y es el paso final de la consulta. */
.p-form input[type="checkbox"],
.p-prose input[type="checkbox"],
#cfAcepto, #quiereVisita{
  width:20px;height:20px;min-width:20px;
  accent-color:var(--gold,#C2A968);
  cursor:pointer;
}

/* Los tres botones de idioma quedaban a una décima de píxel entre sí, por
   debajo del mínimo de 24 px que pide la norma para un objetivo táctil.
   Separación y área de toque, sin cambiar cómo se ven. */
.p-lang{gap:6px !important}
.p-lang button{padding:7px 10px !important;min-width:32px;min-height:32px}

/* El carrusel de edificios de la portada daba el foco a tarjetas que estaban
   fuera de la pantalla: el navegador quería traerlas y el anclaje obligatorio
   se lo impedía. Con anclaje por proximidad el foco arrastra la vista. */
body.p-home .h-track-fotos{scroll-snap-type:x proximity !important}

/* La tira de datos de la ficha ahora recibe foco: que se vea que lo tiene. */
.p-icons:focus-visible{outline:3px solid var(--gold,#C2A968);outline-offset:3px}

/* 23/9/2026 · El cajón "Más filtros" del catálogo tiene fondo blanco (regla body.p-catalogo de arriba) pero heredaba
   los colores del tema oscuro: rótulos de cualidades y amenities en crema al 62 %, botones 1+/2+/3+ crema sobre
   baldosa clara, "Limpiar todo" crema. Un agente que hizo de gestor los vio como cajitas sin texto. Todo en navy. */
body.p-catalogo .p-drawer .checks label,body.p-catalogo .p-drawer .p-note,body.p-catalogo .p-drawer .lnk,body.p-catalogo .p-drawer .x{color:var(--s-navy)}
body.p-catalogo .p-drawer .p-fbtn,body.p-catalogo .p-drawer .p-fsel{background:#fff;border-color:rgba(42,58,82,.22);color:var(--s-navy)}
body.p-catalogo .p-drawer .p-fbtn.on,body.p-catalogo .p-drawer .p-fbtn[aria-pressed="true"]{background:var(--s-navy);border-color:var(--s-navy);color:#fff}
body.p-catalogo .p-drawer .p-fsel::placeholder{color:rgba(42,58,82,.5)}

/* 23/9/2026 · Tres cosas que encontró la auditoría visual de 50 capturas.
   H1: la regla .card-tag.tag-alquiler de arriba (fondo blanco, texto navy con !important, pensada para
   "Propiedades similares" de la ficha) le ganaba el color a las tarjetas del catálogo y la portada, cuyo fondo
   sí es navy: "Alquiler, largo plazo" quedó navy sobre navy. Acá cada contexto recupera su texto claro.
   H2: en el catálogo el número de página activo era blanco sobre crema, porque .p-product .p-pager button
   pisaba el fondo navy de .on sin pisar el color.
   H3: entre 561 y 820 px el catálogo iba a una sola columna con fotos de 400 px (página de casi 10.000 px
   a 768). Dos columnas, como de 821 a 860. */
body.p-catalogo .prop-card .card-tag.tag-alquiler{background:var(--s-navy);color:var(--s-white) !important}
body.p-home .prop-card .card-tag.tag-alquiler{background:var(--h-navy);color:#FBFAF6 !important}
.p-product .p-pager button.on,body.p-catalogo .p-pager button.on{background:var(--navy-deeper);border-color:var(--navy-deeper);color:#fff}
@media(min-width:561px) and (max-width:820px){body.p-catalogo .p-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}

/* ═══════════════════════════════════════════════════════════════════
   25/9/2026 · Auditoría visual del 23/9 (360, 390, 768, 1024 y 1440 px)
   Todo este bloque se agrega al final: pisa las reglas de arriba sin
   desarmarlas. Donde arriba hay !important, acá también, si no no gana.
   ═══════════════════════════════════════════════════════════════════ */

/* 1 · Ningún texto legible por debajo de 12 px. La medición (getComputedStyle sobre todos los nodos de
   texto visibles) encontró el idioma a 9,9 px, las etiquetas de la tarjeta a 9 px, los títulos del pie a
   9,3 px y botones, rótulos y conteos entre 9,6 y 11,8 px. Todo pasa a .75rem; donde la letra crece, el
   espaciado entre letras se acorta un poco para que la composición no se abra. */
/* Idioma, en el header y en el menú del celular */
.p-lang button,.p-lang-movil button,.mobile-menu .p-lang button{font-size:.75rem}
/* Menú de escritorio y botones del header */
.p-nav-principal a{font-size:.75rem}
.p-nav-right .p-btn,.p-nav-right .p-btn-sm,.p-nav-right .p-ghost{font-size:.75rem}
.p-crear-pop .t,.p-nav-menu .p-dd-cuenta .p-dd-ttl{font-size:.75rem;letter-spacing:.01em}
.mobile-menu .m-cta .p-btn,.mobile-menu .m-cta a{font-size:.75rem !important;letter-spacing:.01em}
/* Pie */
.ft-col-ttl{font-size:.75rem;letter-spacing:.01em}
/* Tarjeta de propiedad (catálogo, portada, publicadores, desarrollos) */
.card-tag{font-size:.75rem !important;letter-spacing:.01em !important}
.card-status,.card-img-placeholder{font-size:.75rem}
body.p-catalogo .prop-card .card-barrio,.prop-card .card-barrio{font-size:.75rem;letter-spacing:.01em}
body.p-catalogo .prop-card .card-cta,.prop-card .card-cta{font-size:.75rem;letter-spacing:.01em}
body.p-catalogo .prop-card .card-price small,.p-grid .price-amount small,.prop-card .price-amount small{font-size:.75rem}
body.p-catalogo .prop-card .p-card-pub,.prop-card .p-card-pub,body.p-catalogo .prop-card .p-card-pub b,.prop-card .p-card-pub b{font-size:.75rem}
.p-badge,.prop-card .p-card-pub .p-badge{font-size:.75rem;letter-spacing:.01em}
/* Rótulos en versalita de las bandas y de las páginas */
.p-eyebrow,.p-band .p-eyebrow{font-size:.75rem}
.p-btn-sm{font-size:.75rem}
body .p-login .p-btn-fill{font-size:.75rem}
/* Catálogo: banda, barra de filtros, fila de resultados, popovers y cajón */
.p-catband-eyebrow,.p-catband .p-map-hint{font-size:.75rem}
body.p-catalogo .p-filters .p-fbtn,body.p-catalogo .p-filters .p-fsel,body.p-catalogo .p-plazo-pills button{font-size:.75rem !important;letter-spacing:.01em !important}
body.p-catalogo .p-fchip .p-chip,body.p-catalogo #zonaChips .p-chip,.p-fbtn .cnt{font-size:.75rem}
body.p-catalogo .p-results-count{font-size:.75rem !important}
body.p-catalogo .p-results-head .acts .p-fbtn,body.p-catalogo .p-results-head .acts .p-fsel{font-size:.75rem !important}
.p-pop label,.p-drawer .grp label.t{font-size:.75rem}
/* Portada */
body.p-home .h-eyebrow{font-size:.75rem}
body.p-home .h-hito b{font-size:.75rem}
body.p-home .h-cta,body.p-home .h-btn,body.p-home .h-encaja .h-btn{font-size:.75rem}
body.p-home .h-edif-txt em,body.p-home .h-edificios .h-edif-txt em{font-size:.75rem;letter-spacing:.01em}
body.p-home .h-criterios{font-size:.75rem}
/* Publicadores, Membresía, Legales */
.p-muro .tip{font-size:.75rem;letter-spacing:.01em}
body.p-publicar-landing .p-plan-nota{font-size:.75rem}
body.p-membership .p-toggle button small{font-size:.75rem}
body.p-legales .p-indice-secciones .t{font-size:.75rem}
/* Barrios, Filtros y las pastillas del plazo llevan id o más selectores en las reglas de celular: acá con los mismos */
body.p-catalogo .p-filters #barriosBtn,body.p-catalogo .p-filters #moreBtn,body.p-catalogo .p-filters .p-plazo-pills button{font-size:.75rem !important}

/* 2 · Publicadores. A 768 px la muestra iba en una columna con fotos de 400 px y escondía la tercera
   tarjeta: se veían 2 de 3. Entre 700 y 820 px van las tres, en tres columnas; entre 561 y 699, dos
   columnas con dos tarjetas (tres no entran: el sello del publicador se cortaba); en el celular sigue
   como estaba (una columna, dos tarjetas y el resto en "Ver sus propiedades"). Mientras cargan los
   datos, #pubs lleva el esqueleto del panel y de curación (.p-skel-panel) en lugar de un hueco. */
@media(min-width:561px) and (max-width:699px){body.p-publicadores .p-pub-muestra{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(min-width:700px) and (max-width:820px){
  body.p-publicadores .p-pub-muestra{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  body.p-publicadores .p-pub-muestra .prop-card:nth-child(n+3){display:flex}
  body.p-publicadores .p-pub-muestra .card-body{padding:16px 14px 14px}
}

/* 3 · Membresía a 1024 px. "$149.000 por mes" se partía en dos líneas y los botones de los planes
   quedaban a distintas alturas: la regla de .p-plan .p-btn decía margin-top:auto y enseguida
   margin-top:18px, que la anulaba. El botón vuelve al pie de la tarjeta (las cuatro miden lo mismo
   en la grilla) y el precio va en una línea; entre 1001 y 1180 px, con cuatro columnas angostas,
   la cifra y el aire de la tarjeta se achican un poco para que entre. */
body.p-membership .p-plan ul{margin-bottom:18px}
body.p-membership .p-plan .p-btn{margin-top:auto}
body.p-membership .p-plan-precio{white-space:nowrap}
@media(min-width:1001px) and (max-width:1180px){
  body.p-membership .p-planes{gap:16px}
  body.p-membership .p-plan{padding:24px 20px 22px}
  body.p-membership .p-plan-precio{font-size:1.6rem}
  body.p-membership .p-plan-precio small{font-size:.75rem;margin-left:2px}
}

/* 4 · Desarrollos e Ingresar: .p-page{min-height:70vh} dejaba entre 130 y 550 px vacíos entre el
   contenido y el pie, según el alto de la pantalla. Estas dos páginas miden lo que mide su contenido;
   el pie queda pegado y, si la página es más corta que la pantalla, debajo sigue el navy del html. */
body.p-emprendimientos .p-page,body.p-ingresar .p-page{min-height:0}

/* 5 · Portada entre 900 y 1023 px: las secciones pasaban a escritorio a los 900 px y el header recién a
   los 1024 (con cinco secciones, idioma y dos botones, el menú de escritorio no entra antes). Quedaban
   secciones de escritorio con el menú de celular. El corte de la portada pasa a ser el del header: hasta
   1023 px se ve como en el celular. Acá se repiten, sólo para ese tramo, los valores de las reglas de
   max-width:899px de arriba y se deshacen los de min-width:900px de lo que hoy tiene la portada (hero y
   buscador, el estándar, el carrusel de edificios y la banda de publicar). */
@media(min-width:900px) and (max-width:1023px){
  body.p-home .h-sec{min-height:0;padding:26px 0}
  body.p-home .h-in{padding:0 18px}
  body.p-home .h-eyebrow{margin-bottom:8px;letter-spacing:.07em}
  body.p-home .h-h2{font-size:1.42rem;line-height:1.14;margin-bottom:6px;max-width:19ch}
  body.p-home .h-copy{font-size:.875rem;line-height:1.55;margin-bottom:0}
  /* Hero y buscador */
  body.p-home .h-hero{min-height:100svh;align-items:flex-end;padding:96px 0 30px}
  body.p-home .h-hero-in{text-align:left;max-width:none;padding:0 18px}
  body.p-home .h-hero h1{font-size:1.72rem;line-height:1.14;margin-bottom:6px}
  body.p-home .h-hero-sub{font-size:.9rem;margin-bottom:16px;color:rgba(251,250,246,.86)}
  body.p-home .h-search{grid-template-columns:none;align-items:normal;gap:10px;padding:14px;border-radius:24px}
  body.p-home .h-search .h-seg,body.p-home .h-search .h-field,body.p-home .h-search .h-cta{grid-column:auto;grid-row:auto}
  body.p-home .h-seg{border-radius:8px;padding:3px;gap:3px;background:rgba(251,250,246,.12)}
  body.p-home .h-seg button{flex:1;padding:1px 6px;min-height:44px;border-radius:6px !important;font-size:.78rem}
  body.p-home .h-field input{height:48px;border-radius:8px;font-size:.9rem}
  body.p-home .h-field-lupa input{padding-left:38px}
  body.p-home .h-field-lupa .lupa{left:13px;width:15px;height:15px}
  body.p-home .h-cta{min-height:46px;padding:1px 6px;border-radius:8px !important;letter-spacing:.01em}
  /* El estándar */
  body.p-home .h-estandar{min-height:0;padding:26px 0 28px}
  body.p-home .h-camino{margin-top:12px;padding-bottom:0}
  body.p-home .h-hitos{gap:0 6px}
  body.p-home .h-hito{gap:10px}
  body.p-home .h-hito .pt{width:38px;height:38px;box-shadow:0 0 0 5px var(--h-navy)}
  body.p-home .h-hito .pt svg{width:17px;height:17px}
  body.p-home .h-hito b{line-height:1.18;letter-spacing:0}
  body.p-home .h-criterios{margin-top:16px;position:relative;min-height:0}
  /* Edificios: una fachada casi a todo el ancho y la siguiente asomando, sin flechas */
  body.p-home .h-edificios{gap:12px;padding:16px 18px 6px;scroll-padding-left:18px}
  body.p-home .h-edificios .h-edif{flex-basis:82vw;border-radius:12px}
  body.p-home .h-edificios .h-edif-txt{padding:18px 18px 19px;gap:6px}
  body.p-home .h-edificios .h-edif-txt b{font-size:1.4rem}
  body.p-home #edifCarrusel .h-flecha{display:none}
  body.p-home .h-edif.h-edif-mas .h-mas-ic{width:60px;height:60px;font-size:2rem;border-radius:10px}
  body.p-home .h-edif.h-edif-mas b{font-size:1.3rem}
  body.p-home .h-puntos{margin-top:12px}
  /* Publicar */
  body.p-home .h-encaja{padding:24px 0}
  body.p-home .h-encaja-fila{grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
  body.p-home .h-encaja-txt .h-h2{font-size:1.28rem;max-width:14ch;margin-bottom:5px}
  body.p-home .h-encaja-txt .h-copy{font-size:.875rem;line-height:1.48}
  body.p-home .h-encaja .h-btn{min-height:44px;padding:0 14px;letter-spacing:.01em;text-align:center}
}

/* 9 · Menú de escritorio: suma Publicadores y Cómo seleccionamos, que ya estaban en el panel del celular,
   con el mismo estilo que los otros ítems (ui.js). Con cinco secciones a 12 px, entre 1024 y 1279 px
   la barra no entraba: el menú se montaba sobre el idioma y los botones. En ese tramo se acortan el
   espaciado entre letras, la separación entre ítems y el aire de los botones y del idioma (que sigue
   con 32 px de área táctil). */
@media(min-width:1024px) and (max-width:1279px){
  .p-navbar,body.p-home .p-navbar,body.p-home .navbar{gap:12px}
  .p-nav-principal{gap:14px}
  .p-nav-principal a{letter-spacing:.01em}
  .p-nav-right{gap:10px}
  .p-nav-right .p-btn{padding:0 12px;letter-spacing:.01em}
  .p-nav-right .p-lang{gap:0 !important;margin-right:0}
  .p-nav-right .p-lang button{padding:7px 4px !important}
}
/* Con sesión abierta la barra derecha suma campana, Mis contactos, favoritos y Mi cuenta (casi 600 px):
   ya antes de este cambio se montaba sobre el menú a 1024 px. Con sesión, hasta 1599 px la barra va
   compacta y Mis contactos queda como ícono (el nombre sigue siendo el texto del enlace para el lector
   de pantalla, y la vista también está en Mi cuenta).
   8/10/2026 · Con tres secciones arriba (Membership y Publicadores pasaron al pie) entra todo a 1024 px
   también con sesión: Cómo seleccionamos ya no se esconde. */
@media(min-width:1024px) and (max-width:1599px){
  .p-navbar:has(.p-nav-right .p-nav-menu){gap:12px}
  .p-navbar:has(.p-nav-right .p-nav-menu) .p-nav-principal{gap:14px}
  .p-navbar:has(.p-nav-right .p-nav-menu) .p-nav-principal a{letter-spacing:.01em}
  .p-navbar:has(.p-nav-right .p-nav-menu) .p-nav-right{gap:10px}
  .p-navbar:has(.p-nav-right .p-nav-menu) .p-nav-right .p-lang{gap:0 !important;margin-right:0}
  .p-navbar:has(.p-nav-right .p-nav-menu) .p-nav-right .p-lang button{padding:7px 4px !important}
  .p-nav-right a.p-ghost[href$="#contactos"]{font-size:0;gap:0;letter-spacing:0}
}

/* 6 · Catálogo a 1024 px: la barra de filtros no entraba en una fila y "Filtros" caía solo a la segunda.
   Entre 1024 y 1179 px se achican el margen de la barra, la separación, el aire de cada control y el
   espaciado entre letras, y el buscador puede angostarse hasta 150 px. Todo sigue a 12 px. */
@media(min-width:1024px) and (max-width:1179px){
  body.p-catalogo .p-filters-in{padding-left:16px;padding-right:16px;gap:6px}
  body.p-catalogo .p-filters #zonaBox{flex:1 1 150px;min-width:150px}
  body.p-catalogo .p-filters .p-fbtn,body.p-catalogo .p-filters .p-fsel,body.p-catalogo .p-plazo-pills button{letter-spacing:.01em !important}
  body.p-catalogo .p-filters .p-fbtn{padding:0 10px}
  body.p-catalogo .p-filters .p-fsel{padding:0 26px 0 10px}
  body.p-catalogo .p-plazo-pills{gap:4px}
  body.p-catalogo .p-plazo-pills button{padding:0 8px}
}

/* 7 · La banda del mapa del catálogo: el contenedor del mapa medía 520 px fijos (.p-product
   #mapaResultados, de cuando el mapa era una columna lateral) y el dibujo, que guarda su proporción,
   ocupa 351 px a 1024 y 448 a 1440: quedaban entre 70 y 170 px muertos antes de la leyenda. El
   contenedor mide lo que mide el mapa. */
body.p-catalogo #mapaResultados{height:auto}

/* 8 · El pie, igual en todas las páginas. Las listas iban en dos columnas sólo en la portada (y entre
   780 y 899 px, donde el pie ya reparte sus columnas, la portada partía cada lista otra vez en dos y el
   mail llegaba al borde). Ahora, en todas: dos columnas mientras el pie va en una sola (420 a 779 px),
   una en el resto. */
body.p-home .footer .ft-col ul,.footer .ft-col ul{columns:1}
@media(min-width:420px) and (max-width:779px){
  body.p-home .footer .ft-col ul,.footer .ft-col ul{columns:2;column-gap:18px}
  .footer .ft-col li{break-inside:avoid}
}

/* 10 · Catálogo en el celular: el tipo compartía fila con Amb | Dorm y Precio y a 360 y 390 px le
   quedaban 74 y 84 px para "DEPARTAMENTO" (100 px) o "TODOS LOS TIPOS" (113 px): se leía "DEPARTAMEN".
   Hasta 560 px el tipo va en su propia fila a todo el ancho y Amb | Dorm y Precio comparten la de abajo. */
@media(max-width:560px){
  body.p-catalogo .p-filters #tipoSel{flex:1 1 100% !important}
  body.p-catalogo .p-filters .p-fwrap{flex:1 1 calc(50% - 4px) !important}
}

/* 11 · La ficha, a 12 px. Quedaban en la ficha textos de 9,3 a 11,8 px con selectores propios (la
   medición, sobre todos los nodos de texto visibles y los ::before con texto de tres fichas a 390 y
   1440 px, con el visor, el formulario y los desplegables abiertos): la etiqueta de operación y los
   rótulos del precio del hero, el conteo de fotos, los títulos de sección, los rótulos de la fila de
   cifras, los mosaicos de características, las preguntas rápidas, las filas y botones de la tarjeta
   de contacto, los desplegables del pie de la ficha y el visor. Todo pasa a .75rem; donde la letra
   crece, el espaciado entre letras se acorta, con el mismo criterio que el punto 1. */
/* Hero */
.p-fhero-tag{font-size:.75rem;letter-spacing:.01em}
/* A 360 px "Alquiler, mediano plazo · Reservada" se partía en dos líneas: hasta 400 px, menos espaciado y aire */
@media(max-width:400px){.p-fhero-tag{letter-spacing:.01em;padding-left:10px;padding-right:10px}}
.p-fhero-price-lbl{font-size:.75rem;letter-spacing:.01em}
.p-fhero-price-mo{font-size:.75rem;letter-spacing:.01em}
.p-fhero .cts span{font-size:.75rem}
/* Títulos de sección y "Propiedades similares" */
.p-ficha .p-sec-t,body.p-ficha-page .p-head-row .p-h2{font-size:.75rem;letter-spacing:.01em}
/* Fila de cifras */
.p-ficha .p-icons small{font-size:.75rem;letter-spacing:.01em}
/* Descripción, mosaicos, preguntas, desplegables y línea de publicación */
.p-ficha .p-more{font-size:.75rem;letter-spacing:.01em}
.p-amen-grid .amenity-name{font-size:.75rem;letter-spacing:.01em}
.p-ficha .p-quick button{font-size:.75rem;letter-spacing:.01em}
.p-report-min summary,.p-legal-min summary{font-size:.75rem;letter-spacing:.01em}
.p-ficha .p-meta-line{font-size:.75rem}
/* Tarjeta de contacto */
.p-ficha .p-cta-price::before{font-size:.75rem;letter-spacing:.01em}
.p-ficha .p-cta-price small{font-size:.75rem;letter-spacing:.01em}
.p-ficha .ac-lbl{font-size:.75rem;letter-spacing:.01em}
.p-ficha .p-cta-pub .lbl{font-size:.75rem;letter-spacing:.01em}
.p-ficha .p-cta-verif{font-size:.75rem}
.p-ficha .p-cta .p-btn-fill,.p-product .p-ficha .p-cta .p-btn-fill{font-size:.75rem;letter-spacing:.01em}
.p-ficha .p-cta .p-btn:not(.p-btn-fill){font-size:.75rem;letter-spacing:.01em}
.p-ficha .p-ac-link{font-size:.75rem;letter-spacing:.01em}
.p-alerta{font-size:.75rem;letter-spacing:.01em}
.p-ficha .p-cta-foot{font-size:.75rem;letter-spacing:.01em}
/* Barra de contacto del celular y visor de fotos */
.p-mcta-price small{font-size:.75rem}
.p-lb .x{font-size:.75rem;letter-spacing:.01em}
.p-lb .cuenta{font-size:.75rem;letter-spacing:.01em}

/* 12 · Catálogo entre 821 y 1023 px: la barra de filtros ocupaba 6 filas (268 px). Las reglas de hasta
   1023 px (.p-filters-in .p-fsel y .p-fbtn a width:100%) son de la grilla del celular, y con la barra en
   flex estiraban el tipo, Barrios y Filtros a todo el ancho, cada uno en su fila. En este tramo la barra
   va en dos filas: arriba lo de dónde y qué operación (buscador, Barrios, operación y plazo), abajo lo
   que afina (tipo, Amb | Dorm, Precio) y Filtros al final. El salto lo da un ::after a todo el ancho;
   la separación entre filas va como margen de la segunda, así el salto no suma un hueco. Hasta 900 px
   los controles miden 44 px (objetivo táctil de las reglas de arriba): el buscador y el plazo también. */
@media(min-width:821px) and (max-width:1023px){
  body.p-catalogo .p-filters-in{row-gap:0}
  body.p-catalogo .p-filters-in::after{content:'';order:5;flex:0 0 100%;height:0}
  body.p-catalogo .p-filters .p-fsel,body.p-catalogo .p-filters .p-fbtn{width:auto}
  body.p-catalogo .p-filters #zonaBox{order:1;flex:1 1 200px;min-width:160px}
  body.p-catalogo .p-filters #barriosBtn{order:2}
  body.p-catalogo .p-filters #opSel{order:3}
  body.p-catalogo .p-filters .p-plazo-pills{order:4}
  body.p-catalogo .p-filters #tipoSel{order:6}
  body.p-catalogo .p-filters .p-fwrap{order:7}
  body.p-catalogo .p-filters #moreBtn{order:8;margin-left:auto}
  body.p-catalogo .p-filters #tipoSel,body.p-catalogo .p-filters .p-fwrap,body.p-catalogo .p-filters #moreBtn{margin-top:8px}
}
@media(min-width:821px) and (max-width:900px){
  body.p-catalogo .p-filters #zonaBox{height:44px;min-height:44px}
  body.p-catalogo .p-plazo-pills button{height:44px}
}
/* Desde 1024 px, con un filtro de texto largo ("2+ amb. · 1+ dorm.") Filtros caía solo a la segunda fila
   (a 1024 y también a 1180, 1280 y 1440): el buscador pedía 150 o 200 px antes de partir la fila. Ahora
   pide 120 px (110 entre 1024 y 1179) y crece con lo que sobra. */
@media(min-width:1024px){
  body.p-catalogo .p-filters #zonaBox{flex:1 1 120px;min-width:120px}
}
@media(min-width:1024px) and (max-width:1179px){
  body.p-catalogo .p-filters #zonaBox{flex-basis:110px;min-width:110px}
}
/* Con un barrio elegido, a 1024 px el campo de texto (80 px mínimo) se salía del buscador y quedaba
   debajo de la operación; con el filtro largo, también la pastilla del barrio. Con pastilla, el buscador
   pide 160 px y el campo se achica a lo que quede. Y el cuadro de Precio abría hacia la derecha desde el
   botón: entre 1024 y unos 1180 px se salía de la pantalla y la página se corría de costado. Abre hacia
   la izquierda, alineado con el borde derecho del botón. */
@media(min-width:1024px){
  body.p-catalogo .p-filters #zonaBox:has(.p-chip){min-width:160px}
  body.p-catalogo #zonaBox:has(.p-chip) input{min-width:0}
  body.p-catalogo .p-filters #precioPop{left:auto;right:0}
}

/* ══ 8/10/2026 · Lanzamiento (lo que ve el visitante) ════════════════════════
   Precio con moneda: en el filtro de precio del catálogo se elige USD o pesos
   (sólo donde puede haber pesos: alquiler tradicional o todas las operaciones). */
.p-mon[hidden]{display:none !important}
.p-pop .p-mon{margin:0 0 6px}
/* Pantalla de carga con tope: a los 1,5 s de pintarse deja de verse aunque ningún script haya llegado
   (ui.js la suelta antes cuando hay contenido, y a los 1050 ms como máximo). Igual con movimiento reducido,
   sin la caída. */
html.cargando .p-velo{animation:p-velo-tope .35s cubic-bezier(.22,1,.36,1) 1.15s forwards}
@keyframes p-velo-tope{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){html.cargando .p-velo{animation:p-velo-tope 0s linear 1.5s forwards}}
/* Ficha: con WhatsApp, las preguntas rápidas son enlaces que abren la charla; mismo aspecto que los botones */
.p-ficha .p-quick a{display:inline-flex;align-items:center;min-height:44px;border:1px solid rgba(42,58,82,.25);background:transparent;color:var(--s-navy,#2A3A52);font:500 .8125rem/1.2 var(--font-body);letter-spacing:.01em;text-transform:none;padding:10px 12px;text-decoration:none;transition:background-color .2s cubic-bezier(.22,1,.36,1),color .2s cubic-bezier(.22,1,.36,1)}
.p-ficha .p-quick a:focus-visible{background:var(--navy-deeper);border-color:var(--navy-deeper);color:#FBFAF6}@media(hover:hover) and (pointer:fine){.p-ficha .p-quick a:hover{background:var(--navy-deeper);border-color:var(--navy-deeper);color:#FBFAF6}}
.p-ficha .p-qrow a.p-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.p-ficha .p-qrow a.p-btn svg{width:16px;height:16px;flex:0 0 auto}
/* Barra fija del celular: precio en dos líneas, Consultar como secundario (contorno) y WhatsApp como principal */
@media(max-width:900px){
  .p-mcta{gap:8px}
  .p-mcta-price{line-height:1.15}
  .p-mcta-price small{display:block;margin-top:2px}
  .p-mcta .p-btn{padding:0 12px;letter-spacing:.01em;white-space:nowrap}
  .p-mcta .p-mcta-sec{background:transparent;border-color:rgba(251,250,246,.35);color:#FBFAF6}
  .p-mcta .p-mcta-wa,.p-mcta .p-btn-fill{display:inline-flex;align-items:center;gap:8px;background:var(--gold,#C2A968);border-color:var(--gold,#C2A968);color:var(--navy-deeper)}
  .p-mcta .p-btn-fill svg{width:16px;height:16px;flex:0 0 auto}
  .p-mcta .p-mcta-wa svg{width:17px;height:17px;flex:0 0 auto}
}
/* La confirmación de la consulta: "Seguir por WhatsApp" se leía oro sobre blanco; va en navy con el borde de oro */
.p-ficha .p-form-ok .p-btn{color:var(--navy-deeper);border-color:var(--gold,#C2A968)}
/* Catálogo en el celular (hasta 820 px): una sola fila, la operación con su plazo y Filtros con el número de
   filtros activos. Todo lo demás (búsqueda, barrios, tipo, ambientes, precio y los filtros finos) va en la hoja
   que sube desde abajo, con "Ver N propiedades" al pie. En la compu la barra queda como estaba. */
#opSelM,.p-drawer .p-solo-cel{display:none}
.p-zonas-m{display:flex;flex-wrap:wrap;gap:6px}
.p-zonas-m .p-fbtn small{margin-left:6px;font-size:.75rem;letter-spacing:0;opacity:.7}
@media(max-width:820px){
  body.p-catalogo .p-filters-in{flex-wrap:nowrap !important;align-items:center;gap:8px;padding:10px 16px !important}
  body.p-catalogo .p-filters #zonaBox,body.p-catalogo .p-filters #barriosBtn,body.p-catalogo .p-filters #opSel,
  body.p-catalogo .p-filters .p-plazo-pills,body.p-catalogo .p-filters #tipoSel,body.p-catalogo .p-filters .p-fwrap{display:none !important}
  body.p-catalogo .p-filters #opSelM{display:block !important;order:1 !important;flex:1 1 auto !important;width:auto !important;min-width:0;max-width:none !important;text-overflow:ellipsis}
  body.p-catalogo .p-filters #opSelM{letter-spacing:.01em !important;padding-right:24px !important}
  body.p-catalogo .p-filters #moreBtn{order:2 !important;flex:0 0 auto !important;width:auto !important;padding:0 12px !important;gap:8px}
  body.p-catalogo .p-filters #moreBtn:has(.cnt:not([hidden])) svg{display:none}
  .p-drawer .p-solo-cel{display:block}
  .p-drawer .panel input,.p-drawer .panel select{min-width:0;max-width:100%}   /* Superficie "Hasta" se salía de la hoja */
  /* La hoja: sube desde abajo, ocupa el ancho y deja ver un poco de la página arriba */
  .p-drawer .panel{top:auto;left:0;right:0;bottom:0;width:100%;max-height:calc(100dvh - 56px);padding:22px 20px 100px;border-top:1px solid var(--gold,#C2A968);box-shadow:0 -20px 50px rgba(10,14,22,.28);animation:p-hoja-sube .32s cubic-bezier(.22,1,.36,1)}
  .p-drawer .foot{left:0;right:0;width:100%;padding:12px 20px calc(12px + env(safe-area-inset-bottom))}
  .p-drawer .foot #applyDrawer{flex:1 1 auto;justify-content:center}
}
@keyframes p-hoja-sube{from{transform:translateY(100%)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.p-drawer .panel{animation:none !important}}
/* Portada: "Lo último que entró", después del buscador. En el celular, un riel que se desliza; en la compu,
   cuatro por fila. La tarjeta es la del catálogo, angular y sin sombra (las reglas viejas de la portada la
   redondeaban). */
body.p-home .h-ultimos{min-height:0;padding:clamp(28px,6vw,72px) 0}
body.p-home .h-ultimos[hidden]{display:none}
body.p-home .h-ultimos-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
body.p-home .h-ultimos-head .h-h2{margin:0}
body.p-home .h-ultimos-head .h-link{flex:0 0 auto;padding:12px 0;white-space:nowrap}
body.p-home .h-ultimos-riel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:18px 18px 6px;scroll-padding-left:18px;scrollbar-width:none;overscroll-behavior-x:contain}
body.p-home .h-ultimos-riel::-webkit-scrollbar{display:none}
body.p-home .h-ultimos-riel > *{flex:0 0 80vw;max-width:330px;min-width:0;scroll-snap-align:start}
body.p-home .h-ult-esq{display:block;aspect-ratio:4/5;background:#EEE9DD}
@media(min-width:900px){
  body.p-home .h-ultimos-riel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;overflow:visible;max-width:1180px;margin:0 auto;padding:30px 24px 8px;box-sizing:border-box}
  body.p-home .h-ultimos-riel > *{max-width:none}
}
body.p-home .h-ultimos .prop-card{box-shadow:none;border:1px solid rgba(42,58,82,.07);background:#fff;color:var(--s-navy)}
body.p-home .h-ultimos .prop-card .card-img{background:var(--s-navy)}
body.p-home .h-ultimos .prop-card .card-tag{font:500 .8125rem/1.2 var(--font-body);letter-spacing:.01em;text-transform:none;padding:5px 11px;background:var(--s-navy);color:var(--s-white)}
body.p-home .h-ultimos .prop-card .card-tag.tag-venta{background:var(--s-gold);color:var(--s-navy)}
body.p-home .h-ultimos .prop-card .card-address{font-family:var(--font-display);font-weight:400;font-size:1.15rem;color:var(--s-navy);line-height:1.25}
body.p-home .h-ultimos .prop-card .card-barrio{font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-gold-dark);margin:6px 0 12px}
body.p-home .h-ultimos .prop-card .card-meta{font-size:.78rem;color:var(--s-mid);margin-bottom:14px;font-weight:300}
body.p-home .h-ultimos .prop-card .card-divider{border-top:1px solid rgba(42,58,82,.1);margin-bottom:14px}
body.p-home .h-ultimos .prop-card .card-footer{flex-wrap:wrap;gap:8px}
body.p-home .h-ultimos .prop-card .card-price{font-family:var(--font-display);font-size:1.3rem;color:var(--s-navy);font-weight:400}
body.p-home .h-ultimos .prop-card .card-price small{display:block;font:300 .75rem/1.2 var(--font-body);color:var(--s-mid);margin-top:3px}
body.p-home .h-ultimos .prop-card .card-cta{border:1px solid rgba(42,58,82,.25);padding:9px 14px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--s-navy);background:transparent}
body.p-home .h-ultimos .prop-card .card-tag{letter-spacing:.01em;padding:5px 9px}
body.p-home .h-ultimos .prop-card .p-card-pub .p-badge{color:var(--s-navy);border-color:rgba(42,58,82,.22);background:transparent}

/* ══ 8/10/2026 · Tanda 2 · Lo que ve el visitante: menos texto, más foto, como una app ══════════════════
   Tomás vio la vista previa y dijo "veo demasiados textos y muchas cosas". La referencia es la sencillez,
   no otra estética: acá sigue el navy, el oro, el papel crema, Playfair y Jost, esquinas rectas.
   Ningún texto por debajo de 12 px (.75rem). */

/* ── La tarjeta: calle chica, título humano, precio y datos, quién publica. Toda la tarjeta es un enlace. ── */
.prop-card.p-tj{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(42,58,82,.08);color:#131D2D;overflow:hidden;cursor:default;margin:0}
.p-tj .tj-link{flex:1 1 auto;display:flex;flex-direction:column;color:inherit;text-decoration:none;min-width:0}
.p-tj .tj-link:focus-visible{outline:2px solid var(--gold,#C2A968);outline-offset:-2px}
.p-tj .tj-foto{position:relative;display:block;aspect-ratio:4/3;background:#2A3A52;overflow:hidden}
.p-tj .tj-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.p-tj:hover .tj-foto img{transform:scale(1.035)}}
.p-tj .tj-sinfoto{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:rgba(222,205,160,.7)}
.p-tj .tj-tag{position:absolute;left:12px;top:12px;z-index:1;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;padding:7px 10px;background:#FBFAF6;color:#131D2D}
.p-tj .tj-tag.tj-venta{background:var(--gold,#C2A968);color:#131D2D}
.p-tj .tj-tag.tj-mediano{background:#131D2D;color:#FBFAF6}
.p-tj .tj-tag.res{background:rgba(19,29,45,.82);color:#FBFAF6}
.p-tj .tj-desde{position:absolute;left:12px;bottom:12px;z-index:1;font:500 .75rem/1 var(--font-body);letter-spacing:.01em;padding:7px 10px;background:rgba(251,250,246,.94);color:#131D2D}
.p-tj .tj-cuerpo{flex:1 1 auto;display:flex;flex-direction:column;gap:5px;padding:16px 18px 18px}
.p-tj .tj-calle{font:500 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:#8A7547;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-tj .tj-titulo{font:400 1.2rem/1.25 var(--font-display);color:#131D2D}
.p-tj .tj-fila{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(42,58,82,.1)}
.p-tj .tj-cuerpo .tj-titulo + .tj-fila{margin-top:10px}
.p-tj .tj-precio{font:400 1.3rem/1.15 var(--font-display);color:#131D2D;white-space:nowrap}
.p-tj .tj-precio small{font:300 .8rem/1 var(--font-body);color:#6B7589;margin-left:3px}
.p-tj .tj-meta{font:300 .8rem/1.3 var(--font-body);color:#565E6E;white-space:nowrap}
.p-tj .tj-pub{font:300 .75rem/1.4 var(--font-body);color:#6B7589;margin-top:4px}
.p-tj .tj-pub b{font-weight:500;color:#2A3A52}
.p-verif{display:inline-flex;vertical-align:-1px;margin-left:3px;color:#8A7547}
.p-verif svg{width:12px;height:12px;stroke-width:2}
.p-tj .tj-fav{position:absolute;top:8px;right:8px;z-index:2;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:rgba(251,250,246,.92);color:#131D2D;cursor:pointer;transition:color .2s,background .2s}
.p-tj .tj-fav svg{width:19px;height:19px}
@media(hover:hover) and (pointer:fine){.p-tj .tj-fav:hover{background:#FBFAF6}}
.p-tj .tj-fav.on{color:#B3423C}
.p-tj .tj-fav:focus-visible{outline:2px solid var(--gold,#C2A968);outline-offset:2px}
/* En la portada, el riel de "Lo último que entró" ya da el ancho */
body.p-home .h-ultimos .prop-card.p-tj{border:1px solid rgba(42,58,82,.08)}

/* ── La ficha, en este orden: volver, foto, título y calle, cuatro números, descripción, condiciones,
   ubicación, precio con dos botones, quién publica, similares y un renglón chico al final. ── */
body.p-ficha-page .p-fvolver{max-width:var(--p-max,1200px);margin:0 auto;padding:calc(64px + env(safe-area-inset-top) + 6px) 24px 6px;box-sizing:border-box}
body.p-ficha-page .p-fvolver a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:#2A3A52;text-decoration:none}
body.p-ficha-page .p-fvolver a svg{width:16px;height:16px;transform:rotate(180deg);color:#8A7547}
@media(hover:hover) and (pointer:fine){body.p-ficha-page .p-fvolver a:hover{color:#131D2D}}
body.p-ficha-page .p-fhero.p-fhero-solo{height:min(62vh,640px);min-height:420px;max-width:var(--p-max,1200px);margin:0 auto;display:block}
body.p-ficha-page .p-fcont{position:absolute;right:12px;bottom:12px;z-index:2;font:500 .75rem/1 var(--font-body);letter-spacing:.01em;padding:7px 10px;background:rgba(19,29,45,.72);color:#FBFAF6;pointer-events:none;font-variant-numeric:tabular-nums lining-nums}
body.p-ficha-page .p-strip{max-width:var(--p-max,1200px);margin:0 auto;box-sizing:border-box;padding:12px 0;background:transparent;border:0}
body.p-ficha-page .p-ficha.p-ficha2{max-width:var(--p-max,1200px);margin:0 auto;padding:22px 24px 40px;grid-template-columns:minmax(0,1fr) 360px;gap:48px;box-sizing:border-box}
.p-ficha2 .p-ficha-main{background:transparent;padding:0}
.p-ficha2 .p-ficha-main>*+*{margin-top:24px}
.p-ficha2 .p-ficha-main>*{max-width:none}
.p-ficha2 .p-ficha-head{display:grid;gap:6px}
.p-ficha2 .p-fop{margin:0;font:500 .8125rem/1.2 var(--font-body);letter-spacing:.01em;text-transform:none;color:#8A7547}
.p-ficha2 .p-fh-fila{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.p-product .p-ficha2 h1.p-ftit,.p-ficha2 .p-ftit{margin:0;font:400 clamp(1.7rem,3vw,2.4rem)/1.15 var(--font-display);color:#131D2D;letter-spacing:0}
.p-ficha2 .p-fh-acts{display:flex;gap:8px;flex:0 0 auto}
.p-ficha2 .p-fh-acts .p-icon-btn{width:44px;height:44px;border:1px solid rgba(42,58,82,.2);background:transparent;color:#131D2D}
.p-ficha2 .p-fh-acts .p-icon-btn.on{color:#B3423C;border-color:rgba(179,66,60,.5)}
.p-ficha2 .p-fcalle{margin:0;display:flex;align-items:center;gap:6px;font:300 .95rem/1.3 var(--font-body);color:#565E6E}
.p-ficha2 .p-fcalle svg{width:16px;height:16px;flex:0 0 auto;color:#8A7547}
.p-ficha2 .p-fdesde{margin:2px 0 0;font:500 .85rem/1.3 var(--font-body);color:#8A7547}
.p-ficha2 .p-reservada{margin:4px 0 0;font:400 .9rem/1.4 var(--font-body);color:#7E2B26;background:none;border:0;padding:0}
/* Cuatro números grandes */
.p-ficha2 .p-fnums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 0;padding:18px 0;border-top:1px solid rgba(42,58,82,.12);border-bottom:1px solid rgba(42,58,82,.12)}
.p-ficha2 .p-fnums>div{display:flex;flex-direction:column-reverse;gap:6px;padding:4px 14px;border-left:1px solid rgba(42,58,82,.1);min-width:0}
.p-ficha2 .p-fnums>div:first-child{border-left:0;padding-left:0}
.p-ficha2 .p-fnums dd{margin:0;font:400 1.65rem/1.1 var(--font-display);color:#131D2D;white-space:nowrap}
.p-ficha2 .p-fnums dt{font:500 .8125rem/1.2 var(--font-body);letter-spacing:.01em;text-transform:none;color:#6B7589}
/* Descripción con "Leer más" */
.p-ficha2 #desc{border-top:0;padding-top:0;margin:0;font:400 1.05rem/1.7 var(--font-display);color:#2A3A52;white-space:pre-line}
.p-ficha2 #desc.clamp{-webkit-line-clamp:5}
.p-ficha2 .p-more{min-height:44px;padding:0;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:#8A7547;text-decoration:none;border-bottom:0}
.p-ficha2 .p-sec-t{margin:0 0 12px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:#8A7547}
/* Condiciones */
.p-ficha2 .p-ftiene{margin:0;font:300 1rem/1.6 var(--font-body);color:#2A3A52}
.p-ficha2 .p-fcond{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.p-ficha2 .p-fcond li{position:relative;padding-left:20px;font:300 1rem/1.45 var(--font-body);color:#2A3A52}
.p-ficha2 .p-fcond li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:1px;background:var(--gold,#C2A968)}
/* Ubicación: mientras el mapa no llega, un papel con el alfiler (nunca un recuadro vacío) */
.p-ficha2 .p-map-wrap{position:relative;background:#EEE9DD;border:1px solid rgba(42,58,82,.1)}
.p-ficha2 .p-map-wrap>svg{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;color:#8A7547;opacity:.6}
.p-ficha2 .p-map-wrap iframe{position:relative;z-index:1;height:300px;opacity:0;transition:opacity .4s}
.p-ficha2 .p-map-wrap iframe.ok{opacity:1}
/* La caja del precio */
.p-ficha2 .p-side{position:sticky;top:84px;display:grid;gap:14px;align-self:start}
body.p-ficha-page .p-ficha2 .p-cta{display:grid;gap:10px;padding:0 18px 18px;background:#fff;border:1px solid rgba(42,58,82,.12);box-shadow:none}
body.p-ficha-page .p-ficha2 .p-cta-price{margin:0 -18px 8px;padding:22px 18px 20px;background:#131D2D;color:var(--gold,#C2A968);font:400 2.2rem/1 var(--font-display);display:flex;flex-direction:column;align-items:flex-start;gap:10px}
body.p-ficha-page .p-ficha2 .p-cta-price::before{content:none;display:none}
body.p-ficha-page .p-ficha2 .p-cta-price small{margin:0;font:300 .85rem/1.3 var(--font-body);letter-spacing:.01em;color:rgba(251,250,246,.72)}
body.p-ficha-page .p-ficha2 .p-cta-price .p-cta-res{font:500 1rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:#DECDA0}
body.p-ficha-page .p-ficha2 .p-cta .p-btn{width:100%;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:0}
body.p-ficha-page .p-ficha2 .p-cta .p-btn svg{width:18px;height:18px;flex:0 0 auto}
body.p-ficha-page .p-ficha2 .p-cta .p-cta-wa,body.p-ficha-page .p-ficha2 .p-cta .p-btn-fill{background:var(--gold,#C2A968);border-color:var(--gold,#C2A968);color:#131D2D}
@media(hover:hover) and (pointer:fine){body.p-ficha-page .p-ficha2 .p-cta .p-cta-wa:hover,body.p-ficha-page .p-ficha2 .p-cta .p-btn-fill:hover{background:#D4BE84;border-color:#D4BE84;color:#131D2D}}
body.p-ficha-page .p-ficha2 .p-cta .p-cta-sec{background:transparent;border:1px solid rgba(19,29,45,.32);color:#131D2D}
@media(hover:hover) and (pointer:fine){body.p-ficha-page .p-ficha2 .p-cta .p-cta-sec:hover{background:#131D2D;border-color:#131D2D;color:#FBFAF6}}
body.p-ficha-page .p-ficha2 .p-cta .p-link{justify-self:start;color:#131D2D}
body.p-ficha-page .p-ficha2 .p-cta .p-sincontacto-box{margin:0;font:300 .9rem/1.4 var(--font-body);color:#565E6E}
.p-ficha2 .p-fpub{margin:0;font:300 .85rem/1.45 var(--font-body);color:#6B7589}
.p-ficha2 .p-fpub a{color:#565E6E;text-decoration:none;border-bottom:1px solid rgba(194,169,104,.6)}
@media(hover:hover) and (pointer:fine){.p-ficha2 .p-fpub a:hover{color:#131D2D}}
.p-ficha2 .p-fpub b{font-weight:500;color:#2A3A52}
/* Similares y el último renglón */
body.p-ficha-page .p-fsim{max-width:var(--p-max,1200px);margin:0 auto;padding:8px 24px 40px;box-sizing:border-box}
body.p-ficha-page .p-fsim .p-head-row{margin-bottom:16px;align-items:center}
body.p-ficha-page .p-fsim .p-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.p-ficha-page .p-fpie{display:flex;justify-content:center;align-items:center;gap:6px;margin:32px 0 0;font:300 .75rem/1 var(--font-body);color:#6B7589}
body.p-ficha-page .p-fpie button{min-height:44px;padding:0 4px;background:none;border:0;font:300 .75rem/1 var(--font-body);color:#6B7589;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(107,117,137,.4)}
body.p-ficha-page .p-fpie button[aria-expanded="true"]{color:#131D2D}
body.p-ficha-page .p-fpliego{max-width:640px;margin:8px auto 0;font:300 .8rem/1.5 var(--font-body);color:#565E6E;text-align:center}
body.p-ficha-page .p-fpliego .chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
body.p-ficha-page .p-fpliego .chips button{min-height:44px;padding:0 14px;background:transparent;border:1px solid rgba(42,58,82,.25);font:500 .75rem/1 var(--font-body);letter-spacing:.01em;color:#131D2D;cursor:pointer}
body.p-ficha-page .p-fpliego .chips button:disabled{opacity:.55;cursor:default}
body.p-ficha-page .p-fpliego .p-note{margin:10px 0 0}
body.p-ficha-page .p-fpliego .p-note a{color:#2A3A52;text-decoration:underline}
body.p-ficha-page .p-legal-txt p{margin:0 0 8px;text-align:left}
@media(max-width:1023px){
  body.p-ficha-page .p-ficha.p-ficha2{grid-template-columns:minmax(0,1fr);gap:28px}
  .p-ficha2 .p-side{position:static}
}
@media(max-width:859px){
  body.p-ficha-page .p-fvolver{padding-left:16px;padding-right:16px;padding-bottom:2px}
  body.p-ficha-page .p-fhero.p-fhero-solo{height:auto;min-height:0;aspect-ratio:4/3}
  body.p-ficha-page .p-strip{display:none}
  body.p-ficha-page .p-ficha.p-ficha2{padding:18px 16px 28px}
  .p-ficha2 .p-fnums{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px;margin-top:20px}
  .p-ficha2 .p-fnums>div{padding:2px 0 2px 16px}
  .p-ficha2 .p-fnums>div:nth-child(odd){border-left:0;padding-left:0}
  .p-ficha2 .p-fnums dd{font-size:1.5rem}
  .p-ficha2 .p-map-wrap iframe{height:220px}
  body.p-ficha-page .p-fsim{padding:0 16px 24px}
  body.p-ficha-page .p-fsim .p-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  body.p-ficha-page .p-fpie{margin-top:20px}
}

/* ── El pie: una columna corta de enlaces y el ©. En la compu, la misma lista en una fila. ── */
.footer.p-pie2{display:block;padding:40px 24px 32px;border-top:1px solid rgba(194,169,104,.25)}
.p-pie2 .p-pie-links{list-style:none;margin:0 auto;padding:0;max-width:1180px;display:flex;flex-direction:column;gap:2px}
.p-pie2 .p-pie-links a{display:inline-flex;align-items:center;min-height:40px;font:300 .9rem/1.2 var(--font-body);letter-spacing:.02em;color:rgba(251,250,246,.78);text-decoration:none}
.p-pie2 .p-pie-links a:focus-visible{color:#DECDA0}@media(hover:hover) and (pointer:fine){.p-pie2 .p-pie-links a:hover{color:#DECDA0}}
.p-pie2 .p-pie-copy{max-width:1180px;margin:20px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font:300 .75rem/1 var(--font-body);letter-spacing:.01em;color:rgba(251,250,246,.55)}
@media(min-width:860px){
  .footer.p-pie2{padding:36px 24px 28px}
  .p-pie2 .p-pie-links{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px 28px}
  .p-pie2 .p-pie-copy{text-align:center}
}

/* ── La barra de abajo (celular): Inicio, Buscar, Guardados, Cuenta ── */
.p-tabbar{display:none}
@media(max-width:859px){
  .p-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;top:auto;z-index:990;height:auto;
    padding:0 0 env(safe-area-inset-bottom);background:#131D2D;border-top:1px solid rgba(194,169,104,.45);box-shadow:0 -8px 24px rgba(10,14,22,.18)}
  .p-tabbar a{height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:rgba(251,250,246,.62);text-decoration:none;
    font:400 .75rem/1 var(--font-body);letter-spacing:.01em;-webkit-tap-highlight-color:transparent;transition:color .2s}
  .p-tabbar a svg{width:22px;height:22px;stroke-width:1.3}
  .p-tabbar a.on{color:var(--gold,#C2A968)}
  .p-tabbar a:focus-visible{outline:2px solid var(--gold,#C2A968);outline-offset:-4px}
  /* 8/10/2026 · El aire para la barra de abajo va como un tramo navy al final de la página, a continuación del pie, y no
     como relleno del body (que tomaba el crema de la página: al bajar del todo en el celular se veía una franja clara) */
  html.con-tabbar body{padding-bottom:0}
  html.con-tabbar body::after{content:"";display:block;height:calc(56px + env(safe-area-inset-bottom));background:#131D2D}
  html.con-tabbar .p-toast{bottom:calc(68px + env(safe-area-inset-bottom))}
  html.con-tabbar .p-demo-banner{bottom:calc(68px + env(safe-area-inset-bottom))}
  /* La portada: el buscador entero arriba de la barra */
  html.con-tabbar body.p-home .h-hero{min-height:calc(100svh - 56px - env(safe-area-inset-bottom))}
  /* El menú de arriba: sólo lo que no está en la barra, y el idioma adentro (no en el header) */
  html.con-tabbar .mobile-menu .m-sin-tabbar{display:none !important}
  html.con-tabbar .p-navbar > .p-lang-movil{display:none !important}
  html.con-tabbar .mobile-menu .m-lang{display:inline-flex}
}
.mobile-menu .m-lang{display:none;gap:4px;margin:20px 0 0}
.mobile-menu .m-lang button{min-width:44px;min-height:44px;font:500 .75rem/1 var(--font-body);letter-spacing:.01em;color:rgba(251,250,246,.62);background:none;border:0;border-bottom:1px solid transparent;cursor:pointer}
.mobile-menu .m-lang button.on{color:#FBFAF6;border-bottom-color:var(--gold,#C2A968)}
@media(prefers-reduced-motion:reduce){.p-tabbar a{transition:none}}

/* ══ lanz3-visitante · 8/10/2026 · Arreglos de la simulación de visitantes (lo que ve quien busca) ══════════ */

/* Portada: Publicar a la vista en el header del celular, sin abrir el menú */
.p-navbar > .p-pub-movil{display:none}
@media(max-width:1023px){
  body.p-home .p-navbar > .p-pub-movil{display:inline-flex;grid-column:2;grid-row:1;justify-self:end;align-items:center;min-height:44px;padding:0 4px;
    font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--gold,#C2A968);text-decoration:none;border:0;background:none}
  body.p-home .p-navbar > .p-pub-movil:focus-visible{outline:2px solid var(--gold,#C2A968);outline-offset:2px}
}
/* Portada: en el celular las sugerencias empujan "Ver propiedades" hacia abajo en vez de taparlo */
@media(max-width:1023px){
  body.p-home .h-field .p-sugg{position:static;margin-top:8px;max-height:min(240px,34svh);overflow:auto;overscroll-behavior:contain}
  body.p-home .h-field .p-sugg button{min-height:46px}
  body.p-home .h-field-lupa .lupa{top:24px}   /* el campo mide 48 px: la lupa queda en el campo aunque la lista crezca abajo */
}

/* El error de una casilla ("Acepto…") va debajo del rótulo, a la altura de la casilla, sin aplastar el texto */
.p-err-campo.p-err-casilla{margin:-2px 0 12px;padding-left:0}

/* Catálogo: el filtro de quien publica, con su cruz */
.p-filtro-pub{display:flex;flex-wrap:wrap;gap:8px;padding:14px 28px 0}
.p-filtro-pub[hidden]{display:none}
.p-filtro-pub .p-chip{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 4px 0 14px;background:#131D2D;color:#FBFAF6;font:400 .85rem/1.2 var(--font-body);border-radius:0}
.p-filtro-pub .p-chip button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-4px -4px -4px 0;padding:0;background:none;border:0;color:#DECDA0;font:300 1.3rem/1 var(--font-body);cursor:pointer}
.p-filtro-pub .p-chip button:focus-visible{color:#FBFAF6}@media(hover:hover) and (pointer:fine){.p-filtro-pub .p-chip button:hover{color:#FBFAF6}}
/* Catálogo: la alerta creada sin cuenta. Una línea y el botón para ingresar */
.p-alerta-cuenta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 14px;margin:0;padding:10px 28px;background:#F4F0E6;border-bottom:1px solid rgba(42,58,82,.08);font:300 .85rem/1.4 var(--font-body);color:#2A3A52}
.p-alerta-cuenta[hidden]{display:none}
.p-alerta-cuenta .p-btn{min-height:40px;display:inline-flex;align-items:center;padding:0 18px;background:var(--gold,#C2A968);border-color:var(--gold,#C2A968);color:#131D2D}
/* Catálogo: la campana lleva palabra. En la compu, "Crear alerta"; en el celular, "Alerta" */
body.p-catalogo #alertBtn .t-m{display:none}
@media(max-width:820px){
  body.p-catalogo .p-results-head .acts #alertBtn{width:auto !important;padding:0 10px !important;gap:6px}
  body.p-catalogo #alertBtn .t-m{display:inline}
  .p-filtro-pub{padding:12px 16px 0}
  .p-alerta-cuenta{justify-content:space-between;padding:10px 16px}
}

/* Ficha: la foto que no carga dice "Fotos en producción" */
body.p-ficha-page .p-fhero-slide.p-fhero-rota{background:#131D2D;cursor:default}
/* Ficha en el celular: nombre y mail uno debajo del otro, el mail a lo ancho */
@media(max-width:859px){
  body.p-ficha-page .p-form .r2{grid-template-columns:minmax(0,1fr)}
}
/* Ficha: la confirmación repite la visita pedida */
body.p-ficha-page .p-form-ok .p-ok-visita{margin:8px 0 0;font:500 .95rem/1.45 var(--font-body);color:#131D2D}
/* Ficha de una guardada que hoy está pausada */
body.p-ficha-page .p-fpausada{max-width:640px;margin:0 auto 24px}
body.p-ficha-page .p-fpausada h1{line-height:1.15}
body.p-ficha-page .p-fpausada .p-fop{margin:0 0 8px;font:500 .8125rem/1.2 var(--font-body);letter-spacing:.01em;text-transform:none;color:#8A7547}
body.p-ficha-page .p-fpausada .p-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;margin-top:8px}

/* Guardados: la guardada pausada, con su foto apagada y la marca arriba; el corazón la saca */
.p-tj.p-tj-pausada .tj-link{cursor:default}
.p-tj.p-tj-pausada .tj-foto img{filter:grayscale(.6);opacity:.55}
.p-tj.p-tj-pausada .tj-titulo{color:#565E6E}

/* Menú del celular con sesión: Cerrar sesión a un toque */
.mobile-menu .m-salir{display:block;width:100%;min-height:44px;margin:14px 0 0;padding:0;background:none;border:0;border-top:1px solid rgba(255,255,255,.07);
  text-align:left;font:400 .85rem/1.3 var(--font-body);letter-spacing:.02em;color:rgba(251,250,246,.62);cursor:pointer}
.mobile-menu .m-salir:focus-visible{color:#FBFAF6}@media(hover:hover) and (pointer:fine){.mobile-menu .m-salir:hover{color:#FBFAF6}}

/* Legales en inglés y portugués: la línea que dice que vale el texto en castellano */
.p-legal-idioma{margin:0 0 20px;padding:12px 16px;background:#F4F0E6;border-left:2px solid var(--gold,#C2A968);font:400 .9rem/1.45 var(--font-body);color:#2A3A52}
.p-legal-idioma[hidden]{display:none}

/* ── Guardados: la tercera pestaña ── */
body.p-guardados{background:var(--s-white,#FBFAF6)}
.p-guardados-in{max-width:var(--p-max,1200px);margin:0 auto;padding:calc(64px + env(safe-area-inset-top) + 28px) 24px 56px;box-sizing:border-box;min-height:60vh}
.p-guardados-in .p-gtit{margin:0 0 20px;font:400 clamp(1.8rem,3.4vw,2.4rem)/1.1 var(--font-display);color:#131D2D}
.p-guardados-in .p-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.p-gvacio{padding:8px 0 20px;display:grid;justify-items:start;gap:18px}
.p-gvacio p{margin:0;font:300 1.05rem/1.5 var(--font-body);color:#565E6E}
.p-gvacio .p-btn{min-height:48px;padding:0 28px;display:inline-flex;align-items:center;background:var(--gold,#C2A968);border-color:var(--gold,#C2A968);color:#131D2D}
.p-galertas{margin-top:40px;padding-top:24px;border-top:1px solid rgba(42,58,82,.12)}
.p-galertas .p-sec-t{margin:0 0 10px;font:500 .8125rem/1 var(--font-body);letter-spacing:.01em;text-transform:none;color:#8A7547}
.p-galertas-lista{list-style:none;margin:0;padding:0;display:grid}
.p-galertas-lista li{display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(42,58,82,.08)}
.p-galertas-lista a{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;min-height:52px;font:300 .95rem/1.35 var(--font-body);color:#2A3A52;text-decoration:none}
.p-galertas-lista a svg{width:18px;height:18px;flex:0 0 auto;color:#8A7547}
@media(hover:hover) and (pointer:fine){.p-galertas-lista a:hover{color:#131D2D}}
.p-galertas-vacio a span{border-bottom:1px solid rgba(194,169,104,.6)}
.p-galerta-x{flex:0 0 auto;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:#6B7589;cursor:pointer}
.p-galerta-x svg{width:16px;height:16px}
@media(hover:hover) and (pointer:fine){.p-galerta-x:hover{color:#B3423C}}
@media(max-width:859px){
  .p-guardados-in{padding:calc(64px + env(safe-area-inset-top) + 20px) 16px 36px}
  .p-guardados-in .p-grid{grid-template-columns:minmax(0,1fr);gap:16px}
}

/* ══ lanz3-publicador · 8/10/2026 · Publicador y curación: lo que pidieron las simulaciones del circuito y de alquiler ══ */
/* Panel · el motivo de la curación se lee (antes gris chico), lo que le falta a un borrador, la visita confirmada */
body.p-panel-page .p-aviso-motivo{margin:8px 0 0;padding:8px 10px;border-left:3px solid var(--gold);background:#F7F1E2}
body.p-panel-page .p-aviso-motivo.rechazo{border-left-color:#B3423C;background:#FBF1EF}
body.p-panel-page .p-aviso-motivo b{display:block;font:500 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--p-gold-ink,#75623C)}
body.p-panel-page .p-aviso-motivo.rechazo b{color:#9C3A34}
body.p-panel-page .p-aviso-motivo p{margin:3px 0 0;font:400 .9rem/1.45 var(--font-body);color:var(--navy-deeper);overflow-wrap:anywhere}
body.p-panel-page .p-aviso-faltan{margin:6px 0 0;font:400 .8rem/1.4 var(--font-body);color:#9C3A34}
body.p-panel-page .p-visita-ok{display:inline-flex;align-items:center;gap:4px;margin-top:6px;border-color:rgba(60,122,74,.5);color:#2F6A3D;background:#EEF5EF}
body.p-panel-page .p-visita-ok svg{width:12px;height:12px}
body.p-panel-page .p-int-acc{white-space:nowrap}
body.p-panel-page .p-int-acc .p-btn{margin:0 6px 6px 0}
body.p-panel-page .p-mas-menu .peligro{color:#9C3A34}
/* Panel · el mail de la cuenta se corta antes de la arroba (el <wbr> del riel), no en medio de la palabra ("co / m") */
body.p-panel-page .p-side-nav .who .txt .q{overflow-wrap:break-word;word-break:normal}
body.p-panel-page .p-side-nav .who .q .dom{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
/* Panel · la fila de compu no corta el precio: el renglón de datos puede ir en dos líneas */
body.p-panel-page .p-aviso-main .m{white-space:normal;overflow:visible;text-overflow:clip}
/* Panel · envío en lote de los borradores completos */
body.p-panel-page .p-lote{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;background:#F7F1E2;border:1px solid rgba(138,117,71,.3)}
body.p-panel-page .p-lote span{font:400 .86rem/1.4 var(--font-body);color:var(--navy-deeper)}
/* Confirmación dentro de la página (Borrar, Enviar en lote): hoja desde abajo en el celular, caja al centro en la compu */
.p-conf{position:fixed;inset:0;z-index:3000;display:flex;align-items:flex-end;justify-content:center}
.p-conf-fondo{position:absolute;inset:0;background:rgba(19,29,45,.55)}
.p-conf-caja{position:relative;width:100%;max-width:440px;max-height:85vh;overflow:auto;padding:22px 20px calc(20px + env(safe-area-inset-bottom,0px));background:#FDFCF9;color:var(--navy-deeper);box-shadow:0 -12px 40px rgba(0,0,0,.25)}
.p-conf-caja h2{margin:0 0 8px;font:400 1.35rem/1.25 var(--font-display);color:var(--navy-deeper)}
.p-conf-tx{margin:0 0 14px;font:400 .92rem/1.5 var(--font-body);color:#59647A}
.p-conf-lista{margin:0 0 14px;padding:0;list-style:none;max-height:180px;overflow:auto;border-top:1px solid rgba(19,29,45,.1)}
.p-conf-lista li{padding:8px 0;border-bottom:1px solid rgba(19,29,45,.08);font:400 .86rem/1.35 var(--font-body)}
.p-conf-acepto{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin:4px 0 0;font:400 .88rem/1.45 var(--font-body);cursor:pointer}
.p-conf-acepto input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--navy-deeper)}
.p-conf-acepto > span{flex:1 1 0;min-width:0}
.p-conf-acepto .p-err-campo{flex:0 0 100%;margin:4px 0 0 30px}
.p-conf-leer{margin:4px 0 0 30px;font:400 .8rem/1.4 var(--font-body)}
.p-conf-leer a{color:var(--navy-deeper);text-decoration:underline;text-underline-offset:3px}
.p-conf-acc{display:flex;gap:8px;margin-top:18px}
.p-conf-acc .p-btn{flex:1 1 0;justify-content:center;min-height:44px;}
.p-conf .p-btn-fill{background:var(--gold);border-color:var(--gold);color:var(--navy-deeper)}
.p-conf .p-btn:not(.p-btn-fill):not(.p-btn-peligro){background:transparent;border-color:var(--navy-deeper);color:var(--navy-deeper)}
.p-conf .p-btn-peligro{background:#9C3A34;border-color:#9C3A34;color:#FBFAF6}
@media(min-width:700px){.p-conf{align-items:center}.p-conf-caja{padding:26px 26px 22px;box-shadow:0 24px 60px rgba(0,0,0,.3)}}
/* Panel en el celular: las pestañas entran sin cortarse (si son más de las que entran, se deslizan) y los filtros no cortan el texto */
@media(max-width:1023px){
  body.p-panel-page .p-side-nav .p-rail:not(.p-rail-pie){display:grid;grid-auto-flow:column;grid-auto-columns:minmax(max-content,1fr);gap:4px}
  body.p-panel-page .p-side-nav .p-rail a,body.p-panel-page .p-panel .p-side-nav .p-rail a,body.p-panel-page .p-panel .p-side-nav .p-rail a.on{justify-content:center;gap:5px;padding:8px 9px;font-size:.8rem}
  body.p-panel-page .p-side-nav .p-rail a span:not(.n){flex:0 0 auto;overflow:visible}
  body.p-panel-page .p-side-nav .p-rail a .n{min-width:18px;height:18px;padding:0 5px;font-size:.66rem;line-height:18px}
  /* El campo de 16 px (sin zoom en Safari) no entra en media fila: la operación va sola, estado y orden comparten la de abajo */
  body.p-panel-page .p-herr select[name=op]{grid-column:1 / -1}
}
/* Curación · cualidades con su casilla y su rótulo, una al lado de la otra; reenvío y datos dudosos a la vista */
body.p-herramienta .p-cual{margin:12px 0 8px;padding:0;border:0;min-width:0}
body.p-herramienta .p-cual legend{padding:0;margin:0 0 8px;font:500 .8rem/1.4 var(--font-body);color:var(--navy-deeper)}
body.p-herramienta .p-cual legend .m{font-weight:400}
body.p-herramienta .p-cual-ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
body.p-herramienta .p-cual-op{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 10px;border:1px solid rgba(19,29,45,.16);background:#FFFDF8;font:400 .84rem/1.25 var(--font-body);color:var(--navy-deeper);cursor:pointer}
body.p-herramienta .p-cual-op input{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--navy-deeper)}
body.p-herramienta .p-cual-op:has(input:checked){border-color:var(--navy-deeper);background:#F2ECDD}
body.p-herramienta .p-cual-op:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:700px){body.p-herramienta .p-cual-ops{grid-template-columns:1fr 1fr}}
body.p-herramienta .p-cur .p-badge.p-cur-reenvio{border-color:rgba(138,117,71,.6);color:#75623C;background:#F7F1E2;vertical-align:2px}
body.p-herramienta .p-cur .p-badge.p-cur-dudoso{border-color:#B3423C;color:#9C3A34;background:#FBF1EF;vertical-align:2px}
body.p-herramienta .p-cur-anterior{margin:6px 0 4px;padding:8px 10px;border-left:3px solid var(--gold);background:#F7F1E2;font:400 .86rem/1.45 var(--font-body);color:var(--navy-deeper)}
body.p-herramienta .p-cur-anterior b{display:block;font:500 .8125rem/1.3 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--p-gold-ink,#75623C)}
body.p-herramienta .p-check .p-check-ancho{grid-column:1 / -1;font-weight:500}
body.p-herramienta .p-cur-revisar{margin:8px 0 0;padding:8px 10px;border:1px dashed rgba(19,29,45,.2);font:400 .84rem/1.45 var(--font-body);color:var(--navy-deeper)}
body.p-herramienta .p-cur-revisar b{font-weight:500}
/* Importar · el resultado queda escrito, fila por fila */
body.p-herramienta .p-imp-res{margin-top:18px;padding:16px 18px;border:1px solid rgba(19,29,45,.12);background:#FFFDF8}
body.p-herramienta .p-imp-res:focus{outline:none}
body.p-herramienta .p-imp-res-t{margin:0 0 8px;font:500 1rem/1.4 var(--font-body);color:var(--navy-deeper)}
body.p-herramienta .p-imp-res-s{margin:12px 0 4px;font:500 .8rem/1.4 var(--font-body);letter-spacing:.01em;color:var(--navy-deeper)}
body.p-herramienta .p-imp-res-s.err{color:#9C3A34}
body.p-herramienta .p-imp-res ul{margin:0 0 6px;padding-left:18px;font:400 .86rem/1.5 var(--font-body);color:#59647A}
body.p-herramienta .p-imp-res .p-btn{margin-top:10px}

/* ── 8/10/2026 (venta) · Lo que pidió la simulación de publicadores de venta ── */
/* El tilde de verificado va en línea (inline-block): como inline-flex cortaba el texto y el " · " quedaba suelto */
.p-verif{display:inline-block;vertical-align:-1px}
.p-verif svg{display:inline-block;vertical-align:baseline}
/* Ficha de una unidad de un emprendimiento: el desarrollo con su link, el piso y unidad, la etapa y la entrega */
.p-ficha2 .p-femp{margin:4px 0 0;font:400 .9rem/1.4 var(--font-body);color:#565E6E}
.p-ficha2 .p-femp a{color:#131D2D;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(194,169,104,.7)}
@media(hover:hover) and (pointer:fine){.p-ficha2 .p-femp a:hover{text-decoration-color:#131D2D}}
/* Los datos de más (dormitorios, m² cubiertos, antigüedad, cocheras), un renglón debajo de los cuatro números */
.p-ficha2 .p-fextra{margin:12px 0 0;font:400 .9rem/1.5 var(--font-body);color:#565E6E}
/* Panel · un emprendimiento enviado es un grupo con sus unidades */
body.p-panel-page .p-emp-grupo{border:1px solid rgba(19,29,45,.1);background:#FBF8F0;padding:12px 12px 4px}
body.p-panel-page .p-emp-grupo-cab{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:2px 2px 10px}
body.p-panel-page .p-emp-grupo-cab b{font:400 1.15rem/1.2 var(--font-display);color:var(--navy-deeper)}
body.p-panel-page .p-emp-grupo-cab span{font:400 .8rem/1.4 var(--font-body);color:var(--text-mid)}
body.p-panel-page .p-emp-grupo-lista{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
body.p-panel-page .p-emp-grupo .p-aviso-row.v2{grid-template-columns:minmax(0,1fr) auto auto}
body.p-panel-page .p-emp-grupo .p-aviso-row.v2 .ph{display:none}
@media(max-width:1023px){body.p-panel-page .p-emp-grupo .p-aviso-row.v2{grid-template-columns:minmax(0,1fr)}}
body.p-panel-page .p-faltan-docs{color:#9C3A34}
body.p-panel-page .p-ficha-cuenta dd .p-btn{margin-left:6px;vertical-align:middle}

/* ══ 8/10/2026 · Pasada premium: tipografía y superficies ════════════════════════════════════════════════════
   Tomás: "las mayúsculas son agresivas" y "el cuadrado pegado a las letras con sombra es raro". Esta capa va
   última y fija un solo criterio para todo el portal:
   · Mayúscula inicial en toda la interfaz. Un solo sobretítulo en mayúsculas (12 px, 500, .07em, apagado),
     para la sección de una página, nunca en botones ni sobre fotos.
   · Jost 500 para controles y rótulos; Playfair solo en títulos de página, de tarjeta y de ficha, y precios grandes.
   · Radios por variable: controles 10, tarjetas y cajas 14, chips y etiquetas píldora. Las fotos toman el radio
     de su tarjeta.
   · Línea fina de 1 px en vez de sombra. Sombra amplia y suave solo para lo que flota (menús, hojas, carteles).
   · Barras fijas translúcidas con desenfoque, y respaldo opaco donde no hay backdrop-filter.
   Va en partes, una por tema: tipografía, la tarjeta, superficies (radios, líneas, aire y foco), barras fijas,
   Ingresar y la portada del celular. */
:root{
  --r-ctl:10px; --r-box:14px; --r-pill:999px;
  --p-hair:rgba(19,29,45,.10); --p-hair-2:rgba(19,29,45,.18); --p-hair-d:rgba(251,250,246,.12);
  --p-flota:0 8px 32px rgba(10,20,40,.08); --p-flota-d:0 16px 48px rgba(0,0,0,.30);
  --p-tinta-2:#59647A; --p-oro-tinta:#75623C;
  --p-barra:rgba(19,29,45,.80); --p-barra-papel:rgba(251,250,246,.82);
}

/* ── 1 · Tipografía ─────────────────────────────────────────────────────────────────────────────────────── */
/* El sobretítulo: el único texto en mayúsculas de la interfaz */
.p-eyebrow,.p-band .p-eyebrow,.p-catband-eyebrow,body.p-home .h-eyebrow,.psi-eyebrow,.sec-eyebrow{
  display:block;font:500 .75rem/1.35 var(--font-body)!important;letter-spacing:.07em!important;text-transform:uppercase!important;
  color:var(--p-tinta-2)!important;border:0!important;padding:0!important;background:none!important;border-radius:0!important}
.p-band .p-eyebrow,.p-catband-eyebrow,body.p-home .h-eyebrow,.psi-eyebrow,.p-page.dark .p-eyebrow{color:rgba(251,250,246,.62)!important}
body.p-home .h-anuncio-top .h-eyebrow{font-size:.75rem!important;letter-spacing:.07em!important}

/* Botones: mayúscula inicial, Jost 500, sin tracking; 15 px en el celular */
.p-btn,a.p-btn,button.p-btn,.p-btn-sm,.p-btn-fill,.p-btn-navy,.p-btn-dark,.p-btn-quiet,.mobile-menu .m-cta .p-btn,.mobile-menu .m-cta a,
body.p-home .h-btn,body.p-home .h-cta,.psi-btn,.pf-seguir,.pf-seg2,body .p-login .p-btn-fill,body .p-login .soc{
  font-family:var(--font-body)!important;font-weight:500!important;letter-spacing:.005em!important;text-transform:none!important;font-size:.9375rem!important;line-height:1.15!important}
.p-btn{gap:8px;padding:0 18px}
.p-btn-sm{font-size:.875rem!important;padding:0 14px}
@media(max-width:859px){.p-btn-sm{font-size:.9375rem!important}}
.p-btn svg{width:17px;height:17px}

/* Pestañas, chips, selectores, contadores, rótulos y enlaces de acción: mayúscula inicial, 500, tracking normal */
.p-fsel,.p-fbtn,.p-tab,.p-chip,.p-badge,.p-alerta,.p-sello,.p-sincontacto,.p-cta-res,.p-results-count,.p-link,
body.p-home .h-link,.p-nav-principal a,.p-nav-menu a,.p-nav-menu button,.p-pub-movil,.p-lang button,.m-lang button,
body.p-panel-page .p-side-nav a,body .p-panel .p-side-nav a{text-transform:none!important;letter-spacing:.005em!important}
.p-lang button,.m-lang button{letter-spacing:.04em!important}   /* ES · PT · EN son siglas: un poco de aire */

/* Números que se alinean */
.tj-precio,.tj-meta,.p-fnums dd,.p-mcta-price,.p-cta-price,.p-results-count,.p-catband h1 span,.p-fcont,.p-kpi b,.p-side-nav .n,
.p-pager button,.pf-stepper output,.p-aviso-cifras dd,.p-price,.p-expensas{font-variant-numeric:tabular-nums lining-nums}

/* Header */
.p-nav-principal a{font:400 .9375rem/1 var(--font-body)!important;color:rgba(251,250,246,.78)}
.p-nav-principal a.on,.p-nav-principal a[aria-current]{color:#FBFAF6}@media(hover:hover) and (pointer:fine){.p-nav-principal a:hover{color:#FBFAF6}}
.p-lang button{font-size:.8125rem!important}
.p-navbar > .p-pub-movil{font:500 .9375rem/1 var(--font-body)!important;letter-spacing:.005em!important}

/* Compartir: los botones y el rótulo en Jost, con mayúscula inicial */
.p-compartir .op{font:500 .9375rem/1 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important}
.p-compartir .ttl{font:500 .8125rem/1.3 var(--font-body)!important;color:var(--p-tinta-2)!important}
.p-compartir .cerrar{font:500 .9375rem/1 var(--font-body)!important}

/* ── Ficha ───────────────────────────────────────────────────────────────────────────────────────────── */
body.p-ficha-page .p-fvolver a{font:500 .9375rem/1 var(--font-body)!important;letter-spacing:0!important;color:#131D2D}
.p-ficha2 .p-fop{font:500 .875rem/1.3 var(--font-body)!important;letter-spacing:0!important;color:var(--p-oro-tinta)!important}
.p-ficha2 .p-fcalle{font:400 .9375rem/1.35 var(--font-body);color:var(--p-tinta-2)}
.p-ficha2 .p-fnums dd{font:500 1.375rem/1.15 var(--font-body)!important;letter-spacing:-.005em;color:#131D2D}
.p-ficha2 .p-fnums dt{font:400 .8125rem/1.3 var(--font-body)!important;letter-spacing:0!important;color:var(--p-tinta-2)!important}
.p-ficha2 #desc{font:300 1.0625rem/1.7 var(--font-body)!important;color:#1A2538}
.p-ficha2 #desc::first-letter{font:inherit!important;float:none!important;color:inherit!important;margin:0!important;padding:0!important;initial-letter:normal}
.p-ficha2 .p-more{font:500 .9375rem/1 var(--font-body)!important;letter-spacing:0!important;color:#131D2D!important;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(194,169,104,.7)}
.p-ficha2 .p-sec-t,.p-ficha .p-sec-t,.p-galertas .p-sec-t{font:500 1.0625rem/1.3 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important;color:#131D2D!important;margin:0 0 12px}
.p-ficha2 .p-ftiene,.p-ficha2 .p-fcond li{color:#1A2538}
.p-ficha2 .p-fextra,.p-ficha2 .p-femp{color:var(--p-tinta-2)}
body.p-ficha-page .p-fcont{right:12px;bottom:12px;padding:6px 11px;font:500 .8125rem/1 var(--font-body);letter-spacing:0;background:rgba(19,29,45,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body.p-ficha-page .p-ficha2 .p-cta-price small{font:400 .875rem/1.4 var(--font-body)!important;letter-spacing:0!important}
.p-ficha2 .p-fpub{font:400 .875rem/1.5 var(--font-body);color:var(--p-tinta-2)}
body.p-ficha-page .p-fpie,body.p-ficha-page .p-fpie button{font:400 .8125rem/1.2 var(--font-body)!important}
body.p-ficha-page .p-fpliego{font-size:.875rem}

/* ── Controles del catálogo, la portada y el panel ───────────────────────────────────────────────────── */
body.p-catalogo .p-filters .p-fsel,body.p-catalogo .p-filters .p-fbtn,body.p-catalogo .p-results-head .p-fbtn,body.p-catalogo .p-results-head .p-fsel,
body.p-catalogo .p-fchip .p-chip,body.p-catalogo #zonaChips .p-chip,body.p-catalogo .p-plazo-pills button{
  font:500 .9375rem/1.1 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important}
body.p-catalogo .p-results-count{font:400 .875rem/1.2 var(--font-body)!important;letter-spacing:0!important;color:var(--p-tinta-2)!important}
@media(min-width:860px){
  body.p-catalogo .p-filters .p-fsel,body.p-catalogo .p-filters .p-fbtn,body.p-catalogo .p-results-head .p-fbtn,body.p-catalogo .p-results-head .p-fsel,
  body.p-catalogo .p-plazo-pills button{font-size:.875rem!important}
}
body.p-home .h-seg button{font:500 .9375rem/1 var(--font-body)!important;letter-spacing:0!important}
body.p-home .h-link{font:500 .9375rem/1 var(--font-body)!important;letter-spacing:0!important}
body.p-panel-page .p-side-nav a,body .p-panel .p-side-nav a{font:500 .875rem/1 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important}
body.p-panel-page .p-side-nav .who,body .p-panel .p-side-nav .who{font-size:.8125rem!important;letter-spacing:0!important;text-transform:none!important}
.p-dd .p-dd-ttl,.p-nav-menu .p-dd .p-dd-ttl{font:500 .8125rem/1.3 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important}
.p-pop label,.p-drawer .grp label.t,.p-fld label,.p-fld > span{font-size:.8125rem!important;letter-spacing:0!important;text-transform:none!important}
/* Catálogo: los controles con id llevaban 12 px con !important; acá con la misma especificidad, ganan por orden */
body.p-catalogo .p-filters #barriosBtn,body.p-catalogo .p-filters #moreBtn,body.p-catalogo .p-filters #ambBtn,body.p-catalogo .p-filters #precioBtn,
body.p-catalogo .p-filters #opSel,body.p-catalogo .p-filters #opSelM,body.p-catalogo .p-filters #tipoSel,body.p-catalogo .p-filters .p-plazo-pills button,
body.p-catalogo .p-results-head #alertBtn,body.p-catalogo .p-results-head #sortSel{font:500 .9375rem/1.1 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important}
body.p-catalogo .p-filters #qInput{font:400 .9375rem/1.2 var(--font-body)!important}
@media(min-width:860px){
  body.p-catalogo .p-filters #barriosBtn,body.p-catalogo .p-filters #moreBtn,body.p-catalogo .p-filters #ambBtn,body.p-catalogo .p-filters #precioBtn,
  body.p-catalogo .p-filters #opSel,body.p-catalogo .p-filters #tipoSel,body.p-catalogo .p-filters .p-plazo-pills button,
  body.p-catalogo .p-results-head #alertBtn,body.p-catalogo .p-results-head #sortSel,body.p-catalogo .p-filters #qInput{font-size:.875rem!important}
  body.p-catalogo .p-filters #qInput{font-weight:400!important}
}
/* Ficha: "Propiedades similares" es un título de sección, como Condiciones o Ubicación */
body.p-ficha-page .p-head-row .p-h2,body.p-ficha-page .p-fsim .p-h2{font:500 1.0625rem/1.3 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important;color:#131D2D!important}
body.p-ficha-page .p-fsim .p-link{font:500 .9375rem/1.2 var(--font-body)!important;letter-spacing:0!important}
/* El mapa de barrios (mapa-barrios.js, compartido con el sitio, que escribe "PUERTO MADERO" en mayúsculas desde el
   script): los nombres quedan como rótulo cartográfico, con la medida del sobretítulo (12 px, 500, .07em), y la
   cantidad de unidades sube a 12 px */
body .bm-lbl b{font-size:.75rem!important;letter-spacing:.07em!important;font-weight:500!important}
body .bm-lbl i{font-size:.75rem!important;letter-spacing:0!important}
/* Emprendimientos: quién publica, a 13 px */
.p-emp .p-publine,.p-emp .p-publine b{font-size:.8125rem!important}
/* Panel: las cifras en Jost, la miniatura de cada aviso con el radio de los controles */
.p-page .p-kpi b,.p-product .p-kpi b{font:500 1.125rem/1 var(--font-body)!important;letter-spacing:0!important}
.p-page .p-kpi span{font-size:.875rem!important;letter-spacing:0!important}
/* Playfair solo en títulos y precios grandes: los números de los pasos, las iniciales, los hitos de la portada,
   el precio de cada unidad y el menú del celular pasan a Jost */
.p-crit-cond li > i,.p-pasos li > i,ol.p-pasos i,body .p-login .p-quien-op > i{font-family:var(--font-body)!important;font-weight:500!important;font-style:normal;font-variant-numeric:tabular-nums lining-nums}
.p-pub-logo,.p-muro .mono,span.mono{font-family:var(--font-body)!important;font-weight:500!important;letter-spacing:.02em!important}
body.p-home .h-hito b{font:500 .875rem/1.3 var(--font-body)!important;letter-spacing:0!important}
.p-emp-us .pr{font:500 .9375rem/1.2 var(--font-body)!important;font-variant-numeric:tabular-nums lining-nums}
.mobile-menu a.m-link{font:400 1.125rem/1.3 var(--font-body)!important;letter-spacing:0!important}
/* Popovers y hoja de filtros del catálogo (papel claro): "Limpiar" era crema sobre blanco */
body.p-catalogo .p-pop .lnk,body.p-catalogo .p-drawer .lnk{color:var(--p-tinta-2)!important;text-decoration:underline;text-underline-offset:3px;font-size:.875rem!important}
.p-pop .seg button,.p-drawer .seg button{font:500 .875rem/1 var(--font-body)!important;letter-spacing:0!important}
.p-drawer h3{font:500 1.25rem/1.25 var(--font-body)!important;letter-spacing:0!important}

/* ── 2 · La tarjeta de propiedad ─────────────────────────────────────────────────────────────────────────── */
.p-tj .tj-cuerpo{gap:4px;padding:18px 20px 20px}
@media(min-width:860px){.p-tj .tj-cuerpo{padding:22px 24px 24px}}
.p-tj .tj-titulo{font:400 1.1875rem/1.3 var(--font-display);color:#131D2D;letter-spacing:0}
/* La calle, debajo del título, en gris y con mayúscula inicial */
.p-tj .tj-calle{order:0;font:400 .875rem/1.35 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important;color:var(--p-tinta-2)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-tj .tj-fila{margin-top:auto;padding-top:14px;border-top:1px solid var(--p-hair)}
.p-tj .tj-cuerpo .tj-titulo + .tj-fila,.p-tj .tj-cuerpo .tj-calle + .tj-fila{margin-top:12px}
.p-tj .tj-precio{font:500 1.0625rem/1.2 var(--font-body);color:#131D2D;letter-spacing:0}
.p-tj .tj-precio small{font:400 .8125rem/1 var(--font-body);color:var(--p-tinta-2);margin-left:2px}
.p-tj .tj-meta{font:400 .8125rem/1.3 var(--font-body);color:var(--p-tinta-2)}
/* Quién publica: se repite en muchas tarjetas, así que pesa poco */
.p-tj .tj-pub{font:400 .8125rem/1.45 var(--font-body)!important;color:#6B7589!important;margin-top:6px}
.p-tj .tj-pub b{font-weight:400!important;font-size:inherit!important;color:var(--p-tinta-2)!important}
.p-tj .tj-pub .p-verif{color:#8A7547}
/* La operación sobre la foto: un chip chico translúcido */
.p-tj .tj-tag,.p-tj .tj-tag.tj-venta,.p-tj .tj-tag.tj-mediano,.p-tj .tj-tag.tj-alquiler{
  left:12px;top:12px;padding:6px 11px;font:500 .8125rem/1 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important;
  background:rgba(251,250,246,.88);color:#131D2D;-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%)}
.p-tj .tj-tag.res{background:rgba(19,29,45,.78);color:#FBFAF6}
.p-tj .tj-desde{left:12px;bottom:12px;padding:6px 11px;font:500 .8125rem/1 var(--font-body);letter-spacing:0;background:rgba(251,250,246,.88);color:#131D2D;-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.p-tj .tj-tag,.p-tj .tj-desde{background:#FBFAF6}.p-tj .tj-tag.res{background:#131D2D}}
.p-tj .tj-sinfoto{font:400 .875rem/1 var(--font-body)!important;letter-spacing:.01em!important;color:rgba(222,205,160,.8)}
/* El corazón, redondo y translúcido como el chip */
:root .p-tj .tj-fav{top:8px;right:8px;width:44px;height:44px;border-radius:50%!important;background:rgba(251,250,246,.88);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%)}
.p-tj .tj-fav:focus-visible{outline-offset:2px}
/* Si la búsqueda ya está filtrada por esa operación, la etiqueta no se repite en cada tarjeta */
#list[data-op-filtro="mediano"] .tj-tag.tj-mediano,#list[data-op-filtro="largo"] .tj-tag.tj-alquiler,#list[data-op-filtro="venta"] .tj-tag.tj-venta{display:none}
/* En la ficha, las similares son de la misma operación que la ficha */
body.p-ficha-page .p-fsim .tj-tag:not(.res){display:none}
/* El chip de la operación y el de "Disponible desde", en píldora */
:root .p-tj .tj-tag,:root .p-tj .tj-desde{border-radius:var(--r-pill)!important}

/* ── 3 · Superficies: radios, líneas, aire y foco ───────────────────────────────────────────────────────────
   El anterior "esquinas rectas en todo" ([class^="p-"] a 0 px con !important) queda como base: lo que no
   está nombrado acá sigue recto (bandas, filas, contenedores de ancho completo). */
/* Controles: 10 */
:root .p-btn,:root .p-btn-sm,:root .p-btn-fill,:root .p-icon-btn,:root .p-fsel,:root .p-fbtn,:root .p-tab,:root .p-ghost,:root .p-skip,:root .p-pub-movil,:root .p-pager button,:root .p-quick a,:root .p-quick button,:root .p-report .chips button,:root .p-fpliego .chips button,:root .p-fb button,:root .p-field select,:root .p-field input,:root .p-fld input,:root .p-fld select,:root .p-fld textarea,:root .p-form input,:root .p-form textarea,:root .p-form select,:root .p-login input,:root .p-login .soc,:root .p-qrow input,:root .p-pop input,:root .p-pop .seg,:root .p-drawer input,:root .p-drawer select,:root .p-filters input,:root .p-filters select,:root body.p-catalogo .p-filters .p-fchip,:root .p-fchip,:root body.p-home .h-btn,:root body.p-home .h-cta,:root body.p-home .h-seg,:root body.p-home .h-field input,:root body.p-home #zonaInput,:root .p-panel .p-side-nav a,:root body.p-panel-page .p-side-nav a,:root body .p-panel .p-side-nav a,:root body .p-panel .p-side-nav a.on,:root body.p-panel-page summary,:root body.p-panel-page input,:root body.p-panel-page select,:root body.p-panel-page textarea,:root body.p-panel-page .p-perfil-sel label,:root body.p-herramienta input,:root body.p-herramienta select,:root body.p-herramienta textarea,:root .p-toggle,:root .p-toggle button,:root details.units > summary,:root .p-carga,:root .p-drop,:root .p-ficha2 .p-fh-acts .p-icon-btn,:root .p-pager a,:root .p-crear-pop a,:root .mobile-menu .m-cta .p-btn,:root .psi-btn,:root .psi-form input,:root .psi-form select,:root .psi-form textarea{border-radius:var(--r-ctl)!important}
/* El segmento de la portada: los botones de adentro siguen el radio del de afuera */
:root body.p-home .h-seg button,:root .p-pop .seg button,:root .p-toggle button{border-radius:calc(var(--r-ctl) - 3px)!important}

/* Tarjetas y cajas: 14 */
:root .prop-card,:root .prop-card.p-tj,:root .p-card-h,:root .p-emp,:root .p-plan,:root .p-aviso-row,:root .p-empty,:root .p-error,:root .p-cur,:root .p-cta,:root .p-login,:root .p-map-wrap,:root .p-map-card,:root .p-map-ficha,:root .p-map-home,:root .p-indice-secciones,:root .p-imp,:root .p-imp-res,:root .p-ficha-cuenta,:root .p-perfil-sel,:root .p-perfiles,:root .p-pl-sec,:root .p-muro,:root .p-prose,:root .p-prose .box,:root .p-emp-grupo,:root .p-faq,:root .p-galertas,:root .p-mas-menu,:root .p-dd-cuenta,:root .p-pop,:root .p-sugg,:root .p-crear-pop,:root .p-toast,:root .p-compartir .hoja,:root .p-video,:root .p-sis-sec,:root .p-pub-card,:root .p-zona,:root .p-perfil,:root body.p-home .h-search,:root body.p-home .h-edif,:root body.p-home .h-tipo,:root body.p-home .h-ind-caja,:root body.p-home .h-ult-esq,:root .pf-opcion,:root .pf-agregar,:root .pf-u,:root .pf-unidades,:root .pf-hoja-caja,:root .pf-dudas,:root .pf-motivo,:root .pf-curador{border-radius:var(--r-box)!important}
/* Chips y etiquetas: píldora */
:root .tj-tag,:root .tj-desde,:root .p-badge,:root .p-chip,:root .p-alerta,:root .p-fcont,:root .p-side-nav .n,:root span.n,:root .p-emp .ph .tag,:root .p-card-photo .tag,:root .p-card-photo .ct,:root .p-catalogo #zonaChips .p-chip,:root .p-fbtn .cnt,:root [data-fav-count],:root .p-plazo-pills button,:root body.p-catalogo .p-plazo-pills button{border-radius:var(--r-pill)!important}
/* Redondos de verdad */
:root .p-pub-logo,:root .p-avatar,:root .mono,:root .p-bell .dot{border-radius:50%!important}

/* Las fotos toman el radio de su tarjeta */
.prop-card.p-tj,.p-emp,.p-card-h{overflow:hidden}
.p-emp .ph,.p-emp .ph img{border-radius:0!important}
body.p-ficha-page .p-fhero.p-fhero-solo{overflow:hidden}
@media(min-width:860px){:root body.p-ficha-page .p-fhero.p-fhero-solo{border-radius:var(--r-box)!important}}

/* ── Línea fina en vez de sombra ─────────────────────────────────────────────────────────── */
.prop-card.p-tj,body.p-home .h-ultimos .prop-card.p-tj,.p-emp,.p-plan,.p-plan.p-plan-ac,.p-aviso-row,.p-aviso-row.v2,.p-empty,.p-cur,.p-card-h,
.p-imp,.p-ficha-cuenta,.p-perfil-sel,.p-indice-secciones,body.p-ficha-page .p-ficha2 .p-cta{border:1px solid var(--p-hair)!important;box-shadow:none!important}
body.p-home .h-edif{box-shadow:none!important}
/* Lo que flota: sombra amplia y suave */
.p-dd,.p-pop,.p-sugg,.p-mas-menu,.p-crear-pop,body.p-catalogo .p-pop,body.p-catalogo .p-dd,body.p-catalogo .p-sugg,body.p-home .h-field .p-sugg{box-shadow:var(--p-flota)!important;border:1px solid var(--p-hair)!important}
.p-toast{box-shadow:var(--p-flota-d)!important;padding:12px 18px!important;font:400 .9375rem/1.4 var(--font-body)!important}


/* Compartir: caja al centro en la compu, hoja desde abajo en el celular */
.p-compartir .hoja{border:1px solid var(--p-hair)!important;box-shadow:var(--p-flota-d)!important;overflow:hidden}
:root .p-compartir .op{position:relative;overflow:hidden;border-radius:var(--r-ctl)!important}
@media(max-width:600px){:root .p-compartir .hoja{border-radius:var(--r-box) var(--r-box) 0 0!important;border-bottom:0!important}:root .p-compartir .tirador{border-radius:var(--r-pill)!important}}

/* Ficha: la caja del precio con línea fina y aire; los íconos con borde fino */
.p-ficha2 .p-fh-acts .p-icon-btn{border-color:var(--p-hair-2)}
body.p-ficha-page .p-ficha2 .p-cta{overflow:hidden;padding:0 24px 24px;gap:12px}
body.p-ficha-page .p-ficha2 .p-cta-price{margin:0 -24px 10px;padding:26px 24px 22px}
body.p-ficha-page .p-ficha2 .p-cta .p-btn{min-height:50px}
/* Las miniaturas de la galería, con el radio de los controles */
:root body.p-ficha-page .p-strip .thumb{border-radius:var(--r-ctl)!important;overflow:hidden}
:root body.p-panel-page .p-aviso-row .ph,:root body.p-panel-page .p-aviso-row .ph img{border-radius:var(--r-ctl)!important;overflow:hidden}
/* Ítems dentro de un menú flotante: el radio concéntrico de la caja (14 menos 6 de aire) */
body.p-panel-page .p-mas-menu a,body.p-panel-page .p-mas-menu button{border-radius:8px!important}
/* Visor de fotos: cerrar y flechas, redondos como el corazón */
:root .p-lb .x,:root .p-lb .ctl button{border-radius:50%!important}
:root body.p-home .h-mas-ic{border-radius:50%!important}
@media(max-width:820px){:root body.p-catalogo .p-drawer .panel{border-radius:var(--r-box) var(--r-box) 0 0!important;border-top:1px solid var(--p-hair)!important;box-shadow:0 -8px 32px rgba(10,20,40,.14)!important}}
/* Publicar: la lista de perfiles es una sola caja; las filas de adentro no se redondean una por una */
.p-perfiles{overflow:hidden}
:root .p-perfiles .p-perfil{border-radius:0!important}

/* ── Foco con teclado ───────────────────────────────────────────────────────────────────────────────
   Un anillo de 2 px con separación, solo con :focus-visible. Varias reglas viejas lo apagaban (outline:0) y lo
   dibujaban con una sombra; ahora el anillo es el outline, siempre. Navy sobre papel, oro claro sobre navy. */
:root :is(a,button,input,select,textarea,summary,[tabindex],[role=button],[role=option],[role=tab]):not([tabindex="-1"]):focus-visible{outline:2px solid var(--p-focus-b)!important}
body.p-flujo-pub{--p-focus-b:#131D2D}
.pf-top,.p-catband,.p-mcta,.p-tabbar,.h-hoja,.h-hero,body.p-ficha-page .p-ficha2 .p-cta-price,.p-page.dark{--p-focus-b:#DECDA0}

/* ── 4 · Barras fijas: translúcidas, con línea fina arriba ───────────────────────────────────────────────── */
@media(max-width:859px){
  .p-tabbar{background:#131D2D;border-top:1px solid rgba(251,250,246,.10);box-shadow:none}
  .p-tabbar a{font:400 .75rem/1 var(--font-body)!important;letter-spacing:.01em!important;color:rgba(251,250,246,.66)}
  .p-tabbar a.on{color:var(--gold-light,#DECDA0);font-weight:500!important}
}
@media(max-width:900px){
  .p-mcta{background:#131D2D;border-top:1px solid rgba(251,250,246,.10);gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .p-mcta-price{font:500 1.0625rem/1.15 var(--font-body)!important;color:#FBFAF6}
  .p-mcta-price small{font:400 .8125rem/1.2 var(--font-body)!important;color:rgba(251,250,246,.66)}
  .p-mcta .p-btn{min-height:46px;padding:0 16px!important;letter-spacing:.005em!important}
  .p-mcta .p-mcta-sec{border-color:rgba(251,250,246,.32)!important}
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  /* 8/10/2026 · Las barras de abajo (navegación y precio de la ficha) quedan navy sólido: Safari del iPhone copia su color
     para su propia barra de abajo solo si es opaco; translúcidas, la pintaba blanca y se cortaba la continuidad */
}

/* ── 5 · Ingresar: una caja con aire ─────────────────────────────────────────────────────────────────────── */
body .p-login{max-width:460px;margin:0 auto;padding:32px!important;background:#1A2538!important;border:1px solid var(--p-hair-d)!important;box-shadow:var(--p-flota-d)!important}
body .p-login h1{font-size:clamp(1.9rem,4vw,2.4rem);margin:0 0 12px}
body .p-login .p-sub{font:400 .9375rem/1.6 var(--font-body);margin:0 auto 26px!important;color:rgba(251,250,246,.74)}
body .p-login input{height:52px;font:400 1rem/1.2 var(--font-body);margin-bottom:12px;background:rgba(251,250,246,.05);border:1px solid rgba(251,250,246,.18)}
body .p-login .p-btn-fill{height:52px;min-height:52px}
body .p-login .or{margin:20px 0;font-size:.8125rem}
body .p-login .soc{height:50px;font-size:.9375rem!important}
body .p-login #legal{margin-top:22px!important;font:400 .8125rem/1.65 var(--font-body);text-align:center;color:rgba(251,250,246,.62)}
body .p-login #modeNote:empty{display:none}
:root body .p-login .p-quien-op{border-radius:var(--r-ctl)!important}
body .p-login .p-quien{display:grid;gap:8px}
/* Los títulos que reciben el foco por código (tabindex -1, para el lector de pantalla) no son controles: sin anillo */
h1[tabindex="-1"]:focus-visible,h2[tabindex="-1"]:focus-visible,.p-login h1:focus-visible{outline:none!important}
@media(max-width:859px){
  body.p-ingresar .p-page .p-container{padding-left:16px;padding-right:16px}
  body .p-login{padding:28px 24px!important}
}

/* ── 6 · Portada: el video con su luz real ────────────────────────────────────────────────────────────────
   Tomás (8/10): en el celular la caja tapaba un tercio del video y un velo parejo lo apagaba entero. Fuera el velo
   parejo y la opacidad del video: solo un degradé abajo, detrás del título y la barra, y uno chico arriba, detrás
   del encabezado. En la compu la caja queda como estaba, con un degradé que la sostiene. */
.h-barra,.h-hoja{display:none}
body.p-home .h-hero video{opacity:1}
body.p-home .h-hero h1{text-shadow:0 1px 18px rgba(10,14,22,.28)}
@media(min-width:900px){
  /* 8/10/2026 · Tomás: el sombreado de la compu era muy notorio. Óvalo a menos de la mitad y casi sin banda arriba (la
     barra ya es navy sólido); el título se sostiene con una sombra suave */
  /* 8/10/2026 · Tomás: un filtro azul parejo y muy suave sobre todo el video, para que no se vean tan de cerca los detalles
     y el título blanco se lea mejor. Velo parejo navy al 37 % (8/10: de 22 a 37 a pedido de Tomás), más un óvalo leve detrás del título */
  body.p-home .h-hero-velo{background:
    linear-gradient(to bottom,rgba(19,29,45,.12) 0,rgba(19,29,45,0) 120px),
    radial-gradient(ellipse 58% 42% at 50% 54%,rgba(19,29,45,.26) 0%,rgba(19,29,45,.16) 50%,rgba(19,29,45,.05) 80%,rgba(19,29,45,0) 100%),
    linear-gradient(rgba(19,29,45,.37),rgba(19,29,45,.37))}
  body.p-home .h-hero h1{text-shadow:0 2px 28px rgba(10,14,22,.50),0 1px 3px rgba(10,14,22,.35)}
}
@media(max-width:899px){
  body.p-home .h-hero{align-items:flex-end;padding:0 0 22px}
  body.p-home .h-hero-velo{background:
    linear-gradient(to top,rgba(19,29,45,.70) 0%,rgba(19,29,45,.64) 20%,rgba(19,29,45,.34) 31%,rgba(19,29,45,0) 40%),
    linear-gradient(to bottom,rgba(19,29,45,.65) 0,rgba(19,29,45,.30) 90px,rgba(19,29,45,0) 160px)}
  body.p-home .h-hero-in{padding:0 16px}
  body.p-home .h-hero h1{font-size:1.75rem!important;line-height:1.16!important;margin:0 0 14px!important;letter-spacing:-.005em}
  body.p-home .h-hero .h-search{display:none}
  /* La barra: una píldora translúcida que abre la hoja */
  :root body.p-home .h-barra{display:flex;align-items:center;gap:12px;width:100%;height:54px;margin:0;padding:0 22px 0 18px;border:1px solid rgba(251,250,246,.25);border-radius:var(--r-pill)!important;
    background:rgba(19,29,45,.55);color:#FBFAF6;font:400 1rem/1 var(--font-body);letter-spacing:0;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s,border-color .2s}
  body.p-home .h-barra .lupa{width:20px;height:20px;flex:0 0 auto;color:#FBFAF6}
  body.p-home .h-barra:active{background:rgba(251,250,246,.24)}
  @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    body.p-home .h-barra{background:rgba(251,250,246,.16);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
  }
  /* El encabezado, translúcido sobre el video mientras se está arriba de todo; al bajar vuelve a navy pleno */
  /* 8/10/2026 · A pedido de Tomás, la barra de arriba de la portada también navy sólido: Safari del iPhone copia ese color
     para su propia barra de arriba y se ve todo continuo (translúcida, la pintaba blanca) */
  body.p-home .p-navbar:not(.bajado){background:#131D2D!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:rgba(251,250,246,.10)!important}
  body.p-home .p-navbar:not(.bajado) > .p-pub-movil{color:#DECDA0!important}
  /* La hoja de búsqueda: a pantalla completa, sube desde abajo */
  .h-hoja{position:fixed;inset:0;z-index:3000;display:flex;flex-direction:column;background:#131D2D;color:#FBFAF6;
    padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);overflow-y:auto;overscroll-behavior:contain;
    transform:translateY(100%);transition:transform 280ms cubic-bezier(.22,1,.36,1)}
  .h-hoja.on{transform:none}
  .h-hoja[hidden]{display:none}
  html.h-hoja-abierta,html.h-hoja-abierta body{overflow:hidden}
  .h-hoja-cab{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;height:60px;padding:0 6px 0 20px;border-bottom:1px solid rgba(251,250,246,.10)}
  .h-hoja-t{margin:0;font:500 1.0625rem/1 var(--font-body);color:#FBFAF6}
  :root .h-hoja-x{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%!important;background:none;color:#FBFAF6;cursor:pointer}
  .h-hoja-x svg{width:22px;height:22px}
  .h-hoja-x:active{background:rgba(251,250,246,.08)}
  .h-hoja-cuerpo{flex:1 1 auto;padding:20px 16px 28px}
  :root body.p-home .h-hoja .h-search{display:grid;gap:12px;padding:0;background:none;border:0;border-radius:0!important;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  body.p-home .h-hoja .h-field input{height:52px;font-size:1rem}
  body.p-home .h-hoja .h-cta{min-height:52px}
}
@media(max-width:899px) and (prefers-reduced-motion:reduce){.h-hoja{transition:none}}

/* 8/10/2026 · La marca BAIREN en palabra (sin fondo) en vez del emblema redondo: 22 px de alto en el celular, 26 en la compu */
@media(min-width:1024px){.nav-logo img.marca{height:26px!important}}
/* 8/10/2026 · Menú del celular abierto: la barra de arriba pasa, de a poco, al mismo navy del menú y sin la línea clara,
   así barra y menú se leen como una sola pieza (en la portada la barra es translúcida sobre el video) */
body.p-home .p-navbar{transition:background-color .28s cubic-bezier(.22,1,.36,1),border-color .28s cubic-bezier(.22,1,.36,1)}
html.menu-abierto body.p-home .p-navbar,html.menu-abierto body.p-home .p-navbar:not(.bajado){background:#131D2D!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:transparent!important}
html.menu-abierto .mobile-menu{border-top:0}
@media(prefers-reduced-motion:reduce){body.p-home .p-navbar{transition:none}}
/* 8/10/2026 · El anillo de foco solo con teclado: al abrir el menú con el dedo, el primer enlace recibe el foco y Safari
   lo pintaba con un recuadro dorado. html.teclado lo pone ui.js con Tab y lo saca con el primer toque o clic. */
html:not(.teclado) .mobile-menu a:focus-visible,html:not(.teclado) .mobile-menu button:focus-visible{outline:none!important;box-shadow:none!important}

/* escritorio simple */
/* ══ 8/10/2026 · Escritorio simple (1024 px o más) ═════════════════════════════════════════════════════════════
   Tomás: "desde la compu se ven muchísimos textos y mucha info". Solo la compu ancha; el celular no cambia.
   Va por página: buscar, ficha, portada y encabezado. */
@media (min-width:1024px){
  /* ── Buscar ─────────────────────────────────────────────────────────────────────────────────────────────── */
  /* Sin la banda oscura ni el mapa ilustrativo: el título corto va en la fila de resultados (lo mueve buscar.html) */
  body.p-catalogo .p-catband{display:none}
  body.p-catalogo main.p-container{max-width:1256px;margin:0 auto;padding-top:0!important}
  /* La barra: operación, barrio y precio a la vista; tipo, ambientes y dormitorios dentro de Filtros */
  :root body.p-catalogo .p-filters{background:rgba(251,250,246,.94);border-top:0;border-bottom:1px solid var(--p-hair);box-shadow:none}
  @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    :root body.p-catalogo .p-filters{background:rgba(251,250,246,.84);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
  }
  :root body.p-catalogo .p-filters-in{max-width:1256px;margin:0 auto;padding:14px 28px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:10px}
  body.p-catalogo .p-filters #opSel,body.p-catalogo .p-filters #plazoPills,body.p-catalogo .p-filters #tipoSel,
  body.p-catalogo .p-filters #ambBtn,body.p-catalogo .p-filters #ambPop,body.p-catalogo .p-filters #barriosBtn{display:none!important}
  body.p-catalogo .p-filters .p-fwrap:has(#ambBtn){display:none}
  body.p-catalogo .p-filters #opSelM{display:block;order:1;flex:0 0 auto}
  body.p-catalogo .p-filters #zonaBox{order:2;flex:0 1 340px;min-width:260px}
  body.p-catalogo .p-filters .p-fwrap:has(#precioBtn){order:3}
  body.p-catalogo .p-filters #moreBtn{order:4}
  :root body.p-catalogo .p-filters #opSelM,:root body.p-catalogo .p-filters .p-fbtn,:root body.p-catalogo .p-filters .p-fchip{
    height:44px;min-height:44px;border:1px solid var(--p-hair-2);background-color:#FDFCF9;color:#131D2D;border-radius:var(--r-ctl)!important}
  :root body.p-catalogo .p-filters #opSelM,:root body.p-catalogo .p-filters #precioBtn,:root body.p-catalogo .p-filters #moreBtn{font:500 .9375rem/1 var(--font-body)!important;letter-spacing:0!important}
  :root body.p-catalogo .p-filters #opSelM{padding:0 38px 0 16px;background-position:right 16px center}
  :root body.p-catalogo .p-filters .p-fbtn{padding:0 18px}
  :root body.p-catalogo .p-filters #qInput{font:400 .9375rem/1.2 var(--font-body)!important;color:#131D2D;height:42px}
  body.p-catalogo .p-filters #qInput::placeholder{color:var(--p-tinta-2)}
  :root body.p-catalogo .p-filters .p-fchip{padding:0 12px}
  :root body.p-catalogo .p-filters .p-fchip .p-chip{font:500 .875rem/1 var(--font-body)!important;padding:6px 10px;background:#EEE5D0;color:#131D2D}
  @media(hover:hover) and (pointer:fine){:root body.p-catalogo .p-filters #opSelM:hover,:root body.p-catalogo .p-filters .p-fbtn:hover,:root body.p-catalogo .p-filters .p-fchip:hover{border-color:rgba(19,29,45,.42)}}
  :root body.p-catalogo .p-filters .p-fbtn[aria-expanded="true"]{background:#131D2D;border-color:#131D2D;color:#FBFAF6}
  :root body.p-catalogo .p-filters #moreBtn .cnt{font:500 .8125rem/1 var(--font-body);padding:4px 8px;margin-left:2px;background:#131D2D;color:#FBFAF6}
  body.p-catalogo .p-filters .p-pop{margin-top:8px}
  /* El pin del barrio a la vista y la misma flecha fina en los tres desplegables */
  body.p-catalogo .p-filters #zonaBox > span:first-child{flex:0 0 18px;width:18px;color:var(--p-tinta-2)!important}
  body.p-catalogo .p-filters #zonaBox > span:first-child svg{width:18px;height:18px}
  :root body.p-catalogo .p-filters #opSelM,:root body.p-catalogo .p-results-head #sortSel{-webkit-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 15px center;background-size:12px 8px;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%23131D2D' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
  :root body.p-catalogo .p-results-head #sortSel{padding:0 38px 0 16px}
  body.p-catalogo .p-filters #precioBtn::after{content:'';width:7px;height:7px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);margin:-4px 0 0 4px}
  /* La fila de resultados: el título corto a la izquierda, la alerta y el orden a la derecha; la cantidad ya está en el título */
  :root body.p-catalogo .p-results-head{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:34px 28px 4px;border-bottom:0}
  :root body.p-catalogo .p-results-head #resTitle{flex:1 1 auto;min-width:0;margin:0;font:400 1.75rem/1.25 var(--font-display)!important;letter-spacing:-.005em;color:#131D2D;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.p-catalogo #resTitle .p-tit-n{font:400 1.0625rem/1 var(--font-body);color:var(--p-tinta-2);letter-spacing:0}
  body.p-catalogo .p-results-head #resCount{display:none}
  body.p-catalogo .p-results-head .acts{flex:0 0 auto;display:flex;gap:10px}
  :root body.p-catalogo .p-results-head #alertBtn,:root body.p-catalogo .p-results-head #sortSel{height:44px;border:1px solid var(--p-hair-2);background-color:transparent;color:#131D2D;font-size:.9375rem!important}
  :root body.p-catalogo .p-results-head #alertBtn.on{background:#131D2D;border-color:#131D2D;color:#FBFAF6}
  body.p-catalogo .p-filtro-pub{padding:24px 28px 0}
  /* Tres por fila, con la foto grande */
  :root body.p-catalogo .p-results{padding:26px 28px 80px}
  :root body.p-catalogo .p-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
  body.p-catalogo .p-pager{margin-top:48px}
  /* La hoja de Filtros: tipo, ambientes y dormitorios arriba (en el celular eso ya estaba ahí) */
  body.p-catalogo .p-drawer .p-solo-cel{display:block}
  body.p-catalogo .p-drawer .p-solo-cel .g-buscar,body.p-catalogo .p-drawer .p-solo-cel .g-barrios,body.p-catalogo .p-drawer .p-solo-cel .g-precio{display:none}
  :root body.p-catalogo .p-drawer #tipoSelM,:root body.p-catalogo .p-drawer #antig{-webkit-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 15px center;background-size:12px 8px;padding-right:38px;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%23131D2D' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
  /* Nada de texto de interfaz por debajo de 13 px, y la cantidad de cada barrio en la lista, legible */
  body.p-catalogo .p-breadcrumb,body.p-catalogo .p-breadcrumb a,body.p-catalogo .p-legend{font-size:.8125rem}
  :root body.p-catalogo .p-filters .p-sugg button small{font:400 .8125rem/1 var(--font-body);color:var(--p-tinta-2);opacity:1}

  /* ── La tarjeta, en toda la compu: título, calle, precio y dos datos; quién publica, solo si no es BAIREN Realty ── */
  .p-tj .tj-meta .tj-m:nth-child(n+3){display:none}
  .p-tj.p-tj-realty .tj-pub{display:none}
  .p-tj .tj-titulo{font-size:1.25rem}
  .p-tj .tj-precio{font-size:1.125rem}
  .p-tj .tj-meta{font-size:.875rem}

  /* ── Ficha ──────────────────────────────────────────────────────────────────────────────────────────────── */
  /* La galería en mosaico: la foto grande y cuatro chicas, sin la tira de miniaturas ni el contador */
  :root body.p-ficha-page .p-fhero.p-fhero-solo{height:min(58vh,540px);min-height:420px;background:transparent;border-radius:var(--r-box)!important;overflow:hidden}
  body.p-ficha-page #heroSlides{position:absolute;inset:0;display:grid;gap:8px;overflow:hidden;scroll-snap-type:none;scroll-behavior:auto;
    grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
  body.p-ficha-page #heroSlides .p-fhero-slide{height:auto;min-width:0;min-height:0;scroll-snap-align:none;background-color:#1A2538;transition:filter .3s cubic-bezier(.22,1,.36,1)}
  body.p-ficha-page #heroSlides .p-fhero-slide:first-child{grid-row:1/3}
  body.p-ficha-page #heroSlides .p-fhero-slide:nth-child(n+6){display:none}
  body.p-ficha-page #gal[data-n="0"] #heroSlides,body.p-ficha-page #gal[data-n="1"] #heroSlides,body.p-ficha-page #heroSlides > .p-fhero-rota:only-child{grid-template-columns:1fr}
  body.p-ficha-page #heroSlides > .p-fhero-rota:only-child{grid-column:1/-1}
  body.p-ficha-page #gal[data-n="2"] #heroSlides{grid-template-columns:2fr 1fr}
  body.p-ficha-page #gal[data-n="2"] #heroSlides .p-fhero-slide:nth-child(2){grid-row:1/3}
  body.p-ficha-page #gal[data-n="3"] #heroSlides{grid-template-columns:2fr 1fr}
  body.p-ficha-page #gal[data-n="4"] #heroSlides .p-fhero-slide:nth-child(2){grid-row:1/3}
  @media (hover:hover) and (pointer:fine){body.p-ficha-page #heroSlides .p-fhero-slide[role="img"]:hover{filter:brightness(.9)}}
  body.p-ficha-page .p-strip,body.p-ficha-page #gal .p-fcont{display:none}
  :root body.p-ficha-page .p-fgal-ver{position:absolute;right:16px;bottom:16px;z-index:3;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;
    border:1px solid rgba(19,29,45,.16);border-radius:var(--r-ctl)!important;background:rgba(251,250,246,.94);color:#131D2D;font:500 .9375rem/1 var(--font-body);cursor:pointer;box-shadow:0 4px 18px rgba(10,20,40,.12)}
  body.p-ficha-page .p-fgal-ver svg{width:17px;height:17px}
  @media(hover:hover) and (pointer:fine){body.p-ficha-page .p-fgal-ver:hover{background:#FBFAF6;border-color:rgba(19,29,45,.36)}}
  /* Los datos, en una sola línea (los cuatro números grandes y el renglón de extras quedan para el celular) */
  body.p-ficha-page .p-ficha2 .p-fnums,body.p-ficha-page .p-ficha2 .p-fextra{display:none}
  body.p-ficha-page .p-ficha2 .p-fdatos{display:block;margin:20px 0 0;padding:0 0 22px;border-bottom:1px solid var(--p-hair);font:400 1.0625rem/1.5 var(--font-body);color:#131D2D;font-variant-numeric:tabular-nums lining-nums}
  body.p-ficha-page .p-ficha2 .p-fdatos span{color:var(--p-tinta-2)}
  /* La descripción, plegada a cuatro líneas */
  :root body.p-ficha-page .p-ficha2 #desc.clamp{-webkit-line-clamp:4}
  /* Condiciones y Lo que tiene: un solo bloque compacto, en dos columnas */
  body.p-ficha-page .p-ficha2 .p-ficha-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start}
  body.p-ficha-page .p-ficha2 .p-ficha-main > *{grid-column:1/-1}
  body.p-ficha-page .p-ficha2 .p-ficha-main > .p-fb-cond,body.p-ficha-page .p-ficha2 .p-ficha-main > .p-fb-tiene{background:#F4F0E6;border:1px solid var(--p-hair);padding:22px 24px;margin-top:32px}
  :root body.p-ficha-page .p-ficha2 .p-ficha-main > .p-fb-cond{grid-column:1;border-right:0;border-radius:var(--r-box) 0 0 var(--r-box)!important}
  :root body.p-ficha-page .p-ficha2 .p-ficha-main > .p-fb-tiene{grid-column:2;border-left:1px solid var(--p-hair);border-radius:0 var(--r-box) var(--r-box) 0!important}
  :root body.p-ficha-page .p-ficha2 .p-ficha-main > .p-fb-cond:not(:has(~ .p-fb-tiene)){grid-column:1/-1;border-right:1px solid var(--p-hair);border-radius:var(--r-box)!important}
  :root body.p-ficha-page .p-ficha2 .p-ficha-main > .p-fb-tiene:not(.p-fb-cond ~ .p-fb-tiene){grid-column:1/-1;border-radius:var(--r-box)!important}
  body.p-ficha-page .p-ficha2 .p-fb-cond .p-fcond{gap:6px}
  body.p-ficha-page .p-ficha2 .p-fb-cond .p-fcond li,body.p-ficha-page .p-ficha2 .p-fb-tiene .p-ftiene{font:400 .9375rem/1.55 var(--font-body)}
  /* El mapa, más chico */
  body.p-ficha-page .p-ficha2 .p-ficha-main > .p-fb-ubic{margin-top:28px}
  :root body.p-ficha-page .p-ficha2 .p-map-wrap iframe{height:220px}
  /* Tres similares, con aire arriba */
  body.p-ficha-page .p-fsim{padding-top:40px}
  body.p-ficha-page .p-fsim .p-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}

  /* ── Portada ───────────────────────────────────────────────────────────────────────────────────────────── */
  /* El video, su recorte, su encuadre, su arranque, el velo y el título no se tocan acá */
  /* Lo último que entró: seis, de a tres */
  :root body.p-home .h-ultimos{padding:72px 0 64px}
  :root body.p-home .h-ultimos-riel{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;padding-top:28px}
  body.p-home .h-ultimos-riel > :nth-child(n+7){display:none}
  /* Seguimos un estándar: una sola línea, con los cuatro criterios y el enlace */
  :root body.p-home .h-estandar{padding:34px 0}
  :root body.p-home .h-estandar .h-in{display:flex;align-items:center;flex-wrap:wrap;gap:14px 40px}
  :root body.p-home .h-estandar .h-eyebrow{display:none!important}
  :root body.p-home .h-estandar .h-h2{margin:0;font-size:1.5rem;line-height:1.2;white-space:nowrap}
  :root body.p-home .h-camino{flex:0 1 auto;margin:0;padding:0}
  body.p-home .h-camino-linea{display:none}
  :root body.p-home .h-hitos{display:flex;flex-wrap:wrap;align-items:center;gap:10px 0}
  :root body.p-home .h-hito{flex-direction:row;align-items:center;gap:8px;margin:0!important;opacity:1;transform:none;text-align:left}
  :root body.p-home .h-hito + .h-hito::before{content:"";width:4px;height:4px;margin:0 16px;border-radius:50%;background:rgba(194,169,104,.7)}
  :root body.p-home .h-hito .pt{width:auto;height:auto;border:0;background:none;box-shadow:none!important;color:var(--gold-light,#DECDA0)}
  :root body.p-home .h-hito .pt svg:not(.anillo){width:19px;height:19px}
  body.p-home .h-hito .pt .anillo{display:none}
  :root body.p-home .h-hito b{font:400 1rem/1.3 var(--font-body)!important;color:#FBFAF6;white-space:nowrap}
  :root body.p-home .h-criterios{margin:0 0 0 auto;font:500 .9375rem/1 var(--font-body)!important;color:var(--gold-light,#DECDA0);white-space:nowrap}
  :root body.p-home .h-criterios span,:root body.p-home .h-criterios em{font-size:inherit!important}
  /* Edificios: el título solo, sin la línea de abajo; los rótulos de cada fachada, a 14 px */
  :root body.p-home .h-sec#edificios{padding-top:72px;padding-bottom:64px}
  body.p-home #edificiosCopy{display:none}
  :root body.p-home .h-edif-txt em,:root body.p-home .h-edif-txt em span{font-size:.875rem!important}
  /* El cierre, más corto */
  :root body.p-home .h-encaja{padding:48px 0}
}
/* escritorio simple · Lo que es solo de la compu no aparece en el celular (el celular queda como estaba) */
@media (max-width:1023px){
  .p-fgal-ver,.p-fdatos{display:none}
}

/* ── 8/10/2026 (noche) · Tomás: portada del celular con filtro azul y el título con la barra al centro ─────────────
   Un velo navy parejo y suave sobre todo el video (como el de la compu), un poco más denso arriba detrás del encabezado,
   y el bloque del título y la barra de búsqueda centrado en la pantalla, alineado al medio. */
@media(max-width:899px){
  body.p-home .h-hero{align-items:center;padding:56px 0 56px}
  body.p-home .h-hero-velo{background:
    linear-gradient(to bottom,rgba(19,29,45,.50) 0,rgba(19,29,45,0) 150px),
    radial-gradient(ellipse 95% 38% at 50% 50%,rgba(19,29,45,.24) 0%,rgba(19,29,45,.10) 60%,rgba(19,29,45,0) 100%),
    linear-gradient(rgba(19,29,45,.34),rgba(19,29,45,.34))}
  body.p-home .h-hero-in{text-align:center}
  body.p-home .h-hero h1{text-shadow:0 2px 24px rgba(10,14,22,.45),0 1px 3px rgba(10,14,22,.30)}
}

/* ── 8/10/2026 (noche) · Tomás: al estirar hacia abajo, debajo del pie, navy en todo el sitio ────────────────────
   El pie pinta navy por debajo de sí con una sombra sin difuminar (no agrega scroll): tapa el relleno de papel que deja
   el cuerpo abajo (en la ficha, los 76 px de la barra de contacto) y empalma con el fondo navy del documento. */
.footer.p-pie2{box-shadow:0 100vh 0 100vh var(--navy-deeper,#131D2D)}
/* 8/10/2026 (noche, 2) · Tomás: un poco más de filtro para leer mejor el blanco (34 → 44 %) y el buscador no más ancho
   que el título: una píldora angosta y centrada debajo de la frase. */
@media(max-width:899px){
  body.p-home .h-hero-velo{background:
    linear-gradient(to bottom,rgba(19,29,45,.50) 0,rgba(19,29,45,0) 150px),
    radial-gradient(ellipse 95% 38% at 50% 50%,rgba(19,29,45,.24) 0%,rgba(19,29,45,.10) 60%,rgba(19,29,45,0) 100%),
    linear-gradient(rgba(19,29,45,.44),rgba(19,29,45,.44))}
  :root body.p-home .h-barra{width:min(100%,300px);height:48px;margin:0 auto;padding:0 20px 0 16px;font-size:.95rem}
}

/* 8/10/2026 (noche) · Tomás: "¿el logo está alineado con Publicar?". Las cajas sí (centro a 31,5 px), pero la tinta no:
   "Publicar" no tiene letras que bajen y es más baja que BAIREN, así que su centro visual quedaba 1,5 px más arriba que el
   del logo y el del menú. Se baja 1,5 px para que los tres compartan el centro óptico. */
@media(max-width:899px){body.p-home .p-navbar > .p-pub-movil{padding-top:3px}}

/* 9/10/2026 · Prueba "el buscador se transforma en el hero" (html.bh-hero, con ?buscador=nuevo; ver index.html).
   La hoja no sube desde abajo: aparece translúcida sobre el mismo video, con la cabecera navy igual a la del sitio
   (logo y X), el título del hero se desvanece hacia arriba y el formulario sube desde la altura de la barra. */
@media(max-width:899px){
  html.bh-hero .h-hoja{transform:none;opacity:0;transition:opacity 260ms cubic-bezier(.22,1,.36,1);
    background:linear-gradient(to bottom,#131D2D 0,#131D2D calc(63px + env(safe-area-inset-top)),rgba(19,29,45,.62) calc(63px + env(safe-area-inset-top)),rgba(19,29,45,.74) 100%)}
  html.bh-hero .h-hoja.on{opacity:1}
  html.bh-hero .h-hoja-cab{height:63px;padding:0 6px 0 12px;border-bottom:0}
  html.bh-hero .h-hoja-cuerpo{padding:22px 16px 28px;transform:translateY(30vh);opacity:.4;transition:transform 460ms cubic-bezier(.16,1,.3,1),opacity 300ms ease}
  html.bh-hero .h-hoja.on .h-hoja-cuerpo{transform:none;opacity:1}
  html.bh-hero body.p-home .h-hero-in{transition:opacity 220ms ease,transform 380ms cubic-bezier(.16,1,.3,1)}
  html.bh-hero.h-hoja-abierta body.p-home .h-hero-in{opacity:0;transform:translateY(-32px)}
  :root html.bh-hero body.p-home .h-hoja .h-search{gap:14px}
  html.bh-hero body.p-home .h-hoja .h-field input{background:rgba(251,250,246,.12);border-color:rgba(251,250,246,.28)}
}
@media(max-width:899px) and (prefers-reduced-motion:reduce){html.bh-hero .h-hoja,html.bh-hero .h-hoja-cuerpo,html.bh-hero body.p-home .h-hero-in{transition:none}}
/* 9/10/2026 · BAIREN digital: la barra de abajo con cinco pestañas y el número de mensajes sin leer */
@media(max-width:859px){
  .p-tabbar.cinco{grid-template-columns:repeat(5,1fr)}
  .p-tabbar.cinco a span{font-size:.66rem}
  .p-tabbar a{position:relative}
  .p-tabbar .p-tab-n{position:absolute;top:6px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#DECDA0;color:#131D2D;font:600 .62rem/16px var(--font-body);text-align:center}
}
/* 9/10/2026 · BAIREN digital: en la barra de la ficha, WhatsApp como ícono al lado de "Mensaje" */
@media(max-width:859px){.p-mcta .p-mcta-waico{width:44px;padding:0!important;justify-content:center;display:inline-flex;align-items:center}.p-mcta .p-mcta-waico svg{width:18px;height:18px}}
/* En pantallas muy angostas (iPhone SE de 320 px) no entran precio, Visita, WhatsApp y Mensaje: la visita se pide desde el chat o la ficha */
@media(max-width:359px){.p-mcta.con-mensaje #mctaBtn{display:none}}

/* ══ 10/10/2026 · El portal como app de celular ══════════════════════════════════════════════════════════════
   Tomás: "rompe, choca las letras en el menú de abajo, está muy pegado y va lenta".
   1 · La barra de abajo: columnas que pueden achicarse (minmax(0,1fr)) y rótulos de una línea que nunca invaden la
       pestaña de al lado, aunque el iPhone tenga el texto agrandado o la pantalla ampliada (vista de 320 px).
   2 · Mientras baja el JS, la barra de arriba ya está (un navy del mismo alto): sin el velo de arranque, el esqueleto
       de cada página se ve enseguida. El velo queda solo en la portada (el video) y en el asistente de publicar.
   3 · Con viewport-fit=cover (para la app instalada: la barra de abajo llega hasta la rayita del iPhone), en el
       celular horizontal nada queda debajo de la muesca. */
@media(max-width:859px){
  .p-tabbar{grid-template-columns:repeat(4,minmax(0,1fr));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .p-tabbar.cinco{grid-template-columns:repeat(5,minmax(0,1fr))}
  .p-tabbar a{min-width:0;padding:0 2px;gap:4px}
  .p-tabbar a svg{flex:0 0 auto}
  html .p-tabbar a span,html .p-tabbar.cinco a span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(10px,2.8vw,11.5px);letter-spacing:0;line-height:1.15}
}
#pHeader:empty{position:fixed;inset:0 0 auto;height:calc(64px + env(safe-area-inset-top));background:#131D2D;border-bottom:1px solid rgba(251,250,246,.08);z-index:1000}
@media(orientation:landscape) and (max-height:520px){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .p-navbar,.navbar{padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}
}
