.imv-bread{padding-top:calc(2.3rem + 44px + 1.2rem)}
.imv-bread a:hover{color:var(--ink)}

.g-thumb.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
@media (hover:hover) and (pointer:fine){ .g-thumb:hover{border-color:var(--ink)} }
.g-cta-k{color:var(--on-dark-soft)}

.g-cta-in{max-width:none;padding-inline:1rem}
.g-cta-t{white-space:nowrap;font-size:clamp(.95rem,4.5vw,1.45rem)}
.imv-key .k svg{stroke:var(--ink)}
.imv-maplink a{color:var(--ink);border-bottom-color:color-mix(in srgb,var(--ink) 35%,transparent)}

.g-slide img{object-fit:contain}

.imv-desc h3{font-family:var(--f-display);font-size:1.1rem;color:var(--ink);margin:1.6rem 0 .6rem}
.imv-lista{list-style:none;margin:0 0 1rem;padding:0;max-width:70ch}
.imv-lista li{position:relative;padding:.38rem 0 .38rem 1.4rem;color:var(--text);line-height:1.5}
.imv-lista li::before{content:"";position:absolute;left:.15rem;top:.92em;width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:.6}

.imv-local{display:flex;align-items:center;gap:.5rem;color:var(--ink);font-weight:600;margin:0}
.imv-local svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6}

.imv-contacto{position:sticky;top:calc(2.3rem + 44px + 1.5rem);background:var(--white);border:1px solid var(--line);padding:1.6rem;box-shadow:0 24px 44px -32px rgba(16,27,36,.35)}
.imv-contacto__titulo{font-family:var(--f-display);font-weight:600;font-size:1.25rem;line-height:1.2;color:var(--ink);margin:0 0 1.1rem}
.imv-contacto .btn{width:100%;justify-content:center}
.imv-pessoas{margin-top:1.2rem;border-top:1px solid var(--line)}
.imv-pessoa{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.85rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.imv-pessoa img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.imv-pessoa__nome{display:block;font-weight:600;color:var(--ink);line-height:1.2}
.imv-pessoa__tel{display:inline-block;margin-top:.15rem;font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--ink);letter-spacing:.01em}
.imv-pessoa__wa{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);transition:background .2s ease,color .2s ease,border-color .2s ease}
.imv-pessoa__wa svg{width:20px;height:20px}
@media (hover:hover) and (pointer:fine){
  .imv-pessoa__wa:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
  .imv-pessoa__tel:hover{text-decoration:underline;text-underline-offset:3px}
}
.imv-contacto__nota{margin:.8rem 0 0;font-size:.72rem;color:var(--muted)}

.imv{padding-bottom:clamp(3rem,6vw,5rem)}

@media (max-width:900px){ .imv-contacto{position:static} }
@media (max-width:640px){ .imv-bread{padding-top:calc(2.3rem + 44px + .8rem)} }

.gallery-thumbs{justify-content:flex-start}

.spec-item .sv-falta{color:var(--muted);font-weight:500}

