/* 360° VR styles from www.audbuild.com, concatenated in original order (unchanged). */

/* ---- vr.css ---- */
.explorer-only .visit-grid{grid-template-columns:minmax(0,1fr);max-width:760px}
.vr-badge{font:800 19px/1 var(--font-sans,sans-serif)}
.record-copy{max-width:80ch}
.project-vr-dialog{width:min(1200px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 24px);padding:0;border:1px solid #27445b;background:#0b253f;color:#fff;border-radius:12px;overflow:auto}
.project-vr-dialog::backdrop{background:rgba(5,15,26,.85)}
.vr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px}
.vr-toolbar h2{margin:0;font:600 20px/1.4 var(--font-sans,sans-serif)}
.vr-toolbar button{padding:10px 16px;color:#fff;background:transparent;border:1px solid #ffffff70;border-radius:6px;font:inherit;cursor:pointer}
.vr-poster{display:block;width:100%;max-height:55dvh;object-fit:cover}
.vr-return-hint{margin:16px 20px 0;font-size:16px;line-height:1.5}
.vr-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px}
.vr-actions .button{background:#e8d4b3;color:#0b253f;border-color:#e8d4b3;min-height:52px}
.vr-actions>a:last-child{color:#fff;text-decoration:underline;font-size:14px;white-space:nowrap}
@media(max-width:600px){.project-vr-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:8px}.vr-toolbar{padding:10px 12px}.vr-toolbar h2{font-size:16px}.vr-poster{max-height:40dvh}.vr-return-hint{margin:12px 12px 0;font-size:14px}.vr-actions{padding:12px;flex-direction:column;align-items:stretch;gap:12px}.vr-actions .button{padding:16px 12px;text-align:center}.vr-actions>a:last-child{text-align:center}}

/* ---- vr-photo-loading-20261006.css ---- */
/* The panorama occupies the original project photo slot, 50% taller. */
.project-grid .project-card .project-preview,
.project-grid .project-card:last-child .project-preview,
.project-grid .project-vr-media{aspect-ratio:8/9}
.project-grid .project-preview[hidden]{display:none!important}
.project-grid .project-card.is-vr-playing:hover{transform:none}
.project-vr-media{position:relative;display:block;width:100%;overflow:hidden;background:#0b253f}
.project-vr-media iframe{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;border:0}
.project-vr-media__poster{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover}
.project-vr-media__poster[hidden]{display:none}
.project-vr-media__loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:18px;background:rgba(7,27,46,.66);color:#fff;text-align:center;font:600 15px/1.4 var(--font-sans,sans-serif);pointer-events:none}
.project-vr-media__spinner{display:block;width:34px;height:34px;flex:none;border:3px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:project-vr-spin .9s linear infinite}
.project-vr-media__loading--compact{inset:auto 12px 12px;flex-direction:row;gap:9px;padding:10px 12px;border-radius:7px;background:rgba(7,27,46,.88);font-size:12px}
.project-vr-media__loading--compact .project-vr-media__spinner{width:17px;height:17px;border-width:2px}
.project-vr-media__loading[hidden]{display:none}
@keyframes project-vr-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.project-vr-media__spinner{animation:none}}
body.vr-photo-active #aud-whatsapp{display:none!important}

/* ---- vr-vertical-20261006.css ---- */
/* Reference: edge-to-edge mobile panoramas, stacked in document order. */
.project-grid{
  --vr-height:clamp(560px,78svh,940px);
  display:grid;grid-template-columns:minmax(0,1fr);gap:28px;
  overflow:visible;scroll-snap-type:none;
}
.project-grid .project-card,
.project-grid .project-card:hover,
.js .project-grid .project-card.reveal{
  grid-column:1/-1;order:initial;opacity:1;transform:none;transition:none;
  background:transparent;border-radius:0;box-shadow:none;overflow:visible;min-width:0;
}
.project-grid .project-card-body{display:block!important;padding:12px 4px 0!important;background:transparent!important}
.project-grid .project-card-body>:not(.project-location){display:none!important}
.project-grid .project-card-body .project-location{margin:0!important}
.project-grid .project-card .project-preview,
.project-grid .project-card:last-child .project-preview,
.project-grid .project-vr-slot{
  position:relative;display:block;width:100%;height:var(--vr-height);aspect-ratio:auto;
  border-radius:clamp(12px,1.4vw,22px);overflow:hidden;background:#0b253f;
}
.project-grid .project-vr-slot iframe,
.project-grid .project-card .project-vr-slot .project-preview{
  position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;
}
.project-grid .project-vr-slot iframe{display:block;z-index:0}
.project-grid .project-card .project-vr-slot .project-preview{z-index:1;opacity:1;transition:opacity 220ms ease}
.project-grid .project-card .project-preview img{transform:none;transition:none;width:100%;height:100%;object-fit:cover}
.project-vr-slot .vr-badge,.project-vr-slot .project-play-label,.project-vr-slot .project-preview::after{display:none!important}
.project-grid .project-card .project-vr-slot[data-vr-state="document-loaded"] .project-preview{opacity:0;pointer-events:none}
.project-vr-status{
  position:absolute;z-index:2;left:50%;top:48%;bottom:auto;transform:translate(-50%,-50%);
  width:max-content;max-width:calc(100% - 40px);display:flex;align-items:center;gap:10px;
  padding:12px 16px;border-radius:10px;background:rgba(30,30,30,.78);color:#fff;
  font:500 13px/1.5 var(--font-sans,sans-serif);
}
.project-vr-status[hidden],.project-vr-status button[hidden]{display:none}
.project-vr-status button{padding:6px 10px;border:1px solid #fff;border-radius:5px;background:transparent;color:inherit;cursor:pointer}
.project-vr-status .project-vr-media__spinner{width:20px;height:20px}
body.vr-immersive-visible #aud-whatsapp{display:none!important}
@media(max-width:767px){
  .project-grid{
    --vr-height:calc(100svh - var(--header-h) - 80px - env(safe-area-inset-bottom));
    display:grid;grid-template-columns:minmax(0,1fr);gap:20px;
    width:100vw;margin-inline:calc(-1 * var(--gutter));padding:0;
    overflow:visible;scroll-snap-type:none;
  }
  .project-grid .project-card{width:100%;flex:none;scroll-snap-align:none}
  .project-grid .project-card .project-preview,
  .project-grid .project-card:last-child .project-preview,
  .project-grid .project-vr-slot{border-radius:0}
  .project-grid .project-card-body{padding:10px var(--gutter) 0!important}
  body.vr-immersive-visible .mobile-cta{
    height:calc(80px + env(safe-area-inset-bottom));padding:12px 12px calc(12px + env(safe-area-inset-bottom));
    grid-template-columns:40% minmax(0,1fr);gap:10px;
  }
  body.vr-immersive-visible .mobile-cta>a:first-child{padding:0 6px;font-size:14px}
  body.vr-immersive-visible .mobile-cta .button{padding:0 10px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){.project-grid .project-card .project-vr-slot .project-preview{transition:none}}

/* ---- vr-help-20261006.css ---- */
.project-vr-help{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:4px 2px;color:#5c6870;font:400 12px/1.5 var(--font-sans,sans-serif)}
.project-vr-help button{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;padding:6px 2px;font:inherit}
.project-vr-help button:focus-visible{outline:2px solid #0b253f;outline-offset:2px}
@media(max-width:767px){.project-vr-help{padding-inline:var(--gutter,16px)}}

/* ---- vr-mobile-scroll-20261007.css ---- */
/* Leave a touchable page gutter beside each mobile panorama. */
@media (max-width: 767px) {
  .project-grid,
  .apex-exact-vr .project-grid {
    --vr-height: clamp(340px, calc(75svh - var(--header-h, 64px) - 40px - env(safe-area-inset-bottom)), 620px);
    width: calc(100vw - 40px);
    margin-left: calc(50% - 50vw + 20px);
    margin-right: 0;
  }

  .project-grid .project-card .project-preview,
  .project-grid .project-card:last-child .project-preview,
  .project-grid .project-vr-slot {
    border-radius: 12px;
  }
}
