/* Light mock composition; Porto/Owl and Bootstrap retain component ownership. */
section.caroli-videos { padding: 64px 0; color: #414a53; background: var(--grey-100, #f4f4f4); }
.caroli-videos h2, .caroli-videos h3 { color: #202a33; }
.caroli-videos p { color: #414a53; }
.caroli-videos .caroli-videos-kicker { color: #006b98; }
/* This mock's scale is deliberately scoped; shared public typography is unchanged. */
.caroli-videos-container { width: 92%; max-width: 1600px; margin-inline: auto; }
.caroli-videos .caroli-videos-rule { margin: 0 0 16px; height: 4px; }
.caroli-videos .caroli-videos-rule hr { width: 76px; height: 4px; margin: 0; background: var(--primary); }
.caroli-videos #film-heading { font-size: clamp(30px, 3.2vw, 52px); line-height: 1.15; margin-bottom: 36px; }
.caroli-video-copy h3 { font-size: clamp(26px, 2.2vw, 36px); line-height: 1.2; margin-bottom: 28px; }
.caroli-video-copy p { font-size: clamp(17px, 1.1vw, 18px); line-height: 1.7; }
.caroli-videos-grid, .caroli-videos-main { position: relative; }
.caroli-video-position { position: absolute; bottom: 0; right: 48px; height: 44px; display: flex; align-items: center; color: #59636b; font-size: 14px; pointer-events: none; }
.caroli-video-slider { position: relative; background: transparent; }
.caroli-video-slide { min-width: 0; }
.caroli-video-copy { padding-top: 24px; }
.caroli-video-play .card-img-top { display: block; width: 100%; height: auto; aspect-ratio: 1.95; object-position: center 38%; object-fit: cover; border-radius: 0; }
.caroli-video-play .caroli-video-golf { object-position: right center; }
.caroli-video-slider .owl-stage { display: flex; align-items: flex-start; }
.caroli-video-slider .owl-item { display: block; float: none; flex-shrink: 0; }
.caroli-video-slider .owl-stage-outer.owl-height { transition: height 350ms ease-in-out; }
.caroli-video-slider .owl-item > article { width: 100%; }
.caroli-videos a:focus-visible, .caroli-video-slider button:focus-visible { outline: 3px solid #006b98; outline-offset: -4px; }
.caroli-videos-channel { margin-top: 24px; }
.caroli-videos-channel .card { background: #fff; border: 1px solid #e0e4e8; border-radius: 6px; box-shadow: none; }
.caroli-videos-channel .card-body { display: grid; grid-template-columns: 128px minmax(0, 1fr); padding: 24px; gap: 16px 20px; align-items: center; }
.caroli-channel-copy { min-width: 0; }
.caroli-videos-channel .btn { grid-column: 2; justify-self: start; padding: 0; min-height: 44px; display: inline-flex; align-items: center; text-align: left; font-size: 14px; text-decoration: none; }
.caroli-videos-channel .btn:hover { text-decoration: underline; }
.caroli-youtube-logo { width: 128px; max-width: 100%; height: auto; grid-row: span 2; }
.caroli-video-slider:not(.owl-loaded) { display: block; }
.caroli-video-slider:not(.owl-loaded) article + article { margin-top: 32px; }
.caroli-video-slider .owl-nav.disabled, .caroli-video-slider .owl-dots.disabled { display: none; }
.caroli-video-slider .owl-nav button, .caroli-video-slider .owl-dot { min-width: 44px; min-height: 44px; }
.caroli-video-slider.owl-carousel .owl-nav:not(.disabled) { position: relative; inset: auto; display: flex; justify-content: space-between; align-items: center; width: 100%; height: 44px; margin: 8px 0 0; }
.caroli-video-slider.owl-carousel .owl-nav button { position: static; margin: 0; color: #006b98; background: transparent; box-shadow: none; }
.caroli-video-slider.owl-carousel .owl-dots { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); display: flex; height: 44px; margin: 0; }
.caroli-video-slider.owl-carousel .owl-dots .owl-dot span { background: #c2c9ce; margin: auto; }
.caroli-video-slider.owl-carousel .owl-dots .owl-dot.active span { background: var(--primary, #0088cc); }
@media (min-width: 992px) {
    .caroli-video-slide { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); gap: 48px; align-items: start; }
    .caroli-video-copy { padding: 0; }
    .caroli-video-position { top: calc(var(--caroli-poster-height, 0px) + 8px); bottom: auto; right: auto; left: calc((100% - 48px) * .58 - 112px); }
    /* Reserve only the shared channel and navigation's actual height below the poster. */
    .caroli-video-slider.owl-loaded .caroli-video-play { margin-bottom: calc(var(--caroli-channel-height, 180px) + 76px); }
    .caroli-videos-grid:has(.owl-loaded) > .caroli-videos-channel { position: absolute; top: calc(var(--caroli-poster-height, 0px) + 68px); left: 0; width: calc((100% - 48px) * .58); margin: 0; }
    .caroli-video-slider.owl-carousel .owl-nav:not(.disabled) { position: absolute; top: calc(var(--caroli-poster-height, 0px) + 8px); width: calc((100% - 48px) * .58); margin: 0; }
    .caroli-video-slider.owl-carousel .owl-dots { top: calc(var(--caroli-poster-height, 0px) + 8px); bottom: auto; left: calc((100% - 48px) * .29); }
}
@media (min-width: 1400px) {
    .caroli-videos-channel .card-body { grid-template-columns: 128px minmax(0, 1fr) auto; gap: 20px; }
    .caroli-youtube-logo { grid-row: auto; }
    .caroli-channel-copy { border-left: 1px solid #e0e4e8; padding-left: 20px; }
    .caroli-videos-channel .btn { grid-column: auto; border-left: 1px solid #e0e4e8; padding-left: 20px; }
}
@media (max-width: 575px) {
    section.caroli-videos { padding: 40px 0; }
    .caroli-videos #film-heading { margin-bottom: 28px; }
    .caroli-video-copy h3 { margin-bottom: 20px; }
    .caroli-videos-channel .card-body { grid-template-columns: minmax(0, 1fr); padding: 24px; }
    .caroli-youtube-logo { grid-row: auto; }
    .caroli-videos-channel .btn { grid-column: 1; }
    .caroli-video-position { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .caroli-video-slider .owl-stage-outer.owl-height { transition: none; transition-duration: 0s !important; }
}
