/* Scoped presentation only. BeBuilder retains control of section/wrap spacing. */
.psv-component { max-width: 100%; min-width: 0; }
.psv-editor-help { border: 1px dashed #7b8d82; padding: 16px; background: #f7f9f7; }
.psv-editor-help p { margin: 8px 0 0; }
.psv-additional .psv-note, .psv-additional .psv-hint { text-align: center; margin: 0 auto 12px; }
.mcb-wrap:has(.psv-empty-additional):not(:has(.psv-component)) { display: none; }
.mcb-wrap:has(.psv-empty-additional):not(:has(.psv-component)):has(.vb-item), .vb-item-wrap:has(.psv-empty-additional) { display: block; }
.psv-component [hidden], .psv-lightbox [hidden] { display: none !important; }
.psv-component .psv-video { min-width: 0; margin: 0; }
.psv-component .psv-trigger { display: block; margin: 0; padding: 0; border: 0; border-radius: 4px; color: inherit; background: transparent; box-shadow: none; text-decoration: none; white-space: normal; line-height: 1.35; cursor: pointer; }
.psv-component .psv-trigger::after { display: none; }
.psv-component .psv-trigger:focus-visible { outline: 3px solid #456b50; outline-offset: 4px; }
.psv-component .psv-preview { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: var(--psv-ratio, 16 / 9); overflow: hidden; border-radius: 4px; background: #eeeeea; }
.psv-component .psv-preview img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.psv-component .psv-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 28px; text-shadow: 0 1px 4px #000; pointer-events: none; }
.psv-component .psv-title { display: none; margin: 8px 0 0; font-family: inherit; font-size: .9rem; font-weight: 500; line-height: 1.35; }
.psv-main .psv-title { margin: 0 0 16px; font-size: 1.2rem; font-weight: 600; }
.psv-show-titles .psv-title { display: block; }
.psv-component .psv-label { display: block; margin-top: 8px; color: #456b50; font-size: .72rem; font-weight: 600; line-height: 1.35; text-transform: uppercase; letter-spacing: .04em; }
.psv-main .psv-video { width: var(--psv-main-width, 390px); max-width: 100%; margin-inline: auto; }
.psv-main .psv-play { font-size: 52px; }
.psv-main .psv-title, .psv-main .psv-label { text-align: center; }
.psv-main.psv-align-left .psv-video { margin-left: 0; margin-right: auto; }
.psv-main.psv-align-right .psv-video { margin-left: auto; margin-right: 0; }
.psv-additional .psv-strip { display: flex; justify-content: var(--psv-align, flex-start); gap: var(--psv-gap, 14px); overflow-x: auto; padding: 4px 4px 12px; margin: 0; scroll-snap-type: x proximity; scrollbar-width: thin; }
.psv-additional .psv-video { flex: 0 0 var(--psv-thumb-width, 170px); width: var(--psv-thumb-width, 170px); scroll-snap-align: start; }
.psv-additional .psv-trigger { padding: 7px; background: #fff; }
.psv-additional .psv-trigger:hover { background: #f4f4f0; }
/* Auto margins collapse when overflowing, keeping the first clip reachable. */
.psv-additional.psv-align-center .psv-strip, .psv-additional.psv-align-right .psv-strip { justify-content: flex-start; }
.psv-additional.psv-align-center .psv-video:first-child, .psv-additional.psv-align-right .psv-video:first-child { margin-left: auto; }
.psv-additional.psv-align-center .psv-video:last-child { margin-right: auto; }
.psv-lightbox-overlay.mfp-bg { opacity: .94; z-index: 999990; }
.psv-lightbox-overlay.mfp-wrap { z-index: 999991; }
.psv-lightbox-overlay .mfp-container { padding: 24px 16px; }
.psv-lightbox-overlay .mfp-content { width: 100%; max-width: 1100px; }
.psv-lightbox { position: relative; width: 100%; max-height: calc(100dvh - 48px); margin: 0 auto; padding: 28px 0 0; overflow-y: auto; color: #fff; text-align: center; }
.psv-lightbox h3 { margin: 0 48px 14px; color: #fff; font-family: inherit; font-size: 18px; font-weight: 600; line-height: 1.3; }
.psv-lightbox-media { max-width: 100%; margin: 0 auto; background: #000; }
.psv-lightbox-media .psv-media { width: 100%; }
.psv-lightbox-media .arve { width: 100% !important; max-width: none !important; margin: 0 !important; }
.psv-lightbox-media .arve-embed { width: 100%; }
.psv-lightbox-caption { max-width: 48rem; margin: 12px auto 0; color: #fff; font-size: 14px; line-height: 1.4; }
.psv-lightbox-blocked { max-width: 38rem; padding: 36px 16px 16px; }
.psv-lightbox-blocked .psv-lightbox-media { padding: 20px; background: #222; border-radius: 6px; }
.psv-lightbox-blocked .psv-lightbox-media p { margin: 0 0 20px; color: #fff; font-size: 16px; line-height: 1.5; }
.psv-lightbox-blocked .psv-cookie-preferences { display: inline-block; padding: 12px 18px; margin: 0; border: 2px solid #fff; border-radius: 4px; color: #222; background: #fff; font-size: 15px; line-height: 1.3; text-decoration: none; cursor: pointer; }
.psv-lightbox-blocked .psv-cookie-preferences:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.psv-lightbox-overlay button.mfp-close { position: fixed; top: max(8px, env(safe-area-inset-top)); right: 12px; width: 44px; height: 44px; padding: 0; margin: 0; color: #fff; background: #222; border-radius: 50%; font-size: 36px; opacity: 1; }
.psv-lightbox-overlay button.mfp-close::after { display: none; }
@media (max-width: 767px) {
  .psv-additional { --psv-thumb-width: 150px; }
  .psv-lightbox-overlay .mfp-container { padding: 16px 12px; }
  .psv-lightbox { max-height: calc(100dvh - 32px); }
}
