/*
Theme Name: Rousseaudigest-prime
Author: Rousseaudigest-digital
Version: 1.5.9
Description: Rousseaudigest
*/

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

:root {
  --rousseaudigest-accent: #2B8C4E;
  --rousseaudigest-accent-dark: #1E6B3A;
  --rousseaudigest-accent-light: #E6F4EC;
  --rousseaudigest-accent-glow: rgba(43,140,78,0.12);
  --rousseaudigest-text: #2A2A2A;
  --rousseaudigest-text-mid: #5C5C5C;
  --rousseaudigest-text-light: #8A8A8A;
  --rousseaudigest-bg: #FFFFFF;
  --rousseaudigest-bg-warm: #FAF7F2;
  --rousseaudigest-bg-warm-alt: #F5F0E8;
  --rousseaudigest-border: #E8E4DE;
  --rousseaudigest-heading: 'Crimson Pro', Georgia, serif;
  --rousseaudigest-body: 'Work Sans', Helvetica, sans-serif;
  --rousseaudigest-radius: 10px;
  --rousseaudigest-radius-lg: 16px;
  --rousseaudigest-shadow: 0 4px 20px rgba(0,0,0,0.06);
  --rousseaudigest-shadow-hover: 0 8px 32px rgba(0,0,0,0.10);
  --rousseaudigest-transition: 0.25s cubic-bezier(0.4,0,0.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--rousseaudigest-body);
  color: var(--rousseaudigest-text);
  background: var(--rousseaudigest-bg);
  line-height: 1.7;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--rousseaudigest-accent); text-decoration: none; transition: color var(--rousseaudigest-transition); }
a:hover { color: var(--rousseaudigest-accent-dark); }

h1, h2, h3, h4, h5 { font-family: var(--rousseaudigest-heading); font-weight: 700; line-height: 1.25; color: var(--rousseaudigest-text); }
h1 { font-size: clamp(2rem, 4vw, 3.2rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); margin-bottom: 1rem; }
h3 { font-size: clamp(1.2rem, 2vw, 1.6rem); margin-bottom: 0.75rem; }

/* ── UTILITY ── */
.rousseaudigest-u-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
.rousseaudigest-u-container--narrow { max-width: 900px; }
.rousseaudigest-u-label { display: inline-block; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; color: var(--rousseaudigest-accent); background: var(--rousseaudigest-accent-light); padding: 0.3rem 0.9rem; border-radius: 100px; margin-bottom: 1rem; }

/* ── BUTTONS ── */
.rousseaudigest-c-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.8rem 1.6rem; border-radius: var(--rousseaudigest-radius); border: 2px solid transparent;
  font-family: var(--rousseaudigest-body); font-weight: 600; font-size: 0.95rem;
  cursor: pointer; transition: all var(--rousseaudigest-transition);
  min-height: 44px; min-width: 120px; box-sizing: border-box;
  white-space: nowrap; flex-shrink: 0; line-height: 1.2; text-decoration: none;
}
.rousseaudigest-c-btn--primary { background: var(--rousseaudigest-accent); color: #fff; border-color: var(--rousseaudigest-accent); }
.rousseaudigest-c-btn--primary:hover { background: var(--rousseaudigest-accent-dark); border-color: var(--rousseaudigest-accent-dark); transform: translateY(-2px); box-shadow: var(--rousseaudigest-shadow-hover); color: #fff; }
.rousseaudigest-c-btn--secondary { background: transparent; color: var(--rousseaudigest-accent); border-color: var(--rousseaudigest-accent); }
.rousseaudigest-c-btn--secondary:hover { background: var(--rousseaudigest-accent-light); transform: translateY(-2px); }
.rousseaudigest-c-btn--ghost { background: transparent; color: var(--rousseaudigest-text); border-color: var(--rousseaudigest-border); }
.rousseaudigest-c-btn--ghost:hover { border-color: var(--rousseaudigest-accent); color: var(--rousseaudigest-accent); }

/* ── HEADER ── */
.rousseaudigest-c-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(255,255,255,0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--rousseaudigest-border);
  transition: background var(--rousseaudigest-transition), box-shadow var(--rousseaudigest-transition);
}
.rousseaudigest-c-header.is-solid { background: var(--rousseaudigest-bg); box-shadow: var(--rousseaudigest-shadow); }
.rousseaudigest-c-header__inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.rousseaudigest-c-header .logo { font-family: var(--rousseaudigest-heading); font-size: 1.6rem; font-weight: 700; color: var(--rousseaudigest-accent); letter-spacing: -0.02em; }
.rousseaudigest-c-header .logo:hover { color: var(--rousseaudigest-accent-dark); }

.rousseaudigest-c-nav { display: flex; align-items: center; gap: 0.25rem; list-style: none; }
.rousseaudigest-c-nav__item { position: relative; }
.rousseaudigest-c-nav__link { display: block; padding: 0.5rem 0.85rem; font-size: 0.9rem; font-weight: 500; color: var(--rousseaudigest-text-mid); border-radius: var(--rousseaudigest-radius); transition: all var(--rousseaudigest-transition); }
.rousseaudigest-c-nav__link:hover { color: var(--rousseaudigest-accent); background: var(--rousseaudigest-accent-light); }

/* mega menu */
.rousseaudigest-c-mega { position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px); width: 480px; background: var(--rousseaudigest-bg); border-radius: var(--rousseaudigest-radius-lg); box-shadow: var(--rousseaudigest-shadow-hover); padding: 1.5rem; opacity: 0; visibility: hidden; pointer-events: none; transition: all var(--rousseaudigest-transition); z-index: 100; }
.rousseaudigest-c-nav__item:hover .rousseaudigest-c-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.rousseaudigest-c-mega__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rousseaudigest-c-mega__card { padding: 1rem; border-radius: var(--rousseaudigest-radius); transition: background var(--rousseaudigest-transition); }
.rousseaudigest-c-mega__card:hover { background: var(--rousseaudigest-accent-light); }
.rousseaudigest-c-mega__card h4 { font-size: 0.95rem; margin-bottom: 0.25rem; }
.rousseaudigest-c-mega__card p { font-size: 0.8rem; color: var(--rousseaudigest-text-light); line-height: 1.5; }

