/* CV Video Sync v2.1.2 — styles isolated from the WordPress theme */
.cvvs-gallery,.cvvs-video-shell,.cvvs-gallery *,.cvvs-video-shell *{box-sizing:border-box}
.cvvs-gallery{display:block;width:100%;max-width:100%;min-width:0;margin:24px auto 38px;font-family:inherit}
.cvvs-gallery-heading{font-size:clamp(21px,2.1vw,30px);font-weight:750;line-height:1.22;margin:0 0 18px;color:inherit}
.cvvs-gallery-grid{display:grid;width:100%;min-width:0;grid-template-columns:repeat(var(--cvvs-cols,3),minmax(0,1fr));gap:var(--cvvs-gap,16px)}
.cvvs-video-card{min-width:0;position:relative;background:var(--cvvs-card-bg,#fff);overflow:hidden;border-radius:var(--cvvs-radius,9px);isolation:isolate;transition:transform .2s,box-shadow .2s}
.cvvs-video-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #1118271a}
.cvvs-video-link{display:block;height:100%;position:relative;text-decoration:none!important;color:inherit!important;outline-offset:3px}
.cvvs-card-thumb{display:block;position:relative;width:100%;aspect-ratio:16/9;background:#171c2a;overflow:hidden}
.cvvs-aspect-4-3 .cvvs-card-thumb{aspect-ratio:4/3}.cvvs-aspect-1-1 .cvvs-card-thumb{aspect-ratio:1}.cvvs-aspect-9-16 .cvvs-card-thumb{aspect-ratio:9/16}
.cvvs-aspect-custom .cvvs-card-thumb{aspect-ratio:auto;height:var(--cvvs-height,180px)}
/* v2.1.2: Keep thumbnail image in the document flow.
   Absolute positioning removed its intrinsic contribution to the card's size, so in
   shrink-to-fit/flex WordPress layouts the overlay cards could collapse to only the
   coloured metadata strip. The explicit image aspect ratio + object-fit provides a
   genuine 16:9 box that crops YouTube's 4:3 hqdefault thumbnails correctly.
   Override generic theme img rules while preserving a normal-flow image. */
.cvvs-gallery .cvvs-card-thumb > img{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;max-width:100%!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:cover!important;object-position:center center!important;transition:transform .25s ease}
.cvvs-gallery.cvvs-aspect-4-3 .cvvs-card-thumb > img{aspect-ratio:4/3!important}
.cvvs-gallery.cvvs-aspect-1-1 .cvvs-card-thumb > img{aspect-ratio:1/1!important}
.cvvs-gallery.cvvs-aspect-9-16 .cvvs-card-thumb > img{aspect-ratio:9/16!important}
.cvvs-gallery.cvvs-aspect-custom .cvvs-card-thumb > img{aspect-ratio:auto!important;height:var(--cvvs-height,180px)!important}
.cvvs-gallery.cvvs-fit-contain .cvvs-card-thumb > img{object-fit:contain!important}
.cvvs-video-card:hover .cvvs-card-thumb img{transform:scale(1.025)}
.cvvs-card-thumb::after{content:'';display:block;pointer-events:none;position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(to bottom,transparent,var(--cvvs-tint,rgba(0,0,0,.7)));z-index:1}
.cvvs-tint-full .cvvs-card-thumb::after{inset:0;height:auto;background:var(--cvvs-tint,rgba(0,0,0,.3))}
.cvvs-no-tint .cvvs-card-thumb::after{display:none}
.cvvs-style-classic .cvvs-card-info{display:flex;flex-direction:column;gap:5px;padding:12px 13px;min-height:35px;color:var(--cvvs-title,#172334)}
.cvvs-style-overlay .cvvs-card-info{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;gap:3px;padding:12px 11px 9px;color:var(--cvvs-title,#fff);z-index:2}
.cvvs-style-overlay.cvvs-aspect-custom .cvvs-card-info{max-height:100%;overflow:hidden}
.cvvs-style-overlay .cvvs-card-info::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--cvvs-tint,rgba(0,0,0,.7))}
.cvvs-style-overlay.cvvs-no-tint .cvvs-card-info::before{display:none}
.cvvs-style-overlay.cvvs-tint-full .cvvs-card-info::before{display:none}
.cvvs-style-images .cvvs-card-info{display:none}
.cvvs-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.34;font-size:var(--cvvs-font,14px);font-weight:750;color:inherit;text-wrap:pretty}
.cvvs-card-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:1.35;color:inherit;opacity:.94}
.cvvs-play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;padding-left:4px;font-size:19px;background:#0009;color:#fff;z-index:3;border:1px solid #fffd}
.cvvs-empty{margin:10px 0;color:#58667b}
.cvvs-video-shell{background:var(--cvvs-page-bg,#f4f5f8);color:var(--cvvs-single-text,#182237);width:100%;min-height:50vh;padding:28px 14px 56px}
.cvvs-video-main{width:100%;max-width:var(--cvvs-max,1120px);margin:0 auto}
.cvvs-video-content{padding:var(--cvvs-pad,28px);background:var(--cvvs-content-bg,#fff);border-radius:12px;color:var(--cvvs-single-text,#182237)}
.cvvs-video-shell a{color:var(--cvvs-accent,#2c3c63)}
.cvvs-breadcrumb{font-size:12px;line-height:1.55;margin:0 0 16px;color:var(--cvvs-muted,#667187)}
.cvvs-breadcrumb a{text-decoration:none}.cvvs-back{margin:0 0 14px;font-size:14px}
.cvvs-video-category{font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--cvvs-accent,#2c3c63);font-weight:800;margin:0 0 8px}
.cvvs-video-title{font-size:var(--cvvs-title-size,30px);line-height:1.2;letter-spacing:-.025em;font-weight:750;color:var(--cvvs-single-text,#182237);margin:0 0 22px}
.cvvs-video-player{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:var(--cvvs-player-radius,8px);background:#05070d;width:100%}
.cvvs-video-player iframe{position:absolute;inset:0;border:0;width:100%;height:100%}
.cvvs-single-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin:16px 0 22px;font-size:13px;color:var(--cvvs-muted,#667187);padding-bottom:18px;border-bottom:1px solid var(--cvvs-divider,#e1e5ec)}
.cvvs-video-description{line-height:1.7;font-size:15px;white-space:normal;overflow-wrap:anywhere;margin:20px 0;color:var(--cvvs-single-text,#182237)}
.cvvs-video-description p{margin:0 0 14px}.cvvs-video-description a{overflow-wrap:anywhere}
.cvvs-video-tags{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.cvvs-video-tags span{font-size:12px;border-radius:100px;background:var(--cvvs-page-bg,#f4f5f8);padding:5px 10px;color:var(--cvvs-single-text,#182237)}
.cvvs-video-share{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;border-top:1px solid var(--cvvs-divider,#e1e5ec);padding-top:18px;margin-top:22px}
.cvvs-video-share a{text-decoration:none;font-weight:650}
.cvvs-related{margin:28px 0 12px}
.cvvs-related h2{font-size:clamp(19px,2vw,25px);color:var(--cvvs-single-text,#182237);margin:0 0 16px;font-weight:760}
.cvvs-related-gallery{margin:0}
@media(max-width:960px){.cvvs-gallery-grid{grid-template-columns:repeat(min(3,var(--cvvs-cols,3)),minmax(0,1fr))}}
@media(max-width:650px){.cvvs-gallery-grid{grid-template-columns:repeat(var(--cvvs-mobile-cols,1),minmax(0,1fr));gap:min(var(--cvvs-gap,16px),16px)}.cvvs-gallery{margin:18px 0 28px}.cvvs-video-shell{padding:14px 8px 30px}.cvvs-video-content{padding:min(var(--cvvs-pad,28px),16px)}.cvvs-video-title{font-size:min(var(--cvvs-title-size,30px),26px)}.cvvs-card-title{font-size:min(var(--cvvs-font,14px),14px)}}
@media(prefers-reduced-motion:reduce){.cvvs-video-card,.cvvs-card-thumb img{transition:none}.cvvs-video-card:hover,.cvvs-video-card:hover .cvvs-card-thumb img{transform:none}}

/* v2.1: Gallery pagination, accessible focus, and keyboard navigation. */
.cvvs-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin:22px 0}
.cvvs-pagination .page-numbers{display:inline-flex;min-width:34px;min-height:34px;align-items:center;justify-content:center;padding:4px 9px;border:1px solid #cbd3df;border-radius:7px;text-decoration:none}
.cvvs-pagination .page-numbers.current{font-weight:700;background:#2c3c63;color:#fff;border-color:#2c3c63}
.cvvs-gallery a:focus-visible,.cvvs-pagination a:focus-visible{outline:3px solid #3870e5;outline-offset:3px}
