/* =====================================================================
   Single articles — WordPress additions on top of style.css.
   Core block output inside the article body (.article-content /
   .feature-content) styled to match the design's typography.
   ===================================================================== */

/* ---- Headings --------------------------------------------------------- */
:is(.article-content, .feature-content) :is(h2, h3, h4, h5, h6):not([class*="__"]):not(.article-module__title){
  margin:1.6em 0 .6em;
  font-family:var(--serif);
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.015em;
  color:var(--ink);
}
.article-content h2:not([class*="__"]):not(.article-module__title){ font-size:clamp(22px,1.8vw,26px); }
:is(.article-content, .feature-content) h3:not([class*="__"]){ font-size:clamp(19px,1.45vw,22px); }
:is(.article-content, .feature-content) :is(h4, h5, h6):not([class*="__"]){
  font-family:var(--sans); font-size:.95em; font-weight:800; letter-spacing:.01em;
}
:is(.article-content, .feature-content) > :is(h2, h3, h4):first-child{ margin-top:0; }

/* ---- Links ------------------------------------------------------------ */
:is(.article-content, .feature-content) :is(p, li, td, figcaption) a:not([class]){
  color:var(--ink);
  text-decoration:underline;
  text-decoration-color:var(--red);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
  transition:color .18s;
}
:is(.article-content, .feature-content) :is(p, li, td, figcaption) a:not([class]):hover{ color:var(--red); }
.article-embed figcaption a:not([class]){ color:var(--red); text-decoration-color:currentColor; }

/* ---- Lists (style.css resets ul/ol globally) -------------------------- */
:is(.article-content, .feature-content) :is(ul, ol):not([class*="__"]){
  margin:0 0 1.15em;
  padding-left:1.35em;
}
:is(.article-content, .feature-content) ul:not([class*="__"]){ list-style:none; }
:is(.article-content, .feature-content) ol:not([class*="__"]){ list-style:decimal; }
:is(.article-content, .feature-content) :is(ul, ol):not([class*="__"]) li{ position:relative; margin:0 0 .4em; padding-left:2px; }
:is(.article-content, .feature-content) ul:not([class*="__"]) > li::before{
  content:""; position:absolute; left:-1.05em; top:.72em;
  width:6px; height:6px; border-radius:50%; background:var(--red);
}
:is(.article-content, .feature-content) ol:not([class*="__"]) > li::marker{
  font-family:var(--sans); font-weight:800; font-size:.85em; color:var(--red);
}
:is(.article-content, .feature-content) li > :is(ul, ol){ margin:.4em 0 0; }

/* ---- Images / figures -------------------------------------------------- */
:is(.article-content, .feature-content) :is(.wp-block-image, .wp-caption, figure.wp-block-video, .wp-block-audio){
  margin:1.6em 0;
}
:is(.article-content, .feature-content) :is(.wp-block-image, .wp-caption) img{
  width:100%; height:auto;
  border-radius:var(--radius-s);
  background:var(--paper);
}
:is(.article-content, .feature-content) .wp-block-image:is(.alignleft, .alignright){ max-width:50%; margin-top:.3em; }
:is(.article-content, .feature-content) .wp-block-image:is(.alignleft, .alignright, .aligncenter) img{ width:auto; max-width:100%; }
:is(.article-content, .feature-content) .wp-block-image.aligncenter{ text-align:center; }
:is(.article-content, .feature-content) .wp-block-image.is-style-rounded img{ border-radius:999px; }
:is(.article-content, .feature-content) img[data-lightbox-open]{ cursor:zoom-in; }
:is(.article-content, .feature-content) :is(figcaption, .wp-caption-text, .wp-element-caption):not(.article-gallery__slide figcaption){
  margin:10px 0 0;
  font-family:var(--sans);
  font-size:12.5px; line-height:1.4; font-weight:500;
  color:var(--muted);
  text-align:left;
}
:is(.article-content, .feature-content) :is(.alignwide, .alignfull){ margin-inline:0; max-width:100%; }
.feature-content .wp-block-image.alignwide,
.feature-content .wp-block-image.alignfull{
  width:var(--feature-hero-w, 100%);
  max-width:calc(100vw - 2 * var(--gutter));
  margin-inline:calc(50% - min(var(--feature-hero-w, 100%), calc(100vw - 2 * var(--gutter))) / 2);
}
:is(.article-content, .feature-content) video{ width:100%; height:auto; border-radius:var(--radius-s); background:var(--ink); }

