/* Campaign dialog: contained media, quiet framing and Bivett brand accents. */
.bv-popup{
  box-sizing:border-box;border:1px solid #ffffffc9;padding:12px;border-radius:28px;
  width:min(540px,calc(100vw - 32px));max-width:calc(100vw - 32px);
  max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);
  color:#17344c;background:#fcfdfb;
  box-shadow:0 32px 100px #03142745,0 8px 28px #03142724;
  overflow:hidden;font-family:inherit;
}
.bv-popup[open]{animation:bv-popup-enter .3s cubic-bezier(.2,.75,.3,1) both}
.bv-popup::backdrop{background:#091c32a3;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.bv-popup-scroll{overflow-y:auto;max-height:calc(100vh - 66px);max-height:calc(100dvh - 66px);overscroll-behavior:contain;border-radius:18px;scrollbar-width:thin;scrollbar-color:#c1cec9 transparent}
.bv-popup-media{display:block;width:100%;height:auto;max-height:58vh;max-height:58dvh;object-fit:contain;background:#edf1ed;border-radius:18px}
.bv-popup-close{
  position:absolute;right:23px;top:23px;z-index:1;display:grid;place-items:center;
  width:38px;height:38px;min-width:38px;padding:0;border-radius:50%;
  border:1px solid #ffffffb3;background:#fffffff0;color:#183b50;
  font:300 26px/1 Arial,sans-serif;cursor:pointer;
  box-shadow:0 3px 14px #132d421a;transition:background .2s,transform .2s;
}
.bv-popup-close:hover{background:#fff;transform:rotate(90deg)}
.bv-popup-content{padding:25px 16px 15px;overflow-wrap:anywhere;text-align:center}
.bv-popup-content h2{font-family:inherit;font-size:clamp(24px,4vw,32px);font-weight:650;letter-spacing:-.8px;line-height:1.2;margin:0 0 12px;color:#11334b}
.bv-popup-content p{font-size:15px;line-height:1.7;color:#62737a;white-space:pre-line;margin:0 auto 23px;max-width:42ch}
.bv-popup-button{
  box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:18px;
  min-height:54px;text-align:center;border:1px solid #194e61;border-radius:14px;
  padding:15px 22px;background:linear-gradient(120deg,#153d58,#1c5363);
  color:#fff!important;text-decoration:none!important;font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:.1px;
  box-shadow:0 5px 14px #183f571a;transition:transform .2s,box-shadow .2s,filter .2s;
}
.bv-popup-button::after{content:'↗';display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;margin-left:auto;border-radius:50%;background:#ffffff17;color:#c8e5d0;font:19px/1 Arial,sans-serif}
.bv-popup-button:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 9px 22px #183f572b}
.bv-popup-button:active{transform:translateY(0)}
.bv-popup :focus-visible{outline:2px solid #7aab94;outline-offset:3px}
.bv-popup-close:focus-visible{outline-offset:2px}
@keyframes bv-popup-enter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){
  .bv-popup{padding:9px;border-radius:23px;width:calc(100vw - 28px);max-width:calc(100vw - 28px)}
  .bv-popup-scroll,.bv-popup-media{border-radius:15px}
  .bv-popup-close{top:18px;right:18px;width:40px;height:40px}
  .bv-popup-content{padding:21px 10px 12px}
  .bv-popup-content h2{letter-spacing:-.5px}
  .bv-popup-content p{font-size:14px}
  .bv-popup-button{min-height:52px;font-size:14px;padding:13px 17px;border-radius:12px}
}
@media(prefers-reduced-motion:reduce){.bv-popup[open]{animation:none}.bv-popup-close,.bv-popup-button{transition:none}.bv-popup-close:hover,.bv-popup-button:hover{transform:none}}
.bv-popup-actions{display:flex;padding:25px 16px 15px;justify-content:flex-start}
.bv-popup-content+.bv-popup-actions{padding-top:0}
.bv-popup-actions[data-align=center]{justify-content:center}
.bv-popup-actions[data-align=right]{justify-content:flex-end}
.bv-popup-actions .bv-popup-button{width:100%;max-width:100%;min-width:0;overflow-wrap:anywhere}
.bv-popup-actions[data-width=compact] .bv-popup-button{width:auto;padding:12px 18px;min-height:46px;gap:16px}
.bv-popup-actions[data-position=top]{padding:46px 16px 18px}
@media(max-width:600px){.bv-popup-actions{padding:21px 10px 12px}.bv-popup-actions[data-position=top]{padding:46px 10px 16px}}
/* Overlay follows the media box; only the button intercepts pointer input. */
.bv-popup-media-frame{display:grid;position:relative;isolation:isolate;border-radius:18px;overflow:hidden}
.bv-popup-media-frame>.bv-popup-media{grid-area:1/1;min-width:0}
.bv-popup-actions[data-position=overlay]{grid-area:1/1;z-index:1;align-self:stretch;align-items:flex-end;padding:54px 18px 18px;pointer-events:none;min-width:0;box-sizing:border-box}
.bv-popup-actions[data-position=overlay][data-vertical=top]{align-items:flex-start}
.bv-popup-actions[data-position=overlay][data-vertical=middle]{align-items:center}
.bv-popup-actions[data-position=overlay] .bv-popup-button{pointer-events:auto;box-shadow:0 4px 18px #0004;min-width:0}
.bv-popup-media-frame[data-type=video] .bv-popup-actions[data-position=overlay]{padding-bottom:64px}
@media(max-width:600px){.bv-popup-media-frame{border-radius:15px}.bv-popup-actions[data-position=overlay]{padding:54px 12px 12px}.bv-popup-actions[data-position=overlay] .bv-popup-button{font-size:13px;padding:11px 13px}}
.bv-popup-actions[data-position=overlay][data-vertical=middle]{padding-top:18px}
@media(max-width:600px){.bv-popup-actions[data-position=overlay][data-vertical=middle]{padding-top:12px}}
/* Per-campaign width; legacy campaigns use the medium size. */
.bv-popup{width:min(720px,calc(100vw - 32px))}
.bv-popup[data-size=compact]{width:min(540px,calc(100vw - 32px))}
.bv-popup[data-size=large]{width:min(900px,calc(100vw - 32px))}
@media(max-width:600px){.bv-popup,.bv-popup[data-size=compact],.bv-popup[data-size=large]{width:calc(100vw - 28px)}}
