*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,system-ui,sans-serif;line-height:1.7;color:#333;background:#fff}
.sc-VnLOmK{max-width:780px;margin:0 auto;padding:0 20px}
header{background:#1a1a2e;color:#fff;padding:32px 0;margin-bottom:40px}
header h1{font-size:28px;margin-bottom:4px}
header p{opacity:.7;font-size:15px}
header .sc-jUvuvm{color:#fff;text-decoration:none;font-size:18px;font-weight:600}
.sc-KVhWot{border-bottom:1px solid #eee;padding:24px 0}
.sc-KVhWot h2{font-size:20px;margin-bottom:8px}
.sc-KVhWot h2 a{color:#1a1a2e;text-decoration:none}
.sc-KVhWot h2 a:hover{color:#e94560}
.sc-KVhWot .date{font-size:13px;color:#999;margin-bottom:8px}
.sc-Fvrvua{color:#e94560;text-decoration:none;font-size:14px;font-weight:600}
.sc-cxexck{padding-bottom:60px}
.sc-cxexck h1{font-size:32px;margin-bottom:8px}
.sc-cxexck time{font-size:13px;color:#999;display:block;margin-bottom:24px}
.sc-cxexck h2{font-size:22px;margin:32px 0 12px}
.sc-cxexck h3{font-size:18px;margin:24px 0 8px}
.sc-cxexck p{margin-bottom:16px}
.sc-cxexck ul,.sc-cxexck ol{margin:0 0 16px 24px}
.sc-cxexck a{color:#e94560}
.sc-cxexck img{max-width:100%;height:auto;border-radius:8px;margin:16px 0}
footer{border-top:1px solid #eee;padding:24px 0;margin-top:40px;text-align:center;font-size:13px;color:#999}
footer a{color:#999}
.sc-TMfnqF{background:#f5f5f5;border-left:3px solid #999;padding:10px 14px;margin-bottom:20px;font-size:13px;color:#777;font-style:italic}
.sc-ExjyvP{background:#fef9e7;border:1px solid #f0c36d;padding:10px 14px;margin-top:20px;font-size:12px;color:#8a6d3b}
.sc-eEglUg{font-size:13px;color:#999;margin:-16px 0 24px;font-style:italic}
.sc-oRooba{text-align:center;margin:0 0 20px}
.sc-WjsZSZ{max-width:100%;height:auto;border-radius:6px}
.sc-ShHXEI{text-align:center;margin:24px 0}
.sc-IJMlBv{max-width:100%;height:auto;border-radius:6px}
.sc-neCVtX{margin-top:40px;padding-top:24px;border-top:1px solid #eee}
.sc-neCVtX h3{font-size:18px;margin-bottom:12px}
.sc-neCVtX ul{list-style:none;padding:0}
.sc-neCVtX li{padding:4px 0}
.sc-neCVtX a{color:#e94560;text-decoration:none}
/* === Theme === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@400;700&display=swap');
body{font-family:'Inter',sans-serif;color:#2C3E50;background:#F4F9F4}
header{background:#1B4D3E;color:#fff}
header h1{font-family:'Montserrat',serif;color:#fff}
header p{color:rgba(255,255,255,.75)}
header a{color:#fff;text-decoration:none}
.sc-KVhWot h2{font-family:'Montserrat',serif}
.sc-KVhWot h2 a{color:#1B4D3E}
.sc-KVhWot h2 a:hover{color:#2ECC71}
.sc-Fvrvua{color:#2ECC71}
.sc-cxexck h1{font-family:'Montserrat',serif}
.sc-cxexck h2{font-family:'Montserrat',serif}
.sc-cxexck a{color:#2ECC71}
.sc-cxexck img{border-radius:8px}
.affiliate-disclosure{border-radius:8px}
.ymyl-disclaimer{border-radius:8px}
/* === Custom === */
/* at-tabac-fr — Respirane — warm chestnut/amber palette, classic template */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Source+Sans+3:wght@400;500;600&display=swap');

:root {
  --color-primary:      #7B3F2E;
  --color-accent:       #C87E3A;
  --color-bg:           #FBF7F4;
  --color-bg-alt:       #F0EAE6;
  --color-text:         #251410;
  --color-text-muted:   #7D6860;
  --color-heading:      #5C2D1E;
  --color-link:         #9B4522;
  --color-link-hover:   #C87E3A;
  --color-border:       #E2D5CF;
  --color-header-bg:    #5C2D1E;
  --color-header-text:  #FDF4EE;

  --font-heading:       'Playfair Display', Georgia, serif;
  --font-body:          'Source Sans 3', system-ui, sans-serif;

  --size-base:          17px;
  --size-sm:            14px;
  --size-lg:            19px;
  --size-xl:            26px;

  --lh-body:            1.72;
  --lh-heading:         1.25;

  --radius:             6px;
  --radius-sm:          3px;

  --space:              1rem;
  --prose-width:        68ch;
  --content-width:      900px;
}

:root body {
  font-family:  var(--font-body);
  font-size:    var(--size-base);
  line-height:  var(--lh-body);
  color:        var(--color-text);
  background:   var(--color-bg);
  margin:       0;
}

:root h1,
:root h2,
:root h3,
:root h4 {
  font-family:   var(--font-heading);
  line-height:   var(--lh-heading);
  color:         var(--color-heading);
  margin-top:    calc(var(--space) * 2);
  margin-bottom: var(--space);
}

:root h1 { font-size: 2.2rem; }
:root h2 { font-size: 1.65rem; }
:root h3 { font-size: 1.3rem; font-style: italic; }
:root h4 { font-size: 1.1rem; }

:root p {
  margin-top:    0;
  margin-bottom: var(--space);
}

:root a {
  color:                var(--color-link);
  text-decoration:      underline;
  text-underline-offset: 2px;
}

:root a:hover {
  color: var(--color-link-hover);
}

:root ul,
:root ol {
  padding-left:  1.5rem;
  margin-bottom: var(--space);
}

:root li {
  margin-bottom: calc(var(--space) * 0.4);
  line-height:   var(--lh-body);
}

:root blockquote {
  border-left:   4px solid var(--color-accent);
  margin:        calc(var(--space) * 1.5) 0;
  padding:       calc(var(--space) * 0.75) calc(var(--space) * 1.25);
  background:    var(--color-bg-alt);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-style:    italic;
  color:         var(--color-text-muted);
}

:root blockquote p {
  margin-bottom: 0;
}

:root header {
  background: var(--color-header-bg);
  color:      var(--color-header-text);
  padding:    calc(var(--space) * 1.5) calc(var(--space) * 2);
}

:root header h1 {
  font-family:   var(--font-heading);
  color:         var(--color-header-text);
  margin:        0 0 calc(var(--space) * 0.25) 0;
  font-size:     2rem;
}

:root header p,
:root header .site-description,
:root header span:not(a span) {
  color:          rgba(255, 255, 255, 0.88);
  margin:         0;
  font-size:      var(--size-sm);
  letter-spacing: 0.02em;
}

:root header a {
  color:           var(--color-header-text);
  text-decoration: none;
}

:root header a:hover {
  color: var(--color-accent);
}

:root nav a {
  color:           var(--color-header-text);
  text-decoration: none;
  font-size:       var(--size-sm);
  font-weight:     600;
  letter-spacing:  0.05em;
  text-transform:  uppercase;
}

:root nav a:hover {
  color: var(--color-accent);
}

:root .sc-cxexck {
  max-width: var(--content-width);
  margin:    0 auto;
  padding:   calc(var(--space) * 2) var(--space);
}

:root .sc-cxexck p,
:root .sc-cxexck li {
  max-width: var(--prose-width);
}

:root .sc-cxexck h1 {
  font-family: var(--font-heading);
  font-size:   2rem;
  color:       var(--color-heading);
}

:root .sc-cxexck h2 {
  font-family:    var(--font-heading);
  font-size:      1.55rem;
  color:          var(--color-heading);
  border-bottom:  1px solid var(--color-border);
  padding-bottom: calc(var(--space) * 0.35);
}

:root .sc-cxexck h3 {
  font-family: var(--font-heading);
  font-size:   1.25rem;
  font-style:  italic;
  color:       var(--color-primary);
}

:root .sc-cxexck a {
  color:                var(--color-link);
  text-underline-offset: 2px;
}

:root .sc-cxexck a:hover {
  color: var(--color-link-hover);
}

:root .sc-cxexck img {
  border-radius: var(--radius);
  max-width:     100%;
  height:        auto;
  display:       block;
  margin:        calc(var(--space) * 1.5) 0;
}

:root .sc-KVhWot {
  background:    var(--color-bg);
  border:        1px solid var(--color-border);
  border-radius: var(--radius);
  overflow:      hidden;
}

:root .sc-KVhWot h2 {
  font-family:   var(--font-heading);
  font-size:     1.3rem;
  margin:        0 0 calc(var(--space) * 0.5) 0;
}

:root .sc-KVhWot h2 a {
  color:           var(--color-primary);
  text-decoration: none;
}

:root .sc-KVhWot h2 a:hover {
  color: var(--color-accent);
}

:root .sc-Fvrvua {
  color:           var(--color-link);
  font-weight:     600;
  text-decoration: none;
  font-size:       var(--size-sm);
  letter-spacing:  0.03em;
}

:root .sc-Fvrvua:hover {
  color: var(--color-accent);
}

:root .article-meta,
:root .card-meta {
  font-size: var(--size-sm);
  color:     var(--color-text-muted);
}

:root .label,
:root .tag {
  display:        inline-block;
  font-size:      12px;
  font-weight:    600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color:          var(--color-accent);
  border:         1px solid var(--color-accent);
  border-radius:  var(--radius-sm);
  padding:        2px 8px;
  line-height:    1.5;
}

:root footer {
  background: var(--color-bg-alt);
  border-top: 1px solid var(--color-border);
  color:      var(--color-text-muted);
  font-size:  var(--size-sm);
  padding:    calc(var(--space) * 2);
  margin-top: calc(var(--space) * 4);
}

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

:root footer a:hover {
  color: var(--color-accent);
}

:root hr {
  border:     none;
  border-top: 1px solid var(--color-border);
  margin:     calc(var(--space) * 2) 0;
}

/* === R2 fixes (2026-06-15T15:00:22.120161+00:00) === */

:root article p,
:root main article p {
  line-height: 1.78;
}

:root article h2,
:root main h2 {
  margin-top:    2.8em;
  margin-bottom: 0.5em;
}

:root article h3,
:root main h3 {
  font-size:   1.05em;
  font-weight: 600;
  font-style:  italic;
  margin-top:  1.6em;
}

:root article h2 + p,
:root main h2 + p {
  font-size: 1.04em;
  color:     inherit;
}

:root article figcaption,
:root article img + p,
:root article .sc-ShHXEI + p,
:root article div[class*='ShHXEI'] + p {
  font-size:   0.82em;
  color:       #888;
  font-style:  italic;
  margin-top:  0.35em;
  display:     block;
  text-align:  center;
}

@media (max-width: 640px) {
  :root header {
    padding: var(--space);
  }

  :root header h1 {
    font-size: 1.5rem;
  }

  :root .sc-cxexck {
    padding: var(--space);
  }

  :root h1 { font-size: 1.75rem; }
  :root h2 { font-size: 1.4rem; }
  :root h3 { font-size: 1.15rem; }
}

/* === R3 fixes (2026-06-15T15:40:17.239475+00:00) === */

/* Fix 1 — tagline quasi-blanc complet, légèrement grossi */
:root header p,
:root header .site-description,
:root header span:not(.sc-jUvuvm span) {
  color:          rgba(255, 255, 255, 0.95);
  font-size:      1.02em;
  letter-spacing: 0.01em;
}

/* Fix 2 — disclosure note visuellement isolée du corps du texte */
:root .sc-ExjyvP {
  display:          block;
  margin-top:       2.2em;
  padding:          0.85em 1.1em;
  background-color: rgba(124, 61, 32, 0.07);
  border-left:      3px solid rgba(124, 61, 32, 0.35);
  border-radius:    0 4px 4px 0;
  font-size:        0.86em;
  color:            #6B4F43;
  font-style:       italic;
}

/* Fix 3 — blockquotes pour chiffres-clés repérables au scan */
:root article blockquote,
:root .bld-content blockquote {
  border-left:      3px solid #7C3D20;
  padding:          0.7em 1.2em 0.7em 1.4em;
  margin:           1.8em 0;
  background-color: rgba(124, 61, 32, 0.05);
  font-style:       italic;
  font-size:        1.02em;
  color:            #4A2010;
  border-radius:    0 4px 4px 0;
}

/* Fix 4 — encadré articles connexes, intention éditoriale signalée */
:root .sc-neCVtX,
:root section.sc-neCVtX {
  background-color: rgba(124, 61, 32, 0.06);
  border-radius:    6px;
  padding:          1.2em 1.4em;
  margin-top:       2.4em;
  border:           1px solid rgba(124, 61, 32, 0.15);
}

/* Fix 5 — label 'ARTICLES CONNEXES' comme étiquette de navigation */
:root .sc-neCVtX h3 {
  font-size:      0.9em;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color:          #7C3D20;
  margin-bottom:  0.7em;
  font-weight:    600;
}

/* === R4 fixes (2026-06-15T16:20:17.908345+00:00) === */

/* Fix 1 — date de publication comme métadonnée, pas comme corps de texte */
:root main time,
:root article time {
  display:       block;
  font-size:     0.82em;
  color:         var(--color-text-muted);
  margin-top:    0.25em;
  margin-bottom: 1.6em;
  letter-spacing: 0.02em;
}

/* Fix 2 — images éditoriales avec border-radius cohérent */
:root .sc-ShHXEI,
:root div[class*='ShHXEI'] {
  margin: 2em 0;
}

:root .sc-IJMlBv,
:root img[class*='IJMlBv'] {
  border-radius: 6px;
  max-width:     100%;
  height:        auto;
  display:       block;
}

/* Fix 3 — date dans les cards homepage comme métadonnée secondaire */
:root p.date,
:root .date {
  font-size:     var(--size-sm);
  color:         var(--color-text-muted);
  margin-top:    0.25em;
  margin-bottom: 0.4em;
}

/* Fix 4 — lien 'Read More' comme CTA bouton-texte, pas lien ordinaire */
:root a.sc-Fvrvua {
  text-decoration: none;
  font-size:       var(--size-sm);
  font-weight:     600;
  letter-spacing:  0.04em;
  color:           var(--color-link);
  display:         inline-block;
  margin-top:      0.5em;
}

/* Fix 5 — cards homepage ciblées explicitement pour cohérence palette */
:root article.sc-KVhWot {
  background:    var(--color-bg);
  border:        1px solid var(--color-border);
  border-radius: var(--radius);
  padding:       1.2em 1.4em;
  margin-bottom: 1.2em;
}
