/* Contact galleries and on-demand video. Scoped to the new modules. */
.qv-location-gallery{padding-block:72px;scroll-margin-top:110px}
.qv-media-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}
.qv-media-heading h2{font-size:clamp(28px,3.1vw,42px);line-height:1.2;margin:0;color:#313131}
.qv-media-heading .eyebrow{font-size:13px;margin-bottom:16px}
.qv-media-heading>p{font-size:16px;line-height:1.7;color:#707070;margin:0;max-width:350px}
.qv-location-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.qv-location-single{grid-template-columns:1fr}
.qv-location-single .qv-location-photo{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);background:#fafafa}
.qv-location-single .qv-location-photo figcaption{flex-direction:column;justify-content:center;padding:36px;border:0}
.qv-location-single .qv-location-photo h3{font-size:28px;line-height:1.3}
.qv-location-photo{margin:0;min-width:0}
.qv-location-photo>button{display:block;position:relative;border:0;padding:0;width:100%;background:#f2f2f2;cursor:zoom-in;overflow:hidden}
.qv-location-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.qv-location-single img{aspect-ratio:16/10;object-position:center 58%}
.qv-location-photo>button:hover img{transform:scale(1.015)}
.qv-photo-expand{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:#313131;font-size:25px;box-shadow:0 3px 12px #0002}
.qv-location-photo figcaption{display:flex;align-items:start;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid #dedede}
.qv-location-photo h3{font-size:22px;line-height:1.4;margin:0;color:#313131}
.qv-location-photo figcaption p{max-width:500px;margin:0;color:#707070;font-size:16px;line-height:1.65}
.qv-location-photo figcaption .eyebrow{display:block;font-size:12px;margin-bottom:8px}
.qv-video-card{min-width:0;overflow:hidden}
.qv-video-cover{display:block;position:relative;aspect-ratio:16/10;background:#222625;color:#fff;overflow:hidden;text-decoration:none;border:0;padding:0;width:100%;font:inherit;text-align:left;cursor:pointer}
.qv-video-cover>img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s ease}
.qv-video-cover::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.qv-video-cover:hover>img{transform:scale(1.025)}
.qv-video-badge{position:absolute;top:18px;left:18px;padding:5px 12px;border-radius:20px;background:#ffffffed;color:#313131;font-size:13px;z-index:1}
.qv-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:#23704d;box-shadow:0 4px 18px #0003;transition:background .2s,color .2s;z-index:1}
.qv-video-cover:hover .qv-video-play{background:#23704d;color:#fff}
.qv-video-watch{position:absolute;bottom:19px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;font-size:15px;z-index:1;color:#fff}
.qv-media-dialog{border:0;padding:0;background:#161918;color:#fff;width:min(960px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);border-radius:10px;overflow:auto;box-shadow:0 16px 64px #0005}
.qv-media-dialog::backdrop{background:#000c}
html.qv-video-open{overflow:hidden}
.qv-media-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#fff;color:#313131}
.qv-media-dialog h2{color:inherit;font-size:20px;line-height:1.35;margin:0}
.qv-media-dialog-head button{flex:0 0 44px;width:44px;height:44px;border:1px solid #ddd;background:white;color:#313131;border-radius:50%;font-size:28px;cursor:pointer;line-height:1}
.qv-media-dialog video{display:block;width:100%;height:auto;max-height:calc(100dvh - 150px);background:#161918}
.qv-media-dialog video.qv-video-portrait{height:calc(100dvh - 150px);object-fit:contain}
.qv-media-error{font-size:16px;padding:16px 20px;margin:0}.qv-media-error a{color:#fff;text-decoration:underline}
.qv-video-cover:focus-visible,.qv-location-photo>button:focus-visible{outline:3px solid #23704d;outline-offset:4px}
.qv-media-dialog button:focus-visible{outline:3px solid #23704d;outline-offset:3px}
@media(max-width:700px){
  .qv-location-gallery{padding-block:44px}
  .qv-media-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}
  .qv-media-heading h2{font-size:30px}
  .qv-location-photos{grid-template-columns:1fr;gap:28px}
  .qv-location-single .qv-location-photo{display:block;background:transparent}
  .qv-location-single .qv-location-photo figcaption{padding:18px 0;border-bottom:1px solid #dedede;gap:10px}
  .qv-location-single .qv-location-photo h3{font-size:21px}
  .qv-location-single img{aspect-ratio:4/3}
  .qv-location-photo figcaption{flex-direction:column;gap:10px;padding:18px 0}
  .qv-location-photo h3{font-size:21px}
  .qv-photo-expand{width:42px;height:42px;right:12px;bottom:12px}
  .qv-video-badge{top:12px;left:12px}
  .qv-video-watch{left:16px;right:16px;bottom:14px;font-size:14px}
  .qv-video-play{width:56px;height:56px}
  .qv-media-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
  .qv-media-dialog-head{padding:12px;gap:12px}
  .qv-media-dialog h2{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.qv-video-cover>img,.qv-video-play,.qv-location-photo img{transition:none}}
