/*
 * kinoscope-editorial.css
 * Comprehensive style reset + editorial design for single article pages.
 * High specificity throughout — overrides every Creon / Gutenberg / WP default.
 * Enqueued only on single posts via functions.php.
 */

/* ── FONT IMPORTS ── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=DM+Sans:wght@300;400;500&family=Noto+Sans+Devanagari:wght@300;400;500&display=swap');

/* ── DESIGN TOKENS ── */
:root {
  --bg:        #080806;
  --bg2:       #111109;
  --bg3:       #161410;
  --cream:     #f0e8d5;
  --cream-dim: #b8a98a;
  --gold:      #b8943f;
  --gold-lt:   #d4b060;
  --gold-dim:  rgba(184,148,63,0.18);
  --rust:      rgba(122,62,42,0.3);
  --border:    rgba(184,148,63,0.18);
  --serif:     'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:      'DM Sans', system-ui, sans-serif;
  --deva:      'Noto Sans Devanagari', 'Cormorant Garamond', serif;
  --body-w:    720px;
}

/* ═══════════════════════════════════════════════════
   1. TOTAL RESET — kill all parent theme interference
   ═══════════════════════════════════════════════════ */

/* Page structure */
html                          { background: var(--bg) !important; }
body.single                   { background: var(--bg) !important; color: var(--cream) !important; font-family: var(--sans) !important; font-weight: 300 !important; font-size: 17px !important; line-height: 1.9 !important; -webkit-font-smoothing: antialiased !important; }

/* Kill ALL inherited backgrounds from Creon */
body.single #page,
body.single .site,
body.single .site-content,
body.single #content,
body.single .site-main,
body.single main,
body.single article,
body.single .entry,
body.single .hentry,
body.single .post,
body.single .type-post               { background: transparent !important; background-color: var(--bg) !important; border: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }

/* Kill Creon's entry header/meta/content wrappers */
body.single .entry-header,
body.single .post-header              { display: none !important; }  /* replaced by our hero */

body.single .entry-content,
body.single .post-content,
body.single .entry-summary            { background: transparent !important; background-color: transparent !important; color: var(--cream-dim) !important; padding: 0 !important; margin: 0 !important; border: none !important; max-width: none !important; width: auto !important; float: none !important; }

/* Kill Creon sidebar on singles */
body.single #secondary,
body.single .widget-area               { display: none !important; }

body.single .site-main                 { width: 100% !important; max-width: 100% !important; float: none !important; }

/* Kill all Creon post meta rows */
body.single .entry-meta,
body.single .post-meta,
body.single .byline,
body.single .posted-on,
body.single .cat-links,
body.single .tags-links,
body.single .post-navigation,
body.single .post-edit-link            { display: none !important; }

/* ═══════════════════════════════════════════════════
   1b. OVERRIDE INLINE STYLES (the #1 cause of black text)
   WordPress editor writes style="color:#000;font-family:arial"
   on span elements. External CSS !important beats non-!important
   inline styles, so targeting spans explicitly fixes this.
   ═══════════════════════════════════════════════════ */

/* Spans: reset ALL inline colour/font set by the editor */
body.single .kc-article-body span,
body.single .entry-content span {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  background-color: transparent !important;
}

/* Catch explicit black inline colours */
body.single .kc-article-body [style*="color: #000"],
body.single .kc-article-body [style*="color:#000"],
body.single .kc-article-body [style*="color: rgb(0, 0, 0)"],
body.single .entry-content  [style*="color: #000"],
body.single .entry-content  [style*="color:#000"],
body.single .entry-content  [style*="color: rgb(0, 0, 0)"] {
  color: var(--cream-dim) !important;
}

/* Catch Arial/Helvetica font-family set inline */
body.single .kc-article-body [style*="arial"],
body.single .kc-article-body [style*="Arial"],
body.single .kc-article-body [style*="helvetica"],
body.single .entry-content  [style*="arial"],
body.single .entry-content  [style*="Arial"],
body.single .entry-content  [style*="helvetica"] {
  font-family: var(--sans) !important;
}

