/* Video Research Center + in-content video modules. Loaded only on pages that show videos.
   Builds on editorial.css tokens (--ed-*). Standard videos are 16:9; YouTube Shorts are 9:16. */

/* ---------- Player (lite-youtube facade: no YouTube JS/iframe until the visitor presses play) ---------- */
.vd-player{position:relative;width:100%;background:#000;overflow:hidden;border-radius:var(--ed-radius)}
.vd-player lite-youtube{max-width:none;width:100%;height:100%;background-color:#000}
.vd-player lite-youtube::after{padding-bottom:56.25%}
.vd-player--short{max-width:360px}
.vd-player--short lite-youtube::after{padding-bottom:177.7778%}
.vd-player lite-youtube>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vd-player lite-youtube:focus-visible{outline:3px solid var(--ed-kicker);outline-offset:3px}
.vd-player lite-youtube>.lty-playbtn:focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:12px}
.vd-player lite-youtube>.lty-playbtn{z-index:2}

/* ---------- Card (thumbnail link to the video research page) ---------- */
.vd-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
.vd-card{min-width:0}
.vd-card a{display:block;color:var(--ed-ink);text-decoration:none}
.vd-card a:hover .ed-headline{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.vd-card a:focus-visible{outline:3px solid var(--ed-kicker);outline-offset:3px}
.vd-thumb{position:relative;display:block;aspect-ratio:16 / 9;margin-bottom:10px;background:#111;overflow:hidden;border-radius:var(--ed-radius)}
.vd-card--short .vd-thumb{aspect-ratio:9 / 16}
/* In-page modules keep Shorts compact: a 3:4 crop of the vertical frame */
.vd-module .vd-card--short .vd-thumb{aspect-ratio:3 / 4}
.vd-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.vd-card a:hover .vd-thumb img{transform:scale(1.03)}
.vd-thumb__play{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.vd-badge{position:absolute;top:10px;left:10px;padding:3px 8px;border-radius:3px;background:#fff;color:var(--ed-ink);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.vd-card__text{display:block;margin-top:6px;font-size:.88rem;line-height:1.45;color:var(--ed-muted)}
.vd-card .ed-meta{margin-top:6px}

/* Shorts rows: denser grid; horizontal swipe on small phones */
.vd-grid--shorts{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:479px){
  .vd-grid--scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .vd-grid--scroll>li{flex:0 0 62%;scroll-snap-align:start}
}
@media(min-width:640px){.vd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vd-grid--shorts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.vd-grid--4,.vd-module .vd-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.vd-grid--shorts.vd-grid--wide{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.vd-thumb img{transition:none}.vd-card a:hover .vd-thumb img{transform:none}}

/* ---------- In-content module (model hubs, comparisons, articles, homepage) ---------- */
.vd-module{margin-top:44px}
.vd-module .ed-head-row{margin-top:0}
.vd-module__sub{margin:-10px 0 20px;color:var(--ed-muted);font-size:.95rem}

/* Inline article embed */
.vd-inline{margin:32px 0;padding:18px;border:1px solid var(--ed-rule);border-left:4px solid var(--ed-kicker);background:var(--ed-tint);clear:both}
.vd-inline__grid{display:grid;gap:16px;align-items:center}
.vd-inline .ed-kicker{margin-bottom:6px}
.vd-inline__title{margin:0 0 6px;font-family:var(--ed-sans);font-weight:800;font-size:1.05rem;line-height:1.25;color:var(--ed-ink)}
.blog-content .vd-inline__title{margin:0 0 6px;font-size:1.05rem}
.vd-inline__text{margin:0 0 10px;font-size:.92rem;line-height:1.5;color:var(--ed-ink-2)}
.vd-inline .ed-more{font-size:.85rem}
.vd-inline--short .vd-player--short{max-width:260px;margin:0 auto}
@media(min-width:640px){.vd-inline--short .vd-inline__grid{grid-template-columns:220px 1fr}.vd-inline--short .vd-player--short{max-width:none}}

/* ---------- Video Research Center ---------- */
.vd-filters{display:grid;gap:14px;margin:0 0 28px;padding:16px;border:1px solid var(--ed-rule);background:#fff}
.vd-filters__row{display:grid;gap:12px}
.vd-filters label{display:block;margin:0 0 5px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ed-muted)}
.vd-filters select,.vd-filters input[type=search]{width:100%;height:44px;padding:0 12px;border:1px solid #bdbdbd;border-radius:4px;background:#fff;font:inherit;font-size:1rem;color:var(--ed-ink)}
.vd-filters__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.vd-filters__actions .ed-btn{height:44px}
@media(min-width:768px){.vd-filters__row{grid-template-columns:1fr 1fr 1.4fr auto;align-items:end}}
.vd-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none}
.vd-chips a{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #c9d6e6;border-radius:999px;background:var(--ed-tint);font-size:.84rem;font-weight:600;color:var(--ed-ink);text-decoration:none}
.vd-chips a:hover,.vd-chips a[aria-current]{border-color:var(--ed-accent);background:#fff}
.vd-chips a[aria-current]{box-shadow:inset 0 0 0 1px var(--ed-accent)}
.vd-group{scroll-margin-top:140px;padding-top:8px}
.vd-group+.vd-group{margin-top:40px;padding-top:32px;border-top:1px solid var(--ed-rule)}
.vd-group__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;margin-bottom:16px}
.vd-group__head h2{margin:0;font-family:var(--ed-cond);font-weight:700;font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.05;text-transform:uppercase;color:var(--ed-ink)}
.vd-empty{padding:28px;border:1px dashed var(--ed-rule);text-align:center;color:var(--ed-muted)}
.vd-count{margin:0 0 16px;font-size:.9rem;color:var(--ed-muted)}

/* Featured (lead) video on the library */
.vd-feature{display:grid;gap:24px;align-items:center;margin-bottom:40px;padding-bottom:36px;border-bottom:1px solid var(--ed-rule)}
.vd-feature--short .vd-player--short{max-width:300px}
@media(min-width:900px){.vd-feature{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px}.vd-feature--short{grid-template-columns:300px minmax(0,1fr)}}
.vd-feature__title{margin:0 0 10px;font-family:var(--ed-sans);font-weight:800;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.12;letter-spacing:-.015em}
.vd-feature__title a{color:var(--ed-ink);text-decoration:none}
.vd-feature__title a:hover{text-decoration:underline}
.vd-feature p{margin:0 0 14px;color:var(--ed-ink-2);line-height:1.55}

/* Video research page */
.vd-watch{display:grid;gap:28px}
.vd-watch--short{align-items:start}
@media(min-width:900px){.vd-watch--short{grid-template-columns:340px minmax(0,1fr);gap:40px}}
.vd-watch__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.vd-summary{font-size:1.05rem;line-height:1.7;color:var(--ed-ink-2)}
.vd-summary p{margin:0 0 16px}
.vd-topics{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none}
.vd-topics li{padding:6px 12px;border:1px solid var(--ed-rule);border-radius:999px;font-size:.85rem;font-weight:600;color:var(--ed-ink-2);background:#fff}
.vd-h2{margin:32px 0 12px;font-family:var(--ed-cond);font-weight:700;font-size:1.6rem;line-height:1.05;text-transform:uppercase;color:var(--ed-ink)}
.vd-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;font-size:.85rem;color:var(--ed-muted)}
.vd-facts i{margin-right:5px}
.ed-section>.vd-module{margin-top:0}
/* Homepage video section additions (existing .ed-video layout is unchanged) */
.ed-video__player lite-youtube>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ed-video__player lite-youtube>.lty-playbtn{z-index:2}
.ed-video__links{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0}
