/* Layout: la portada abre con una letra ó gigante que es una ventana 360 en vivo; lo demás va tranquilo y alineado a la izquierda. */
:root{
  /* Hueso, lino, nogal, espresso y latón */
  --bg:#F8F4ED; --surface:#FFFDF9; --ink:#2A1D15; --muted:#6B5A4C; --line:#E4DACB; --line-2:#B7A792;
  --error:#9B2C1F; --ok:#4F6B3A;
  --banda:#EAE0D1; --on-banda:#2A1D15; --on-banda-2:#5A4A3D;
  --hero:#2A1C14; --on-hero:#F7F0E5; --on-hero-2:#D8C9B5;
  --oscuro:#3A261A; --on-oscuro:#F7F0E5; --on-oscuro-2:#D8C9B5;
  --cta:#B8955A; --on-cta:#21150E; --tilde:#C9A46A; --acento:#9C7440; --serie:#9A5B2A;
  --veta:none;
  --f-disp:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --f-ui:"Jost","Century Gothic","Avenir Next",Futura,system-ui,sans-serif;
  --f-txt:var(--f-ui);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#17100B; --surface:#21170F; --ink:#F3ECE1; --muted:#BBAB98; --line:#3A2C20; --line-2:#6A5644;
  --error:#F0A090; --ok:#A9C28F; --banda:#2A1D14; --on-banda:#F3ECE1; --on-banda-2:#C9B8A4;
  --acento:#C9A46A; --serie:#D9A066; color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#17100B; --surface:#21170F; --ink:#F3ECE1; --muted:#BBAB98; --line:#3A2C20; --line-2:#6A5644;
  --error:#F0A090; --ok:#A9C28F; --banda:#2A1D14; --on-banda:#F3ECE1; --on-banda-2:#C9B8A4;
  --acento:#C9A46A; --serie:#D9A066; color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:400 17px/1.5 var(--f-ui);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
h1,h2{margin:0;font-family:var(--f-disp);font-weight:500;letter-spacing:-.01em;line-height:1.04;text-wrap:balance}
h1{font-size:clamp(3.1rem,6.4vw,5.6rem)}
h2{font-size:clamp(2.3rem,4vw,3.3rem)}
h3{margin:0;font-weight:500;font-size:1.2rem;line-height:1.25;text-wrap:balance}
p{margin:0}
a{color:inherit}
ol,ul{margin:0;padding:0;list-style:none}
main:focus{outline:none}
:focus-visible{outline:3px solid var(--cta);outline-offset:2px}
.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.txt{font-family:var(--f-txt);font-size:1.14rem;font-weight:300;line-height:1.6;max-width:60ch}
.apagado{color:var(--muted)}

/* Barra de maqueta */
.maqueta{background:var(--oscuro);color:var(--on-oscuro);font-size:.94rem}
.maqueta .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 20px;padding-block:6px}

