/* Base layout and header */
.site-header .topbar { background:#000; color:#fff; }
.site-header .container { width: min(100% - 2*var(--bwtv-gutter), 1200px); }
.topbar .topbar-inner { display:grid; grid-template-columns:1fr auto 1fr; grid-template-areas: 'branding static actions'; align-items:center; gap:20px; padding:12px 0 10px; min-height: 50px; }
.site-branding { display:flex; align-items:center; gap:12px; }
.site-branding { justify-self: start; grid-area: branding; }
.site-branding .custom-logo { max-height:28px; width:auto; height:auto; }
.site-branding .custom-logo + .site-title { display:none; }
.site-branding .custom-logo-link + .site-title { display:none; }
.site-branding .site-logo img { max-height:28px; width:auto; height:auto; }
.site-branding .site-logo + .site-title { display:none; }
.site-title { font-weight:900; font-size:28px; color:#fff; text-transform:uppercase; letter-spacing:.02em; }

/* Search Modal */
.bwtv-search-modal { position: fixed; inset:0; z-index: 10000; display:none; }
.bwtv-search-modal[aria-hidden="false"] { display:block; }
.bwtv-search-modal .bsm-backdrop { position:absolute; inset:0; background: rgba(0,0,0,.55); }
.bwtv-search-modal .bsm-dialog { position:absolute; left:50%; top:14vh; transform: translateX(-50%); width: min(92vw, 720px); background:#fff; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.35); overflow:hidden; }
.bwtv-search-modal .bsm-close { position:absolute; top:12px; right:12px; z-index:2; display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; border:1px solid #e5e5e5; border-radius:999px; background:#fff; color:#111; font-size:22px; line-height:1; cursor:pointer; }
.bwtv-search-modal .bsm-close:hover { border-color: var(--bwtv-color-primary); background:#fce5f2; }
.bwtv-search-modal .bsm-head { display:flex; gap:8px; padding:12px 58px 12px 12px; border-bottom:1px solid #eee; background:#fff; }
.bwtv-search-modal .bsm-input { flex:1; min-width:0; padding:10px 12px; border:1px solid #ddd; border-radius:8px; font-family: var(--bwtv-font); font-size:16px; }
.bwtv-search-modal .bsm-input:focus { outline:none; border-color: var(--bwtv-color-primary); box-shadow: 0 0 0 3px rgba(230,0,126,.25); }
.bwtv-search-modal .bsm-btn { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:39px; padding:10px 14px; border:1px solid #ddd; border-radius:8px; background:#f8f8f8; cursor:pointer; font-family: var(--bwtv-font); }
.bwtv-search-modal .bsm-btn:hover { background:#fff; border-color: var(--bwtv-color-primary); }
.bwtv-search-modal .bsm-body { padding:10px 12px 12px; background:#fff; }
.bwtv-search-modal .bsm-sec-title { font-weight:900; font-family: var(--bwtv-font-headings); color:#000; margin:6px 0 10px; }
.bwtv-search-modal .bsm-results { list-style:none; margin:0; padding:0; display:grid; gap:10px; max-height: 52vh; overflow:auto; }
.bwtv-search-modal .bsm-item { display:grid; grid-template-columns: 72px 1fr; gap:12px; align-items:start; padding:10px 0; border-top:1px solid #f0f0f0; }
.bwtv-search-modal .bsm-item:first-child { border-top:0; padding-top:0; }
.bwtv-search-modal .bsm-thumb { width:72px; height:54px; border-radius:7px; background:#eee; overflow:hidden; display:block; }
.bwtv-search-modal .bsm-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.bwtv-search-modal .bsm-info { min-width:0; }
.bwtv-search-modal .bsm-title { margin:0; font-size:18px; font-weight:900; line-height:1.18; font-family: var(--bwtv-font-headings); }
.bwtv-search-modal .bsm-title a { color:#000; text-decoration:none; }
.bwtv-search-modal .bsm-title a:hover { color: var(--bwtv-color-primary); text-decoration: underline; }
.bwtv-search-modal .bsm-meta { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:12px; line-height:1.45; color: var(--bwtv-color-muted); margin-top:5px; }
.bwtv-search-modal .bsm-viewall { display:inline-flex; align-items:center; min-height:40px; margin-top:10px; color:#000; font-weight:900; }
.bwtv-search-modal .bsm-viewall:hover { color: var(--bwtv-color-primary); }
.bwtv-search-modal .bsm-empty { padding:8px 2px; color: var(--bwtv-color-muted); font-size:14px; }

@media (max-width: 640px) {
  .bwtv-search-modal .bsm-dialog { left:0; right:0; top:auto; bottom:0; transform:none; width:100%; max-height:82svh; border-radius:16px 16px 0 0; display:flex; flex-direction:column; }
  .bwtv-search-modal .bsm-close { top:10px; right:10px; width:36px; height:36px; }
  .bwtv-search-modal .bsm-head { flex:0 0 auto; padding:12px 54px 12px 12px; }
  .bwtv-search-modal .bsm-btn { width:46px; flex:0 0 46px; padding:0; font-size:0; color:#111; }
  .bwtv-search-modal .bsm-btn::before { content:""; width:18px; height:18px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat; }
  .bwtv-search-modal .bsm-body { flex:1 1 auto; overflow:auto; padding:12px 14px 16px; }
  .bwtv-search-modal .bsm-sec-title { margin:4px 0 12px; font-size:15px; }
  .bwtv-search-modal .bsm-results { gap:0; max-height:none; overflow:visible; }
  .bwtv-search-modal .bsm-item { grid-template-columns:72px 1fr; gap:12px; padding:12px 0; }
  .bwtv-search-modal .bsm-thumb { width:72px; height:54px; border-radius:7px; }
  .bwtv-search-modal .bsm-title { font-size:17px; line-height:1.18; }
  .bwtv-search-modal .bsm-meta { margin-top:5px; line-height:1.45; }
  .bwtv-search-modal .bsm-viewall { width:100%; min-height:44px; margin-top:6px; border-top:1px solid #f0f0f0; }
}

@media (max-width: 380px) {
  .bwtv-search-modal .bsm-item { grid-template-columns:64px 1fr; gap:10px; }
  .bwtv-search-modal .bsm-thumb { width:64px; height:48px; }
  .bwtv-search-modal .bsm-title { font-size:16px; }
}

/* Search Modal – skeleton loader */
@keyframes bsm-shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
.bwtv-search-modal .bsm-results.loading { pointer-events:none; }
.bwtv-search-modal .bsm-results .bsm-skel .bsm-skel-thumb,
.bwtv-search-modal .bsm-results .bsm-skel .bsm-skel-line { 
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 37%, #eee 63%);
  background-size: 400% 100%;
  animation: bsm-shimmer 1.2s infinite;
}
.bwtv-search-modal .bsm-skel { display:grid; grid-template-columns: 64px 1fr; gap:10px; align-items:center; }
.bwtv-search-modal .bsm-skel .bsm-skel-thumb { width:64px; height:48px; border-radius:6px; }
.bwtv-search-modal .bsm-skel .bsm-skel-lines { display:grid; gap:6px; }
.bwtv-search-modal .bsm-skel .bsm-skel-line { height:12px; border-radius:6px; }
.bwtv-search-modal .bsm-skel .bsm-skel-line.short { width:50%; }
@media (max-width:640px){
  .bwtv-search-modal .bsm-skel { grid-template-columns:48px 1fr; }
  .bwtv-search-modal .bsm-skel .bsm-skel-thumb{ width:48px; height:38px; }
}
/* Static centered menu (scoped to header) */
.site-header .static-nav { justify-self:center; transform: translateY(2px); grid-area: static; min-width:0; width:100%; touch-action: pan-x; display:flex; align-items:center; justify-content:center; }
.site-header .static-nav { position:relative; }
.site-header .static-nav::before, .site-header .static-nav::after { content:""; position:absolute; top:0; bottom:0; width:24px; pointer-events:none; z-index:2; display:none; }
.site-header .static-nav.has-scroll::before, .site-header .static-nav.has-scroll::after { display:block; }
.site-header .static-nav::before { left:0; background: linear-gradient(90deg, rgba(0,0,0,0.95), rgba(0,0,0,0)); }
.site-header .static-nav::after { right:0; background: linear-gradient(270deg, rgba(0,0,0,0.95), rgba(0,0,0,0)); }
.site-header .static-nav.at-start::before { opacity:0; }
.site-header .static-nav.at-end::after { opacity:0; }
/* Anti-CLS: Reserve space for static menu */
.site-header .static-menu { 
  list-style: none; 
  margin: 0; 
  padding: 0; 
  display: flex; 
  align-items: center;
  min-height: 40px;  /* Reserve vertical space */
  contain: layout style;  /* Optimize rendering */
  margin-left: auto;
  margin-right: auto;
}
.site-header .static-menu li { 
  display: flex; 
  align-items: center;
  min-height: 40px;  /* Match parent */
}
.site-header .static-menu li + li::before { 
  content: ""; 
  display: inline-block; 
  width: 2px; 
  height: 14px; 
  background: #e6007e; 
  margin: 0 12px;
  flex-shrink: 0;  /* Don't compress separator */
}
.site-header .static-menu a { 
  color: #fff; 
  font-family: var(--bwtv-font-headings); 
  font-weight: 900; 
  font-size: 15px; 
  text-transform: uppercase;
  /* No padding here to avoid CLS - padding added in responsive rules */
}
.site-header .static-menu a:hover { color:#e6007e; text-decoration:none; }

/* Header actions (LIVE, REPLAY, search, langs) */
.header-actions { display:flex; align-items:center; gap:16px; justify-self: end; grid-area: actions; }
.live-link { display:inline-flex; align-items:center; gap:6px; color:#fff; text-decoration:none; }
.live-link .live-dot { display:none; }
.live-link .live-text { display:inline-block; font-family: var(--bwtv-font-headings); font-weight:900; font-size:18px; letter-spacing:.5px; color:#fff; }
.live-link:hover .live-text { color: var(--bwtv-color-primary); }
.action-user, .action-search { color:#fff; display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; }
.icon-user, .icon-search { width:20px; height:20px; color:#fff; }
.action-user:hover .icon-user, .action-search:hover .icon-search { color: var(--bwtv-color-primary); }
.action-lang { color:#fff; font-weight:900; text-decoration:none; }
.action-lang.has-caret .caret { margin-left:4px; font-size:12px; }
.action-search { appearance:none; -webkit-appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:0; padding:0; border:0; border-radius:0; background:transparent; color:#fff; line-height:1; cursor:pointer; }
.action-search .icon-search { display:block; width:20px; height:20px; fill:none; stroke:currentColor; }
.action-search:hover .icon-search { color:#e6007e; }
.action-search:hover, .action-live:hover, .action-replay:hover, .action-lang:hover { color:#e6007e; text-decoration:none; }
.action-lang { color:#fff; font-weight:900; }

/* Sub navigation under topbar */
.subnav { background: var(--bwtv-color-primary); color:#fff; border-top:2px solid #f4f4f4; position:relative; z-index:5; }
.subnav .container { padding: 6px 0; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.subnav .container::-webkit-scrollbar { display:none; }
.subnav-menu { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:22px; flex-wrap: nowrap; }
.subnav-menu > li { flex: 0 0 auto; }
.subnav-menu a { color:#fff; font-family: var(--bwtv-font-headings); font-weight:900; text-transform:uppercase; letter-spacing:.02em; text-decoration:none; padding:6px 0; white-space: nowrap; word-break: keep-all; hyphens: none; display:inline-block; }
.subnav-menu a:hover { text-decoration:underline; }
/* Add spacing under the secondary menu on single articles to avoid sticking to top banner */
.single .subnav { margin-bottom: 12px; }
/* Highlight current item if menu is assigned */
.subnav .current-menu-item > a,
.subnav .current_page_item > a { font-weight:900; }
/* Contrast on variants: white text + heavier weight where requested */
.single-variant-people .subnav, .single-variant-people .subnav a,
.single-variant-sport .subnav,  .single-variant-sport .subnav a,
.single-variant-elle .subnav,   .single-variant-elle .subnav a { color:#fff; }
.single-variant-people .subnav-menu a,
.single-variant-sport .subnav-menu a,
.single-variant-elle .subnav-menu a { font-weight:900; }

/* Always single-line items; enable horizontal scroll at all widths when needed */
@media (min-width: 1025px) {
  .subnav .container { overflow-x: auto; }
  .subnav-menu { flex-wrap: nowrap; }
}
@media (max-width: 1024px) {
  .subnav .container { overflow-x: auto; }
  .subnav-menu { flex-wrap: nowrap; }
}

/* Layout */
.layout { display:block; margin-top: 24px; }
.content { min-width: 0; }

/* Section headings */
.section-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:28px 0 16px; border-bottom:3px solid var(--bwtv-color-primary); padding-bottom:6px; }
.section-title { margin:0; font-size:22px; text-transform:uppercase; letter-spacing:.02em; }
.section-more { font-size:14px; color:var(--bwtv-color-link); font-weight:300; }

/* HERO */
.hero { margin-top: 16px; }
.hero-item { position:relative; }
.hero-content { padding:12px 0; }
.hero-title { font-size: var(--fs-h2); line-height: var(--lh-h2); margin:10px 0 4px; font-weight:900; text-wrap: balance; }
.hero-meta { font-size:12px; color:var(--bwtv-color-muted); margin-bottom:8px; }

/* Teasers */
.teaser-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--bwtv-gutter); margin-top: 14px; }
.teaser-title { font-size: var(--fs-body-l); line-height: var(--lh-body-l); margin:8px 0 0; font-weight:900; }

/* Category blocks */
.cat-grid { display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--bwtv-gutter); }
.cat-featured { grid-column: 1 / span 1; }
.cat-item { grid-column: auto; }
.cat-title { font-size:16px; margin:8px 0 0; }
.cat-excerpt { color:var(--bwtv-color-muted); font-size: var(--fs-body-m); line-height: var(--lh-body-m); margin-top:6px; }

/* Livefeed */
.livefeed-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns: 1fr; gap:8px; }
.livefeed-item { display:flex; align-items:baseline; gap:10px; border-bottom:1px solid var(--bwtv-color-border); padding:6px 0; }
.live-date { color:var(--bwtv-color-muted); font-size:12px; min-width: 90px; }
.live-link { font-weight:900; }

/* Footer */
.site-footer { margin-top: 40px; background:#f4f4f4; border-top:2px solid #f4f4f4; }
.footer-top { border-top:2px solid #f4f4f4; border-bottom:1px solid #e6e6e6; }
.footer-top .container { padding: 24px 0 18px; }
.footer-grid { display:grid; grid-template-columns: repeat(5, 1fr); gap: 30px; }
.footer-title { font-family: var(--bwtv-font-headings); font-weight:900; font-size:20px; margin: 0 0 10px; text-align:center; }
.footer-list { list-style:none; margin:0; padding:0; }
.footer-list li { line-height: 2.1; }
.footer-list a { color:#000; font-family: var(--bwtv-font); font-weight:400; font-size:16px; }
.footer-list a:hover { color: var(--bwtv-color-primary); text-decoration:none; }

/* Columns: keep titles centered but list items aligned left */
.site-footer .footer-col { text-align:left; }
.site-footer .footer-col .footer-title { text-align:center; }
.site-footer .footer-col .footer-list { display:block; text-align:left; }
.footer-bottom { background:#f4f4f4; border-top:1px solid #e6e6e6; }
.footer-bottom .container { padding: 8px 0 18px; display:flex; flex-direction:column; align-items:center; }
.footer-links { list-style:none; display:flex; flex-wrap:wrap; gap:30px; padding:0; margin: 5px 0; }
.footer-links a { color:#000; font-family: var(--bwtv-font); font-weight:400; font-size:14px; letter-spacing:.5px; }
.footer-links a:hover { color: var(--bwtv-color-primary); text-decoration: underline; }
.site-info { color:#000; font-size:12px; font-family: var(--bwtv-font); }

/* Apps & Social strip */
.apps-social { background:#f4f4f4; border-top:2px solid #f4f4f4; border-bottom:2px solid #f4f4f4; }
.apps-social .container { padding: 12px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.apps-left { display:flex; align-items:center; gap:12px; }
.apps-title { font-family: var(--bwtv-font-headings); font-weight:900; font-size:14px; text-transform:uppercase; }
.app-badge { display:inline-flex; align-items:center; gap:6px; border:1px solid #ddd; border-radius:6px; padding:6px 10px; color:#000; font-weight:900; }
.app-badge .badge-ico { width:18px; height:18px; display:inline-block; }
.app-badge:hover { border-color: var(--bwtv-color-primary); color:#000; text-decoration:none; }
.apps-right { display:flex; align-items:center; gap:10px; }
.social { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:#000; color:#fff; }
.social:hover { background: var(--bwtv-color-primary); color:#fff; }

/* Single Article */
.single-grid { display:grid; grid-template-columns: 560px 1fr; gap: 40px; }
.single-main { min-width: 0; }
.single-sidebar { min-width: 0; padding-left: 0; }

/* Single variants (override primary color by family) */
.single-variant-news  { --bwtv-color-primary: #e6007e; }
.single-variant-people{ --bwtv-color-primary: #e6007e; }
.single-variant-sport { --bwtv-color-primary: #e6007e; }
.single-variant-elle  { --bwtv-color-primary: #ff0000; }

.single-kicker { margin-top:6px; }
.single-kicker a { display:inline-block; background: var(--bwtv-color-primary); color:#fff; font-family: var(--bwtv-font-headings); font-weight:900; font-size:12px; padding:2px 8px; border-radius:2px; text-transform:uppercase; letter-spacing:.5px; }

.single-title { margin:8px 0 10px; font-size: var(--fs-h1); line-height: var(--lh-h1); letter-spacing: var(--ls-h1); font-weight:900; text-wrap: pretty; }

/* Lead paragraph under the title */
.single-lead { color: var(--bwtv-color-text); font-size: var(--fs-h4); line-height: var(--lh-h4); font-weight:400; margin: 8px 0 14px; text-wrap: normal; }

.single-meta { color: var(--bwtv-color-muted); font-size: var(--fs-meta); line-height: var(--lh-meta); letter-spacing: var(--ls-meta); font-weight:300; margin-bottom:12px; display:flex; align-items:center; gap:8px; font-variant-numeric: tabular-nums; flex-wrap: wrap; }
.single-meta .sm-row1 { display:flex; align-items:center; gap:12px; width:100%; flex-wrap: wrap; }
.single-meta .sm-row2 { display:flex; align-items:center; gap:8px; width:100%; }
.single-meta .sm-row3 { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin-top:8px; }
.single-meta .single-catpill { display:inline-block; background: var(--bwtv-color-primary); color:#fff; font-family: var(--bwtv-font-headings); font-weight:900; font-size:11px; padding:4px 10px 2px 10px; border-radius:3px; text-transform:uppercase; letter-spacing:.5px; text-decoration:none; }
.single-meta .sm-offline-save { appearance:none; border:1px solid rgba(0,0,0,.08); border-radius:999px; background:rgba(230,0,126,.18); box-shadow:none; color:#000; display:inline-flex; align-items:center; justify-content:flex-start; gap:5px; margin:0; padding:3px 8px; width:auto; font:inherit; font-weight:800; line-height:1.15; cursor:pointer; white-space:nowrap; transform:none; transition:background-color .12s ease,border-color .12s ease,color .12s ease; }
.single-meta .sm-offline-save span { display:inline; align-items:normal; justify-content:normal; width:auto; height:auto; border-radius:0; background:transparent; color:inherit; font-weight:inherit; }
.single-meta .sm-offline-save:hover { background:var(--bwtv-color-primary); border-color:var(--bwtv-color-primary); color:#fff; }
.single-meta .sm-offline-save.active,
.single-meta .sm-offline-save.is-saved { background:rgba(176,0,96,.1); border-color:rgba(176,0,96,.22); color:#b00060; }
.single-meta .sm-offline-save.is-loading span:first-child { width:10px; height:10px; border:2px solid currentColor; border-right-color:transparent; border-radius:999px; font-size:0; animation:bwtv-spin .65s linear infinite; }
.single-meta .sm-offline-save:disabled { cursor:wait; opacity:.7; }
.single-meta .sm-row2 .sm-offline-save,
.single-meta .sm-row3 .sm-offline-save { margin-left:auto; }
.single-meta .sm-row2 .sm-offline-save + .sm-views,
.single-meta .sm-row3 .sm-offline-save + .sm-views { margin-left:0; }
.single-meta .sm-views { color: var(--bwtv-color-muted); font-weight:300; display:inline-flex; align-items:center; gap:6px; }
.single-meta .sm-row2 .sm-views { margin-left:auto; }
.single-meta .sm-views::before { content:""; width:16px; height:16px; display:inline-block; background:none; background-color: var(--bwtv-color-primary); -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 5c-7 0-10 7-10 7s3 7 10 7 10-7 10-7-3-7-10-7zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8z'/></svg>"); -webkit-mask-repeat:no-repeat; -webkit-mask-position:center; -webkit-mask-size:contain; mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 5c-7 0-10 7-10 7s3 7 10 7 10-7 10-7-3-7-10-7zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8z'/></svg>"); mask-repeat:no-repeat; mask-position:center; mask-size:contain; }
.single-meta .sm-views-num { font-weight:900; }
@keyframes bwtv-spin { to { transform:rotate(360deg); } }
/* Author block: tighter spacing between name and "voir tous ses articles" */
.single-meta .sm-au { display:flex; align-items:center; gap:12px; }
.single-meta .sm-au-avatar { 
  width: 48px; 
  height: 48px; 
  border-radius: 50%; 
  flex-shrink: 0;
  object-fit: cover;
}
.single-meta .sm-au-meta { display:flex; flex-direction:column; gap:4px; }
.single-meta .sm-au-meta .single-author { margin:0; line-height:1.2; }
.single-meta .sm-au-view { margin:0; line-height:1.2; }
.single-meta .sm-au-view a { margin:0; line-height:1.2; padding:0; }
@media (max-width: 1024px) {
  .single-meta .sm-au-meta { gap:4px; }
  .single-meta .sm-au-meta .single-author,
  .single-meta .sm-au-view a { padding:2px 0; min-height:0; }
}
/* Always show the short (3-letter month) version; hide the long one */
.single-meta .dt-full {
  display: none !important;
}
.single-meta .dt-short {
  display: inline !important;
}
.single-article.single-special .single-meta { display: block; white-space: nowrap; }
.single-article.single-special .single-meta strong { font-weight: 600; }
/* Single Special – image d'illustration à 800px */
.single-article.single-special .single-figure {
  width: min(800px, 100vw - 2*var(--bwtv-gutter)) !important;
  margin-left: calc(50% - min(400px, 50vw - var(--bwtv-gutter))) !important;
  margin-right: calc(50% - min(400px, 50vw - var(--bwtv-gutter))) !important;
}
@media (max-width: 720px) {
  .single-article.single-special .single-figure {
    width: calc(100% - 2*var(--bwtv-gutter)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* Anti-CLS: Reserve space for metadata elements */
.single-meta .single-dot { 
  color: #bbb;
  display: inline-block;
  width: 8px;
  text-align: center;
  flex-shrink: 0;
}
.single-meta .single-date,
.single-meta .single-updated {
  display: inline-block;
  min-width: 150px;  /* Increased to accommodate both date formats */
  flex-shrink: 0;
  position: relative;
}
/* Ensure both date formats occupy the same space */
/* Removed to fix duplicate date display issue
.single-meta .dt-full,
.single-meta .dt-short {
  display: inline-block;
  min-width: 140px;
}
*/

.single-figure { 
  margin: 12px 0;
  position: relative;
  overflow: hidden;
  min-height: 0;
  background: transparent;
  display: block;
}
.single-figure img { 
  width: 100%; 
  height: auto; 
  display: block;
  /* Reserve image space without clipping the caption below the hero. */
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #f5f5f5;
  position: relative;
  z-index: 1;
}
/* Remove min-height once image is loaded */
.single-figure img[src] {
  min-height: auto;
}
.single-figure:has(img[src]) {
  min-height: 0;
  background: transparent;
}
.country-wrap { margin: 18px 0 40px; }
.country-head { padding: 18px 0 16px; border-bottom:1px solid var(--bwtv-color-border, #e6e6e6); }
.country-hero { display:grid; grid-template-columns:84px 1fr; gap:16px; align-items:center; min-height:104px; }
.country-flag-wrap { width:72px; height:48px; display:flex; align-items:center; justify-content:center; flex:0 0 72px; box-sizing:border-box; overflow:hidden; border:1px solid rgba(0,0,0,.08); border-radius:7px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.country-flag,
.country-flag-svg { display:block; width:100%; height:100%; object-fit:cover; }
.country-emoji { display:block; width:100%; height:100%; line-height:48px; text-align:center; font-size:32px; background:#fce5f2; }
.country-flag-wrap .country-emoji-img { display:block!important; width:100%!important; height:100%!important; max-height:none!important; margin:0!important; object-fit:contain; line-height:normal; background:#fff; }
.country-title { font-family:var(--bwtv-font-headings, var(--bwtv-font)); font-weight:900; margin:2px 0 0; font-size:34px; line-height:1.05; letter-spacing:0; }
.country-eyebrow { display:inline-flex; align-items:center; min-height:24px; color:#b00060; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.country-desc { color:#111; margin-top:10px; max-width:760px; font-size:17px; line-height:1.55; }
.country-desc p { margin:0; }
.country-desc p + p { margin-top:10px; }
.country-layout { display:grid; grid-template-columns:1fr 320px; gap:20px; align-items:start; margin-top:18px; }
.country-main,
.country-aside { min-width:0; }
.country-feed-head { display:flex; align-items:center; gap:12px; margin:0 0 14px; }
.country-feed-head::after { content:""; height:1px; flex:1 1 auto; background:var(--bwtv-color-border, #e6e6e6); }
.country-feed-head h2 { margin:0; font-family:var(--bwtv-font-headings, var(--bwtv-font)); font-size:20px; line-height:1.1; font-weight:900; }
.country-list { list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.co-item { display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start; border-bottom:1px solid var(--bwtv-color-border, #e6e6e6); padding-bottom:14px; }
.co-thumb { display:block; position:relative; width:100%; aspect-ratio:16 / 9; overflow:hidden; border-radius:8px; background:#eee; color:transparent; font-size:0; }
.co-thumb.no-img { background:#efefef; }
.co-img { display:block; width:100%; height:100%; object-fit:cover; }
.co-title { font-family:var(--bwtv-font-headings, var(--bwtv-font)); font-size:20px; line-height:1.16; margin:0 0 6px; font-weight:900; letter-spacing:0; }
.co-title a { color:#000; text-decoration:none; }
.co-title a:hover { color:var(--bwtv-color-primary, #e6007e); text-decoration:underline; }
.co-meta { font-size:12px; color:var(--bwtv-color-muted, #6d6d6d); margin-bottom:6px; }
.co-excerpt { color:#000; line-height:1.5; }
@media (max-width: 1024px) {
  .country-layout { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  body.tax-pays .site-header .static-nav,
  body.tax-country .site-header .static-nav,
  body.tax-countries .site-header .static-nav {
    justify-content:flex-start;
    padding-left:0;
    padding-right:22px;
    -webkit-mask-image:linear-gradient(90deg, #000 0, #000 calc(100% - 38px), transparent 100%);
    mask-image:linear-gradient(90deg, #000 0, #000 calc(100% - 38px), transparent 100%);
  }
  body.tax-pays .site-header .static-menu,
  body.tax-country .site-header .static-menu,
  body.tax-countries .site-header .static-menu {
    margin-left:0;
    margin-right:0;
    padding-top:4px;
    padding-bottom:4px;
  }
  body.tax-pays .site-header .static-menu a,
  body.tax-country .site-header .static-menu a,
  body.tax-countries .site-header .static-menu a {
    min-height:36px;
    padding:7px 10px;
    font-size:13px!important;
  }
  body.tax-pays .site-header .static-menu li + li::before,
  body.tax-country .site-header .static-menu li + li::before,
  body.tax-countries .site-header .static-menu li + li::before {
    margin:0 7px;
  }
  .country-wrap { margin:12px 0 28px; padding-bottom:92px; }
  .country-head { padding:14px 0 16px; }
  .country-hero { grid-template-columns:50px minmax(0, 1fr); gap:10px; align-items:start; min-height:0; }
  .country-flag-wrap { width:44px!important; height:30px!important; flex:0 0 44px!important; margin-top:5px; border-radius:5px; background:#fff; border:1px solid rgba(0,0,0,.1); }
  .country-flag-wrap,
  .country-flag,
  .country-flag-svg,
  .country-emoji { width:44px; height:30px; }
  .country-emoji { line-height:30px; font-size:22px; }
  .country-eyebrow { min-height:18px; font-size:11px; }
  .country-title { font-size:30px; line-height:1; }
  .country-desc { margin-top:9px; font-size:16px; line-height:1.48; }
  .country-desc p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:7; overflow:hidden; }
  .country-layout { margin-top:14px; }
  .country-feed-head { margin-bottom:6px; }
  .country-feed-head h2 { font-size:18px; }
  .country-list { gap:0; }
  .co-item { grid-template-columns:104px minmax(0, 1fr); gap:12px; min-height:0; padding:12px 0; }
  .co-thumb { width:104px; border-radius:7px; aspect-ratio:4 / 3; }
  .co-title { font-size:18px; line-height:1.12; margin-bottom:5px; }
  .co-meta { margin-bottom:0; font-size:11px; }
  .co-excerpt { display:none; }
}
@media (max-width: 380px) {
  .co-item { grid-template-columns:96px minmax(0, 1fr); gap:10px; }
  .co-thumb { width:96px; }
  .co-title { font-size:17px; line-height:1.13; }
}
.single-head { display:grid; grid-template-columns: 140px 1fr; gap:20px; align-items:center; margin: 4px 0 12px; }
.single-head.solo { grid-template-columns: 1fr; }
.pubtype-flag { display:block; color:#e74c3c; font-family: var(--bwtv-font-headings); font-weight:900; font-size:28px; letter-spacing:.5px; text-transform:uppercase; line-height:1; min-width:140px; }
.single-head-main { border-left:4px solid var(--bwtv-color-border); padding-left:16px; }
.single-head .single-title { font-size: var(--fs-h1); line-height: var(--lh-h1); letter-spacing: var(--ls-h1); margin:0 0 8px; text-wrap: pretty; }
.single-inst-desc { font-style: italic; color: var(--bwtv-color-muted); margin-top:6px; font-weight:300; }
.single-caption {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  max-width: calc(100% - 20px);
  color: #fff;
  background: rgba(0,0,0,.62);
  border-radius: 3px;
  padding: 4px 8px;
  font-size: var(--fs-meta);
  line-height: var(--lh-meta);
  margin: 0;
  font-weight: 400;
  display: block;
}

/* Category Archive */
.cat-archive .section-title { font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight:900; margin: 6px 0 2px; text-wrap: balance; }
.cat-subtitle { color: var(--bwtv-color-muted); margin: 0 0 14px; }
.ad-placeholder { background:#f4f4f4; border:1px solid #e5e5e5; border-radius:4px; height:120px; display:flex; align-items:center; justify-content:center; color:#999; font-weight:900; margin: 12px 0 16px; }
.cat-list { list-style:none; margin:0; padding:0; display:grid; gap:18px; }
.cat-li { display:grid; grid-template-columns: 130px 1fr; gap:12px; align-items:start; border-bottom:1px solid var(--bwtv-color-border); padding-bottom:14px; }
.cat-thumb { display:block; width:130px; height:auto; overflow:hidden; border-radius:3px; background:#eee; }
.cat-thumb img { width:100%; height:auto; display:block; }
.cat-body { min-width:0; }
.cat-title { font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight:900; margin:0 0 6px; text-wrap: balance; }
.cat-title a { color:#000; text-decoration:none; }
.cat-title a:hover { color: var(--bwtv-color-primary); }
.cat-excerpt { color: var(--bwtv-color-muted); font-size: var(--fs-body-m); line-height: var(--lh-body-m); }
.cat-date { color: var(--bwtv-color-muted); font-size: var(--fs-meta); line-height: var(--lh-meta); margin-top:6px; font-variant-numeric: tabular-nums; }

/* Right Livefeed panel (category) */
.archive-sidebar .lf-panel { border-left: 1px solid var(--bwtv-color-border); padding-left: 14px; }
.lf-head { display:inline-block; background: var(--bwtv-color-primary); color:#fff; font-weight:900; padding:4px 8px; border-radius:2px; margin-bottom:8px; }
.lf-scroll,
.archive-sidebar .lf-list { height: 600px; overflow:auto; padding-right:6px; }
.lf-list { list-style:none; margin:0; padding:0; }
.lf-item { display:grid; grid-template-columns: 48px 1fr; gap:8px; align-items:start; border-bottom:1px solid var(--bwtv-color-border); padding:8px 0; }
.lf-time { color: var(--bwtv-color-muted); font-size:12px; }
.lf-link { color:#000; text-decoration:none; font-weight:900; }
.lf-link:hover { color: var(--bwtv-color-primary); }
.lf-pill { display:inline-block; background:#e6007e; color:#fff; font-weight:900; font-size:11px; padding:2px 6px; border-radius:2px; margin-right:6px; }

@media (max-width: 640px) {
  .lf-scroll,
  .archive-sidebar .lf-list { height: 400px; }
}

.archive-sidebar .ad-300x600 { width:300px; height:600px; background:#f4f4f4; border:1px solid #e5e5e5; border-radius:4px; display:flex; align-items:center; justify-content:center; color:#999; font-weight:900; }

/* Pagination (category) */
.cat-archive .post-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 0 24px; }
.cat-archive .post-pager .navigation.pagination { display:inline-block; }
.cat-archive .post-pager .nav-links { display:flex; align-items:center; gap:8px; }
.cat-archive .post-pager .page-numbers { display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; border:1px solid #e5e5e5; border-radius:2px; background:#fff; color:#000; font-weight:900; text-decoration:none; font-variant-numeric: tabular-nums; }
.cat-archive .post-pager .page-numbers:hover { border-color: var(--bwtv-color-primary); }
.cat-archive .post-pager .page-numbers.current { background:#000; color:#fff; border-color:#000; }
.cat-archive .post-pager .page-numbers.dots { background:transparent; color:#999; border-color:#eee; }
.cat-archive .page-total { color: var(--bwtv-color-muted); font-size: var(--fs-meta); line-height: var(--lh-meta); font-weight:300; font-variant-numeric: tabular-nums; }

.single-tools { display:grid; grid-template-columns: 1fr auto; grid-template-areas: 'left right' 'actions actions'; gap:8px 14px; margin:8px 0 12px; align-items:center; }
.reading-time { grid-area:left; color: var(--bwtv-color-text); font-size:14px; display:flex; align-items:center; gap:6px; }
.reading-time::before { content:""; width:16px; height:16px; display:inline-block; background:none; background-color: var(--bwtv-color-primary); -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 8a1 1 0 0 1 1 1v2.586l1.707 1.707a1 1 0 1 1-1.414 1.414l-2-2A1 1 0 0 1 11 12V9a1 1 0 0 1 1-1zm0-6C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2z'/></svg>"); -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; -webkit-mask-size: contain; mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 8a1 1 0 0 1 1 1v2.586l1.707 1.707a1 1 0 1 1-1.414 1.414l-2-2A1 1 0 0 1 11 12V9a1 1 0 0 1 1-1zm0-6C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2z'/></svg>"); mask-repeat: no-repeat; mask-position: center; mask-size: contain; }
.read-english { grid-area:right; justify-self:end; }
.read-english .mlp-quicklinks-link, .read-english .tool-btn { display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid #e5e5e5; border-radius:8px; background:#fff; color:#000; font-weight:400; font-size:14px; line-height:1; text-decoration:none; }
.read-english .mlp-quicklinks-link:hover { border-color: var(--bwtv-color-primary); }
.tools-actions { grid-area:actions; display:flex; align-items:center; gap:8px; flex-wrap:wrap; contain: none; overflow: visible; position: relative; z-index: 20; }
.tools-actions .comment-btn { margin-left:auto; }
.tools-actions .tools-right { margin-left:auto; display:flex; align-items:center; gap:8px; }
.tools-actions .tools-right .comment-btn { margin-left:0; }
.tool-btn { display:inline-flex; align-items:center; gap:8px; padding:6px 10px 4px 10px; border:1px solid #e1e1e1; border-radius:8px; background:#f8f8f8; color:#000; font-weight:400; font-size:14px; line-height:1; text-decoration:none; width:auto; transition: transform .12s ease, background-color .12s ease, border-color .12s ease; will-change: transform; touch-action: manipulation; }
.fav-btn { min-inline-size: 154px; justify-content: center; flex: 0 0 auto; }
.tool-btn .tool-ico { width:16px; height:16px; color: var(--bwtv-color-primary); }
.tool-btn:hover { background:#fff; border-color: var(--bwtv-color-primary); color:#000; text-decoration:none; }
.tool-btn.active { border-color:#000; }
.tool-btn:active, .tool-btn.pressed { transform: translateY(0) scale(.98); }
.tool-text { white-space:nowrap; }

/* Share dropdown */
.share-dropdown { position: relative; }
.share-toggle { cursor:pointer; }
.share-menu { position:absolute; right:0; top:calc(100% + 6px); min-width: 180px; background:#fff; border:1px solid #e5e5e5; border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,.12); padding:6px; z-index: 1003; display:none; opacity:0; transform: translateY(-2px) scale(.98); pointer-events:none; will-change: transform, opacity; transition: transform .12s ease, opacity .12s ease; }
.share-dropdown.open .share-menu { display:block; opacity:1; transform: translateY(0) scale(1); pointer-events:auto; }
.share-item { display:flex; align-items:center; gap:8px; width:100%; border:0; background:transparent; text-align:left; padding:8px 10px; border-radius:8px; cursor:pointer; color:#000; font-size:14px; }
.share-item:hover { background:#f7f7f7; }
.share-item::before{ content:none !important; display:none !important; }
.share-ico { width:16px; height:16px; color:currentColor; flex:0 0 auto; }
.share-item.share-fb .share-ico { color:#1877F2; }
.share-item.share-x .share-ico { color:#000; }
.share-item.share-li .share-ico { color:#0A66C2; }
.share-item.share-wa .share-ico { color:#25D366; }
.share-item.share-tg .share-ico { color:#0088cc; }
.share-item.share-em .share-ico { color:#6b7280; }
.share-item.share-copy .share-ico { color:#888; }

/* Hide MLP original block on single to avoid duplicate after JS move */
.single-article .mlp-quicklinks--top-left { display:none !important; }

.single-content { font-size: 25px; line-height: 1.8; text-wrap: pretty; }
.single-content h2 { font-size: calc(var(--fs-h2) + 2px); line-height: var(--lh-h2); font-weight:900; margin:1.3em 0 .5em; text-wrap: balance; }
.single-content h3 { font-size: calc(var(--fs-h3) + 1px); line-height: var(--lh-h3); font-weight:900; margin:1.2em 0 .4em; text-wrap: balance; }
.single-content > blockquote,
.single-content .wp-block-quote { margin:16px 0; padding:16px 18px 14px; background:#fff; border:1px solid #e5e5e5; border-radius:10px; color:#000; position:relative; max-width:100%; overflow:hidden; overflow-wrap:anywhere; word-break:break-word; box-shadow:0 2px 8px rgba(0,0,0,.04); clear:both; }
.single-content > blockquote::before,
.single-content .wp-block-quote::before { content:""; position:absolute; left:18px; right:18px; top:8px; height:3px; background: var(--bwtv-color-primary); border-radius:2px; }
.single-content > blockquote p,
.single-content .wp-block-quote p { margin:12px 0 0; }
/* Avoid double accent when using Gutenberg Pullquote */
.single-content .wp-block-pullquote blockquote::before { content:none; }

/* Lists inside content */
.single-content ul, .single-content ol { padding-left: 1.2em; margin: 0.8em 0 1.2em; }
.single-content li { font-size: inherit; line-height: inherit; margin: 0.4em 0; }

.single-share { display:flex; align-items:center; gap:10px; margin:18px 0; }
.share-label { font-weight:900; font-size:14px; }
.share-btn { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#000; color:#fff; }
.share-btn:hover { background: var(--bwtv-color-primary); color:#fff; }

.single-tags { margin:14px 0; font-size:14px; }
.single-tags a { font-weight:900; }

.post-nav { display:flex; justify-content:space-between; gap:10px; margin:24px 0; }
.post-nav a { color: var(--bwtv-color-link); font-weight:900; }

.single-related { margin:28px 0; }
.related-title { font-size:18px; font-weight:900; border-bottom:3px solid var(--bwtv-color-primary); padding-bottom:6px; margin-bottom:12px; }
.related-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--bwtv-gutter); }
.related-item-title { font-size:16px; margin:8px 0 4px; font-weight:900; }

/* Inline Read Also – styled with primary color (matches secondary menu color) */
.inline-readalso { position:relative; padding:10px 0; margin:16px 0; }
.inline-readalso::before,
.inline-readalso::after { content:""; display:block; height:2px; background: var(--bwtv-color-primary); opacity:.9; }
.inline-readalso::before { margin-bottom:8px; }
.inline-readalso::after { margin-top:8px; }
.inline-readalso .ra-label { color:#000; font-weight:900; }
.inline-readalso .ra-link { color:#000; font-weight:900; text-decoration:none; }
.inline-readalso .ra-link:hover { color: var(--bwtv-color-primary); text-decoration: underline; }
/* Comments (API) */
.bwtv-comments { position:relative; margin:32px 0; }
.bwtv-comments, .bwtv-comments button, .bwtv-comments .cmt-btn, .bwtv-comments .cmt-tab, .bwtv-comments .cmt-item-author, .bwtv-comments .cmt-act, .bwtv-comments .cmt-label, .bwtv-comments .pg-info, .bwtv-comments input, .bwtv-comments textarea, .bwtv-comments select, .cmt-modal, .cmt-modal button, .cmt-modal input, .cmt-modal textarea, .cmt-modal .cmt-auth-tab, .cmt-modal .cmt-modal-titlebar, .cmt-modal .cmt-modal-title, .cmt-modal .cmt-label { font-family: var(--bwtv-font); }
.cmt-wrap { padding:16px; border:1px solid rgba(17,24,39,.08); border-radius:18px; background:#fff; box-shadow:0 18px 45px rgba(15,23,42,.08); }
.cmt-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
#comments-title { display:flex; align-items:center; gap:10px; margin:0; color:#111827; font-size:24px; line-height:1.2; font-weight:600; letter-spacing:0; }
.cmt-title-icon { display:inline-flex; color:var(--bwtv-color-primary); }
.cmt-ico { width:1em; height:1em; flex:0 0 auto; display:inline-block; vertical-align:-.15em; }
.cmt-authbox { background:#fafafa; border:1px solid #e5e5e5; border-radius:8px; padding:10px; }
.cmt-authbox summary { cursor:pointer; font-weight:400; }
.cmt-auth .cmt-input { width:100%; max-width:260px; display:inline-block; margin:6px 8px 6px 0; padding:8px 10px; border:1px solid #ddd; border-radius:6px; font-family: var(--bwtv-font); }
.cmt-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:8px 13px; border:1px solid rgba(17,24,39,.12); border-radius:11px; background:#fff; color:#111827; font-size:14px; font-weight:500; cursor:pointer; box-shadow:0 2px 8px rgba(15,23,42,.04); }
.cmt-btn:hover { border-color: var(--bwtv-color-primary); }
.cmt-user { display:flex; align-items:center; gap:14px; }
.cmt-user-name { color:#111827; font-size:16px; line-height:1; font-weight:400; }
.cmt-logout { color:var(--bwtv-color-primary); border-color:color-mix(in srgb, var(--bwtv-color-primary) 70%, #fff); background:#fff; }
.cmt-login-prompt { color: var(--bwtv-color-muted); margin-bottom:10px; }
.cmt-intent { margin:0 0 28px; }
.cmt-intent-card { display:grid; grid-template-columns:auto 1fr auto; align-items:start; justify-content:space-between; gap:14px; border:0; border-radius:12px; padding:18px 20px; background:color-mix(in srgb, var(--bwtv-color-primary) 7%, #f8fafc); box-shadow:inset 0 0 0 1px rgba(17,24,39,.03); }
.cmt-intent-card.is-guest { background:color-mix(in srgb, var(--bwtv-color-primary) 8%, #fff); border-color:transparent; }
.cmt-intent-card.is-member { align-items:start; background:color-mix(in srgb, var(--bwtv-color-primary) 7%, #f8fafc); }
.cmt-intent-icon { color:var(--bwtv-color-primary); font-size:22px; line-height:1; margin-top:2px; }
.cmt-intent-copy { min-width:0; }
.cmt-intent-title { font-weight:600; font-size:17px; color:var(--bwtv-color-primary); margin:0 0 8px; }
.cmt-intent-text { margin:0 0 7px; color:#4b5563; font-size:15px; line-height:1.45; font-weight:400; }
.cmt-intent-text:last-child { margin-bottom:0; }
.cmt-intent-reward { color:#374151; font-weight:400; }
.cmt-intent-benefits { margin:10px 0 0; padding-left:18px; color:#111; display:grid; gap:4px; font-size:14px; font-weight:400; }
.cmt-intent-actions { display:flex; flex-direction:column; gap:8px; align-items:stretch; min-width:190px; }
.cmt-intent-points { display:inline-flex; align-items:center; gap:6px; padding:8px 10px; border-radius:999px; background:rgba(230,0,126,.18); color:#111; font-size:13px; font-weight:700; white-space:nowrap; }
.cmt-new { margin:0 0 28px; }
.cmt-form-prompt { margin:0 0 10px; }
.cmt-form-social { font-weight:700; color:#111; margin-bottom:4px; line-height:1.45; }
.cmt-form-question { font-weight:900; color:#111; margin-bottom:4px; line-height:1.4; }
.cmt-form-help { color:var(--bwtv-color-muted); font-size:13px; line-height:1.5; }
.cmt-textbox { border:1px solid #d9dee7; border-radius:16px; background:#fff; overflow:hidden; transition:border-color .18s ease, box-shadow .18s ease; }
.cmt-textbox:focus-within { border-color:var(--bwtv-color-primary); box-shadow:0 0 0 3px color-mix(in srgb, var(--bwtv-color-primary) 18%, transparent); }
.cmt-text { width:100%; min-height:140px; padding:22px 20px 14px; border:0; resize:vertical; color:#111827; background:transparent; font-family:var(--bwtv-font); font-size:16px; line-height:1.5; font-weight:400; }
.cmt-text:focus { outline:0; }
.cmt-text::placeholder { color:#6b7280; opacity:.9; }
.cmt-text-meta { display:flex; align-items:center; gap:24px; padding:0 20px 16px; color:#6b7280; font-size:13px; line-height:1.2; font-weight:400; }
.cmt-text-meta span { display:inline-flex; align-items:center; gap:10px; }
.cmt-text-meta .cmt-ico { font-size:18px; color:#9ca3af; }
.cmt-counter { margin-left:auto; white-space:nowrap; }
.cmt-new-actions { display:flex; align-items:center; gap:12px; justify-content:flex-start; margin-top:18px; padding-bottom:26px; border-bottom:1px solid #edf0f4; }
.cmt-tools { margin-left:auto; display:flex; align-items:center; gap:10px; }
.cmt-tool { width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:12px; background:#f1f3f7; color:#4b5563; cursor:pointer; }
.cmt-tool:hover { color:var(--bwtv-color-primary); background:color-mix(in srgb, var(--bwtv-color-primary) 10%, #f1f3f7); }
.cmt-tool .cmt-ico { font-size:20px; }
.cmt-list { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.cmt-item { padding:18px 20px; border:1px solid #dce1ea; border-radius:14px; background:#fff; }
.cmt-item-top { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:start; margin-bottom:22px; }
.cmt-avatar { width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:color-mix(in srgb, var(--bwtv-color-primary) 18%, #fdeaf4); color:color-mix(in srgb, var(--bwtv-color-primary) 70%, #111827); font-size:17px; font-weight:600; text-transform:uppercase; }
.cmt-item-meta { min-width:0; display:grid; gap:8px; }
.cmt-item-head { display:flex; align-items:center; gap:10px; color:var(--bwtv-color-muted); font-size:15px; margin:0; }
.cmt-item-author { font-weight:600; color:#111827; font-size:15px; }
.cmt-author-badge { display:inline-flex; align-items:center; padding:3px 8px; border-radius:7px; background:color-mix(in srgb, var(--bwtv-color-primary) 18%, #fff); color:color-mix(in srgb, var(--bwtv-color-primary) 75%, #111827); font-size:12px; line-height:1; font-weight:500; }
.cmt-item-date { color:#6b7280; font-size:14px; line-height:1.2; font-weight:400; }
.cmt-more { width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:transparent; color:#4b5563; font-size:20px; line-height:1; cursor:pointer; }
.cmt-more:hover { background:#f3f4f6; color:var(--bwtv-color-primary); }
.cmt-item-body { font-size:15px; line-height:1.55; color:#111827; margin-bottom:14px; font-weight:400; }
.cmt-item-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }
.cmt-act { display:inline-flex; align-items:center; gap:7px; background:#fff; color:#111827; border:1px solid #dce1ea; border-radius:9px; padding:8px 11px; font-size:14px; font-weight:500; cursor:pointer; box-shadow:0 2px 8px rgba(15,23,42,.03); }
.cmt-act:hover { border-color: var(--bwtv-color-primary); color:var(--bwtv-color-primary); }
.cmt-act.report { color:#dc2626; }
.cmt-act.report:hover { border-color:#dc2626; color:#dc2626; }
.cmt-loading, .cmt-empty, .cmt-error { color: var(--bwtv-color-muted); }
.cmt-pagination { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:18px; }
.cmt-bottom-cta { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; border:1px solid #edf0f4; border-radius:16px; background:linear-gradient(135deg, rgba(230,0,126,.10), rgba(255,255,255,.95)); }
.cmt-bottom-cta-copy { display:grid; gap:5px; color:#111827; }
.cmt-bottom-cta-copy strong { font-size:15px; font-weight:700; }
.cmt-bottom-cta-copy span { color:#6b7280; font-size:13px; line-height:1.4; }
.cmt-bottom-comment { min-height:42px; border-radius:12px; background:var(--bwtv-color-primary); border-color:var(--bwtv-color-primary); color:#111827; font-weight:700; white-space:nowrap; }
.cmt-bottom-comment:hover { filter:brightness(.96); }
.pg-info { color: var(--bwtv-color-muted); font-size:13px; }
/* Nested replies */
.cmt-children { position:relative; margin-top:22px; margin-left:58px; padding-left:34px; display:grid; gap:14px; }
.cmt-children::before { content:''; position:absolute; left:10px; top:0; bottom:18px; width:2px; border-radius:999px; background:linear-gradient(180deg, var(--bwtv-color-primary), color-mix(in srgb, var(--bwtv-color-primary) 30%, transparent)); }
.cmt-children > .cmt-item { position:relative; }
.cmt-children > .cmt-item::before { content:''; position:absolute; left:-29px; top:31px; width:10px; height:10px; border:2px solid var(--bwtv-color-primary); border-radius:50%; background:#fff; box-shadow:0 0 0 4px #fff; }
.cmt-children > .cmt-item::after { content:''; position:absolute; left:-19px; top:36px; width:18px; height:1px; background:#e7edf5; }
.cmt-item-reply { padding:16px 18px; border-color:#e3e8f0; border-radius:15px; box-shadow:0 10px 26px rgba(15,23,42,.035); }
.cmt-item-reply .cmt-item-top { grid-template-columns:42px 1fr auto; gap:14px; margin-bottom:14px; }
.cmt-item-reply .cmt-avatar { width:42px; height:42px; font-size:15px; }
.cmt-item-reply .cmt-item-author { font-size:14px; }
.cmt-item-reply .cmt-item-date { font-size:13px; }
.cmt-item-reply .cmt-item-body { margin-left:56px; font-size:14px; line-height:1.58; }
.cmt-item-reply .cmt-item-actions { margin-left:56px; gap:10px; }
.cmt-item-reply .cmt-act { min-height:34px; padding:7px 10px; border-radius:8px; font-size:13px; box-shadow:none; }
.cmt-top-badge { display:inline-flex; align-items:center; padding:3px 8px; border-radius:7px; background:rgba(230,0,126,.22); color:#b00060; font-size:12px; line-height:1; font-weight:500; }
.cmt-item-reply .cmt-children { margin-left:34px; padding-left:30px; gap:10px; }
.cmt-item-reply .cmt-children::before { left:9px; }
.cmt-item-reply .cmt-children > .cmt-item::before { left:-25px; top:28px; width:8px; height:8px; }
.cmt-item-reply .cmt-children > .cmt-item::after { left:-17px; top:33px; width:16px; }
.cmt-replybox { margin-top:8px; border-left:3px solid var(--bwtv-color-primary); padding-left:10px; }

/* Tabs (Les plus utiles / aimés / Tous) */
.cmt-tabs { display:flex; align-items:center; justify-content:flex-start; gap:14px; margin:0 0 22px; }
.cmt-tabset { display:inline-flex; align-items:center; padding:0; border-radius:18px; background:#f5f6f8; overflow:hidden; }
.cmt-tab { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 17px; border-radius:999px; background:transparent; border:0; cursor:pointer; font-size:15px; font-weight:500; color:#111827; }
.cmt-tab:hover { color:var(--bwtv-color-primary); text-decoration:none; }
.cmt-tab.active { background: var(--bwtv-color-primary); color:#fff; text-decoration:none; box-shadow:0 10px 24px color-mix(in srgb, var(--bwtv-color-primary) 24%, transparent); }
.cmt-tab .cmt-ico { font-size:17px; }
/* Publish & primary buttons */
.cmt-btn.cmt-publish { min-width:118px; min-height:48px; border-radius:13px; background:var(--bwtv-color-primary); border-color:var(--bwtv-color-primary); color:#fff; font-size:16px; font-weight:600; box-shadow:0 10px 20px color-mix(in srgb, var(--bwtv-color-primary) 22%, transparent); }
.cmt-btn.cmt-publish:hover { filter: brightness(0.95); }
body.single-variant-news .bwtv-comments .cmt-tab.active,
body.single-variant-news .bwtv-comments .cmt-btn.cmt-publish { color:#000; }
body.single-variant-people .bwtv-comments .cmt-tab.active,
body.single-variant-people .bwtv-comments .cmt-btn.cmt-publish,
body.single-variant-sport .bwtv-comments .cmt-tab.active,
body.single-variant-sport .bwtv-comments .cmt-btn.cmt-publish,
body.single-variant-elle .bwtv-comments .cmt-tab.active,
body.single-variant-elle .bwtv-comments .cmt-btn.cmt-publish { color:#fff; }
.cmt-btn-primary { background:#000; color:#fff; border-color:#000; }
.cmt-btn-primary:hover { background: var(--bwtv-color-primary); color:#fff; border-color: var(--bwtv-color-primary); }

/* Login modal */
body.cmt-modal-open { overflow:hidden; }
.cmt-modal { position:fixed; inset:0; z-index:9999; }
.cmt-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); }
.cmt-modal-box { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#fff; width:min(92vw, 420px); border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,.2); overflow:hidden; }
.cmt-modal-header { background:#000; color:#fff; padding:10px 16px; position:relative; }
.cmt-modal-titlebar { font-weight:400; letter-spacing:.5px; text-transform:uppercase; }
.cmt-modal-title { margin:10px 0; font-size:18px; font-weight:900; }
.cmt-modal-body { padding:16px; }
.cmt-modal-intro { margin:4px 0 14px; padding:12px 14px; border:1px solid #f1e2a4; border-radius:10px; background:#fff9e8; }
.cmt-modal-intro-title { font-weight:900; color:#111; margin-bottom:4px; }
.cmt-modal-intro-text { margin:0; color:#444; font-size:14px; line-height:1.55; }
.cmt-modal-benefits { margin:10px 0 0; padding-left:18px; color:#111; display:grid; gap:4px; font-size:13px; }
.cmt-modal-body .cmt-input { width:100%; margin:6px 0; padding:10px; border:1px solid #ddd; border-radius:8px; font-family: var(--bwtv-font); }
.cmt-modal-close { position:absolute; top:8px; right:10px; border:0; background:transparent; font-size:22px; cursor:pointer; color:#fff; }
.cmt-auth-sep { text-align:center; color: var(--bwtv-color-muted); margin:8px 0; }

/* Auth tabs in modal */
.cmt-auth-tabs { display:flex; gap:18px; border-bottom:1px solid #eee; margin-bottom:8px; }
.cmt-auth-tab { background:transparent; border:0; padding:10px 4px; cursor:pointer; font-weight:400; color:#666; position:relative; }
.cmt-auth-tab.active { color:#000; }
.cmt-auth-tab.active::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; background: var(--bwtv-color-primary); }

/* Links, labels, blocks */
.cmt-label { display:block; font-weight:400; font-size:12px; color:#000; margin-top:6px; }
.cmt-small { font-size:12px; color: var(--bwtv-color-muted); margin-top:8px; }
.cmt-link { color: var(--bwtv-color-link); text-decoration:none; }
.cmt-link:hover { text-decoration:underline; }
.cmt-btn-block { width:100%; justify-content:center; }
.cmt-btn-accent { background: var(--bwtv-color-primary); color:#fff; border-color: var(--bwtv-color-primary); }
.cmt-btn-accent:hover { filter: brightness(0.95); }
.is-hidden { display:none !important; }

/* Posting overlay + spinner */
.cmt-posting { position:absolute; inset:0; background: rgba(255,255,255,.7); display:none; align-items:center; justify-content:center; gap:10px; z-index: 3; }
.cmt-spinner { width:20px; height:20px; border:3px solid #ddd; border-top-color:#000; border-radius:50%; animation: cmt-spin 0.9s linear infinite; }
.cmt-posting-text { font-weight:400; color:#000; }
@keyframes cmt-spin { to { transform: rotate(360deg); } }

/* Toast */
.cmt-toast { position:fixed; left:50%; bottom:22px; transform: translateX(-50%); background: rgba(0,0,0,.9); color:#fff; padding:10px 14px; border-radius:10px; font-weight:400; opacity:0; pointer-events:none; transition: opacity .2s ease, transform .2s ease; z-index: 10000; }
.cmt-toast.show { opacity:1; transform: translateX(-50%) translateY(-4px); }
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: repeat(3, 1fr); }
  .single-grid { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: repeat(2, 1fr); }
  .single-tools { flex-direction:column; align-items:flex-start; gap:10px; }
}
@media (max-width: 640px) {
  .cmt-wrap { padding:12px; border-radius:14px; }
  .cmt-head { align-items:flex-start; gap:10px; margin-bottom:16px; }
  #comments-title { font-size:21px; gap:8px; }
  .cmt-user { flex-direction:column; align-items:flex-end; gap:8px; }
  .cmt-user-name { font-size:16px; }
  .cmt-logout { min-height:38px; padding:8px 10px; font-size:14px; }
  .cmt-intent-card { grid-template-columns:1fr; gap:10px; padding:16px; }
  .cmt-intent-actions { width:100%; min-width:0; }
  .cmt-intent-points { white-space:normal; }
  .cmt-intent-title { font-size:16px; }
  .cmt-intent-text { font-size:14px; }
  .cmt-text { min-height:120px; padding:16px 15px 12px; font-size:15px; }
  .cmt-text-meta { flex-wrap:wrap; gap:12px; padding:0 15px 14px; font-size:12px; }
  .cmt-counter { width:100%; margin-left:0; justify-content:flex-end; }
  .cmt-new-actions { align-items:flex-start; flex-wrap:wrap; padding-bottom:20px; }
  .cmt-tools { width:100%; justify-content:flex-end; }
  .cmt-tool { width:48px; height:48px; }
  .cmt-tabs { align-items:stretch; flex-direction:column; }
  .cmt-tabset { width:100%; overflow-x:auto; border-radius:14px; }
  .cmt-tab { flex:0 0 auto; min-height:42px; padding:9px 13px; font-size:14px; }
  .cmt-item { padding:16px; }
  .cmt-item-top { grid-template-columns:auto 1fr auto; gap:12px; margin-bottom:16px; }
  .cmt-avatar { width:42px; height:42px; font-size:15px; }
  .cmt-item-author, .cmt-item-body { font-size:14px; }
  .cmt-item-date, .cmt-act { font-size:13px; }
  .cmt-author-badge { font-size:12px; }
  .cmt-children { margin-left:6px; padding-left:24px; gap:10px; }
  .cmt-children::before { left:7px; }
  .cmt-children > .cmt-item::before { left:-22px; top:27px; width:8px; height:8px; }
  .cmt-children > .cmt-item::after { left:-14px; top:32px; width:13px; }
  .cmt-item-reply { padding:14px; }
  .cmt-item-reply .cmt-item-top { grid-template-columns:38px 1fr auto; gap:11px; }
  .cmt-item-reply .cmt-avatar { width:38px; height:38px; font-size:14px; }
  .cmt-item-reply .cmt-item-body,
  .cmt-item-reply .cmt-item-actions { margin-left:0; }
  .cmt-item-reply .cmt-children { margin-left:4px; padding-left:22px; }
  .cmt-bottom-cta { align-items:stretch; flex-direction:column; padding:16px; }
  .cmt-bottom-comment { width:100%; justify-content:center; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .related-grid { grid-template-columns: 1fr; }
  .single-title { font-size:40px; line-height:1.2; letter-spacing:-0.02em; margin:12px 0 16px; }
  .single-head { grid-template-columns: 1fr; }
  .single-head-main { border-left-width:2px; }
  .single-head .single-title { font-size:40px; }
  .single-lead { font-size:25px; line-height:1.5; margin:0 0 20px; }
  .single-figure { margin-top:24px; }
  .single-figure img { max-height:250px; object-fit:cover; }
}

/* Responsive */
@media (max-width: 1024px) {
  .layout { display:block; }
  .teaser-grid { grid-template-columns: repeat(2, 1fr); }
  .cat-grid { grid-template-columns: 1fr 1fr; }
  /* Make header primary menu scrollable horizontally on small tablets too */
  .site-header .static-nav { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; justify-self: stretch; }
  .site-header .static-nav::-webkit-scrollbar { display:none; }
  .site-header .static-menu > li { flex: 0 0 auto; }
  .site-header .static-menu { display:inline-flex; flex-wrap: nowrap; min-width: max-content; }
  .site-header .static-menu a { white-space: nowrap; }
}
@media (max-width: 640px) {
  /* Header two-row layout */
  .topbar .topbar-inner { grid-template-columns: 1fr auto; grid-template-areas: 'branding actions' 'static static'; gap:12px; padding:10px 0 8px; }
  .site-branding .custom-logo, .site-branding .site-logo img { max-height:22px; }
  .live-link .live-dot { max-height:18px; }
  .live-link .live-text { font-size:16px; }
  .header-actions { gap:12px; }
  .action-user, .action-search { width:22px; height:22px; }
  .icon-user, .icon-search { width:18px; height:18px; }
  /* Primary menu horizontal scroll with separators */
  .site-header .static-nav { 
    justify-self: stretch; 
    overflow-x: auto; 
    overflow-y: hidden; 
    -webkit-overflow-scrolling: touch; 
    padding-bottom: 2px;
    display: flex;
    align-items: center;  /* Centre verticalement */
    justify-content: center; /* Centre horizontalement le menu */
  }
  .site-header .static-nav::-webkit-scrollbar { display:none; }
  .site-header .static-menu { 
    gap: 0; 
    padding: 6px 2px;  /* Reduced padding to match min-height */
    border-bottom: 1px solid rgba(255,255,255,0.18); 
    min-width: max-content;
    min-height: 40px;  /* Match base rule */
    align-items: center;
    margin-left: auto;  /* Centre dans le conteneur */
    margin-right: auto; /* Centre dans le conteneur */
  }
  .site-header .static-menu li { 
    display: flex;
    align-items: center;
    min-height: 40px;  /* Match base rule */
  }
  .site-header .static-menu li + li::before { 
    content: ""; 
    width: 2px; 
    height: 14px; 
    background: var(--bwtv-color-primary); 
    margin: 0 12px;
    flex-shrink: 0;
  }
  .site-header .static-menu a { 
    font-size: 13px; 
    letter-spacing: .02em; 
    white-space: nowrap;
    display: inline-block;
    line-height: 1.4;
  }
  .teaser-grid { grid-template-columns: 1fr; }
  .cat-grid { grid-template-columns: 1fr; }
  .hero-title { font-size:26px; }
  /* Responsive content sizing */
  .single-content { font-size: 25px; line-height: 1.75; }
  .single-content h2 { font-size: calc(var(--fs-h2) + 1px); }
  .single-content h3 { font-size: var(--fs-h3); }
  .single-lead { font-size: var(--fs-h4); line-height: var(--lh-h4); }
}
/* Mobile actions layout: pair buttons in two rows (<=640px)
   Row 1: Read later (left) + Google News (right)
   Row 2: Comment (left)   + Share (right)
*/
@media (max-width: 640px) {
  .single-tools { grid-template-columns: 1fr auto; grid-template-areas: 'left right' 'actions actions'; }
  .read-english { grid-area: right; justify-self: end; }
  .tools-actions { display:flex; flex-wrap:wrap; gap:8px; width:100%; justify-content: space-between; }
  .tools-actions .tools-right { display: flex; margin-left: auto !important; gap:8px; }
  .tools-actions .tool-btn { width: auto; }
  .tools-actions .comment-btn { margin-left: 0; }
  .tools-actions .share-dropdown { display:inline-block; width:auto; }
}
@media (max-width: 400px) {
  .live-link .live-text { font-size:14px; }
  .site-header .static-menu a { font-size:12px; }
}

/* Footer safety overrides (ensure proper layout and icon sizing) */
@media (min-width: 1025px) {
  /* Center the Regions grid by using auto columns and centering the grid itself */
  .site-footer .footer-grid { display:grid; grid-template-columns: repeat(5, auto); justify-content: center; gap: 40px; }
}
.site-footer .apps-social .container { padding: 12px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.site-footer .app-badge .badge-ico { width:18px; height:18px; display:inline-block; }
.site-footer .apps-right .social { width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; }
.site-footer .apps-right .social svg { width:18px; height:18px; display:block; }

/* Footer Regions: enforce responsive columns robustly */
@media (max-width: 1024px) {
  .site-footer .footer-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 640px) {
  .site-footer .footer-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .site-footer .apps-social .container {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 12px;
  }
  .site-footer .apps-left {
    flex-wrap: wrap;
    justify-content: center;
  }
  .site-footer .apps-right {
    flex: 0 0 100%;
    justify-content: center;
  }
}
.site-footer .footer-grid .footer-col { min-width: 0; }

/* Footer bottom links: horizontal layout, no bullets */
.site-footer .footer-bottom .footer-links { list-style:none !important; display:flex !important; flex-wrap:wrap; gap:18px 24px; padding:0 !important; margin: 5px 0 !important; align-items:center; }
.site-footer .footer-bottom .footer-links > li { list-style:none !important; margin:0 !important; padding:0 !important; }
.site-footer .footer-bottom .footer-links a { display:inline-block; }

/* Footer desktop centering */
@media (min-width: 1024px) {
  .site-footer .container { width: min(100% - 2*var(--bwtv-gutter), 1200px); }
  /* Footer Regions container at 1000px */
  .site-footer .footer-top .container { width: min(100% - 2*var(--bwtv-gutter), 1000px); margin-inline:auto; }
  .site-footer .footer-bottom .container { width: min(100% - 2*var(--bwtv-gutter), 1000px); margin-inline:auto; align-items:center; }
  .site-footer .footer-links { justify-content:center; }
  /* Apps & Social strip at 1000px width */
  .site-footer .apps-social .container { width: min(100% - 2*var(--bwtv-gutter), 1000px); margin-inline:auto; }
}
/* Sticky floating mini-player for single video */
.sticky-player {
  position: fixed;
  bottom: 16px;
  right: 16px;
  width: min(360px, 42vw);
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  z-index: 9999;
  transition: transform .2s ease, opacity .2s ease;
}
.sticky-player.hidden { display: none !important; }
.sticky-player .sp-inner { position: relative; width: 100%; height: 100%; }
.sticky-player .sp-inner iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.sticky-player .sp-close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(0,0,0,.6);
  color: #fff;
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.sticky-player .sp-close:hover { background: rgba(0,0,0,.8); }
@media (max-width: 640px) {
  .sticky-player { width: min(94vw, 420px); right: 8px; bottom: 8px; }
}
/* Base .single-video - Reserve space to prevent CLS */
.single-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  margin: 16px 0;
  overflow: hidden;
}
.single-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/* Sticky state for the original .single-video (prevents restart by not moving the iframe) */
.single-video.is-sticky {
  position: fixed;
  top: auto;
  left: auto;
  bottom: 16px;
  right: 16px;
  width: min(360px, 42vw);
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  z-index: 9998;
}
.single-video.is-sticky iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
/* Close button inside the sticky host */
.single-video .sp-close { display: none; position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border: 0; border-radius: 999px; background: rgba(0,0,0,.6); color: #fff; font-size: 18px; line-height: 1; align-items: center; justify-content: center; cursor: pointer; }
.single-video.is-sticky .sp-close { display: inline-flex; }
.single-video .sp-close:hover { background: rgba(0,0,0,.8); }
/* Placeholder to keep layout when .single-video becomes fixed */
.single-video-ph { width: 100%; }
@media (max-width: 640px) {
  .single-video.is-sticky { width: min(94vw, 420px); right: 8px; bottom: 8px; }
}
/* Anti-flicker fixes for sticky video */
body .single-video.is-sticky {
  will-change: transform;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  contain: layout paint style;
}
body .single-video.is-sticky iframe {
  display: block;
  background: #000;
  will-change: transform;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
body .single-video .sp-close { z-index: 2; }
@media (prefers-reduced-motion: reduce) {
  body .single-video.is-sticky, body .single-video.is-sticky iframe { transition: none !important; }
}
/* Single (no sidebar): make the content full-width */
.single-grid { display:block; }
.single-main { width: 100%; }
/* Optional: adjust max width if needed; currently controlled by .container */
.container.single-wrap { --bwtv-container-width: 600px; }
body.single .container.single-wrap.layout,
body.single main.single-main.content {
  contain: none;
}
/* Lightbox (overlay) */
.lb-overlay { position: fixed; inset:0; background: rgba(0,0,0,.9); display:none; align-items:center; justify-content:center; z-index: 10000; }
.lb-overlay.open { display:flex; }
.lb-img { max-width: 92vw; max-height: 90vh; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.4); }
.lb-cap { color:#ddd; font-size:14px; margin-top:10px; text-align:center; max-width: 92vw; }
.lb-close { position:absolute; top:14px; right:18px; width:36px; height:36px; border:0; border-radius:999px; background: rgba(255,255,255,.12); color:#fff; font-size:22px; line-height:1; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.lb-close:hover { background: rgba(255,255,255,.22); }
/* Prevent background scroll when lightbox open */
.lb-open { overflow:hidden; }
/* Single Special: header at 800px centered, keep main content at 600px */
.single-special .single-head {
  width: min(1000px, calc(100vw - 2*var(--bwtv-gutter)));
  margin: 0 auto 16px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
/* Ensure no unintended overflow issues in narrow viewports */
@media (max-width: 720px) {
  .single-special .single-head { left: 0; transform: none; width: calc(100% - 2*var(--bwtv-gutter)); margin-left: auto; margin-right: auto; }
}
/* Single Special header fix: prevent overlap with pubtype flag */
.single-special .single-head { grid-template-columns: 250px 1fr; gap: 24px; align-items: start; }
.single-special .pubtype-flag { white-space: nowrap; z-index: 1; }
.single-special .single-head-main { position: relative; }
/* Single Special header: 800px centered relative to viewport (scoped) */
.single-article.single-special .single-head {
  width: min(1000px, 100vw - 2*var(--bwtv-gutter));
  margin-left: calc(50% - 50vw + var(--bwtv-gutter));
  margin-right: calc(50% - 50vw + var(--bwtv-gutter));
}
.single-article.single-special .single-meta,
.single-article.single-special .single-tools,
.single-article.single-special .tools-actions,
.single-article.single-special .single-toc,
.single-article.single-special .single-content,
.single-article.single-special .dont-miss,
.single-article.single-special .bwtv-comments,
.single-article.single-special .single-lead-block {
  width: min(100% - 2*var(--bwtv-gutter), 600px);
  margin-left: auto;
  margin-right: auto;
}
.single-article.single-special .single-lead-block > .single-lead {
  margin-top: 0;
}
/* Avoid overlap: let left column grow to fit the flag */
.single-head:not(.solo) { grid-template-columns: minmax(140px, max-content) 1fr; gap: 24px; align-items: start; }
.single-head .pubtype-flag { white-space: normal; }
@media (max-width: 720px) {
  .single-head { width: calc(100% - 2*var(--bwtv-gutter)); margin-left: auto; margin-right: auto; }
}
/* Single Special – bleed to 1000px on desktop */
.single-article.single-special .single-head-bleed {
  margin-left: max(calc(50% - 500px), calc(50% - 50vw)) !important;
  margin-right: max(calc(50% - 500px), calc(50% - 50vw)) !important;
  padding: 0 !important;
}
.single-article.single-special .single-breadcrumb--bleed {
  margin: 0 0 8px !important;
}
@media (max-width: 1040px) {
  .single-article.single-special .single-head-bleed {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
.single-article.single-special .single-head {
  width: 100% !important;
  margin: 0 0 16px !important;
  left: auto !important;
  transform: none !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 16px !important;
  align-items: start !important;
}
.single-article.single-special .single-head.solo {
  grid-template-columns: 1fr !important;
}
.single-article.single-special .pubtype-flag {
  white-space: nowrap !important;
}
.single-article.single-special .single-head-main { min-width: 0 !important; }
@media (max-width: 720px) {
  .single-article.single-special .single-head-bleed {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0;
    padding-right: 0;
  }
  .single-article.single-special .single-breadcrumb--bleed {
    width: calc(100% - 2*var(--bwtv-gutter)) !important;
    margin: 0 auto 8px !important;
  }
  .single-article.single-special .single-head {
    width: calc(100% - 2*var(--bwtv-gutter)) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    align-items: start !important;
  }
  .single-article.single-special .pubtype-flag {
    justify-self: start !important;
    text-align: left !important;
    padding-top: 0 !important;
  }
  .single-article.single-special .single-head-main {
    border-left: 0 !important;
    padding-left: 0 !important;
  }
}

@media (max-width: 640px) {
  .single-article.single-special .single-meta,
  .single-article.single-special .single-tools,
  .single-article.single-special .single-toc,
  .single-article.single-special .single-content,
  .single-article.single-special .dont-miss,
  .single-article.single-special .bwtv-comments,
  .single-article.single-special .single-lead-block {
    width: min(100%, 600px);
  }

  .single-article.single-special .single-tools > .tools-actions {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 8px;
    justify-content: stretch;
  }

  .single-article.single-special .single-tools > .tools-actions .tools-right {
    display: contents;
    margin-left: 0 !important;
  }

  .single-article.single-special .single-tools > .tools-actions .tool-btn,
  .single-article.single-special .single-tools > .tools-actions .share-dropdown,
  .single-article.single-special .single-tools > .tools-actions .share-toggle {
    width: 100%;
    min-width: 0;
  }

  .single-article.single-special .single-tools > .tools-actions .tool-btn {
    justify-content: center;
  }

  .single-article.single-special .single-meta {
    white-space: normal;
  }

  .single-article.single-special .single-meta .sm-row2 {
    flex-wrap: wrap;
    row-gap: 6px;
    white-space: normal;
  }

  .single-article.single-special .single-meta .single-date,
  .single-article.single-special .single-meta .single-updated {
    min-width: 0;
    flex: 0 1 auto;
  }

  .single-article.single-special .single-meta .sm-row2 .sm-offline-save {
    margin-left: 0;
  }

  .single-article.single-special .single-meta .sm-row2 .sm-views {
    margin-left: auto;
  }

  .single-article.single-special .single-content .adsbygoogle,
  .single-article.single-special .single-content .google-aiuf,
  .single-article.single-special .single-content .goog-rentries,
  .single-article.single-special .single-content .google-anno-skip {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .single-article.single-special .single-content div[id^="aswift_"][id$="_host"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}

/* --- Ad slots: reserve heights to avoid CLS --- */
/* Header leaderboard container */
.header-ad { min-height: 90px; }
@media (max-width: 1024px) {
  .header-ad { min-height: 100px; }
}
/* Single bottom ad container */
.single-ad-bottom { min-height: 280px; }
@media (max-width: 640px) {
  .single-ad-bottom { min-height: 250px; }
}
/* Brefs page ad containers */
.brefs-main-ad { min-height: 280px; }
.brefs-rail-ad { min-height: 250px; }
@media (max-width: 640px) {
  .brefs-main-ad { min-height: 250px; }
  .brefs-rail-ad { min-height: 250px; }
}

/* Livefeed height enforcement (robust override) */
.archive-sidebar .lf-list,
.lf-scroll { height: 600px !important; overflow-y:auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 640px) {
  .archive-sidebar .lf-list,
  .lf-scroll { height: 400px !important; }
}

/* Homepage livefeed (right column) height enforcement */
.livefeed-panel .lf-list { height: 1000px !important; overflow-y:auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 1024px) {
  .livefeed-panel .lf-list { height: 400px !important; }
}

/* ===== Mobile Bottom Bar - Anti-CLS ===== */
.mobile-bottombar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #000;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: none;  /* Hidden by default, shown on mobile via media query */
  height: 64px;  /* Fixed height to prevent CLS */
  min-height: 64px;
  contain: layout style paint;  /* Optimize rendering */
}

.mobile-bottombar .mbb-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  color: #fff;
  text-decoration: none;
  padding: 8px 4px;
  gap: 4px;
  min-height: 64px;  /* Match parent height */
}

.mobile-bottombar .mbb-ico {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.mobile-bottombar .mbb-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.mobile-bottombar .mbb-item:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--bwtv-color-primary, #e6007e);
}

/* Show bottombar on mobile */
@media (max-width: 1024px) {
  .mobile-bottombar {
    display: flex;
  }
  
  /* Reserve space at bottom to prevent content being hidden */
  body.has-mobile-bb {
    padding-bottom: 64px;  /* Match bottombar height */
  }
  
  /* Ensure main content doesn't overlap */
  body.has-mobile-bb .site-content {
    margin-bottom: 0;
  }
}

.page-wrap { width: min(100% - 2*var(--bwtv-gutter), 800px); margin-left:auto; margin-right:auto; }
.page-article.page-simple { color: var(--bwtv-color-text); }
.page-title { font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight:900; margin: 8px 0 12px; }
.page-lead { color: var(--bwtv-color-text); font-size: var(--fs-h4); line-height: var(--lh-h4); margin: 0 0 16px; font-weight:400; }
.page-content { font-size: var(--fs-body-m); line-height: var(--lh-body-m); }
.page-content p { margin: 0 0 14px; }
.page-content h2 { font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight:900; margin: 18px 0 8px; }
.page-content h3 { font-size: var(--fs-h4); line-height: var(--lh-h4); font-weight:900; margin: 14px 0 6px; }
.page-content ul, .page-content ol { padding-left: 22px; margin: 0 0 16px; }
.page-content a { color: var(--bwtv-color-primary); }
.page-content img, .page-content video { max-width:100%; height:auto; display:block; }
.page-content table { width: 100%; border-collapse: collapse; margin: 12px 0; display: block; overflow: auto; }
.page-content th, .page-content td { padding: 8px 10px; border: 1px solid #e5e5e5; text-align:left; }

@media (max-width: 640px) {
  .page-title { font-size: var(--fs-h3); line-height: var(--lh-h3); }
}