/* Override Creon dynamic inline CSS: body{color:#000000;font-family:Roboto} */
body.single { color: var(--cream-dim) !important; background-color: var(--bg) !important; font-family: var(--sans) !important; }

/* Hide Jetpack auto-injected related posts — we have our own */
body.single #jp-relatedposts,
body.single .jp-relatedposts { display: none !important; }

/* Kill any Creon/WPBakery white backgrounds on post wrappers */
body.single .blog-page-section,
body.single .blog-page-box,
body.single .blog-post,
body.single .single-post,
body.single .vc_row,
body.single .wpb_column,
body.single .wpb_wrapper,
body.single .post-content-area { background-color: var(--bg) !important; background: var(--bg) !important; }

/* ═══════════════════════════════════════════════════
   2. ARTICLE HERO
   ═══════════════════════════════════════════════════ */
body.single .kc-single-hero {
  position: relative;
  min-height: 60vh;
  display: flex; flex-direction: column; justify-content: flex-end;
  overflow: hidden;
  margin-bottom: 0;
  background: var(--bg);
}
body.single .kc-hero-bg {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, #1a1208 0%, #080806 55%, #0d0a04 100%);
}
body.single .kc-hero-img {
  position: absolute; inset: 0;
  background-size: cover; background-position: center top;
  filter: grayscale(50%) brightness(0.35) contrast(1.1);
  transition: filter 1s ease;
}
body.single .kc-hero-vignette {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 0%, rgba(8,8,6,0.55) 50%, var(--bg) 100%);
}
body.single .kc-hero-inner {
  position: relative; z-index: 2;
  max-width: calc(var(--body-w) + 80px);
  margin: 0 auto; width: 100%;
  padding: 80px 40px 60px;
}

/* Breadcrumb */
body.single .kc-breadcrumb {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 24px; flex-wrap: wrap;
}
body.single .kc-breadcrumb a {
  font-family: var(--sans) !important;
  font-size: 10px !important; letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: var(--cream-dim) !important; text-decoration: none !important; transition: color 0.3s !important;
}
body.single .kc-breadcrumb a:hover { color: var(--gold) !important; }
body.single .kc-breadcrumb .sep     { color: var(--border); font-size: 10px; }

/* Category label */
body.single .kc-hero-cat {
  display: inline-block; margin-bottom: 18px;
  font-family: var(--sans) !important;
  font-size: 9px !important; letter-spacing: 0.28em !important; text-transform: uppercase !important;
  color: var(--gold) !important; text-decoration: none !important;
}

/* Article title */
body.single .kc-article-title {
  font-family: var(--serif) !important;
  font-size: clamp(32px, 5.5vw, 64px) !important;
  font-weight: 300 !important; line-height: 1.08 !important;
  color: var(--cream) !important;
  margin: 0 0 28px !important; padding: 0 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}
body.single .kc-article-title.is-devanagari {
  font-family: var(--deva) !important;
  font-size: clamp(28px, 4.5vw, 52px) !important;
  line-height: 1.3 !important;
}

/* Meta row */
body.single .kc-article-meta {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
body.single .kc-meta-item {
  font-family: var(--sans) !important;
  font-size: 10px !important; letter-spacing: 0.15em !important; text-transform: uppercase !important;
  color: var(--cream-dim) !important;
}
body.single .kc-meta-item strong { color: var(--gold) !important; font-weight: 400 !important; }
body.single .kc-meta-sep { color: var(--border); }
body.single .kc-hero-rule { width: 40px; height: 1px; background: var(--gold); margin: 28px 0 0; }

/* ═══════════════════════════════════════════════════
   3. ARTICLE BODY WRAPPER
   ═══════════════════════════════════════════════════ */
body.single .kc-article-wrap {
  max-width: calc(var(--body-w) + 80px);
  margin: 0 auto;
  padding: 60px 40px 100px;
}
body.single .kc-back {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--sans) !important;
  font-size: 10px !important; letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: var(--cream-dim) !important; text-decoration: none !important;
  margin-bottom: 48px; transition: color 0.3s !important;
}
body.single .kc-back::before { content: '←'; font-size: 14px; }
body.single .kc-back:hover   { color: var(--gold) !important; }