/* ---- Quotes ----------------------------------------------------------- */
.feature-content blockquote:not([class*="__"]){
  margin:1.6em 0; padding:4px 0 4px 18px; border-left:3px solid var(--red);
}
.feature-content blockquote:not([class*="__"]) p{ margin:0 0 .4em; font-style:italic; font-size:1.05em; }
:is(.article-content, .feature-content) blockquote cite,
:is(.article-content, .feature-content) .wp-block-quote cite{
  display:block; font-family:var(--sans); font-style:normal;
  font-size:13px; font-weight:600; color:var(--muted);
}
:is(.article-content, .feature-content) .wp-block-quote cite::before{ content:"— "; }
:is(.article-content, .feature-content) .wp-block-quote.is-style-large p,
:is(.article-content, .feature-content) .wp-block-quote.is-large p{ font-size:1.25em; line-height:1.45; }

:is(.article-content, .feature-content) .wp-block-pullquote{
  margin:1.9em 0; padding:22px 0;
  border-top:3px solid var(--red); border-bottom:1px solid var(--border-bottom);
  text-align:left;
}
:is(.article-content, .feature-content) .wp-block-pullquote blockquote{ margin:0; padding:0; border:0; }
:is(.article-content, .feature-content) .wp-block-pullquote p{
  margin:0 0 .45em;
  font-family:var(--serif); font-style:italic; font-weight:600;
  font-size:clamp(22px,1.9vw,27px); line-height:1.35; letter-spacing:-.01em;
  color:var(--ink);
}
:is(.article-content, .feature-content) .wp-block-pullquote cite{ font-size:13px; }
:is(.article-content, .feature-content) .wp-block-pullquote cite::before{ content:"— "; }

/* ---- Embeds ----------------------------------------------------------- */
:is(.article-content, .feature-content) .wp-block-embed{ margin:1.6em 0; }
:is(.article-content, .feature-content) .wp-block-embed__wrapper{ position:relative; }
:is(.article-content, .feature-content) .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper{ border-radius:var(--radius-s); overflow:hidden; background:var(--ink); }
:is(.article-content, .feature-content) .wp-block-embed iframe{ max-width:100%; border:0; }
:is(.article-content, .feature-content) .wp-block-embed:is(.is-type-rich, .is-provider-twitter, .is-provider-instagram) .wp-block-embed__wrapper > *{ margin-inline:auto !important; }
:is(.article-content, .feature-content) :is(.twitter-tweet, .instagram-media){ margin:0 auto !important; }

/* ---- Separator -------------------------------------------------------- */
:is(.article-content, .feature-content) :is(hr, .wp-block-separator){
  margin:2em auto; border:0; height:1px; background:var(--border-bottom);
  max-width:100%;
}
:is(.article-content, .feature-content) .wp-block-separator.is-style-dots{
  height:auto; background:none; text-align:center; line-height:1;
}
:is(.article-content, .feature-content) .wp-block-separator.is-style-dots::before{
  content:"· · ·"; color:var(--red); font-size:24px; letter-spacing:.4em; padding-left:.4em;
}
:is(.article-content, .feature-content) .wp-block-separator:not(.is-style-wide):not(.is-style-dots){ max-width:120px; height:2px; background:var(--red); }