/* burger */
.rousseaudigest-c-burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
.rousseaudigest-c-burger span { display: block; width: 24px; height: 2px; background: var(--rousseaudigest-text); border-radius: 2px; transition: all var(--rousseaudigest-transition); }

@media (max-width: 768px) {
  .rousseaudigest-c-burger { display: flex; }
  .rousseaudigest-c-nav { position: fixed; top: 72px; left: 0; right: 0; bottom: 0; flex-direction: column; background: var(--rousseaudigest-bg); padding: 2rem 1.5rem; gap: 0.5rem; transform: translateX(100%); transition: transform var(--rousseaudigest-transition); z-index: 999; }
  .rousseaudigest-c-nav.is-open { transform: translateX(0); }
  .rousseaudigest-c-nav__link { font-size: 1.1rem; padding: 0.75rem 1rem; }
  .rousseaudigest-c-mega { position: static; transform: none; width: 100%; box-shadow: none; padding: 0.5rem 0 0 1rem; opacity: 1; visibility: visible; pointer-events: auto; }
  .rousseaudigest-c-mega__grid { grid-template-columns: 1fr; }
}

/* ── HERO ── */
.rousseaudigest-s-hero { padding: 8rem 0 4rem; background: linear-gradient(175deg, var(--rousseaudigest-bg-warm) 0%, var(--rousseaudigest-bg) 100%); position: relative; overflow: hidden; }
.rousseaudigest-s-hero::before { content: ''; position: absolute; top: -60%; right: -20%; width: 600px; height: 600px; border-radius: 50%; background: var(--rousseaudigest-accent-glow); filter: blur(80px); pointer-events: none; }
.rousseaudigest-s-hero__content { position: relative; z-index: 1; max-width: 720px; }
.rousseaudigest-s-hero__title { margin-bottom: 1.25rem; }
.rousseaudigest-s-hero__lead { font-size: 1.15rem; color: var(--rousseaudigest-text-mid); line-height: 1.8; margin-bottom: 2rem; }
.rousseaudigest-s-hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; }

/* page hero (inner pages) */
.rousseaudigest-s-page-hero { padding: 7rem 0 3rem; background: var(--rousseaudigest-bg-warm); }
.rousseaudigest-s-page-hero h1 { margin-bottom: 0.75rem; }
.rousseaudigest-s-page-hero p { color: var(--rousseaudigest-text-mid); font-size: 1.05rem; max-width: 640px; }

