/* VIV Brochure 1.2.0: hero slider + gallery lightbox (vanilla, no RevSlider). */

/* Full-bleed slider wrap (break out of the content column). */
.entry-content > .viv-slider-wrap,
.viv-slider-wrap,
.entry-content > .viv-slider-wrap.alignfull,
.wp-block-group.viv-slider-wrap{
  padding:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  max-width:100vw!important;
  width:100vw!important;
}
html,body{overflow-x:clip}
.wp-block-group.viv-slider-wrap > *{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

.viv-slider{
  --viv-slider-ratio:2.15;
  --viv-slider-ratio-m:1.25;
  position:relative;
  width:100%;
  aspect-ratio:var(--viv-slider-ratio);
  background:#1c1412;
  overflow:hidden;
  margin:0;
}
@media (max-width:700px){
  .viv-slider{aspect-ratio:var(--viv-slider-ratio-m)}
}
.viv-slider-track,
.viv-slider-slide{position:absolute;inset:0}
.viv-slider-slide{
  opacity:0;
  visibility:hidden;
  z-index:0;
  transition:opacity .45s ease,visibility .45s ease;
}
.viv-slider-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:1;
}
.viv-slider-slide:not(.is-active){display:none}
.viv-slider-slide.is-active,
.viv-slider.is-animating .viv-slider-slide.is-leaving,
.viv-slider.is-animating .viv-slider-slide.is-active{display:block}
.viv-slider-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.viv-slider-btn,
.viv-slider-pause,
.viv-slider-dots button{
  appearance:none;
  border:0;
  background:rgba(28,20,18,.55);
  color:#fff;
  cursor:pointer;
  border-radius:999px;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}
.viv-slider-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  font-size:0;
}
.viv-slider-btn svg{width:22px;height:22px;fill:currentColor}
.viv-slider-prev{left:12px}
.viv-slider-next{right:12px}
.viv-slider-btn:hover,
.viv-slider-pause:hover,
.viv-slider-dots button:hover{background:rgba(28,20,18,.8)}
.viv-slider-btn:focus-visible,
.viv-slider-pause:focus-visible,
.viv-slider-dots button:focus-visible,
.viv-lb-btn:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
}
.viv-slider-dots{
  position:absolute;
  left:0;right:0;bottom:12px;
  z-index:3;
  display:flex;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.viv-slider-dots button{
  width:10px;height:10px;padding:0;
  background:rgba(255,255,255,.45);
}
.viv-slider-dots button[aria-current="true"]{background:#fff;transform:scale(1.15)}
.viv-slider-pause{
  position:absolute;
  top:12px;right:12px;
  z-index:3;
  width:36px;height:36px;
  display:grid;place-items:center;
  font-size:0;
}
.viv-slider-pause svg{width:16px;height:16px;fill:currentColor}
@media (prefers-reduced-motion:reduce){
  .viv-slider-slide{transition:none}
}

/* Galleries: clearly clickable */
.wp-block-gallery .wp-block-image,
.viv-gallery .wp-block-image{cursor:zoom-in}
.wp-block-gallery a.viv-lb-link,
.viv-gallery a.viv-lb-link{display:block;line-height:0}
.wp-block-gallery a.viv-lb-link:focus-visible img,
.viv-gallery a.viv-lb-link:focus-visible img{outline:3px solid var(--ast-global-color-0,#6b4f3a);outline-offset:2px}

/* Lightbox */
.viv-lb[hidden]{display:none!important}
.viv-lb{
  position:fixed;inset:0;z-index:100000;
  background:rgba(12,8,7,.92);
  display:grid;
  grid-template-rows:auto 1fr auto;
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
}
.viv-lb-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;color:#fff;font-size:.95rem;min-height:44px;
}
.viv-lb-count{opacity:.85}
.viv-lb-stage{
  position:relative;
  display:grid;
  place-items:center;
  min-height:0;
}
.viv-lb-stage img{
  max-width:min(100%,1600px);
  max-height:100%;
  width:auto;height:auto;
  object-fit:contain;
  display:block;
}
.viv-lb-caption{
  color:#f7f4f0;text-align:center;
  font-size:.95rem;line-height:1.45;
  min-height:1.45em;margin:.35rem 52px 0;
}
.viv-lb-btn{
  appearance:none;border:0;cursor:pointer;
  background:rgba(255,255,255,.12);color:#fff;
  border-radius:999px;
  width:44px;height:44px;
  display:grid;place-items:center;font-size:0;
}
.viv-lb-btn svg{width:22px;height:22px;fill:currentColor}
.viv-lb-btn:hover{background:rgba(255,255,255,.22)}
.viv-lb-close{margin-left:auto}
.viv-lb-prev,.viv-lb-next{
  position:absolute;top:50%;transform:translateY(-50%);
}
.viv-lb-prev{left:8px}
.viv-lb-next{right:8px}
body.viv-lb-open{overflow:hidden}
@media (max-width:600px){
  .viv-lb-caption{margin:.35rem 8px 0}
  .viv-lb-prev{left:2px}
  .viv-lb-next{right:2px}
}