/* ---- Tables ----------------------------------------------------------- */
.feature-content .article-table-wrap{ font-family:var(--sans); }
.article-table-wrap .article-table{ font-family:var(--sans); line-height:1.45; }
:is(.article-content, .feature-content) .wp-block-table{ margin:1.6em 0; overflow-x:auto; }
:is(.article-content, .feature-content) .wp-block-table table{ width:100%; border-collapse:collapse; font-family:var(--sans); font-size:14px; }
:is(.article-content, .feature-content) .wp-block-table :is(th, td){ padding:11px 14px; text-align:left; border-top:1px solid var(--border-bottom); }

/* ---- Code / preformatted / misc -------------------------------------- */
:is(.article-content, .feature-content) :is(pre, .wp-block-code, .wp-block-preformatted){
  margin:1.6em 0; padding:14px 16px; overflow-x:auto;
  background:var(--paper); border:1px solid var(--border-bottom); border-radius:var(--radius-s);
  font-size:14px; line-height:1.55; white-space:pre-wrap;
}
:is(.article-content, .feature-content) :not(pre) > code{
  padding:.1em .35em; border-radius:3px; background:var(--paper); font-size:.88em;
}
:is(.article-content, .feature-content) .wp-block-buttons{ display:flex; flex-wrap:wrap; gap:10px; margin:1.4em 0; }
:is(.article-content, .feature-content) .wp-block-button__link{
  display:inline-flex; align-items:center; min-height:42px; padding:0 18px;
  border-radius:var(--radius-s); background:var(--red); color:#fff;
  font-family:var(--sans); font-size:14px; font-weight:700; text-decoration:none;
}
:is(.article-content, .feature-content) .wp-block-button__link:hover{ background:var(--ink); color:var(--paper-2); }
:is(.article-content, .feature-content) .has-drop-cap:not(:focus)::first-letter{
  float:left; margin:.08em .12em 0 0;
  font-size:3.4em; line-height:.85; font-weight:700; color:var(--red);
}
:is(.article-content, .feature-content) .wp-block-group.has-background,
:is(.article-content, .feature-content) p.has-background{ padding:18px 20px; border-radius:var(--radius-s); }
:is(.article-content, .feature-content) .wp-block-columns{ display:flex; flex-wrap:wrap; gap:24px; margin:1.6em 0; }
:is(.article-content, .feature-content) .wp-block-column{ flex:1 1 220px; min-width:0; }
:is(.article-content, .feature-content) .wp-block-column > :last-child{ margin-bottom:0; }
:is(.article-content, .feature-content) > :last-child{ margin-bottom:0; }

/* Design modules inside the feature column */
.feature-content .article-gallery,
.feature-content .article-embed,
.feature-content .article-table-wrap{ font-size:16px; }

/* ---- Lead media ------------------------------------------------------- */
.article-main > .article-embed--lead{ margin:0 0 28px; }
.feature-page > .article-embed--lead{
  width:var(--feature-hero-w, min(1200px, calc(100vw - 2 * var(--gutter))));
  max-width:calc(100vw - 2 * var(--gutter));
  margin:0 auto;
}
.article-hero--video,
.feature-hero--video{ background:var(--ink); }
.article-hero--video .news-hero-video,
.feature-hero--video .news-hero-video{
  display:block; width:100%; height:auto; aspect-ratio:16/9; background:#000;
}
.article-hero--video figcaption{ position:static; padding:10px 14px; background:var(--ink); }

/* ---- Premium teaser in the standard layout ---------------------------- */
.article-content .premium-locked p{ margin:0 0 1.15em; }