/* ── SECTION PATTERNS ── */
.rousseaudigest-s-section { padding: 5rem 0; }
.rousseaudigest-s-section--warm { background: var(--rousseaudigest-bg-warm); }
.rousseaudigest-s-section--accent { background: var(--rousseaudigest-accent); color: #fff; }
.rousseaudigest-s-section--accent h2, .rousseaudigest-s-section--accent h3 { color: #fff; }
.rousseaudigest-s-section__header { text-align: center; max-width: 640px; margin: 0 auto 3rem; }
.rousseaudigest-s-section__header p { color: var(--rousseaudigest-text-mid); margin-top: 0.75rem; }

/* ── CARDS ── */
.rousseaudigest-c-card { background: var(--rousseaudigest-bg); border-radius: var(--rousseaudigest-radius-lg); overflow: hidden; box-shadow: var(--rousseaudigest-shadow); transition: all var(--rousseaudigest-transition); border: 1px solid var(--rousseaudigest-border); }
.rousseaudigest-c-card:hover { transform: translateY(-4px); box-shadow: var(--rousseaudigest-shadow-hover); }
.rousseaudigest-c-card__img { width: 100%; height: 220px; object-fit: cover; }
.rousseaudigest-c-card__body { padding: 1.5rem; }
.rousseaudigest-c-card__tag { font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--rousseaudigest-accent); margin-bottom: 0.5rem; display: block; }
.rousseaudigest-c-card__title { font-size: 1.2rem; margin-bottom: 0.5rem; }
.rousseaudigest-c-card__title a { color: var(--rousseaudigest-text); }
.rousseaudigest-c-card__title a:hover { color: var(--rousseaudigest-accent); }
.rousseaudigest-c-card__excerpt { font-size: 0.9rem; color: var(--rousseaudigest-text-mid); line-height: 1.6; margin-bottom: 1rem; }
.rousseaudigest-c-card__meta { font-size: 0.8rem; color: var(--rousseaudigest-text-light); }

.rousseaudigest-c-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
@media (max-width: 768px) { .rousseaudigest-c-cards-grid { grid-template-columns: 1fr; } }

/* ── STATS ── */
.rousseaudigest-c-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; text-align: center; }
.rousseaudigest-c-stat { padding: 2rem 1rem; }
.rousseaudigest-c-stat__number { font-family: var(--rousseaudigest-heading); font-size: 2.8rem; font-weight: 700; color: var(--rousseaudigest-accent); line-height: 1; margin-bottom: 0.5rem; }
.rousseaudigest-c-stat__label { font-size: 0.85rem; color: var(--rousseaudigest-text-mid); font-weight: 500; }
@media (max-width: 768px) { .rousseaudigest-c-stats { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }

/* ── TWO COL ── */
.rousseaudigest-c-twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.rousseaudigest-c-twocol__img { border-radius: var(--rousseaudigest-radius-lg); box-shadow: var(--rousseaudigest-shadow); }
.rousseaudigest-c-twocol__text h2 { margin-bottom: 1rem; }
.rousseaudigest-c-twocol__text p { color: var(--rousseaudigest-text-mid); margin-bottom: 1rem; }
@media (max-width: 768px) { .rousseaudigest-c-twocol { grid-template-columns: 1fr; gap: 2rem; } }

/* ── TIP BOX ── */
.rousseaudigest-c-tip { background: var(--rousseaudigest-accent-light); border-left: 4px solid var(--rousseaudigest-accent); border-radius: 0 var(--rousseaudigest-radius) var(--rousseaudigest-radius) 0; padding: 1.25rem 1.5rem; margin: 2rem 0; }
.rousseaudigest-c-tip__title { font-weight: 600; color: var(--rousseaudigest-accent-dark); margin-bottom: 0.35rem; font-size: 0.95rem; }
.rousseaudigest-c-tip__text { font-size: 0.9rem; color: var(--rousseaudigest-text-mid); }

/* ── QUOTE ── */
.rousseaudigest-c-quote { border-left: 4px solid var(--rousseaudigest-accent); padding: 1.5rem 2rem; margin: 2.5rem 0; background: var(--rousseaudigest-bg-warm); border-radius: 0 var(--rousseaudigest-radius-lg) var(--rousseaudigest-radius-lg) 0; }
.rousseaudigest-c-quote__text { font-family: var(--rousseaudigest-heading); font-size: 1.3rem; font-style: italic; color: var(--rousseaudigest-text); line-height: 1.5; margin-bottom: 0.75rem; }
.rousseaudigest-c-quote__author { font-size: 0.85rem; color: var(--rousseaudigest-text-light); font-weight: 500; }

/* ── FAQ ── */
.rousseaudigest-c-faq { max-width: 760px; margin: 0 auto; }
.rousseaudigest-c-faq__item { border-bottom: 1px solid var(--rousseaudigest-border); }
.rousseaudigest-c-faq__q { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 1.25rem 0; background: none; border: none; cursor: pointer; font-family: var(--rousseaudigest-body); font-size: 1rem; font-weight: 600; color: var(--rousseaudigest-text); text-align: left; transition: color var(--rousseaudigest-transition); }
.rousseaudigest-c-faq__q:hover { color: var(--rousseaudigest-accent); }
.rousseaudigest-c-faq__q::after { content: '+'; font-size: 1.4rem; font-weight: 400; color: var(--rousseaudigest-accent); transition: transform var(--rousseaudigest-transition); flex-shrink: 0; margin-left: 1rem; }
.rousseaudigest-c-faq__item.is-open .rousseaudigest-c-faq__q::after { transform: rotate(45deg); }
.rousseaudigest-c-faq__a { max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.35s ease; }
.rousseaudigest-c-faq__a__inner { padding: 0 0 1.25rem; font-size: 0.95rem; color: var(--rousseaudigest-text-mid); line-height: 1.7; }

/* ── ARTICLE LAYOUT ── */
.rousseaudigest-s-article { padding: 6rem 0 4rem; }
.rousseaudigest-c-article-grid { display: grid; grid-template-columns: 1fr 340px; gap: 3.5rem; }
.rousseaudigest-c-article__content { min-width: 0; }
.rousseaudigest-c-article__content h2 { margin-top: 2.5rem; margin-bottom: 1rem; font-size: 1.6rem; }
.rousseaudigest-c-article__content h3 { margin-top: 2rem; margin-bottom: 0.75rem; }
.rousseaudigest-c-article__content p { margin-bottom: 1.25rem; color: var(--rousseaudigest-text-mid); }
.rousseaudigest-c-article__content ul, .rousseaudigest-c-article__content ol { margin: 1rem 0 1.5rem 1.5rem; color: var(--rousseaudigest-text-mid); }
.rousseaudigest-c-article__content li { margin-bottom: 0.5rem; }
.rousseaudigest-c-article__content img { border-radius: var(--rousseaudigest-radius-lg); margin: 2rem 0; box-shadow: var(--rousseaudigest-shadow); }
.rousseaudigest-c-article__content strong { color: var(--rousseaudigest-text); font-weight: 600; }
.rousseaudigest-c-article__meta { display: flex; gap: 1.5rem; align-items: center; margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--rousseaudigest-border); font-size: 0.85rem; color: var(--rousseaudigest-text-light); }
.rousseaudigest-c-article__author { font-weight: 600; color: var(--rousseaudigest-text); }
.rousseaudigest-c-article__keypoints { background: var(--rousseaudigest-accent-light); border-radius: var(--rousseaudigest-radius-lg); padding: 1.75rem; margin-bottom: 2.5rem; }
.rousseaudigest-c-article__keypoints h3 { color: var(--rousseaudigest-accent-dark); font-size: 1rem; margin-bottom: 0.75rem; }
.rousseaudigest-c-article__keypoints ul { list-style: none; margin: 0; padding: 0; }
.rousseaudigest-c-article__keypoints li { position: relative; padding-left: 1.5rem; margin-bottom: 0.5rem; font-size: 0.9rem; color: var(--rousseaudigest-text-mid); }
.rousseaudigest-c-article__keypoints li::before { content: '\2713'; position: absolute; left: 0; color: var(--rousseaudigest-accent); font-weight: 700; }