/* Encabezado */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:12px 32px;flex-wrap:wrap;padding-block:12px}
.logo{display:inline-block;color:inherit;text-decoration:none;line-height:0}
.logo-img{display:block;height:50px;width:auto;aspect-ratio:450/130}
.menu{display:flex;gap:24px;flex:1;min-width:0}
.menu a{text-decoration:none;padding-block:4px;border-bottom:2px solid transparent;white-space:nowrap}
.menu a:hover{border-color:var(--line-2)}
.menu a[aria-current="page"]{border-color:var(--cta);font-weight:500}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 24px;border:0;border-radius:3px;background:var(--cta);color:var(--on-cta);font:500 1rem/1.2 var(--f-ui);letter-spacing:.02em;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.06)}
.btn-2{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn-2:hover{background:color-mix(in srgb,currentColor 10%,transparent);filter:none}
.btn-lleno{width:100%}

/* Portada */
.hero{background:var(--hero) var(--veta) center/cover;color:var(--on-hero)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:48px;align-items:center;padding-block:96px 24px}
.hero-copy{display:grid;gap:20px;padding-bottom:40px}
.hero-copy .txt{color:var(--on-hero-2)}
.busca{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:6px 14px 14px;border-radius:4px;background:var(--surface);color:var(--ink);max-width:580px}
.seg{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line)}
.seg label{position:relative;cursor:pointer;text-align:center}
.seg input{position:absolute;inset:0;opacity:0;cursor:pointer}
.seg span{display:block;padding:10px 4px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--muted)}
.seg input:checked+span{border-color:var(--cta);color:var(--ink);font-weight:500}
.seg input:focus-visible+span{outline:3px solid var(--cta);outline-offset:1px}
.busca select{border:0;background:transparent;color:inherit;font:inherit;min-width:0;width:100%;padding:8px 10px}
.hero-mas{color:var(--on-hero-2)}
.hero-mas a{color:var(--on-hero)}
.ojo-wrap{position:relative;z-index:2;margin-bottom:-84px;width:100%;max-width:500px;justify-self:end}
.ojo-wrap::before{content:"";position:absolute;inset:-11px;border-radius:50%;background:conic-gradient(from 210deg,#E8CD97,#9C7440,#EFDDB2,#8A6534,#E8CD97)}
.tilde{position:absolute;left:53%;top:-9.5%;width:19%;height:3.6%;border-radius:99px;background:linear-gradient(90deg,#9C7440,#EFDDB2);transform:rotate(-34deg)}
.ojo{aspect-ratio:1;width:100%;border-radius:50%}

/* Visor 360 */
.pano{position:relative;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;background:var(--oscuro);isolation:isolate}
.pano:active{cursor:grabbing}
.pano-stage{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.pano-cube{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.pano-cube canvas{position:absolute;display:block;max-width:none}
.pano-hint{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);padding:6px 14px;border-radius:99px;background:rgba(9,32,27,.78);color:#F2F6EC;font-size:.92rem;white-space:nowrap;pointer-events:none;transition:opacity .3s}
.pano.tocado .pano-hint{opacity:0}

/* Secciones */
.seccion{padding-block:72px}
.seccion.primera{padding-top:144px}
.cabeza{display:flex;justify-content:space-between;align-items:baseline;gap:8px 24px;flex-wrap:wrap;margin-bottom:32px}
.cabeza a{white-space:nowrap}
.casas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.casa{display:grid;gap:4px;text-decoration:none;min-width:0}
.casa-foto{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:6px;margin-bottom:10px;background:var(--line)}
.casa-foto canvas{display:block;width:100%;height:100%;transition:transform .35s ease}
.casa:hover canvas{transform:scale(1.035)}
.t360{position:absolute;left:12px;top:12px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1.5px solid #C9A46A;background:rgba(33,21,14,.82);color:#F7F0E5;font-size:.86rem;font-weight:500}
.ej{position:absolute;right:10px;bottom:10px;padding:2px 10px;border-radius:99px;background:rgba(9,32,27,.72);color:#fff;font-size:.82rem}
.casa-precio{font-size:1.4rem;font-weight:500;font-variant-numeric:tabular-nums}
.casa h3{font-weight:400;font-size:1.08rem}
.casa p{color:var(--muted)}

/* Pasos */
.pasos{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:24px;counter-reset:p}
.pasos li{position:relative;display:grid;gap:8px;align-content:start;counter-increment:p;min-width:0}
.pasos li::before{content:counter(p);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--acento);color:var(--acento);font:600 1.35rem/1 var(--f-disp)}
.pasos li:not(:last-child)::after{content:"";position:absolute;left:54px;right:-12px;top:21px;height:1px;background:currentColor;opacity:.3}
.pasos p{color:var(--muted)}
.en-oscuro .pasos p{color:var(--on-oscuro-2)}

/* Bandas */
.dueno{background:var(--banda);color:var(--on-banda)}
.dueno .txt{color:var(--on-banda-2)}
.dos{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center}
.dos>div{display:grid;gap:18px;justify-items:start;min-width:0}
.lista li{display:grid;grid-template-columns:30px minmax(0,1fr);padding-block:12px;border-top:1px solid color-mix(in srgb,currentColor 35%,transparent)}
.lista li:last-child{border-bottom:1px solid color-mix(in srgb,currentColor 35%,transparent)}
.lista li::before{content:"";width:12px;height:12px;margin-top:7px;border-radius:50%;border:2.5px solid currentColor}
.en-oscuro{background:var(--oscuro);color:var(--on-oscuro)}
.en-oscuro .txt{color:var(--on-oscuro-2)}
.acciones{display:flex;flex-wrap:wrap;gap:12px}

/* Antes y después */
.ad{position:relative;--p:50%;aspect-ratio:25/14;width:100%;overflow:hidden;border-radius:6px;background:var(--oscuro)}
.ad canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ad .encima{clip-path:inset(0 0 0 var(--p))}
.ad-linea{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;pointer-events:none}
.ad-linea::after{content:"";position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:var(--cta);box-shadow:0 0 0 3px #fff}
.ad input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.ad:has(input:focus-visible){outline:3px solid var(--cta);outline-offset:2px}
.ad-tag{position:absolute;bottom:10px;padding:2px 10px;border-radius:99px;background:rgba(9,32,27,.78);color:#fff;font-size:.88rem;pointer-events:none}
.ad-tag.a{left:10px}.ad-tag.b{right:10px}

/* Listado */
.titulo{padding-block:44px 8px;display:grid;gap:10px}
.filtros{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:end;padding-block:18px 28px}
.filtro{display:grid;gap:6px}
.filtro>span{font-size:.92rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{min-height:40px;padding:6px 16px;border:1px solid var(--line-2);border-radius:3px;background:transparent;color:inherit;font:inherit;font-size:.98rem;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--oscuro);border-color:var(--oscuro);color:var(--on-oscuro)}
.vacio{display:grid;gap:14px;justify-items:start;padding-block:32px}

/* Detalle */
.volver{display:inline-block;padding-block:20px 8px}
.ficha-cab{display:flex;justify-content:space-between;align-items:end;gap:8px 32px;flex-wrap:wrap;padding-bottom:18px}
.ficha-cab>div{display:grid;gap:4px;min-width:0}
.ficha-precio{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1}
.visor{aspect-ratio:16/9;width:100%;border-radius:6px}
.visor .plano-box{position:absolute;left:12px;bottom:12px;width:170px;padding:6px;border-radius:6px;background:rgba(9,32,27,.8)}
.plano{display:block;width:100%;height:auto}
.plano rect{fill:transparent;stroke:#DCE7DF;stroke-width:2;cursor:pointer}
.plano g.activo rect{fill:rgba(240,180,20,.32)}
.plano text{fill:#F2F6EC;font:500 13px var(--f-ui);pointer-events:none}
.plano .cono path{fill:rgba(240,180,20,.75)}
.plano .cono circle{fill:#F0B414}
.plano .cono{pointer-events:none}
.ambientes{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-block:12px}
.ficha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:48px;align-items:start;padding-block:20px 72px}
.ficha-info{display:grid;gap:24px;min-width:0}
.hechos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-block:14px;border-block:1px solid var(--line)}
.hechos dt{font-size:.92rem;color:var(--muted)}
.hechos dd{margin:0;font-size:1.3rem;font-weight:500;font-variant-numeric:tabular-nums}
.nota{display:grid;grid-template-columns:30px minmax(0,1fr);padding:14px 16px;border-radius:6px;background:color-mix(in srgb,var(--cta) 15%,var(--surface))}
.nota::before{content:"";width:14px;height:14px;margin-top:5px;border-radius:50%;border:3px solid var(--ink)}

/* Formularios */
.panel{display:grid;gap:14px;padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0}
.ficha .panel{position:sticky;top:96px}
.panel h2{font-size:2rem}
.panel h3{font-size:1.25rem}
.campo{display:grid;gap:5px;min-width:0}
.campo label,.leyenda{font-weight:500;font-size:.96rem}
.campo input,.campo select,.campo textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line-2);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.campo textarea{min-height:84px;resize:vertical}
.campo [aria-invalid="true"]{border-color:var(--error)}
.err{color:var(--error);font-size:.92rem}
.fila{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.permiso{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;font-size:.94rem;line-height:1.4;color:var(--muted);cursor:pointer}
.permiso input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--oscuro)}
.hecho{display:grid;gap:12px}
.hecho h3{color:var(--ok)}

/* Visita técnica */
.visita{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:start;padding-block:32px 72px}
.visita-info{display:grid;gap:24px;min-width:0}
.pasos.vertical{grid-template-columns:minmax(0,1fr);gap:18px}
.pasos.vertical li{grid-template-columns:42px minmax(0,1fr);gap:0 14px}
.pasos.vertical li::after{display:none}
.pasos.vertical li>*{grid-column:2}
.pasos.vertical li::before{grid-row:1/span 2}
.cal-cab{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cal-cab strong{font-weight:500}
.cal-cab strong::first-letter{text-transform:uppercase}
.cal-nav{width:40px;height:40px;border:1.5px solid var(--line-2);border-radius:50%;background:transparent;color:inherit;font:inherit;cursor:pointer}
.cal-nav:disabled{opacity:.35;cursor:default}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.cal span{font-size:.86rem;color:var(--muted)}
.cal button{aspect-ratio:1;width:100%;max-width:46px;justify-self:center;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer}
.cal button:hover:not(:disabled){background:var(--bg)}
.cal button:disabled{color:var(--line-2);cursor:default}
.cal button[aria-pressed="true"]{background:var(--cta);color:var(--on-cta);font-weight:500}
.valor{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:10px;border-block:1px solid var(--line)}

/* Alerta de precio */
.rebaja{display:block;color:var(--ok);font-size:.94rem;font-weight:400}
.alerta{display:grid;gap:12px;justify-items:stretch;padding:20px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.alerta h2{font-size:1.9rem}
.alerta .btn{justify-self:start}
.al-cab{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 16px}
.al-cab span{font-variant-numeric:tabular-nums}

/* Fotos reales */
.casa-foto img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.casa:hover img{transform:scale(1.035)}
.esfera{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.sin-tour{display:grid;place-items:center;padding:24px;background:var(--banda);color:var(--on-banda-2);text-align:center}

/* Panel de trabajo */
body[data-vista="panel"] .top,body[data-vista="panel"] .pie,body[data-vista="panel"] .maqueta{display:none}
.pn{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh}
.pn-lado{position:sticky;top:0;align-self:start;height:100dvh;display:flex;flex-direction:column;gap:26px;padding-block:22px;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:18px;background:var(--hero) var(--veta) center/cover;color:var(--on-hero)}
.pn-nav{display:grid;gap:2px}
.pn-nav a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border-radius:3px;text-decoration:none;color:var(--on-hero-2)}
.pn-nav a:hover{color:var(--on-hero)}
.pn-nav a[aria-current="page"]{background:rgba(201,164,106,.2);color:var(--on-hero);font-weight:500}
.pn-nav b{min-width:24px;padding:0 6px;border-radius:99px;background:var(--cta);color:var(--on-cta);font-size:.84rem;font-weight:500;text-align:center}
.pn-salir{margin-top:auto;color:var(--on-hero-2)}
.pn-main{display:grid;gap:20px;align-content:start;min-width:0;width:100%;max-width:1180px;padding-block:28px 64px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.pn-cab{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 20px}
.pn-cab h1{font-size:clamp(2.3rem,3.6vw,3.1rem)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{display:grid;gap:2px;align-content:start;padding:16px;border:1px solid var(--line);border-radius:4px;background:var(--surface);min-width:0}
.kpi>span{font-size:.94rem;color:var(--muted)}
.kpi b{font-size:2.3rem;font-weight:500;line-height:1.15;font-variant-numeric:tabular-nums}
.kpi small{font-size:.86rem;color:var(--muted)}
.caja{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:4px;background:var(--surface);min-width:0}
.caja h2{font:500 1.1rem/1.3 var(--f-ui);letter-spacing:0}
.caja details>summary{cursor:pointer;color:var(--muted)}
.dos-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tag{display:inline-block;padding:0 7px;border-radius:99px;background:var(--banda);color:var(--on-banda-2);font-size:.78rem;font-style:normal;font-weight:400;vertical-align:1px}
.grafico{position:relative;min-width:0}
.grafico svg{display:block;max-width:100%;touch-action:pan-y}
.tip{position:absolute;padding:4px 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface);color:var(--ink);font-size:.88rem;white-space:nowrap;pointer-events:none}
.tabla-x{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{text-align:left;font-weight:500;font-size:.92rem;color:var(--muted)}
th,td{padding:8px 10px 8px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.barras{display:grid;gap:8px}
.barra{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:2px 10px;align-items:center}
.barra span{grid-column:1/-1;font-size:.96rem}
.barra i{display:block;height:8px;border-radius:0 4px 4px 0;background:var(--serie)}
.barra b{font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.atender{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding-block:8px;border-top:1px solid var(--line);text-decoration:none}
.atender strong,.sol strong,.fc-txt strong{font-weight:500}
.btn-s{min-height:36px;padding:6px 14px;font-size:.94rem}
.btn:disabled{opacity:.55;cursor:default}
.btn:has(.sr:focus-visible){outline:3px solid var(--cta);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;opacity:0}
.acc{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.estado{display:inline-block;padding:1px 10px;border:1px solid var(--line-2);border-radius:3px;font-size:.88rem;white-space:nowrap}
.e-nueva{border-color:var(--cta);background:var(--cta);color:var(--on-cta)}
.e-bien{border-color:var(--ok);color:var(--ok)}
.e-fin{border-style:dashed;color:var(--muted)}
.fc{display:grid;grid-template-columns:84px minmax(0,1fr) 110px auto auto;gap:14px;align-items:center;padding-block:10px;border-top:1px solid var(--line)}
.fc:first-of-type{border-top:0}
.fc-foto{aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--banda)}
.fc-foto canvas,.fc-foto img{display:block;width:100%;height:100%;object-fit:cover}
.fc-txt{display:grid;gap:1px;min-width:0}
.fc-txt span,.fc-tour{color:var(--muted);font-size:.94rem}
.fd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding-block:10px;border-top:1px solid var(--line)}
.otro-doc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding-top:10px;border-top:1px solid var(--line)}
.sol{border-top:1px solid var(--line)}
.sol:first-child{border-top:0}
.caja details.sol>summary{display:grid;grid-template-columns:70px minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,.8fr) auto;gap:12px;align-items:center;padding-block:10px;color:var(--ink);list-style:none}
.caja details.sol.obra>summary{grid-template-columns:150px minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,.8fr) auto}
.copia{margin:0;padding:10px;border-radius:3px;background:var(--bg);font:inherit;font-size:.92rem;white-space:pre-wrap;overflow-wrap:anywhere}
.sol>summary::-webkit-details-marker{display:none}
.sol-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;padding:6px 0 18px}
.sol-cuerpo dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0}
.sol-cuerpo dt{font-size:.86rem;color:var(--muted)}
.sol-cuerpo dd{margin:0;overflow-wrap:anywhere}
.sol-acc{display:grid;gap:10px;align-content:start;justify-items:stretch}
.fila.cuatro{grid-template-columns:repeat(4,minmax(0,1fr))}
.ambs{display:grid;gap:10px;padding-top:6px}
.amb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:6px 12px;align-items:end;padding-block:10px;border-top:1px solid var(--line)}
.amb-msg{grid-column:1/3;grid-row:2;color:var(--muted);font-size:.92rem}
.amb .btn{grid-column:3;grid-row:1}

/* Pie */
.pie{background:var(--oscuro);color:var(--on-oscuro)}
.pie .wrap{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:32px;padding-block:44px}
.pie .wrap>div{display:grid;gap:8px;align-content:start;min-width:0}
.pie p,.pie li{color:var(--on-oscuro-2)}
.pie a{color:var(--on-oscuro)}
.pie .logo{justify-self:start}
.pie .lema{font:500 1.5rem/1.2 var(--f-disp);color:var(--on-oscuro)}

@media (max-width:860px){
  .pn{grid-template-columns:minmax(0,1fr)}
  .pn-lado{position:static;height:auto;gap:10px;padding-block:14px 8px;padding-right:max(18px,env(safe-area-inset-right,0px))}
  .pn-nav{display:flex;gap:4px;overflow-x:auto}
  .pn-nav a{white-space:nowrap}
  .pn-salir{margin-top:0}
  .pn-main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:20px 48px}
  .kpis,.dos-col{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dos-col{grid-template-columns:minmax(0,1fr)}
  .fc{grid-template-columns:72px minmax(0,1fr);gap:6px 12px}
  .fc-foto{grid-row:span 3}
  .fc-tour,.fc .estado,.fc .tag,.fc .acc{grid-column:2;justify-self:start;justify-content:flex-start}
  .fd,.otro-doc{grid-template-columns:minmax(0,1fr)}
  .fd .acc{justify-content:flex-start}
  .atender{grid-template-columns:minmax(0,1fr) auto}
  .atender>span:first-child{grid-column:1/-1;color:var(--muted);font-size:.9rem}
  .caja details.sol>summary,.caja details.sol.obra>summary{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}
  .sol summary>span:first-child{grid-column:1/-1;color:var(--muted);font-size:.9rem}
  .sol-cuerpo,.sol-cuerpo dl{grid-template-columns:minmax(0,1fr)}
  .fila.cuatro{grid-template-columns:repeat(2,minmax(0,1fr))}
  .amb{grid-template-columns:minmax(0,1fr)}
  .amb-msg,.amb .btn{grid-column:1;grid-row:auto;justify-self:start}
}
@media (max-width:980px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:18px;padding-block:44px 32px}
  .hero-copy{display:contents}
  .ojo-wrap{order:3;justify-self:center;max-width:min(84%,440px);margin:52px 0 22px}
  .busca{order:4;max-width:none}
  .hero-mas{order:5}
  .seccion.primera{padding-top:64px}
  .dos,.ficha,.visita{grid-template-columns:minmax(0,1fr);gap:32px}
  .ficha .panel{position:static}
  .casas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pasos{grid-template-columns:minmax(0,1fr)}
  .pasos li{grid-template-columns:42px minmax(0,1fr);gap:0 14px}
  .pasos li>*{grid-column:2}
  .pasos li::before{grid-row:1/span 2}
  .pasos li:not(:last-child)::after{display:none}
  .pie .wrap{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .menu{order:3;flex-basis:100%;gap:14px;overflow-x:auto;padding-bottom:2px;font-size:.96rem}
  .top .btn{margin-left:auto;min-height:40px;padding:6px 16px;font-size:.94rem}
  .top .wrap{padding-block:10px 6px}
  .ficha .panel,.panel{padding:18px}
  .visor{aspect-ratio:4/3}
  .visor .plano-box{width:124px;left:8px;bottom:8px}
  .hechos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .casas{grid-template-columns:minmax(0,1fr)}
  .busca{grid-template-columns:minmax(0,1fr)}
  .seg span{font-size:.96rem}
  .fila{grid-template-columns:minmax(0,1fr)}
  .seccion{padding-block:52px}
}
@media (prefers-reduced-motion:reduce){.casa-foto canvas,.pano-hint{transition:none}}

/* Web real */
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aviso-ejemplo{color:var(--on-oscuro-2);font-size:.9rem}
.legal{max-width:760px;display:grid;gap:14px;padding-block:44px 72px}
.legal h2{font-size:1.9rem;margin-top:12px}
.legal ul{list-style:disc;padding-left:22px}
.enlace{margin-left:14px;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
.chip:disabled{opacity:.4;cursor:default;text-decoration:line-through}
.chip input{accent-color:var(--oscuro)}
label.chip{display:inline-flex;align-items:center;gap:6px;cursor:pointer}

/* El menú baja a su propia línea antes de chocar con el botón */
@media (max-width:860px){
  .menu{order:3;flex-basis:100%;gap:14px;overflow-x:auto;padding-bottom:2px;font-size:.96rem}
  .top .btn{margin-left:auto;min-height:40px;padding:6px 16px;font-size:.94rem}
}

/* Alquila por día */
.reserva-total{display:flex;justify-content:space-between;gap:12px;padding-block:10px;border-block:1px solid var(--line);font-variant-numeric:tabular-nums}
.reserva-total strong{font-weight:500}
@media (max-width:560px){
  .seg{grid-template-columns:repeat(3,minmax(0,1fr))}
}
