.property-media{min-width:0}.property-gallery{min-width:0}.gallery-main{display:block;background:#e9efec;border-radius:18px;overflow:hidden}.gallery-main img{display:block;width:100%;height:460px;object-fit:contain}.gallery-navigation{display:flex;justify-content:center;align-items:center;gap:18px;padding:14px 0;color:#546572;font-size:13px}.gallery-navigation button{width:40px;height:40px;border:1px solid #ccd9d2;border-radius:50%;background:white;color:var(--accent);font-size:20px;cursor:pointer}.gallery-navigation button[hidden]{display:none}.gallery-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.gallery-thumbnails a{display:block;border:3px solid transparent;border-radius:11px;overflow:hidden;background:#e9efec}.gallery-thumbnails a[aria-current="true"]{border-color:var(--accent)}.gallery-thumbnails img{display:block;width:100%;height:76px;object-fit:cover}.property-video{margin-top:24px}.property-video h2{font-size:20px}.property-video video{display:block;width:100%;max-height:460px;border-radius:16px;background:#15251f}.property-location{margin-top:24px;padding:24px;background:#fff;border:1px solid #e1e7ec;border-radius:20px}.property-location-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.property-location-kicker{display:block;margin-bottom:4px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:1.7px}.property-location h2{margin:0;font-size:20px;letter-spacing:-.4px}.property-location-heading p{margin:6px 0 0;color:#687984}.property-location-link{flex:0 0 auto;padding:9px 13px;border:1px solid #b8d7cf;border-radius:9px;color:var(--accent2);font-size:12px;font-weight:700}.property-location-link:hover{background:var(--soft)}.property-location-map{height:340px;display:grid;place-items:center;overflow:hidden;border:1px solid #dbe5e1;border-radius:14px;background:var(--soft);z-index:0}.property-location-map:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.property-location-status,.property-location-unavailable{margin:0;padding:24px;color:#62747f;text-align:center}.property-location-map .leaflet-control-attribution{font-size:10px}.property-location-map .leaflet-marker-icon:focus{outline:3px solid #192c38;outline-offset:3px}.detail-info .property-price-main{font-size:34px;line-height:1.2}.detail-info .property-prices{margin:20px 0}.uf-notice{padding:12px 14px;border-radius:9px;background:#fff5dc;color:#70541b;font-size:13px}@media(max-width:820px){.gallery-main img{height:380px}.property-location-map{height:320px}}@media(max-width:540px){.gallery-main img{height:280px}.gallery-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.gallery-thumbnails img{height:64px}.property-location{padding:18px}.property-location-heading{display:block}.property-location-link{display:inline-block;margin-top:14px}.property-location-map{height:280px}.detail-info .property-price-main{font-size:28px}}
.gallery-lightbox {
  width: min(1400px, calc(100% - 32px));
  height: min(94vh, 1000px);
  height: min(94dvh, 1000px);
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 18px;
  border: 1px solid #344650;
  border-radius: 18px;
  background: #101820;
  color: #e9f0f2;
  color-scheme: dark;
  font: inherit;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  overflow: hidden;
}
.gallery-lightbox:not([open]) { display: none; }
.gallery-lightbox::backdrop { background: #080e14e8; }
.gallery-lightbox-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.gallery-lightbox-header h2 { margin: 0; font-size: 20px; }
.gallery-lightbox button {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  padding: 0;
  border: 1px solid #536572;
  border-radius: 50%;
  background: #19252ee8;
  color: #e9f0f2;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.gallery-lightbox button:hover { background: #344650; }
.gallery-lightbox button[hidden] { display: none; }
.gallery-lightbox-header button { font-size: 32px; }
.gallery-lightbox-stage {
  position: relative;
  min-width: 0;
  min-height: 0;
  padding: 0 64px;
  touch-action: pan-y pinch-zoom;
}
.gallery-lightbox-stage img { display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; }
.gallery-lightbox-stage button { position: absolute; top: 50%; transform: translateY(-50%); }
.gallery-lightbox-previous { left: 0; }
.gallery-lightbox-next { right: 0; }
.gallery-lightbox-counter { min-height: 24px; margin: 0; color: #afc0c8; text-align: center; font-size: 14px; }
body:has(.gallery-lightbox[open]) { overflow: hidden; }
@media (max-width: 540px) {
  .gallery-lightbox {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    padding: max(12px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    border: 0;
    border-radius: 0;
  }
  .gallery-lightbox-stage { padding: 0; }
}