/* ── SIDEBAR ── */
.rousseaudigest-c-sidebar { position: sticky; top: 90px; align-self: start; }
.rousseaudigest-c-sidebar__block { background: var(--rousseaudigest-bg-warm); border-radius: var(--rousseaudigest-radius-lg); padding: 1.5rem; margin-bottom: 1.5rem; }
.rousseaudigest-c-sidebar__block h3 { font-size: 1rem; margin-bottom: 1rem; padding-bottom: 0.75rem; border-bottom: 2px solid var(--rousseaudigest-accent); }
.rousseaudigest-c-sidebar__list { list-style: none; padding: 0; }
.rousseaudigest-c-sidebar__list li { padding: 0.6rem 0; border-bottom: 1px solid var(--rousseaudigest-border); }
.rousseaudigest-c-sidebar__list li:last-child { border: none; }
.rousseaudigest-c-sidebar__list a { font-size: 0.9rem; color: var(--rousseaudigest-text-mid); font-weight: 500; }
.rousseaudigest-c-sidebar__list a:hover { color: var(--rousseaudigest-accent); }
.rousseaudigest-c-sidebar__tip { background: var(--rousseaudigest-accent); color: #fff; border-radius: var(--rousseaudigest-radius-lg); padding: 1.5rem; margin-bottom: 1.5rem; }
.rousseaudigest-c-sidebar__tip h3 { color: #fff; border-bottom-color: rgba(255,255,255,0.3); }
.rousseaudigest-c-sidebar__tip p { font-size: 0.9rem; color: rgba(255,255,255,0.9); margin-bottom: 0.5rem; }

@media (max-width: 768px) {
  .rousseaudigest-c-article-grid { grid-template-columns: 1fr; }
  .rousseaudigest-c-sidebar { position: static; }
}

/* ── CTA SECTION ── */
.rousseaudigest-s-cta { padding: 5rem 0; background: linear-gradient(135deg, var(--rousseaudigest-accent) 0%, var(--rousseaudigest-accent-dark) 100%); color: #fff; text-align: center; position: relative; overflow: hidden; }
.rousseaudigest-s-cta::before { content: ''; position: absolute; top: -100px; right: -100px; width: 300px; height: 300px; border-radius: 50%; background: rgba(255,255,255,0.06); pointer-events: none; }
.rousseaudigest-s-cta::after { content: ''; position: absolute; bottom: -80px; left: -60px; width: 250px; height: 250px; border-radius: 50%; background: rgba(255,255,255,0.04); pointer-events: none; }
.rousseaudigest-s-cta h2 { color: #fff; margin-bottom: 1rem; }
.rousseaudigest-s-cta p { color: rgba(255,255,255,0.9); max-width: 560px; margin: 0 auto 2rem; }
.rousseaudigest-s-cta .rousseaudigest-c-form { max-width: 480px; margin: 0 auto; display: flex; gap: 0.75rem; }
.rousseaudigest-s-cta .rousseaudigest-c-form input[type="email"] { flex: 1; padding: 0.8rem 1.2rem; border: 2px solid rgba(255,255,255,0.3); border-radius: var(--rousseaudigest-radius); background: rgba(255,255,255,0.12); color: #fff; font-family: var(--rousseaudigest-body); font-size: 0.95rem; min-height: 44px; box-sizing: border-box; outline: none; transition: border-color var(--rousseaudigest-transition); }
.rousseaudigest-s-cta .rousseaudigest-c-form input[type="email"]::placeholder { color: rgba(255,255,255,0.6); }
.rousseaudigest-s-cta .rousseaudigest-c-form input[type="email"]:focus { border-color: #fff; }
.rousseaudigest-s-cta .rousseaudigest-c-form .rousseaudigest-c-btn { background: #fff; color: var(--rousseaudigest-accent); border-color: #fff; }
.rousseaudigest-s-cta .rousseaudigest-c-form .rousseaudigest-c-btn:hover { background: var(--rousseaudigest-bg-warm); transform: translateY(-2px); }
.rousseaudigest-s-cta .rousseaudigest-c-micro { font-size: 0.8rem; color: rgba(255,255,255,0.7); margin-top: 1rem; }
@media (max-width: 768px) { .rousseaudigest-s-cta .rousseaudigest-c-form { flex-direction: column; } }

/* ── CONTACT ── */
.rousseaudigest-c-contact-timeline { max-width: 700px; margin: 0 auto 3rem; position: relative; padding-left: 2.5rem; }
.rousseaudigest-c-contact-timeline::before { content: ''; position: absolute; left: 0.75rem; top: 0; bottom: 0; width: 2px; background: var(--rousseaudigest-accent-light); }
.rousseaudigest-c-timeline-step { position: relative; margin-bottom: 2rem; padding-left: 1.5rem; }
.rousseaudigest-c-timeline-step::before { content: ''; position: absolute; left: -2rem; top: 0.35rem; width: 18px; height: 18px; border-radius: 50%; background: var(--rousseaudigest-accent); border: 3px solid var(--rousseaudigest-accent-light); }
.rousseaudigest-c-timeline-step h3 { font-size: 1.1rem; margin-bottom: 0.25rem; }
.rousseaudigest-c-timeline-step p { font-size: 0.9rem; color: var(--rousseaudigest-text-mid); }

.rousseaudigest-c-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
@media (max-width: 768px) { .rousseaudigest-c-contact-grid { grid-template-columns: 1fr; } }

/* ── FORMS ── */
.rousseaudigest-c-form-block { background: var(--rousseaudigest-bg); border-radius: var(--rousseaudigest-radius-lg); padding: 2rem; box-shadow: var(--rousseaudigest-shadow); border: 1px solid var(--rousseaudigest-border); }
.rousseaudigest-c-form-block h3 { margin-bottom: 1.5rem; }
.rousseaudigest-c-field { margin-bottom: 1.25rem; }
.rousseaudigest-c-field label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 0.35rem; color: var(--rousseaudigest-text); }
.rousseaudigest-c-field input, .rousseaudigest-c-field select, .rousseaudigest-c-field textarea { width: 100%; padding: 0.75rem 1rem; border: 1.5px solid var(--rousseaudigest-border); border-radius: var(--rousseaudigest-radius); font-family: var(--rousseaudigest-body); font-size: 0.95rem; color: var(--rousseaudigest-text); background: var(--rousseaudigest-bg); transition: border-color var(--rousseaudigest-transition); outline: none; box-sizing: border-box; }
.rousseaudigest-c-field input:focus, .rousseaudigest-c-field select:focus, .rousseaudigest-c-field textarea:focus { border-color: var(--rousseaudigest-accent); }
.rousseaudigest-c-field textarea { min-height: 120px; resize: vertical; }
.rousseaudigest-c-checkbox { display: flex; gap: 0.5rem; align-items: flex-start; margin-bottom: 1.25rem; }
.rousseaudigest-c-checkbox input[type="checkbox"] { margin-top: 0.25rem; accent-color: var(--rousseaudigest-accent); }
.rousseaudigest-c-checkbox label { font-size: 0.85rem; color: var(--rousseaudigest-text-mid); }

/* ── CONTACT INFO ── */
.rousseaudigest-c-contact-info { padding: 2rem; background: var(--rousseaudigest-bg-warm); border-radius: var(--rousseaudigest-radius-lg); }
.rousseaudigest-c-contact-info h3 { margin-bottom: 1.5rem; }
.rousseaudigest-c-contact-item { display: flex; gap: 0.75rem; align-items: flex-start; margin-bottom: 1.25rem; }
.rousseaudigest-c-contact-item__icon { width: 36px; height: 36px; border-radius: 50%; background: var(--rousseaudigest-accent-light); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1rem; }
.rousseaudigest-c-contact-item__text { font-size: 0.9rem; color: var(--rousseaudigest-text-mid); }
.rousseaudigest-c-contact-item__text strong { display: block; color: var(--rousseaudigest-text); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.15rem; }

/* ── MAP ── */
.rousseaudigest-c-map { margin-top: 1.5rem; border-radius: var(--rousseaudigest-radius-lg); overflow: hidden; }

/* ── FOOTER ── */
.rousseaudigest-c-footer { background: var(--rousseaudigest-text); color: rgba(255,255,255,0.7); padding: 4rem 0 2rem; }
.rousseaudigest-c-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 2.5rem; margin-bottom: 3rem; }
.rousseaudigest-c-footer h4 { color: #fff; font-size: 1rem; margin-bottom: 1rem; }
.rousseaudigest-c-footer p { font-size: 0.9rem; line-height: 1.6; }
.rousseaudigest-c-footer__brand p { margin-top: 0.75rem; font-size: 0.85rem; }
.rousseaudigest-c-footer__links { list-style: none; padding: 0; }
.rousseaudigest-c-footer__links li { margin-bottom: 0.5rem; }
.rousseaudigest-c-footer__links a { color: rgba(255,255,255,0.7); font-size: 0.9rem; }
.rousseaudigest-c-footer__links a:hover { color: var(--rousseaudigest-accent-light); }
.rousseaudigest-c-footer__contact-item { display: flex; gap: 0.5rem; margin-bottom: 0.6rem; font-size: 0.9rem; }
.rousseaudigest-c-footer__contact-item a { color: rgba(255,255,255,0.7); }
.rousseaudigest-c-footer__contact-item a:hover { color: #fff; }
.rousseaudigest-c-footer__bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1.5rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; font-size: 0.8rem; }
.rousseaudigest-c-footer__bottom a { color: rgba(255,255,255,0.5); }
.rousseaudigest-c-footer__bottom a:hover { color: #fff; }
@media (max-width: 768px) {
  .rousseaudigest-c-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .rousseaudigest-c-footer__bottom { flex-direction: column; text-align: center; }
}

/* ── TESTIMONIAL ── */
.rousseaudigest-c-testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.rousseaudigest-c-testimonial { background: var(--rousseaudigest-bg); padding: 2rem; border-radius: var(--rousseaudigest-radius-lg); box-shadow: var(--rousseaudigest-shadow); border: 1px solid var(--rousseaudigest-border); }
.rousseaudigest-c-testimonial__stars { color: #F0B429; font-size: 1rem; margin-bottom: 0.75rem; letter-spacing: 0.1em; }
.rousseaudigest-c-testimonial__text { font-size: 0.95rem; color: var(--rousseaudigest-text-mid); font-style: italic; line-height: 1.6; margin-bottom: 1rem; }
.rousseaudigest-c-testimonial__author { font-size: 0.85rem; font-weight: 600; color: var(--rousseaudigest-text); }
@media (max-width: 768px) { .rousseaudigest-c-testimonials { grid-template-columns: 1fr; } }

/* ── POLICY / TERMS ── */
.rousseaudigest-s-legal { padding: 6rem 0 4rem; }
.rousseaudigest-s-legal h1 { margin-bottom: 0.5rem; }
.rousseaudigest-s-legal .rousseaudigest-c-legal-updated { font-size: 0.85rem; color: var(--rousseaudigest-text-light); margin-bottom: 2.5rem; }
.rousseaudigest-s-legal h2 { font-size: 1.3rem; margin-top: 2.5rem; margin-bottom: 0.75rem; color: var(--rousseaudigest-accent-dark); }
.rousseaudigest-s-legal h3 { font-size: 1.1rem; margin-top: 1.5rem; }
.rousseaudigest-s-legal p { margin-bottom: 1rem; color: var(--rousseaudigest-text-mid); font-size: 0.95rem; }
.rousseaudigest-s-legal ul { margin: 0.5rem 0 1.5rem 1.5rem; color: var(--rousseaudigest-text-mid); font-size: 0.95rem; }
.rousseaudigest-s-legal li { margin-bottom: 0.4rem; }

/* ── SUCCESS ── */
.rousseaudigest-s-success { min-height: 80vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 6rem 2rem; }
.rousseaudigest-s-success__icon { font-size: 4rem; margin-bottom: 1.5rem; }
.rousseaudigest-s-success h1 { margin-bottom: 1rem; }
.rousseaudigest-s-success p { color: var(--rousseaudigest-text-mid); margin-bottom: 2rem; max-width: 480px; }

/* ── 404 ── */
.rousseaudigest-s-404 { min-height: 80vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 6rem 2rem; }
.rousseaudigest-s-404__code { font-family: var(--rousseaudigest-heading); font-size: 8rem; font-weight: 700; color: var(--rousseaudigest-accent-light); line-height: 1; margin-bottom: 1rem; }
.rousseaudigest-s-404 h1 { margin-bottom: 1rem; font-size: 1.8rem; }
.rousseaudigest-s-404 p { color: var(--rousseaudigest-text-mid); margin-bottom: 2rem; }
.rousseaudigest-s-404__links { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 2rem; }
.rousseaudigest-s-404__links a { font-weight: 500; }

/* ── COOKIE CONSENT ── */
.rousseaudigest-cc-consent { position: fixed; z-index: 10000; }
.rousseaudigest-cc-consent.cc-hidden { display: none; }
.rousseaudigest-cc-banner { position: fixed; bottom: 0; left: 0; right: 0; background: var(--rousseaudigest-bg); box-shadow: 0 -4px 24px rgba(0,0,0,0.12); padding: 1.5rem 2rem; z-index: 10001; }
.rousseaudigest-cc-banner__inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; }
.rousseaudigest-cc-banner__text { flex: 1; min-width: 280px; }
.rousseaudigest-cc-banner__text h3 { font-size: 1rem; margin-bottom: 0.35rem; }
.rousseaudigest-cc-banner__text p { font-size: 0.85rem; color: var(--rousseaudigest-text-mid); }
.rousseaudigest-cc-banner__actions { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.rousseaudigest-cc-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.6rem 1.25rem; border-radius: var(--rousseaudigest-radius); font-family: var(--rousseaudigest-body); font-weight: 600; font-size: 0.85rem; cursor: pointer; min-height: 40px; min-width: 110px; box-sizing: border-box; white-space: nowrap; transition: all var(--rousseaudigest-transition); border: 2px solid var(--rousseaudigest-accent); line-height: 1.2; }
.rousseaudigest-cc-btn--primary { background: var(--rousseaudigest-accent); color: #fff; }
.rousseaudigest-cc-btn--primary:hover { background: var(--rousseaudigest-accent-dark); }
.rousseaudigest-cc-btn--secondary { background: transparent; color: var(--rousseaudigest-accent); }
.rousseaudigest-cc-btn--secondary:hover { background: var(--rousseaudigest-accent-light); }

.rousseaudigest-cc-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 10002; display: none; }
.rousseaudigest-cc-consent.cc-modal-open .rousseaudigest-cc-modal { display: flex; align-items: center; justify-content: center; }
.rousseaudigest-cc-consent.cc-modal-open .rousseaudigest-cc-banner { display: none; }
.rousseaudigest-cc-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.5); pointer-events: auto; }
.rousseaudigest-cc-modal__panel { position: relative; z-index: 1; background: var(--rousseaudigest-bg); border-radius: var(--rousseaudigest-radius-lg); max-width: 560px; width: 90%; max-height: 85vh; overflow-y: auto; padding: 2rem; }
.rousseaudigest-cc-modal__panel header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.rousseaudigest-cc-modal__panel header h3 { font-size: 1.1rem; }
.rousseaudigest-cc-close { background: none; border: none; font-size: 1.6rem; cursor: pointer; color: var(--rousseaudigest-text-light); padding: 4px; line-height: 1; }
.rousseaudigest-cc-cats { list-style: none; padding: 0; margin: 1.5rem 0; }
.rousseaudigest-cc-cats li { padding: 1rem 0; border-bottom: 1px solid var(--rousseaudigest-border); }
.rousseaudigest-cc-cats li:last-child { border: none; }
.rousseaudigest-cc-cat-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.35rem; }
.rousseaudigest-cc-cat-header h4 { font-size: 0.95rem; }
.rousseaudigest-cc-cat__locked { font-size: 0.75rem; color: var(--rousseaudigest-accent); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.rousseaudigest-cc-cats p { font-size: 0.85rem; color: var(--rousseaudigest-text-mid); }
.rousseaudigest-cc-toggle { position: relative; width: 44px; height: 24px; }
.rousseaudigest-cc-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.rousseaudigest-cc-toggle__slider { position: absolute; inset: 0; background: var(--rousseaudigest-border); border-radius: 12px; cursor: pointer; transition: background var(--rousseaudigest-transition); }
.rousseaudigest-cc-toggle__slider::after { content: ''; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform var(--rousseaudigest-transition); pointer-events: none; }
.rousseaudigest-cc-toggle input:checked + .rousseaudigest-cc-toggle__slider { background: var(--rousseaudigest-accent); }
.rousseaudigest-cc-toggle input:checked + .rousseaudigest-cc-toggle__slider::after { transform: translateX(20px); }
.rousseaudigest-cc-modal__actions { display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: flex-end; margin-top: 1.5rem; }

@media (max-width: 768px) {
  .rousseaudigest-cc-banner__inner { flex-direction: column; align-items: stretch; }
  .rousseaudigest-cc-banner__actions { flex-direction: column; }
  .rousseaudigest-cc-btn { width: 100%; }
  .rousseaudigest-cc-modal__actions { flex-direction: column; }
}

/* ── ANIMATIONS ── */
@keyframes rousseaudigestFadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.rousseaudigest-anim { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.rousseaudigest-anim.is-visible { opacity: 1; transform: translateY(0); }

/* ── INLINE HIGHLIGHT ── */
.rousseaudigest-highlight { background: linear-gradient(to top, var(--rousseaudigest-accent-light) 40%, transparent 40%); padding: 0 2px; }

/* ── FOOD LIST ── */
.rousseaudigest-c-food-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; margin: 1.5rem 0; }
.rousseaudigest-c-food-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1rem; background: var(--rousseaudigest-bg-warm); border-radius: var(--rousseaudigest-radius); font-size: 0.9rem; color: var(--rousseaudigest-text-mid); }
.rousseaudigest-c-food-item::before { content: '\1F96C'; font-size: 1.1rem; }
@media (max-width: 768px) { .rousseaudigest-c-food-list { grid-template-columns: 1fr; } }

/* ── ABOUT PAGE ── */
.rousseaudigest-c-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.rousseaudigest-c-value { text-align: center; padding: 2rem 1.5rem; border-radius: var(--rousseaudigest-radius-lg); background: var(--rousseaudigest-bg); border: 1px solid var(--rousseaudigest-border); transition: all var(--rousseaudigest-transition); }
.rousseaudigest-c-value:hover { border-color: var(--rousseaudigest-accent); box-shadow: var(--rousseaudigest-shadow); }
.rousseaudigest-c-value__icon { font-size: 2.5rem; margin-bottom: 1rem; }
.rousseaudigest-c-value h3 { font-size: 1.1rem; margin-bottom: 0.5rem; }
.rousseaudigest-c-value p { font-size: 0.9rem; color: var(--rousseaudigest-text-mid); }
@media (max-width: 768px) { .rousseaudigest-c-values { grid-template-columns: 1fr; } }


/* ── CTA: Postcard with perforated edge ── */
.rousseaudigest-s-cta{padding:5rem 0;background:transparent;position:relative}
.rousseaudigest-cta-card{max-width:760px;margin:0 auto;background:linear-gradient(180deg,#FFFCF7 0%,#F8F4EB 100%);border-radius:14px;padding:3rem 3.2rem 2.6rem;position:relative;box-shadow:0 12px 48px rgba(80,68,52,0.10);border:1px solid rgba(168,140,100,0.18)}
.rousseaudigest-cta-card::before{content:"";position:absolute;top:0;left:24px;right:24px;height:14px;background-image:radial-gradient(circle,#fff 6px,transparent 7px);background-size:18px 14px;background-position:top center;background-repeat:repeat-x}
.rousseaudigest-cta-card__stamp{position:absolute;top:1.2rem;right:1.2rem;width:88px;height:88px;background:#A88C64;color:#FFFCF7;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 4px 16px rgba(168,140,100,0.35);transform:rotate(-8deg);font-family:Georgia,serif}
.rousseaudigest-cta-card__stamp strong{font-family:'Crimson Pro','Source Serif 4',serif;font-size:1.4rem;font-weight:700;line-height:1}
.rousseaudigest-cta-card__stamp span{font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;margin-top:0.25rem;opacity:0.85}
.rousseaudigest-cta-card__head{display:flex;align-items:center;gap:0.9rem;margin-bottom:1.1rem;padding-top:0.5rem}
.rousseaudigest-cta-card__icon{width:46px;height:46px;background:#A88C64;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;box-shadow:0 4px 12px rgba(168,140,100,0.30)}
.rousseaudigest-cta-card__addr{font-family:Georgia,serif;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:#A88C64;font-weight:700}
.rousseaudigest-cta-card__addr small{display:block;font-family:'Source Serif 4',Georgia,serif;font-size:0.7rem;letter-spacing:0.04em;color:#9B8B72;text-transform:none;font-weight:400;margin-top:0.15rem}
.rousseaudigest-cta-card h2{font-family:'Crimson Pro','Source Serif 4',serif !important;color:#3D3528 !important;margin-bottom:0.5rem;line-height:1.15;font-size:clamp(1.5rem,2.5vw,2rem)}
.rousseaudigest-cta-card > p{color:#6B5F4F;margin-bottom:1.4rem;line-height:1.65;font-size:1rem;max-width:520px}
.rousseaudigest-cta-card__form{display:flex;gap:0.5rem;flex-wrap:wrap;background:#fff;border:1px dashed rgba(168,140,100,0.35);border-radius:10px;padding:0.4rem;margin-bottom:0.9rem}
.rousseaudigest-cta-card__form input[type=email]{flex:1;min-width:200px;padding:0.7rem 0.9rem;border:none;background:transparent;font-family:inherit;font-size:0.95rem;color:#3D3528}
.rousseaudigest-cta-card__form input[type=email]:focus{outline:none}
.rousseaudigest-cta-card__form input[type=email]::placeholder{color:#A88C64}
.rousseaudigest-cta-card__form button{padding:0.7rem 1.3rem;background:#3D3528;color:#FFFCF7;border:none;border-radius:6px;font-family:'Crimson Pro',Georgia,serif;font-weight:600;font-size:0.95rem;cursor:pointer;transition:background 0.25s}
.rousseaudigest-cta-card__form button:hover{background:#5A4D3A}
.rousseaudigest-cta-card .rousseaudigest-c-micro{font-size:0.78rem;color:#9B8B72;font-style:italic;text-align:right;border-top:1px dashed rgba(168,140,100,0.20);padding-top:0.7rem;margin-top:0.7rem}
@media(max-width:680px){.rousseaudigest-cta-card{padding:2.4rem 1.6rem 1.8rem}.rousseaudigest-cta-card__stamp{width:64px;height:64px;top:0.8rem;right:0.8rem}.rousseaudigest-cta-card__stamp strong{font-size:1rem}.rousseaudigest-cta-card__form{flex-direction:column}}
