
.ad-apartment{padding-bottom:85px}.ad-apartment-heading{padding:38px 0 32px}.ad-apartment-heading>.text-link{margin:0 0 30px}.ad-apartment-heading>.eyebrow{margin-bottom:15px;color:var(--green)}.ad-apartment-heading h1{margin-bottom:0}
.ad-apartment-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}.ad-apartment-photo{position:relative;min-width:0}.ad-apartment-cover{width:100%;height:490px;object-fit:cover;border-radius:20px 20px 65px 20px}.ad-apartment-badge{position:absolute;left:22px;bottom:22px;background:#fff;padding:10px 17px;border-radius:7px;font-size:14px}
.ad-apartment-summary h2{font-size:clamp(34px,3.2vw,46px)}.ad-apartment-summary>.eyebrow{color:var(--green);font-size:10px}.ad-apartment-facts{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.ad-apartment-facts li{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.ad-apartment-facts strong{display:block;color:var(--ink);font-weight:500;font-size:17px}.ad-apartment .ad-booking-note{font-size:14px;color:var(--muted);margin:18px 0 0;text-align:left;max-width:390px}.ad-apartment .button:hover{color:#fff}
.ad-apartment-information{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;padding:80px 0 55px}.ad-apartment-information h2{font-size:clamp(34px,3vw,44px)}.ad-apartment-description p{color:var(--muted);font-size:16px;text-align:justify;hyphens:none}.ad-apartment-equipment{padding:35px;border:1px solid var(--line);border-radius:20px;background:#fafafa}.ad-apartment-equipment h2{font-size:32px;margin-bottom:28px}.ad-apartment-equipment ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px 25px}.ad-apartment-equipment li{font-size:16px;display:flex;gap:10px;align-items:start}.ad-apartment-equipment li span{color:var(--green)}
.ad-apartment-gallery-section{padding:75px 0}.ad-gallery-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:30px}.ad-gallery-heading h2{font-size:clamp(34px,3vw,44px);margin-bottom:0}.ad-gallery-heading p{font-size:14px;color:var(--muted);margin:0}.ad-apartment-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ad-gallery-item{position:relative;display:block;overflow:hidden;border-radius:14px;background:#f5f5f5}.ad-gallery-item img{width:100%;height:280px;object-fit:cover;transition:transform .35s}.ad-gallery-item:hover img{transform:scale(1.035)}.ad-photo-expand{position:absolute;right:15px;bottom:15px;background:#fff;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;color:var(--ink)}
.ad-apartment-final{display:flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid var(--line);border-radius:20px;background:#fafafa;padding:38px}.ad-apartment-final h2{font-size:38px;margin-bottom:18px}.ad-apartment-final p{max-width:650px;margin:0;color:var(--muted)}.ad-apartment-final .button{flex-shrink:0}
.ad-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ad-photo-dialog{width:min(1120px,95vw);max-width:95vw;padding:55px 65px 25px;border:0;border-radius:14px;background:#101713;color:#fff}.ad-photo-dialog::backdrop{background:#000d}.ad-photo-dialog figure{margin:0}.ad-photo-dialog figure img{width:100%;height:72vh;object-fit:contain}.ad-photo-dialog figcaption{text-align:center;font-size:16px;padding:14px 0 0}.ad-photo-dialog button{position:absolute;background:#fff;color:#17221e;border:0;border-radius:50%;width:40px;height:40px;font-size:24px;display:grid;place-items:center;line-height:1}.ad-photo-close{right:15px;top:12px}.ad-photo-prev{left:12px;top:50%}.ad-photo-next{right:12px;top:50%}
@media(max-width:1000px){.ad-apartment-hero{gap:35px}.ad-apartment-cover{height:430px}.ad-apartment-information{gap:35px}.ad-apartment-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-apartment-equipment ul{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.ad-apartment-hero,.ad-apartment-information{grid-template-columns:1fr;gap:28px}.ad-apartment-heading{padding:28px 0}.ad-apartment-cover{height:340px;border-bottom-right-radius:45px}.ad-apartment-information{padding:50px 0 30px}.ad-apartment-equipment{padding:25px}.ad-apartment-equipment ul{grid-template-columns:1fr 1fr;gap:15px}.ad-apartment-equipment li{font-size:14px}.ad-apartment-gallery-section{padding:50px 0}.ad-gallery-heading{display:block}.ad-gallery-heading p{margin-top:18px}.ad-apartment-gallery{gap:12px}.ad-gallery-item img{height:200px}.ad-apartment-final{flex-direction:column;align-items:start;padding:28px}.ad-apartment-final h2{font-size:34px}.ad-photo-dialog{padding:55px 45px 20px}.ad-photo-dialog figure img{height:60vh}.ad-photo-dialog button{width:34px;height:34px}.ad-photo-prev{left:5px}.ad-photo-next{right:5px}}
@media(max-width:420px){.ad-apartment-gallery{grid-template-columns:1fr}.ad-gallery-item img{height:260px}}
@media(prefers-reduced-motion:reduce){.ad-gallery-item img{transition:none}.ad-gallery-item:hover img{transform:none}}

/* All apartment detail pages: simplify content and use brand magenta buttons. */
.ad-apartment .ad-apartment-equipment{display:none}
.ad-apartment .ad-apartment-information{padding-bottom:0}
body:has(.ad-apartment) .button{background:#b9004e;color:#fff}
body:has(.ad-apartment) .button:hover,body:has(.ad-apartment) .button:focus-visible{background:#960040;color:#fff}

/* Full viewport image viewer on desktop and mobile. */
.ad-apartment .ad-photo-dialog{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:60px 70px 20px;border-radius:0;box-sizing:border-box;overflow:hidden}
.ad-apartment .ad-photo-dialog[open]{display:flex;align-items:center;justify-content:center}
.ad-apartment .ad-photo-dialog figure{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;min-height:0}
.ad-apartment .ad-photo-dialog figure img{display:block;width:100%;height:auto;min-height:0;flex:1;object-fit:contain}
.ad-apartment .ad-photo-dialog figcaption{flex-shrink:0;padding:14px 0 0;line-height:1.5}
.ad-apartment .ad-photo-dialog button{z-index:2}
.ad-apartment .ad-photo-close{top:max(15px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}
.ad-apartment .ad-photo-prev,.ad-apartment .ad-photo-next{transform:translateY(-50%)}
@media(max-width:700px){.ad-apartment .ad-photo-dialog{padding:60px 42px max(18px,env(safe-area-inset-bottom))}.ad-apartment .ad-photo-dialog figure img{height:auto}.ad-apartment .ad-photo-prev{left:4px}.ad-apartment .ad-photo-next{right:4px}}

/* Inset viewer controls for a balanced position. */
.ad-apartment .ad-photo-dialog .ad-photo-prev{left:32px;top:50%;transform:translateY(-50%)}
.ad-apartment .ad-photo-dialog .ad-photo-next{right:32px;top:50%;transform:translateY(-50%)}
.ad-apartment .ad-photo-dialog .ad-photo-close{top:max(28px,env(safe-area-inset-top));right:max(32px,env(safe-area-inset-right))}
@media(max-width:700px){.ad-apartment .ad-photo-dialog .ad-photo-prev{left:14px}.ad-apartment .ad-photo-dialog .ad-photo-next{right:14px}.ad-apartment .ad-photo-dialog .ad-photo-close{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}}

/* Center vector icons independently of font baselines. */
.ad-apartment .ad-photo-dialog button{padding:0;font-size:0;line-height:0;box-sizing:border-box;display:grid;place-items:center}
.ad-apartment .ad-photo-dialog button::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;width:20px;height:20px;margin:0;background:currentColor;-webkit-mask:var(--ad-control-icon) center/contain no-repeat;mask:var(--ad-control-icon) center/contain no-repeat}
.ad-apartment .ad-photo-dialog .ad-photo-prev{--ad-control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%2012H5m7-7-7%207%207%207%22%2F%3E%3C%2Fsvg%3E")}
.ad-apartment .ad-photo-dialog .ad-photo-next{--ad-control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14m-7-7%207%207-7%207%22%2F%3E%3C%2Fsvg%3E")}
.ad-apartment .ad-photo-dialog .ad-photo-close{--ad-control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%206%2012%2012M18%206%206%2018%22%2F%3E%3C%2Fsvg%3E")}

/* Draw controls at the exact center of the button background. */
.ad-apartment .ad-photo-dialog button{background-image:var(--ad-control-icon);background-position:50% 50%;background-size:20px 20px;background-repeat:no-repeat;padding:0;font-size:0;line-height:0}
.ad-apartment .ad-photo-dialog button::before{content:none;display:none}