.imv-key .k{gap:.55rem}
.imv-key .k svg{width:20px;height:20px;fill:none;stroke:none;color:var(--ink);opacity:.75}
.imv-key .k-falta .kv{color:var(--muted);font-weight:500}
.imv-key .k-falta svg{opacity:.4}
.imv-key .k-ce .sp-ce b{height:1.5rem;min-width:1.9rem;font-size:.85rem}
.imv-key .k-ce .sp-ce{font-size:0}
.imv-key .k-ce .kl{font-size:.85rem;color:var(--muted)}
.sp-ce{display:inline-flex;align-items:center;gap:.35rem}
.sp-ce b{display:inline-flex;align-items:center;justify-content:center;min-width:1.55rem;height:1.25rem;padding:0 .3rem;border-radius:3px;font-size:.74rem;font-weight:800;line-height:1;color:#fff;background:color-mix(in srgb,var(--muted) 55%,transparent)}
.sp-ce[data-c="A+"] b{background:#00A651}.sp-ce[data-c="A"] b{background:#4CB847}
.sp-ce[data-c="B"] b{background:#8DC63F}.sp-ce[data-c="B-"] b{background:#C6D62E}
.sp-ce[data-c="C"] b{background:#FFF200;color:#3a3a1a}.sp-ce[data-c="D"] b{background:#FDB913;color:#3a2a05}
.sp-ce[data-c="E"] b{background:#F58220}.sp-ce[data-c="F"] b{background:#EF4123}.sp-ce[data-c="G"] b{background:#ED1C24}

.spec-item .sk{display:inline-flex;align-items:center;gap:.55rem}
.spec-item .sk svg{width:17px;height:17px;flex:none;color:var(--ink);opacity:.6}
.spec-item{align-items:center}

.spec-item:last-child{border-bottom:0}

@media (min-width:641px){ .specs-grid:not(.specs-grid--7) .spec-item:nth-last-child(2){border-bottom:0} }

[data-c="A+"]{--ce:#00843D}[data-c="A"]{--ce:#19A03E}[data-c="B"]{--ce:#8CC63E}[data-c="B-"]{--ce:#CBDB2A;--ce-t:#2b2f0a}
[data-c="C"]{--ce:#FFE600;--ce-t:#3a3a1a}[data-c="D"]{--ce:#FBBA00;--ce-t:#3a2a05}[data-c="E"]{--ce:#EC6608}[data-c="F"]{--ce:#E30613}
.sp-ce b{
  border-radius:2px 0 0 2px;padding:0 .75rem 0 .35rem;min-width:2rem;justify-content:flex-start;
  background:var(--ce,color-mix(in srgb,var(--muted) 55%,transparent)) !important;color:var(--ce-t,#fff) !important;
  clip-path:polygon(0 0,calc(100% - .45rem) 0,100% 50%,calc(100% - .45rem) 100%,0 100%);
}

.ce-escala{margin-top:1.6rem;max-width:22rem}
.ce-tit{margin:0 0 .7rem;font-weight:600;color:var(--ink);font-size:.95rem}
.ce-escala ul{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.ce-l{position:relative;height:22px}
.ce-l span{
  display:flex;align-items:center;height:100%;width:calc(30% + var(--i) * 8%);padding-left:.55rem;
  font-weight:800;font-size:.78rem;color:var(--ce-t,#fff);background:var(--ce);
  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);
}
.ce-l.on::after{
  content:attr(data-c);position:absolute;right:0;top:-2px;bottom:-2px;min-width:2.6rem;padding:0 .5rem 0 1rem;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:#fff;background:var(--ink);
  clip-path:polygon(11px 0,100% 0,100% 100%,11px 100%,0 50%);
}
.ce-vazia .ce-l span{filter:grayscale(1);opacity:.35}
.ce-nota{margin:.6rem 0 0;font-size:.85rem;color:var(--muted)}

.sp-ce{display:inline-flex;align-items:center}
.sp-ce img{display:block;width:26px;height:auto}
.sp-ce b{
  display:inline-flex;align-items:center;justify-content:center;width:26px;height:23px;padding:3px 0 0;min-width:0;
  border-radius:0 !important;font-size:.8rem;font-weight:800;color:#fff !important;background:#9A9A9A !important;
  clip-path:polygon(50% 0,100% 25%,100% 100%,0 100%,0 25%);
}
.imv-key .k-ce .sp-ce img,.imv-key .k-ce .sp-ce b{width:30px}
.imv-key .k-ce .sp-ce b{height:27px;font-size:.9rem}

.ce-l[data-c="A+"]{--ce:#2E964E}.ce-l[data-c="A"]{--ce:#57A248}.ce-l[data-c="B"]{--ce:#8AB643}.ce-l[data-c="B-"]{--ce:#BACB38;--ce-t:#fff}
.ce-l[data-c="C"]{--ce:#D9DA2D;--ce-t:#fff}.ce-l[data-c="D"]{--ce:#F8DA1F;--ce-t:#fff}.ce-l[data-c="E"]{--ce:#DF992F}.ce-l[data-c="F"]{--ce:#C63337}.ce-l[data-c="G"]{--ce:#C63337}
.ce-l span{width:calc(28% + var(--i) * 7.5%)}
.imv-key .k-ce .sp-ce img{width:30px}

.imv-mapa{margin-top:1rem;aspect-ratio:16/9;border:1px solid var(--line);overflow:hidden;
  background:color-mix(in srgb,var(--ink) 6%,var(--paper))}
.imv-mapa__btn{width:100%;height:100%;border:0;background:transparent;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1.5rem;text-align:center;color:var(--ink)}
.imv-mapa__btn svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6}
.imv-mapa__t{font-family:var(--f-display);font-weight:600;font-size:1.15rem}
.imv-mapa__n{font-size:.82rem;color:var(--muted);max-width:34ch}
@media (hover:hover) and (pointer:fine){ .imv-mapa__btn:hover{background:color-mix(in srgb,var(--ink) 10%,var(--paper))} }
.imv-mapa iframe{width:100%;height:100%;border:0;display:block}
.imv-mapa__btn{font:inherit}

.imv-sec--mapa{margin-top:clamp(2.6rem,5vw,3.6rem)}
.imv-sec--mapa .imv-mapa{aspect-ratio:auto;height:clamp(300px,42vw,460px)}

.carac{margin:0;border-top:1px solid var(--line)}
.carac-item{display:grid;grid-template-columns:minmax(10rem,14rem) 1fr;gap:.4rem 1.6rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.carac dt{font-weight:600;color:var(--ink)}
.carac dd{margin:0;display:flex;flex-direction:column;gap:.2rem;color:var(--text)}
.carac .cv-falta{color:var(--muted)}
.carac dd .sp-ce{margin-bottom:.3rem}
.carac dd .sp-ce img{width:34px}
@media (max-width:640px){ .carac-item{grid-template-columns:1fr;gap:.35rem} }

.specs-grid--7 .spec-item{align-items:flex-start}
.specs-grid--7 .sk{flex:none;white-space:nowrap;padding-top:.05rem}
.specs-grid--7 .sv{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;font-weight:600}
.specs-grid--7 .sv .cv-falta{color:var(--muted);font-weight:500}
.specs-grid--7 .sv .sp-ce img{width:30px}
@media (max-width:640px){ .specs-grid--7 .spec-item{flex-direction:column;gap:.4rem} .specs-grid--7 .sv{align-items:flex-start;text-align:left} }

.specs-grid--7{grid-template-columns:1fr}
.specs-grid--7 .sk{min-width:13rem}

.ctiles{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.ct{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:1.05rem 1.15rem 1.15rem}
.ct--comod{grid-column:1 / -1}
.ct-k{display:flex;align-items:center;gap:.45rem;margin:0 0 .7rem;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ct-k svg{width:16px;height:16px;flex:none;color:var(--ink);opacity:.7}
.ct-v{display:flex;flex-direction:column;gap:.3rem}
.ct-main{font-family:var(--f-display);font-weight:600;font-size:1.12rem;line-height:1.3;color:var(--ink)}
.ct-sub{font-size:.9rem;line-height:1.45;color:var(--text)}
.ct-falta{color:var(--muted)}
.ct-sub.ct-falta b{font-weight:600;margin-left:.15rem}
.ct-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.ct-chips li{font-size:.9rem;line-height:1.3;color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,var(--paper));border:1px solid var(--line);border-radius:6px;padding:.45rem .7rem}
.ct-ce{display:flex;align-items:center;gap:.7rem}
.ct-ce .sp-ce img{width:38px}
@media (max-width:640px){ .ctiles{grid-template-columns:1fr} }

.ct--ce{grid-column:1 / -1}

.specs-grid .sv .sp-ce img{width:30px}

.g-slide img{cursor:default}
.g-cta{cursor:auto}
.lb{--lb-pad:clamp(1.15rem,1.6vw,1.75rem);position:fixed;inset:0;z-index:1000;
  background:rgba(13,13,11,.94);color:#E8E4DA;-webkit-tap-highlight-color:transparent}
.lb[hidden]{display:none}
.lb:focus{outline:none}

.lb-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding:var(--lb-pad);
  overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}

.lb-slot{position:absolute;inset:var(--lb-pad);pointer-events:none}
.lb-img{position:absolute;inset:0;margin:auto;display:block;max-width:88%;max-height:82%;width:auto;height:auto;object-fit:contain;
  border-radius:clamp(10px,.9vw,14px);background:#16150F;transform-origin:50% 50%;
  will-change:transform,opacity;pointer-events:none}
.lb-stage{cursor:default}
.lb-zoom .lb-stage{cursor:default}
.lb-zoom .lb-stage:active{cursor:default}

.lb-count{position:absolute;left:0;right:0;bottom:var(--lb-pad);text-align:center;pointer-events:none;
  font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#8A857A;
  text-shadow:0 2px 12px rgba(13,13,11,.95),0 0 3px rgba(13,13,11,.85)}

.lb-nav,.lb-x{border:0;background:none;padding:0;color:inherit;font-family:inherit;font-weight:400;line-height:1;cursor:pointer;opacity:.75;
  transition:opacity .25s ease,transform .25s cubic-bezier(.22,.61,.36,1);
  text-shadow:0 2px 12px rgba(13,13,11,.95),0 0 3px rgba(13,13,11,.85)}
.lb-nav{position:absolute;top:50%;margin-top:-22px;width:44px;height:44px;display:grid;place-items:center}

.lb-nav{border:1px solid rgba(232,228,218,.4);border-radius:50%;opacity:1;text-shadow:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .25s cubic-bezier(.22,.61,.36,1)}
.lb-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

.lb{--lb-r:.75;--lb-h:calc((100vh - 2 * var(--lb-pad)) * .82);
  --lb-w:min(calc(var(--lb-h) * var(--lb-r)), calc((100vw - 2 * var(--lb-pad)) * .88))}
@supports (height:100dvh){ .lb{--lb-h:calc((100dvh - 2 * var(--lb-pad)) * .82)} }

.lb-prev{left:var(--lb-pad)}
.lb-next{right:var(--lb-pad)}

@media (min-width:601px){ .lb-img{max-width:min(88%, calc(100% - 2 * (44px + 14px)))} }
.lb-x{position:absolute;top:var(--lb-pad);right:var(--lb-pad);width:48px;height:48px;display:grid;place-items:center;
  font-size:1.75rem;z-index:2;transition:opacity .15s ease,transform .09s ease-out}
@media (pointer:coarse){ .lb-x{width:56px;height:56px} }
.lb-x:active{opacity:1;transform:scale(.88)}
.lb-uma .lb-nav,.lb-uma .lb-count{display:none}
@media (hover:hover){
  .lb-x:hover{opacity:1}
  .lb-nav:hover{background:#E8E4DA;border-color:#E8E4DA;color:var(--ink)}
}
.lb-nav:focus-visible,.lb-x:focus-visible{opacity:1;outline:2px solid #E8E4DA;outline-offset:4px}
.lb-x:focus-visible{border-radius:4px}

@media (max-width:600px){
  .lb-nav{display:none}
  .lb-stage{padding:var(--lb-pad)}
}

.gallery-main{border-radius:var(--hero-r,10px);overflow:hidden}
.g-thumb{border-radius:6px;overflow:hidden}
.imv-key .k{border-radius:6px}
.imv-contacto{border-radius:6px}
.imv-mapa{border-radius:var(--hero-r,10px)}

.imv-local__aprox{font-weight:400;color:var(--muted)}

.g-slide{scroll-snap-stop:always}

.g-slide img,.gallery-thumbs,.gallery-thumbs.dragging,.g-thumb{cursor:pointer}
.lb-stage,.lb-zoom .lb-stage,.lb-zoom .lb-stage:active{cursor:default}
