/**
 * A1 Tools — Video Carousel (frontend).
 *
 * Structural CSS only. All colors, borders, sizing, spacing, etc. are driven
 * by Elementor `selectors` controls in class-a1-tools-video-carousel-widget.php.
 *
 * Arrow/dot buttons and the thumbnail are scoped under `.a1tools-video-carousel`
 * (and use a button reset / !important on the image) so the active theme's
 * Elementor global-kit `button` styling and generic `img{height:auto}` rules
 * can't bleed in. Default arrow/dot styling is tuned for the dark video
 * sections these carousels live on; override via the widget's Style tab.
 *
 * @since 2.7.0
 */
.a1tools-video-carousel{position:relative;width:100%;box-sizing:border-box}
.a1tools-vc-arrows-outside{padding:0 56px}
.a1tools-vc-viewport{overflow:hidden;width:100%}
.a1tools-vc-track{display:flex;gap:16px;transition:transform var(--a1tools-vc-speed,.4s) ease}
.a1tools-vc-track.a1tools-vc-no-anim{transition:none}
.a1tools-vc-slide{flex:0 0 auto;box-sizing:border-box}
.a1tools-vc-card{position:relative;display:block;width:100%;aspect-ratio:var(--a1tools-vc-arw,9)/var(--a1tools-vc-arh,16);overflow:hidden;border-radius:8px;background:#000;cursor:pointer}
.a1tools-video-carousel .a1tools-vc-thumb{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;border-radius:0;margin:0;padding:0}
.a1tools-video-carousel .a1tools-vc-embed,
.a1tools-video-carousel .a1tools-vc-card iframe{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;border:0;display:block;border-radius:inherit;margin:0;padding:0}
.a1tools-vc-poster{position:absolute;inset:0;z-index:4;background-size:cover;background-position:center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}
.a1tools-vc-poster.is-hidden{display:none}
.a1tools-vc-ytbar{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:linear-gradient(to bottom,rgba(0,0,0,.6),rgba(0,0,0,0));pointer-events:none}
.a1tools-video-carousel .a1tools-vc-ytavatar{flex:0 0 auto;width:30px!important;height:30px!important;min-width:30px;max-width:none!important;border-radius:50%;object-fit:cover;background:#333;margin:0;padding:0;display:block}
.a1tools-vc-yttext{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.a1tools-vc-yttitle{color:#fff;font-size:14px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.55);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.a1tools-vc-ytchannel{color:rgba(255,255,255,.85);font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a1tools-vc-overlay{position:absolute;inset:0;background:rgba(0,0,0,.15);transition:background .3s ease}
.a1tools-vc-card:hover .a1tools-vc-overlay{background:rgba(0,0,0,.3)}
.a1tools-vc-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;justify-content:center;border-radius:.5em;background:#f00;color:#fff;font-size:24px;line-height:0;padding:.45em .82em;transition:all .3s ease;pointer-events:none}
.a1tools-vc-card:hover .a1tools-vc-play{background:#e60000}
.a1tools-vc-play i{font-size:1em;line-height:1}
.a1tools-vc-play svg{width:1em;height:1em;fill:currentColor;display:block}
.a1tools-vc-title{font-size:14px;line-height:1.3;margin:0}
.a1tools-vc-title-over{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);pointer-events:none}
.a1tools-vc-title-below{margin-top:8px}
.a1tools-vc-iframe-wrap{position:absolute;inset:0;z-index:5;background:#000}
.a1tools-vc-iframe-wrap iframe{width:100%;height:100%;border:0;display:block}
.a1tools-vc-card.is-playing{cursor:default}
.a1tools-video-carousel .a1tools-vc-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-width:0;min-height:0;margin:0;padding:0;font:inherit;font-size:18px;line-height:1;letter-spacing:normal;text-transform:none;-webkit-appearance:none;appearance:none;border:none;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:all .25s ease}
.a1tools-video-carousel .a1tools-vc-arrow:hover{background:rgba(0,0,0,.8)}
.a1tools-video-carousel .a1tools-vc-arrow[disabled]{opacity:.3;cursor:default;pointer-events:none}
.a1tools-video-carousel .a1tools-vc-arrow svg{width:1em;height:1em;fill:currentColor;display:block}
.a1tools-vc-prev{left:10px}
.a1tools-vc-next{right:10px}
.a1tools-vc-arrows-outside .a1tools-vc-prev{left:0}
.a1tools-vc-arrows-outside .a1tools-vc-next{right:0}
.a1tools-vc-dots{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:0;list-style:none}
.a1tools-video-carousel .a1tools-vc-dot{box-sizing:border-box;width:10px;height:10px;min-width:0;min-height:0;margin:0;padding:0;font:inherit;-webkit-appearance:none;appearance:none;border:none;border-radius:50%;background:rgba(255,255,255,.5);box-shadow:0 0 0 1px rgba(0,0,0,.12);cursor:pointer;transition:all .25s ease}
.a1tools-video-carousel .a1tools-vc-dot:hover{background:rgba(255,255,255,.8)}
.a1tools-video-carousel .a1tools-vc-dot.is-active{background:#fff;width:26px;border-radius:5px}
.a1tools-vc-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:rgba(0,0,0,.85)}
.a1tools-vc-lightbox.is-open{display:flex}
.a1tools-vc-lightbox-frame{position:relative;max-width:92vw;max-height:90vh;background:#000;border-radius:8px;overflow:hidden}
.a1tools-vc-lightbox-inner{width:100%;height:100%}
.a1tools-vc-lightbox-inner iframe{width:100%;height:100%;border:0;display:block}
.a1tools-vc-lightbox-close{position:absolute;top:-44px;right:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#fff;color:#222;font-size:18px;line-height:1;cursor:pointer;z-index:2}
@media (max-width:600px){.a1tools-vc-lightbox-close{top:8px;right:8px}}

