.departamento { width: min(1200px, calc(100% - 40px)); margin: 0 auto; padding: 56px 0 72px; color: var(--secundario); overflow-wrap: anywhere; }
.departamento h1, .departamento h2, .departamento h3 { font-family: 'Hanken Grotesk', sans-serif; font-weight: 400; }
.departamento h1 { font-size: clamp(30px, 4vw, 56px); line-height: 1.15; margin: 0 0 16px; }
.departamento h2 { display: flex; align-items: center; gap: 18px; font-size: clamp(16px, 1.6vw, 20px); font-weight: 500; line-height: 1.4; margin: 0 0 24px; }
.departamento h2 span { min-width: 0; }
.departamento h2::after { content: ''; flex: 1 0 24px; height: 1px; background: #dedbd7; }
.departamento__disponibilidad strong { font-size: 19px; font-weight: 700; line-height: 1.5; }
.departamento h3 { font-size: 21px; margin: 0 0 20px; }
.departamento__titulo { margin-bottom: 32px; }
.departamento__titulo p { margin: 12px 0; }
.departamento a { color: inherit; text-underline-offset: 5px; }
.departamento a:hover { color: var(--principal); }
.departamento a:focus-visible, .departamento button:focus-visible { outline: 2px solid var(--principal); outline-offset: 4px; }
.departamento__galeria { display: grid; width: min(100%, 840px); aspect-ratio: 840 / 405; grid-template-columns: minmax(0, 65fr) minmax(0, 35fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 10px; }
.departamento__galeria a { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; }
.departamento__galeria a:first-child { grid-row: 1 / span 2; }
.departamento__galeria a:nth-child(n+4) { display: none; }
.departamento__galeria[data-total="1"] { width: min(100%, 540px); aspect-ratio: 4 / 3; grid-template-columns: minmax(0, 1fr); }
.departamento__galeria[data-total="2"] a:nth-child(2) { grid-row: 1 / span 2; }
.departamento__galeria img { width: 100%; height: 100%; object-fit: cover; display: block; }
.departamento__galeria-mas { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgb(0 0 0 / 60%); color: #fff; font: 600 30px/1.2 Roboto, sans-serif; pointer-events: none; }
.departamento__galeria-contador { display: none; }
.departamento__solo-lectores { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.departamento__sin-fotos { min-height: 260px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 24px; background: #f3f2ef; }
.departamento__sin-fotos span { font: 400 30px/1.3 'Hanken Grotesk', sans-serif; }
.departamento__sin-fotos p { margin-bottom: 0; }
.departamento__seccion { margin-top: 56px; }
/* Una sola grilla para atributos privados y amenities en esta ficha. */
.departamento .departamento__comodidades, .departamento .amenities__lista { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.departamento .departamento__comodidades li, .departamento .amenities__lista li { min-width: 0; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; text-align: left; font: 400 16px/1.5 Roboto, sans-serif; }
.departamento__icono, .departamento .amenities__lista .ph { flex: 0 0 30px; display: inline-block; width: 30px; height: 30px; font-size: 30px; line-height: 1; color: var(--principal); }
.departamento__icono { background-color: currentColor; mask: var(--comodidad-icono) center / contain no-repeat; }
.departamento__planes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }

.departamento dl { margin: 0; }
.departamento dl > div { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.departamento dd { margin: 0; font-weight: 600; }
.departamento__regreso { margin-top: 48px; }
.departamento__regreso a { display: inline-block; padding: 12px 0; }
@media (min-width: 768px) and (max-width: 1024px) {
    .departamento .departamento__comodidades, .departamento .amenities__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .departamento { padding-top: 32px; }
    .departamento__galeria, .departamento__galeria[data-total="1"] { display: flex; width: 100%; aspect-ratio: 4 / 3; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0; scrollbar-width: none; }
    .departamento__galeria a, .departamento__galeria a:nth-child(n+4) { display: block; flex: 0 0 100%; height: 100%; scroll-snap-align: start; }
    .departamento__galeria-mas { display: none; }
    .departamento__galeria-contador { display: block; margin-top: 10px; text-align: center; font: 400 13px/1.5 Roboto, sans-serif; color: var(--secundario); }
    .departamento .departamento__comodidades, .departamento .amenities__lista { grid-template-columns: minmax(0, 1fr); }
    .departamento__planes { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .departamento__seccion { margin-top: 40px; }
    .departamento .boton { white-space: normal; text-align: center; max-width: 100%; box-sizing: border-box; }
}

/* Estilo acotado al CTA: evita que el enlace genérico anule el contraste. */
.departamento .departamento__whatsapp { gap: 10px; color: #5b5a5b; background: #fff; }
.departamento__whatsapp-icono { flex: 0 0 22px; width: 22px; height: 22px; background: currentColor; mask: var(--whatsapp-icono) center / contain no-repeat; }
html.departamento-visor-abierto { overflow: hidden; }
.departamento__ampliacion { box-sizing: border-box; width: min(1100px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 24px); margin: auto; padding: 12px; border: 0; background: #161616; color: #fff; overflow: auto; overscroll-behavior: contain; }
.departamento__ampliacion::backdrop { background: rgb(0 0 0 / 85%); }
.departamento__visor-cabecera { display: flex; justify-content: flex-end; }
.departamento__visor-imagen { height: min(68dvh, 800px); touch-action: pan-y pinch-zoom; user-select: none; }
.departamento__visor-imagen img { display: block; width: 100%; height: 100%; object-fit: contain; }
.departamento__visor-controles { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 8px; }
.departamento__visor-controles output { min-width: 60px; text-align: center; font: 400 14px/1.5 Roboto, sans-serif; }
.departamento__ampliacion button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; color: #fff; font: 400 32px/1 Roboto, sans-serif; cursor: pointer; }
.departamento__ampliacion button[hidden] { display: none; }
.departamento__ampliacion button:hover, .departamento__ampliacion button:active { background: #343434; }
.departamento__ampliacion button:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }

@media (max-width: 767px) {
    .departamento .departamento__whatsapp { padding: 9px 12px; gap: 7px; font-size: 12px; line-height: 1.35; min-height: 44px; }
    .departamento__whatsapp-icono { flex-basis: 19px; width: 19px; height: 19px; }
}
