:root{
  --text:#0b1220;
  --muted:#5b667a;
  --link:#2274A5;
  --border:#e7eaf0;
  --bg:#ffffff;

  /* Encyclotech signature */
  --signal:#FF8C42;      /* brand orange signal */
  --signal2:#7c3aed;     /* violet signal (optionnel) */

  --radius:14px;

  /* Reading system */
  --reading-measure: 70ch;
  --reading-font-size: clamp(16px, 0.25vw + 15.5px, 18px);
  --reading-line-height: 2.0;
  --reading-paragraph-space: 1.25em;
  --chapter-space-top: 3.6rem;
  --chapter-space-bottom: 1.05rem;
}


body{
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Single article palette */
.single{
  background: var(--bg);
}

a{ color: var(--link); text-decoration: none; }
a:hover{ color: var(--link); text-decoration: none; }

h1,h2,h3,h4{
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: 1.35rem 0 .6rem;
}
h1{ font-size: 2.2rem; }
h2{ font-size: 1.6rem; }
h3{ font-size: 1.25rem; }

p{ margin: 0 0 1rem; color: var(--text); }
small, .muted{ color: var(--muted); }

img{ max-width: 100%; height: auto; border-radius: 12px; }

/* ===== Long-read (digital book) typography ===== */
.single .entry-content{
  font-size: var(--reading-font-size);
  line-height: var(--reading-line-height);
  text-wrap: pretty;
  hyphens: auto;
  overflow-wrap: break-word;
}

.single .entry-content p{
  margin: 0 0 var(--reading-paragraph-space);
}

.single .entry-content :is(h2,h3,h4){
  scroll-margin-top: 96px;
}

.single .entry-content h2{
  margin-top: var(--chapter-space-top);
  margin-bottom: calc(var(--chapter-space-bottom) + .2rem);
  line-height: 1.18;
  letter-spacing: -0.03em;
}

.single .entry-content h3{
  margin-top: 2.15rem;
  margin-bottom: .85rem;
  line-height: 1.22;
}

.single .entry-content h2 + p,
.single .entry-content h3 + p{
  margin-top: 0;
}

.single .entry-content :is(ul,ol){
  margin: 0 0 1.25em;
  padding-left: 1.25em;
}

.single .entry-content li{
  margin: .35em 0;
}

.single .entry-content li::marker{
  color: rgba(11,18,32,.55);
}

.single .entry-content blockquote{
  margin: 0 0 var(--reading-paragraph-space);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: inherit;
}

.single .entry-content figure.wp-block-pullquote{
  margin: 0 0 var(--reading-paragraph-space);
  padding: 0;
  border: 0;
  background: transparent;
}

.single .entry-content figure.wp-block-pullquote blockquote{
  margin: 0;
}

.single .entry-content hr{
  border: 0;
  border-top: 1px solid rgba(15,23,42,.10);
  margin: 2.6rem 0;
}

.single .entry-content :is(table, .wp-block-table table){
  width: 100%;
  border-collapse: collapse;
  margin: 1.8rem 0;
  font-size: .98em;
}

.single .entry-content :is(th,td){
  text-align: left;
  padding: .75rem .8rem;
  border-bottom: 1px solid rgba(15,23,42,.10);
}

/* Prevent duplicated featured image if inserted as a block */
.single .post-content .wp-block-post-featured-image{
  display: none;
}

/* ===== Ads (calm + stable, no heavy UI) ===== */
.single .entry-content :is(
  ins.adsbygoogle,
  iframe[src*="doubleclick"],
  iframe[src*="googlesyndication"],
  iframe[src*="adservice"],
  iframe[id*="google_ads"],
  iframe[name*="google_ads"]
){
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 2.25rem 0;
  border-radius: 14px;
  contain: layout paint;
}

/* Reserve modest space for common responsive units to reduce CLS. */
.single .entry-content ins.adsbygoogle{
  min-height: 220px;
}
