/* Filmbuddy Drake 1.7.5: Elementor-free recreation of the editorial homepage. */
.fb-home { --fb-ink:#111318; --fb-muted:#667184; --fb-accent:#ff4655; --fb-surface:#fff; --fb-line:rgba(17,19,24,.09); color:var(--fb-ink); background:radial-gradient(circle at 8% 4%,rgba(255,70,85,.045),transparent 34rem),#f4f5f7; min-width:0; }
.fb-home * { box-sizing:border-box; }
.fb-home :is(h1,h2,h3,p) { margin-block-start:0; }
.fb-home a { color:inherit; text-decoration:none; }
.fb-home a:focus-visible,.fb-home button:focus-visible { outline:3px solid var(--fb-accent); outline-offset:4px; }
.fbd-home-container { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }
.fb-intro { padding:clamp(48px,6vw,88px) 0 clamp(38px,5vw,64px); }
.fb-intro__copy { max-width:960px; }
.fb-intro__kicker { display:inline-block; margin-bottom:18px; color:#ca3042; font-size:13px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.fb-intro h1 { max-width:980px; color:var(--fb-ink); font-weight:950; line-height:1.055; letter-spacing:-.05em; font-size:clamp(38px,5.2vw,76px); text-wrap:balance; margin:0 0 22px; }
.fb-intro p { max-width:810px; color:var(--fb-muted); font-size:clamp(17px,1.7vw,21px); line-height:1.55; margin:0; }
.fb-highlights { padding-bottom:clamp(32px,5vw,62px); }
.fb-section-head { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; margin:0 0 22px; }
.fb-kicker { display:block; color:var(--fb-muted); font-size:13px; font-weight:850; text-transform:uppercase; letter-spacing:.14em; margin-bottom:6px; }
.fb-section-head h2 { font-size:clamp(27px,3vw,40px); font-weight:900; letter-spacing:-.035em; line-height:1.12; color:var(--fb-ink); margin:0; }
.fb-section-head__meta { color:var(--fb-muted); font-size:13px; font-weight:650; min-height:20px; }
.fb-hero { display:grid; grid-template-columns:minmax(0,1.28fr) minmax(0,1fr); gap:18px; min-height:474px; }
.fb-hero__side { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:18px; }
.fb-story { position:relative; min-width:0; overflow:hidden; background:#181e29; isolation:isolate; border-radius:22px; }
.fb-story__link { position:relative; display:block; width:100%; height:100%; min-width:0; overflow:hidden; }
.fb-story__media { position:absolute; inset:0; overflow:hidden; background:linear-gradient(145deg,#232b36,#4e5562); }
.fb-story__media::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(6,9,14,0) 18%,rgba(6,9,14,.28) 40%,rgba(6,9,14,.91) 100%); pointer-events:none; }
.fb-story__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .3s ease; }
.fb-story:hover .fb-story__media img { transform:scale(1.035); }
.fb-story__content { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:end; align-items:start; height:100%; min-height:0; padding:clamp(18px,3vw,34px); color:white; }
.fb-badge { display:inline-block; padding:6px 10px; margin-bottom:12px; border-radius:7px; background:var(--fb-accent); color:#fff; font-size:11px; line-height:1.1; font-weight:900; text-transform:uppercase; letter-spacing:.065em; }
.fb-story__title { margin:0; color:#fff!important; font-size:clamp(18px,2.3vw,33px); line-height:1.12; font-weight:900; letter-spacing:-.028em; text-wrap:balance; }
.fb-story__excerpt { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; max-width:580px; margin:14px 0 0; color:rgba(255,255,255,.87); font-size:clamp(14px,1.2vw,16px); line-height:1.5; }
.fb-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:15px; color:rgba(255,255,255,.85); font-size:12px; line-height:1.3; font-weight:700; }
.fb-meta__dot { width:4px; height:4px; border-radius:50%; background:currentColor; opacity:.8; }
.fb-story--main { min-height:474px; }
.fb-story--main .fb-story__title { font-size:clamp(27px,3vw,46px); }
.fb-story--side { min-height:225px; }
.fb-story--side .fb-story__content { padding:18px; }
.fb-story--side .fb-badge { margin-bottom:7px; padding:5px 7px; font-size:10px; }
.fb-story--side .fb-story__title { font-size:clamp(15px,1.4vw,20px); line-height:1.17; }
.fb-story--side .fb-meta { font-size:11px; margin-top:10px; }
.fb-home .fbd-home-topics { width:min(1240px,calc(100% - 48px)); padding:32px; margin-top:0; margin-bottom:clamp(44px,5vw,70px); }
.fb-latest { padding-bottom:clamp(50px,6vw,92px); }
.fb-filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 24px; }
.fb-filter { min-height:40px; padding:9px 16px; border-radius:999px; border:1px solid var(--fb-line); background:var(--fb-surface); color:var(--fb-ink)!important; font-size:13px; font-weight:750; cursor:pointer; text-decoration:none!important; transition:background .15s ease,border-color .15s ease; }
.fb-filter:hover { border-color:var(--fb-accent); }
.fb-filter.is-active { border-color:var(--fb-accent); background:var(--fb-accent); color:#fff!important; }
.fb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; min-height:200px; }
.fb-card { position:relative; background:var(--fb-surface); overflow:hidden; min-width:0; border:1px solid var(--fb-line); border-radius:19px; box-shadow:0 5px 24px rgba(20,28,42,.035); transition:box-shadow .2s ease,transform .2s ease; }
.fb-card:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(20,28,42,.11); }
.fb-card__link { display:flex; flex-direction:column; height:100%; }
.fb-card__media { position:relative; width:100%; aspect-ratio:16/9; background:#dde0e6; overflow:hidden; }
.fb-card__media img { display:block; width:100%; height:100%; object-fit:cover; }
.fb-card__body { display:flex; flex-direction:column; align-items:start; flex:1; min-width:0; padding:22px 22px 20px; }
.fb-card__body .fb-badge { margin-bottom:14px; }
.fb-card__title { margin:0 0 12px; font-size:clamp(19px,1.9vw,25px); font-weight:850; line-height:1.22; letter-spacing:-.026em; color:var(--fb-ink); overflow-wrap:anywhere; }
.fb-card__excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:0 0 10px; font-size:15px; line-height:1.57; color:var(--fb-muted); }
.fb-card .fb-meta { color:var(--fb-muted); font-size:12px; margin-top:auto; padding-top:14px; }
.fb-latest__actions { display:flex; justify-content:center; margin:32px 0 16px; }
.fb-load-more { display:inline-flex; min-height:48px; align-items:center; justify-content:center; min-width:min(100%,230px); padding:11px 22px; border:1px solid rgba(17,19,24,.12); border-radius:12px; color:var(--fb-ink); background:var(--fb-surface); font-weight:800; font-size:14px; cursor:pointer; }
.fb-load-more:hover:not(:disabled) { border-color:var(--fb-accent); }
.fb-load-more:disabled { opacity:.55; cursor:default; }
.fbd-home-archive-links { justify-content:center; margin-top:16px; }
.fb-outro { padding:48px 0 clamp(55px,6vw,88px); border-top:1px solid var(--fb-line); }
.fb-outro h2 { max-width:700px; color:var(--fb-ink); font-size:clamp(27px,4vw,46px); letter-spacing:-.04em; line-height:1.16; margin:0 0 18px; }
.fb-outro p { max-width:780px; color:var(--fb-muted); font-size:clamp(17px,2vw,20px); line-height:1.58; margin:0 0 22px; }
.fb-outro-links { display:flex; gap:12px; }
.fb-outro-links a { padding:10px 20px; background:var(--fb-surface); border:1px solid var(--fb-line); border-radius:999px; font-weight:750; }
.fb-empty { padding:36px; color:var(--fb-muted); }
/* Dark mode follows the established native toggle (no second toggle or separate store). */
html[data-fbd-theme="dark"] .fb-home { --fb-ink:#f5f7fb; --fb-muted:#b1bbcb; --fb-surface:#141b26; --fb-line:rgba(255,255,255,.13); background:#0b0e14; }
html[data-fbd-theme="dark"] .fb-card { box-shadow:none; }
html[data-fbd-theme="dark"] .fb-filter { color:var(--fb-ink)!important; }
html[data-fbd-theme="dark"] .fb-filter.is-active { color:#fff!important; }
html[data-fbd-theme="dark"] .fb-home .fb-story__title,html[data-fbd-theme="dark"] .fb-home .fb-story__excerpt { color:#fff!important; }
@media(max-width:1099px) {
  .fb-hero { grid-template-columns:1fr; }
  .fb-story--main { min-height:430px; }
  .fb-hero__side { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); }
  .fb-story--side { min-height:230px; }
  .fb-story--side .fb-story__title { font-size:clamp(16px,2.5vw,22px); }
  .fb-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .fbd-home-container,.fb-home .fbd-home-topics { width:calc(100% - 28px); }
  .fb-intro { padding:42px 0 35px; }
  .fb-intro h1 { font-size:clamp(36px,8vw,55px); }
  .fb-hero { gap:12px; }
  .fb-story { border-radius:16px; }
  .fb-story--main { min-height:390px; }
  .fb-story--main .fb-story__title { font-size:clamp(26px,6vw,38px); }
  .fb-hero__side { gap:12px; }
  .fb-story--side { min-height:190px; }
  .fb-story--side .fb-story__content { padding:13px; }
  .fb-story--side .fb-story__title { font-size:clamp(14px,3.4vw,18px); }
  .fb-story--side .fb-meta { display:none; }
  .fb-grid { gap:14px; }
  .fb-card__body { padding:16px 15px; }
  .fb-card__title { font-size:18px; }
  .fb-card__excerpt { font-size:14px; }
  .fb-section-head { gap:8px; }
  .fb-section-head__meta { font-size:12px; }
}
@media(max-width:460px) {
  .fb-hero__side { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fb-story--side { min-height:170px; }
  .fb-story--side .fb-badge { font-size:9px; margin-bottom:5px; }
  .fb-story--side .fb-story__title { font-size:14px; }
  .fb-grid { grid-template-columns:1fr; }
  .fb-card__title { font-size:22px; }
  .fb-card__body { padding:20px; }
  .fb-filters { gap:7px; }
  .fb-filter { padding:7px 13px; font-size:12px; }
  .fb-intro p { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) {
  .fb-home .fb-story img,.fb-card { transition:none!important; transform:none!important; }
}
