/* Root property selector inspired by the reference site's choose-a-hotel screen. */
.property-selector {
  position: relative;
  display: flex;
  width: 100%;
  max-width: none;
  min-height: 100svh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #181818;
  color: var(--mimo-white, #fff);
  isolation: isolate;
}
.property-selector__background {
  position:absolute; z-index:0; inset:0; display:block; width:100%; max-width:none; height:100%; margin:0;
}
.property-selector__background img {
  display:block; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.015);
}
.property-selector__overlay {
  position:absolute; z-index:1; inset:0;
  background:
    linear-gradient(180deg, rgba(7,16,14,.44), rgba(7,16,14,.72)),
    linear-gradient(90deg, rgba(0,0,0,.20), transparent 45%, rgba(0,0,0,.16));
  pointer-events:none;
}
.property-selector__inner {
  position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:min(1120px,calc(100% - 48px)); max-width:none; min-height:100svh; margin:0 auto; padding:64px 0; text-align:center;
}
.property-selector__brand {
  margin:0 0 10px; color:inherit; font-size:clamp(32px,4vw,56px); font-weight:300; line-height:1.15; letter-spacing:.08em;
  text-shadow:0 2px 20px rgba(0,0,0,.28);
}
.property-selector__lead {
  margin:0 0 34px; color:rgba(255,255,255,.88); font-size:14px; font-weight:300; line-height:1.7; letter-spacing:.02em;
}
.property-selector__grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:min(1180px,100%);
}
.property-selector__card {
  position:relative; display:block; height:clamp(280px,29vw,350px); min-width:0; overflow:hidden;
  border:1px solid rgba(255,255,255,.34); background:#222; box-shadow:0 18px 50px rgba(0,0,0,.24);
  isolation:isolate; transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.property-selector__image {
  position:absolute; z-index:0; inset:0; display:block; width:100%; max-width:none; height:100%; margin:0;
}
.property-selector__image img {
  display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .55s ease;
}
.property-selector__panel {
  position:absolute; z-index:1; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  padding:42px 28px 30px; background:linear-gradient(180deg,rgba(0,0,0,.04) 24%,rgba(0,0,0,.75) 100%);
  color:#fff; pointer-events:none;
}
.property-selector__title {
  margin:0 0 5px; color:inherit; font-size:clamp(22px,2.3vw,30px); font-weight:400; line-height:1.25; letter-spacing:.055em;
}
.property-selector__subtitle {
  margin:0 0 17px; color:rgba(255,255,255,.82); font-size:13px; font-weight:300; line-height:1.5;
}
.property-selector__cta {
  display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 19px;
  border:1px solid rgba(255,255,255,.85); color:#fff; font-size:11px; font-weight:500; line-height:20px; letter-spacing:.09em;
  text-decoration:none; pointer-events:auto; transition:background .25s ease,color .25s ease;
}
.property-selector__card:hover,
.property-selector__card:focus-within {
  transform:translateY(-4px); border-color:rgba(255,255,255,.72); box-shadow:0 24px 60px rgba(0,0,0,.32);
}
.property-selector__card:hover .property-selector__image img,
.property-selector__card:focus-within .property-selector__image img { transform:scale(1.045); }
.property-selector__cta:hover,
.property-selector__cta:focus-visible { background:#fff; color:#1d1d1d; outline:none; }
@media (max-width:991px) {
  .property-selector__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .property-selector { min-height:100dvh; overflow-y:auto; }
  .property-selector__inner { width:calc(100% - 32px); min-height:100dvh; padding:46px 0 38px; }
  .property-selector__brand { margin-bottom:8px; font-size:29px; letter-spacing:.055em; }
  .property-selector__lead { max-width:300px; margin-bottom:26px; font-size:13px; }
  .property-selector__grid { grid-template-columns:1fr; gap:14px; width:100%; }
  .property-selector__card { height:225px; }
  .property-selector__panel { padding:28px 20px 22px; }
  .property-selector__title { font-size:22px; }
  .property-selector__subtitle { margin-bottom:13px; font-size:12px; }
  .property-selector__cta { min-height:36px; padding:7px 16px; }
}