/* ═══════════════════════════════════════════════════
   4. ARTICLE CONTENT — comprehensive typography reset
   Target both .kc-article-body AND .entry-content
   to cover whatever Creon renders
   ═══════════════════════════════════════════════════ */

/* Base text */
body.single .kc-article-body,
body.single .entry-content {
  font-family: var(--sans) !important;
  font-size: 17px !important;
  line-height: 1.9 !important;
  color: var(--cream-dim) !important;
  background: transparent !important;
}

/* — Paragraphs — */
body.single .kc-article-body p,
body.single .entry-content p {
  font-family: var(--sans) !important;
  font-size: 17px !important;
  line-height: 1.9 !important;
  color: var(--cream-dim) !important;
  margin-bottom: 28px !important;
  background: transparent !important;
  max-width: 100% !important;
}

/* — Headings — */
body.single .kc-article-body h1,
body.single .entry-content h1 {
  font-family: var(--serif) !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  font-weight: 300 !important; line-height: 1.1 !important;
  color: var(--cream) !important;
  margin: 60px 0 24px !important; padding: 0 !important;
  background: transparent !important; border: none !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
body.single .kc-article-body h2,
body.single .entry-content h2 {
  font-family: var(--serif) !important;
  font-size: clamp(26px, 3.5vw, 40px) !important;
  font-weight: 300 !important; line-height: 1.15 !important;
  color: var(--cream) !important;
  margin: 56px 0 20px !important; padding: 0 !important;
  background: transparent !important; border: none !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
body.single .kc-article-body h3,
body.single .entry-content h3 {
  font-family: var(--serif) !important;
  font-size: clamp(22px, 2.5vw, 30px) !important;
  font-weight: 400 !important; font-style: italic !important;
  line-height: 1.2 !important; color: var(--cream) !important;
  margin: 44px 0 16px !important; padding: 0 !important;
  background: transparent !important; border: none !important;
  text-transform: none !important;
}
body.single .kc-article-body h4,
body.single .entry-content h4 {
  font-family: var(--sans) !important;
  font-size: 11px !important; font-weight: 500 !important;
  letter-spacing: 0.22em !important; text-transform: uppercase !important;
  color: var(--gold) !important;
  margin: 36px 0 12px !important; padding: 0 !important;
  background: transparent !important; border: none !important;
  line-height: 1.4 !important;
}
body.single .kc-article-body h5,
body.single .entry-content h5 {
  font-family: var(--sans) !important;
  font-size: 11px !important; font-weight: 400 !important;
  letter-spacing: 0.18em !important; text-transform: uppercase !important;
  color: var(--cream-dim) !important;
  margin: 28px 0 10px !important; padding: 0 !important;
  background: transparent !important;
}
body.single .kc-article-body h6,
body.single .entry-content h6 {
  font-family: var(--sans) !important;
  font-size: 10px !important; font-weight: 400 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: var(--cream-dim) !important;
  margin: 24px 0 8px !important; padding: 0 !important;
}

/* — Links — */
body.single .kc-article-body a,
body.single .entry-content a {
  color: var(--gold) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: rgba(184,148,63,0.35) !important;
  transition: color 0.3s, text-decoration-color 0.3s !important;
}
body.single .kc-article-body a:hover,
body.single .entry-content a:hover {
  color: var(--gold-lt) !important;
  text-decoration-color: var(--gold-lt) !important;
}

/* — Strong / em — */
body.single .kc-article-body strong,
body.single .kc-article-body b,
body.single .entry-content strong,
body.single .entry-content b {
  color: var(--cream) !important;
  font-weight: 500 !important;
}
body.single .kc-article-body em,
body.single .kc-article-body i,
body.single .entry-content em,
body.single .entry-content i {
  font-style: italic !important;
  color: var(--cream) !important;
}

/* — Blockquote — */
body.single .kc-article-body blockquote,
body.single .entry-content blockquote {
  border-left: 2px solid var(--gold) !important;
  border-top: none !important; border-right: none !important; border-bottom: none !important;
  margin: 48px 0 !important;
  padding: 6px 0 6px 32px !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.single .kc-article-body blockquote p,
body.single .entry-content blockquote p {
  font-family: var(--serif) !important;
  font-size: clamp(20px, 2.5vw, 28px) !important;
  font-style: italic !important; font-weight: 300 !important;
  line-height: 1.45 !important;
  color: var(--cream) !important;
  margin-bottom: 0 !important;
}
body.single .kc-article-body blockquote cite,
body.single .entry-content blockquote cite {
  display: block; margin-top: 14px;
  font-family: var(--sans) !important;
  font-size: 10px !important; letter-spacing: 0.18em !important;
  text-transform: uppercase !important; font-style: normal !important;
  color: var(--gold) !important;
}

/* — Pull quote (WP block) — */
body.single .wp-block-pullquote {
  border-top: 1px solid var(--gold) !important;
  border-bottom: 1px solid var(--gold) !important;
  border-left: none !important; border-right: none !important;
  background: transparent !important;
  padding: 36px 0 !important; margin: 48px 0 !important;
  text-align: left !important;
}
body.single .wp-block-pullquote blockquote {
  border: none !important; padding: 0 !important; margin: 0 !important;
}
body.single .wp-block-pullquote p {
  font-family: var(--serif) !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-style: italic !important; font-weight: 300 !important;
  color: var(--cream) !important; line-height: 1.35 !important;
}

/* — Lists — */
body.single .kc-article-body ul,
body.single .kc-article-body ol,
body.single .entry-content ul,
body.single .entry-content ol {
  padding-left: 24px !important;
  margin: 0 0 28px !important;
  background: transparent !important;
}
body.single .kc-article-body li,
body.single .entry-content li {
  font-family: var(--sans) !important;
  font-size: 17px !important; line-height: 1.9 !important;
  color: var(--cream-dim) !important;
  margin-bottom: 10px !important;
  background: transparent !important;
}
body.single .kc-article-body ul li::marker,
body.single .entry-content ul li::marker  { color: var(--gold) !important; }
body.single .kc-article-body ol li::marker,
body.single .entry-content ol li::marker  { color: var(--gold) !important; font-family: var(--sans) !important; }

/* — HR / divider — */
body.single .kc-article-body hr,
body.single .entry-content hr,
body.single .wp-block-separator {
  border: none !important;
  border-top: 1px solid var(--border) !important;
  margin: 52px 0 !important;
  background: transparent !important;
  height: auto !important;
}

/* — Images — */
body.single .kc-article-body img,
body.single .entry-content img {
  max-width: 100% !important; height: auto !important;
  display: block !important; margin: 40px auto !important;
  filter: brightness(0.85) contrast(1.05) !important;
  border: 1px solid var(--border) !important;
}
body.single .kc-article-body figure,
body.single .entry-content figure {
  margin: 44px 0 !important;
  background: transparent !important;
}
body.single .kc-article-body figcaption,
body.single .entry-content figcaption,
body.single .wp-caption-text {
  font-family: var(--sans) !important;
  font-size: 11px !important; letter-spacing: 0.08em !important;
  color: var(--cream-dim) !important;
  text-align: center !important; margin-top: 10px !important;
  background: transparent !important;
}

/* — WP image alignment — */
body.single .entry-content .aligncenter,
body.single .kc-article-body .aligncenter { display: block !important; margin-left: auto !important; margin-right: auto !important; }
body.single .entry-content .alignleft  { float: left !important; margin-right: 24px !important; margin-bottom: 16px !important; }
body.single .entry-content .alignright { float: right !important; margin-left: 24px !important; margin-bottom: 16px !important; }
body.single .entry-content .wp-caption { background: transparent !important; border: none !important; padding: 0 !important; }

/* — Tables — */
body.single .kc-article-body table,
body.single .entry-content table,
body.single .wp-block-table table {
  width: 100% !important; border-collapse: collapse !important;
  margin-bottom: 36px !important;
  background: transparent !important;
}
body.single .kc-article-body th,
body.single .entry-content th,
body.single .wp-block-table th {
  font-family: var(--sans) !important;
  font-size: 10px !important; letter-spacing: 0.18em !important; text-transform: uppercase !important;
  color: var(--cream) !important; font-weight: 500 !important;
  border-bottom: 1px solid var(--gold) !important; border-top: none !important;
  border-left: none !important; border-right: none !important;
  padding: 12px 16px !important; background: transparent !important;
  text-align: left !important;
}
body.single .kc-article-body td,
body.single .entry-content td,
body.single .wp-block-table td {
  font-family: var(--sans) !important;
  font-size: 14px !important; line-height: 1.7 !important;
  color: var(--cream-dim) !important;
  border-bottom: 1px solid var(--border) !important;
  border-top: none !important; border-left: none !important; border-right: none !important;
  padding: 12px 16px !important; background: transparent !important;
}
body.single .wp-block-table { background: transparent !important; }

/* — Code — */
body.single .kc-article-body code,
body.single .entry-content code {
  font-family: 'Courier New', monospace !important;
  font-size: 14px !important;
  color: var(--gold) !important;
  background: rgba(184,148,63,0.08) !important;
  padding: 2px 8px !important; border-radius: 2px !important;
}
body.single .kc-article-body pre,
body.single .entry-content pre {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  padding: 24px !important; margin: 32px 0 !important;
  overflow-x: auto !important; border-radius: 0 !important;
}
body.single .kc-article-body pre code,
body.single .entry-content pre code {
  background: transparent !important; padding: 0 !important;
  font-size: 13px !important; color: var(--cream-dim) !important;
}

/* — Gutenberg Cover block — */
body.single .wp-block-cover {
  border: 1px solid var(--border) !important;
  margin: 40px 0 !important;
}
body.single .wp-block-cover__inner-container p {
  color: var(--cream) !important;
}

/* — Gutenberg columns — */
body.single .wp-block-columns { gap: 24px !important; }
body.single .wp-block-column  { background: transparent !important; }

/* — Gutenberg media+text — */
body.single .wp-block-media-text {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  padding: 0 !important; margin: 40px 0 !important;
}
body.single .wp-block-media-text__content { padding: 32px !important; }
body.single .wp-block-media-text__content p { color: var(--cream-dim) !important; }

/* — Gutenberg buttons — */
body.single .wp-block-button__link {
  background: var(--gold) !important;
  color: var(--bg) !important;
  font-family: var(--sans) !important;
  font-size: 11px !important; letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important; border: none !important;
  padding: 14px 32px !important;
  text-decoration: none !important;
}
body.single .wp-block-button__link:hover {
  background: var(--gold-lt) !important; color: var(--bg) !important;
}
body.single .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--gold) !important;
  border: 1px solid var(--gold) !important;
}

/* — Devanagari body text — */
body.single .is-devanagari .kc-article-body,
body.single .is-devanagari .entry-content,
body.single .is-devanagari .kc-article-body p,
body.single .is-devanagari .entry-content p {
  font-family: var(--deva) !important;
  font-size: 16px !important; line-height: 2.1 !important;
}

/* ═══════════════════════════════════════════════════
   5. ARTICLE FOOTER — tags, share
   ═══════════════════════════════════════════════════ */
body.single .kc-article-footer {
  border-top: 1px solid var(--border);
  padding-top: 40px; margin-top: 60px;
}
body.single .kc-footer-label {
  font-family: var(--sans) !important;
  font-size: 9px !important; letter-spacing: 0.28em !important;
  text-transform: uppercase !important; color: var(--gold) !important;
  margin-bottom: 14px; display: block;
}
body.single .kc-tags {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px;
}
body.single .kc-tag {
  font-family: var(--sans) !important;
  font-size: 10px !important; letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--cream-dim) !important; text-decoration: none !important;
  border: 1px solid var(--border); padding: 6px 14px;
  transition: color 0.3s, border-color 0.3s;
}
body.single .kc-tag:hover { color: var(--gold) !important; border-color: var(--gold); }

