@import url('locator-v12.css?v=leading-and-compact-switcher');

.locator-heading h2{
  font-size:clamp(21px,calc(4vw - 21px),47px);
}

.locator-views button,
.locator-views button[aria-pressed=true]{
  padding-left:0;
  font-weight:600;
  transform:none;
}
.locator-views button:hover,
.locator-views button:focus-visible,
.locator-views button[aria-pressed=true]:hover{
  padding-left:0;
  transform:none!important;
}

.locator-marker{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  padding:0;
  border:0;
  font-size:12px;
  font-weight:600;
  line-height:1;
  text-align:center;
  box-shadow:none;
}
.locator-marker:hover,.locator-marker:focus-visible{
  transform:translate(-50%,-50%) scale(1.08);
}

.locator-photo.is-changing>*{animation:none!important}
.locator-photo img{animation:none!important;transition:none!important}

/* Wide editorial room card. */
.locator-panel{
  width:min(52vw,980px);
  padding:22px 26px 20px;
  transform:translateX(102%);
  box-shadow:-28px 0 80px rgba(0,0,0,.16);
  overflow-y:auto;
}
.locator-panel-top{margin-bottom:14px}
.locator-panel h3{font-size:clamp(28px,2vw,38px)}
.locator-close{width:48px;height:48px;transition:background-color .25s ease,color .25s ease}
.locator-close:hover{background:#191919;color:#fff}
.locator-photo{height:min(43svh,410px);aspect-ratio:auto;background:#eceae5}
.locator-photo-controls{
  position:relative;
  z-index:2;
  width:170px;
  min-height:46px;
  margin:-46px 0 0 auto;
  padding:5px;
  background:#fff;
}
.locator-photo-controls button{border:0;background:#f1f0ed}
.locator-summary{display:flex;align-items:baseline;gap:24px;padding:20px 0 15px}
.locator-area{font-size:clamp(46px,4vw,72px);line-height:1;margin:0}
.locator-floor{margin:0;color:#666}
.locator-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.locator-specs{display:contents}
.locator-specs>div{
  min-width:0;
  min-height:72px;
  padding:13px 15px;
  border:0;
  background:#f2f1ee;
  display:grid;
  grid-template-columns:1fr;
  align-content:space-between;
  gap:7px;
}
.locator-specs>div:hover{transform:none}
.locator-specs dt{display:flex;align-items:center;gap:9px;color:#777;font-size:12px}
.locator-specs dt img{width:19px;height:19px}
.locator-specs dd{text-align:left;color:#191919;font-size:15px;white-space:normal}
.locator-book{
  min-height:72px;
  padding:15px 18px;
  align-self:stretch;
}
.locator-panel>small{margin-top:10px}
@media(max-width:900px){
  .locator-panel{width:min(74vw,720px)}
}
@media(max-width:700px){
  .locator-panel{width:100%;padding:18px}
  .locator-photo{height:min(34svh,310px)}
  .locator-feature-grid{grid-template-columns:1fr}
  .locator-specs>div,.locator-book{min-height:64px}
}

/* Compact switcher placed under the section title. */
.locator-left{
  position:absolute;
  z-index:6;
  left:2.8%;
  top:18%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:30px;
  pointer-events:auto;
}
.locator-heading .locator-left h2{
  position:static;
  inset:auto;
  margin:0;
}
.locator-heading .locator-left .locator-views{
  position:relative;
  inset:auto;
  width:190px;
  padding:0 0 0 18px;
  display:flex;
  flex-direction:column;
  gap:15px;
  transform:none;
}
.locator-heading .locator-left .locator-views::before{
  content:"";
  display:block;
  position:absolute;
  left:0;
  top:3px;
  width:4px;
  height:30px;
  background:#e50905;
  z-index:1;
  transition:transform .36s cubic-bezier(.22,1,.36,1);
}
.locator-heading .locator-left .locator-views::after{
  content:"";
  position:absolute;
  left:1px;
  top:3px;
  width:2px;
  height:126px;
  background:rgba(25,25,25,.16);
}
.locator-views:has(button:nth-child(2)[aria-pressed=true])::before{transform:translateY(48px)}
.locator-views:has(button:nth-child(3)[aria-pressed=true])::before{transform:translateY(96px)}
.locator-heading .locator-views button,
.locator-heading .locator-views button[aria-pressed=true]{
  min-height:33px;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:#191919;
  text-align:left;
  font-size:clamp(21px,calc(1.25vw + 4px),27px);
  font-weight:500;
  line-height:1;
  transform:none!important;
  transition:color .22s ease;
}
.locator-heading .locator-views button::before{display:none}
.locator-heading .locator-views button:hover,
.locator-heading .locator-views button[aria-pressed=true]{color:#e50905}

/* Keep the wide card within one viewport. */
.locator-panel{padding:16px 22px 14px}
.locator-panel-top{margin-bottom:10px}
.locator-close{width:44px;height:44px}
.locator-photo{height:min(37svh,350px)}
.locator-summary{padding:12px 0 11px}
.locator-area{font-size:clamp(43px,3.6vw,66px)}
.locator-feature-grid{gap:6px}
.locator-specs>div{
  min-height:58px;
  padding:10px 13px;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  align-content:center;
  gap:14px;
}
.locator-specs dt{font-size:12px}
.locator-specs dd{text-align:right;font-size:14px}
.locator-book{min-height:58px;padding:12px 15px}
.locator-panel>small{margin-top:7px;font-size:10px}
@media(max-height:780px) and (min-width:701px){
  .locator-panel{padding-top:12px;padding-bottom:10px}
  .locator-photo{height:min(34svh,300px)}
  .locator-summary{padding:9px 0}
  .locator-specs>div,.locator-book{min-height:52px}
}
@media(max-width:700px){
  .locator-left{left:5%;top:15%;gap:22px}
  .locator-heading .locator-left .locator-views{width:160px}
  .locator-heading .locator-views button{font-size:21px}
  .locator-specs>div{grid-template-columns:minmax(0,1fr) auto}
}

/* Taller room preview requested for desktop cards. */
@media(min-width:701px) and (min-height:781px){.locator-photo{height:min(calc(46.25svh + 70px),508px)}}

@media(max-height:780px) and (min-width:701px){.locator-photo{height:min(calc(34svh + 70px),370px)}}