/* ---- Multi-page articles --------------------------------------------- */
.article-pages{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:24px 0 0; font-family:var(--sans); }
.article-pages__label{ font-size:13px; font-weight:700; color:var(--muted); margin-right:6px; border:0 !important; min-width:0 !important; padding:0 !important; }
.article-pages .post-page-numbers{ display:inline-grid; place-items:center; min-width:38px; height:38px; padding:0 10px; border:1px solid var(--line); border-radius:var(--radius-s); color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; }
.article-pages .post-page-numbers.current{ background:var(--red); border-color:var(--red); color:#fff; }

/* ---- Aside: author bio + widgets --------------------------------------- */
.article-author__bio{
  margin:-4px 0 0;
  font-size:12.5px; line-height:1.45; color:var(--muted);
}
.article-author__bio a{ color:var(--ink); font-weight:700; white-space:nowrap; }
.article-author__bio a:hover{ color:var(--red); }
.article-aside__widgets .widget + .widget{ margin-top:22px; }
.article-aside__widgets .widget ul{ display:flex; flex-direction:column; gap:8px; font-size:14px; }
.article-aside__widgets .widget a{ color:var(--ink); }
.article-aside__widgets .widget a:hover{ color:var(--red); }

/* ---- Comments --------------------------------------------------------- */
.article-comments__respond{ display:flex; flex-direction:column; gap:8px; }
.article-comments .comment-reply-title{
  margin:0; font-family:var(--sans); font-size:13px; font-weight:800;
  letter-spacing:.04em; text-transform:uppercase; color:var(--muted);
  display:flex; align-items:baseline; gap:10px;
}
.article-comments__list + .article-comments__respond .comment-reply-title,
.article-comments > .article-comments__respond .comment-reply-title{
  position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;
}
.article-comment .article-comments__respond{ grid-column:1 / -1; margin-top:6px; }
.article-comment .article-comments__respond .comment-reply-title{ position:static; width:auto; height:auto; clip:auto; overflow:visible; }
.article-comments .comment-reply-title small a{ font-size:12px; color:var(--red); text-transform:none; letter-spacing:0; }
.article-comments__compose > p{ margin:0; }
.article-comments__compose .article-comments__field input{
  width:100%; height:42px; padding:0 14px;
  border:1px solid var(--border-bottom); border-radius:var(--radius-s);
  font:inherit; font-size:14.5px; color:var(--ink); background:var(--paper); outline:none;
}
.article-comments__compose .article-comments__field input:focus{ border-color:var(--ink-3); }
@media (min-width:600px){
  .article-comments__compose{ display:grid; grid-template-columns:1fr 1fr; }
  .article-comments__compose > :not(.article-comments__field){ grid-column:1 / -1; }
}
.article-comments__cookies{ display:flex; align-items:flex-start; gap:8px; font-size:12.5px; color:var(--muted); line-height:1.4; }
.article-comments__cookies input{ margin-top:2px; accent-color:var(--red); }
.article-comments__compose .logged-in-as,
.article-comments__compose .comment-notes{ font-size:12.5px; color:var(--muted); }
.article-comments__compose-foot .btn{ border:0; cursor:pointer; }
.article-comment{ align-items:start; }
.article-comment > .children{
  grid-column:1 / -1;
  display:flex; flex-direction:column;
  margin:4px 0 -16px; padding-left:28px;
  border-left:2px solid var(--border-bottom);
}
.article-comment > .children .article-comment:first-child{ border-top:1px solid var(--border-bottom); padding-top:16px; }
.article-comment__body{ min-width:0; }
.article-comment__body p{ overflow-wrap:anywhere; }
a.article-comment__reply{ display:inline-block; text-decoration:none; }
.article-comment__pending{ font-size:12.5px !important; color:var(--muted) !important; }
.article-comment.bypostauthor > .article-comment__body .article-comment__meta b::after{
  content:"✓"; margin-left:5px; color:var(--red); font-size:12px;
}
.article-comments-cta .btn{ text-align:center; }

/* ---- Layout: short stories — comments follow the article, not the aside - */
@media (min-width:861px){
  .article-layout > .article-aside{ grid-row:1 / span 2; }
}

/* ---- Widget blocks in the article aside ------------------------------- */
.article-aside__widgets :is(h2, h3, .wp-block-heading, .widget-title, .wp-block-search__label){
  margin:0 0 12px; font-family:var(--display); font-size:16px; font-weight:700;
  letter-spacing:-.01em; color:var(--ink); line-height:1.2;
}
.article-aside__widgets .wp-block-search__inside-wrapper{ display:flex; gap:6px; }
.article-aside__widgets .wp-block-search__input{
  flex:1; min-width:0; height:40px; padding:0 12px;
  border:1px solid var(--border-bottom); border-radius:var(--radius-s);
  background:var(--paper-2); color:var(--ink); font:inherit; font-size:14px;
}
.article-aside__widgets .wp-block-search__button{
  height:40px; padding:0 14px; border:0; border-radius:var(--radius-s);
  background:var(--red); color:#fff; font:inherit; font-size:13px; font-weight:700; cursor:pointer;
}
.article-aside__widgets :is(.wp-block-latest-posts, .wp-block-latest-comments, .wp-block-archives, .wp-block-categories){
  display:flex; flex-direction:column; gap:0; margin:0; padding:0;
}
.article-aside__widgets :is(.wp-block-latest-posts, .wp-block-latest-comments, .wp-block-archives, .wp-block-categories) > li{
  margin:0; padding:9px 0; border-top:1px solid var(--border-bottom);
  font-size:13.5px; font-weight:600; line-height:1.35;
}
.article-aside__widgets :is(.wp-block-latest-posts, .wp-block-latest-comments, .wp-block-archives, .wp-block-categories) > li:first-child{ border-top:0; padding-top:0; }
.article-aside__widgets .wp-block-latest-comments__comment-meta{ font-weight:500; color:var(--muted); }
.article-aside__widgets .wp-block-latest-comments__comment-meta a{ color:var(--ink); font-weight:700; }
.article-aside__widgets .wp-block-group + .wp-block-group,
.article-aside__widgets .widget_block + .widget_block{ margin-top:22px; }

/* Feature layout carries its billboard inside the dark masthead (design);
   hide the generic header leaderboard so it is not shown twice. */

/* Image title + caption (News. → Theme Options → Articles). */
.img-title{ font-weight:700; color:inherit; }
.img-title + .img-caption::before{ content:"· "; opacity:.6; }

/* Premium wall: yearly billing line and small print (real plans, see News. — Premium) */
.premium-plan__billed{ display:block; font-size:11px; font-weight:500; color:var(--muted); font-style:normal; }
.premium-plan__billed:empty{ display:none; }
.premium-wall__note{ margin:10px 0 0; font-size:12px; line-height:1.4; color:var(--muted); text-align:center; }

/* =====================================================================
   Listicles + contents box (Story settings → Listicle / Contents box; News. → Articles).
   ===================================================================== */
.article-toc{ margin:26px 0 30px; border:1px solid var(--line); border-left:4px solid var(--red); border-radius:var(--radius-m); background:var(--paper-2); font-family:var(--sans); }
.article-toc details{ padding:0; }
.article-toc summary{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; cursor:pointer; list-style:none; }
.article-toc summary::-webkit-details-marker{ display:none; }
.article-toc summary::after{ content:""; width:9px; height:9px; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted); transform:rotate(45deg); margin:-4px 2px 0 auto; transition:transform .2s; }
.article-toc details[open] summary::after{ transform:rotate(-135deg); margin-top:4px; }
.article-toc__title{ font-family:var(--display); font-size:17px; font-weight:800; color:var(--ink); }
.article-toc__count{ font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
.article-toc .article-toc__list{ margin:0; padding:0 18px 16px 44px; display:grid; gap:7px; list-style:decimal outside; }
.article-toc .article-toc__list li{ display:list-item; list-style:inherit; font-size:15px; line-height:1.4; padding-left:4px; margin:0; }
.article-toc .article-toc__list li::before{ content:none; display:none; }
.article-toc__list li::marker{ color:var(--red); font-weight:800; }
/* Comfortable tap targets on phones (at least 24 px high). */
.article-toc__link{ display:inline-block; min-height:24px; padding-block:3px; }
.article-toc .article-toc__list a{ color:var(--ink); text-decoration:none; background:none; border:0; box-shadow:none; }
.article-toc .article-toc__list a:hover{ color:var(--red); text-decoration:underline; }
.article-body h2[id],
.feature-body h2[id]{ scroll-margin-top:120px; }

.listicle-heading{ display:flex; align-items:flex-start; gap:14px; }
.listicle-heading__num{
  flex:0 0 auto; display:inline-grid; place-items:center; min-width:44px; height:44px; padding:0 8px; margin-top:-2px;
  border-radius:var(--radius-s); background:var(--red); color:#fff; font-family:var(--display); font-size:22px; font-weight:800; line-height:1;
}
@media (max-width:640px){
  .listicle-heading{ gap:10px; }
  .listicle-heading__num{ min-width:36px; height:36px; font-size:18px; }
}

/* =====================================================================
   Floating video (News. → Articles → Floating video)
   ===================================================================== */
.is-floating .article-embed__frame,
.is-floating > video,
.is-floating .wp-block-embed__wrapper,
figure.is-floating > video{
  position:fixed !important; z-index:180; right:20px; bottom:20px; /* Below the Premium box (190) and dialogs. */ left:auto; top:auto;
  width:min(400px, 40vw) !important; height:auto !important; aspect-ratio:16/9; margin:0 !important; padding:0 !important;
  background:#000; border-radius:var(--radius-m); overflow:visible; box-shadow:0 18px 50px rgba(0,0,0,.45);
  animation:video-float-in .25s ease-out;
}
.is-floating .article-embed__frame iframe,
.is-floating .wp-block-embed__wrapper iframe{ position:absolute; inset:0; width:100% !important; height:100% !important; border-radius:var(--radius-m); }
.is-floating > video{ object-fit:contain; }
.video-float__close{
  position:absolute; top:-34px; right:0; width:30px; height:30px; border:0; border-radius:50%;
  background:#111; color:#fff; font-size:20px; line-height:30px; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.3);
}
.video-float__close:hover{ background:var(--red); }
.video-float__close--video{ position:fixed; z-index:181; top:auto; right:20px; bottom:calc(20px + min(400px, 40vw) * 9 / 16 + 6px); }
@keyframes video-float-in{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .is-floating .article-embed__frame, .is-floating > video{ animation:none; } }

/* "Saved" bubble above the bookmark button (main.js showSavePop). */
.save-pop{
  position:absolute; z-index:400; width:max-content; max-width:min(300px, calc(100vw - 16px));
  padding:12px 34px 12px 14px; border-radius:var(--radius-m); background:var(--ink); color:var(--paper);
  font-family:var(--sans); font-size:14px; line-height:1.4; box-shadow:0 12px 32px rgba(0,0,0,.28);
  opacity:0; transform:translateY(6px); transition:opacity .18s ease, transform .18s ease; pointer-events:none;
}
.save-pop.is-visible{ opacity:1; transform:none; pointer-events:auto; }
.save-pop--below{ transform:translateY(-6px); }
.save-pop p{ margin:0; }
.save-pop__title{ display:flex; align-items:center; gap:8px; font-weight:700; }
.save-pop__tick{ flex:none; width:18px; height:18px; border-radius:50%; background:#1f9d55; position:relative; }
.save-pop__tick::after{ content:""; position:absolute; left:6px; top:3px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.save-pop__text{ margin-top:6px !important; color:color-mix(in srgb, var(--paper) 78%, transparent); font-size:13px; }
.save-pop__link{ display:inline-block; margin-top:8px; color:var(--paper); font-weight:600; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.save-pop__link:hover{ color:var(--paper); opacity:.8; }
.save-pop__actions{ display:flex; align-items:center; gap:14px; margin-top:10px !important; }
.save-pop__actions .save-pop__link{ margin-top:0; }
.save-pop .save-pop__btn{ padding:8px 14px; font-size:13px; font-weight:700; }
.save-pop__close{
  position:absolute; top:6px; right:6px; width:24px; height:24px; border:0; border-radius:50%;
  background:transparent; color:var(--paper); font-size:18px; line-height:1; cursor:pointer; opacity:.7;
}
.save-pop__close:hover{ opacity:1; background:rgba(255,255,255,.12); }
.save-pop__arrow{
  position:absolute; left:var(--arrow-x, 50%); bottom:-6px; width:12px; height:12px; margin-left:-6px;
  background:var(--ink); transform:rotate(45deg); border-radius:0 0 2px 0;
}
.save-pop--below .save-pop__arrow{ bottom:auto; top:-6px; border-radius:2px 0 0 0; }
@media (prefers-reduced-motion: reduce){ .save-pop{ transition:none; } }

/* Comments for signed-in readers only: the box guests see instead of the form. */
.comments-gate{ margin:6px 0 22px; padding:20px 22px; border:1px solid var(--line); border-radius:var(--radius-m); background:var(--paper-2); text-align:center; }
.comments-gate__title{ margin:0 0 4px; font-family:var(--display); font-size:19px; font-weight:800; color:var(--ink); }
.comments-gate__text{ margin:0 0 14px; color:var(--muted); font-size:14.5px; }
.comments-gate__actions{ margin:0; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }

/* ---- AI key takeaways + comment discussion summary (News. Core) ---- */
.article-tldr{
  margin:0 0 20px;
  padding:14px 16px;
  border:1px solid var(--border-bottom);
  border-radius:var(--radius-s);
  background:var(--paper-2);
}
.article-tags + .article-tldr{
  margin-top:16px;
}
.article-tldr--feature{
  margin:0 auto 24px;
  max-width:38em;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}
.article-tldr__head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-bottom:8px;
}
.article-tldr__title{
  font-family:var(--sans); font-size:12px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
}
.article-tldr--feature .article-tldr__title{ color:rgba(255,255,255,.55); }
.article-tldr__badge{
  font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:2px 7px; border-radius:3px; border:1px solid var(--border-bottom);
  color:var(--muted); background:var(--paper);
}
.article-tldr__badge--demo{
  border-color:color-mix(in srgb, var(--red) 35%, var(--border-bottom));
  color:var(--red); background:color-mix(in srgb, var(--red) 8%, var(--paper));
}
.article-tldr--demo,
.article-comments__ai-summary--demo{
  border-style:dashed;
}
.article-tldr--feature .article-tldr__badge{
  border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.08); color:rgba(255,255,255,.7);
}
.article-tldr__list{
  margin:0; padding:0 0 0 1.15em; list-style:disc;
  font-size:14.5px; line-height:1.45; color:var(--ink);
}
.article-tldr--feature .article-tldr__list{ color:rgba(255,255,255,.88); }
.article-tldr__list li{ margin:0 0 4px; }
.article-tldr__note{
  margin:10px 0 0; font-size:11px; line-height:1.4; color:var(--muted-light);
}
.article-tldr--feature .article-tldr__note{ color:rgba(255,255,255,.45); }

.article-comments__ai-summary{
  margin:0 0 18px; padding:14px 16px;
  border:1px solid var(--border-bottom); border-radius:var(--radius-s);
  background:var(--paper-2);
}
.article-comments__ai-summary-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-bottom:8px;
}
.article-comments__ai-summary-title{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--sans); font-size:12px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
}
.article-comments__ai-summary-icon{
  width:16px; height:16px; flex-shrink:0;
  color:currentColor;
}
html[data-theme="dark"] .article-comments__ai-summary-title{
  color:var(--muted-light);
}
.article-comments__ai-summary-list{
  margin:0; padding:0 0 0 1.15em; list-style:disc;
  font-size:14.5px; line-height:1.45; color:var(--ink);
}
.article-comments__ai-summary-list li{ margin:0 0 4px; }
.article-comments__ai-summary-note{
  margin:10px 0 0; font-size:11px; line-height:1.4; color:var(--muted-light);
}
html[data-theme="dark"] .article-tldr,
html[data-theme="dark"] .article-comments__ai-summary{
  background:color-mix(in srgb, var(--paper-2) 90%, var(--ink));
}