body.single .kc-share {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
body.single .kc-share-label {
  font-family: var(--sans) !important;
  font-size: 9px !important; letter-spacing: 0.28em !important;
  text-transform: uppercase !important; color: var(--cream-dim) !important;
  margin-right: 4px;
}
body.single .kc-share-btn {
  font-family: var(--sans) !important;
  font-size: 10px !important; letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--cream-dim) !important; text-decoration: none !important;
  border: 1px solid var(--border); padding: 8px 16px;
  background: transparent !important;
  cursor: pointer; transition: all 0.3s;
  display: inline-block;
}
body.single .kc-share-btn:hover { color: var(--gold) !important; border-color: var(--gold); }

/* ═══════════════════════════════════════════════════
   6. RELATED POSTS
   ═══════════════════════════════════════════════════ */
body.single .kc-related {
  background: var(--bg2) !important;
  border-top: 1px solid var(--border);
  padding: 80px 0;
}
body.single .kc-related-inner {
  max-width: 1100px; margin: 0 auto; padding: 0 40px;
}
body.single .kc-related-eyebrow {
  font-family: var(--sans) !important;
  font-size: 10px !important; letter-spacing: 0.3em !important;
  text-transform: uppercase !important; color: var(--gold) !important;
  margin-bottom: 12px; display: block;
}
body.single .kc-related-heading {
  font-family: var(--serif) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 300 !important; color: var(--cream) !important;
  margin-bottom: 40px !important; line-height: 1.15 !important;
}
body.single .kc-related-heading em { font-style: italic; color: var(--gold); }
body.single .kc-related-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 2px;
}
body.single .kc-related-card {
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  padding: 28px !important; display: block !important;
  text-decoration: none !important;
  transition: border-color 0.3s, transform 0.3s;
}
body.single .kc-related-card:hover {
  border-color: rgba(184,148,63,0.45) !important;
  transform: translateY(-2px);
}
body.single .kc-related-card-cat {
  font-family: var(--sans) !important;
  font-size: 9px !important; letter-spacing: 0.22em !important;
  text-transform: uppercase !important; color: var(--gold) !important;
  margin-bottom: 12px; display: block;
  text-decoration: none !important;
}
body.single .kc-related-card-title {
  font-family: var(--serif) !important;
  font-size: 19px !important; font-weight: 300 !important;
  line-height: 1.3 !important; color: var(--cream) !important;
  margin: 0 0 14px !important; padding: 0 !important;
  transition: color 0.3s !important;
}
body.single .kc-related-card:hover .kc-related-card-title { color: var(--gold) !important; }
body.single .kc-related-card-date {
  font-family: var(--sans) !important;
  font-size: 9px !important; letter-spacing: 0.15em !important;
  text-transform: uppercase !important; color: var(--cream-dim) !important;
}

/* ═══════════════════════════════════════════════════
   7. RESPONSIVE
   ═══════════════════════════════════════════════════ */
@media (max-width: 860px) {
  body.single .kc-hero-inner,
  body.single .kc-article-wrap,
  body.single .kc-related-inner { padding-left: 24px !important; padding-right: 24px !important; }
  body.single .kc-related-grid  { grid-template-columns: 1fr !important; }
  body.single .kc-article-body p,
  body.single .entry-content p  { font-size: 16px !important; }
}
@media (max-width: 540px) {
  body.single .kc-article-title { font-size: clamp(26px, 8vw, 40px) !important; }
  body.single .kc-share { gap: 8px; }
}
