/* ============================================================
   DUPLIKA — Feuille de style partagée des pages de contenu
   Utilisée par les guides SEO :
     /cuisine-fantome-quebec.html
     /marque-virtuelle-restaurant-montreal.html
     /augmenter-revenus-restaurant.html
   ============================================================ */

:root {
  --ink:        #1A0E06;
  --cream:      #FEF9F2;
  --cream-dark: #F0E4D0;
  --orange:     #FF4500;
  --amber:      #E8A000;
  --brick:      #C23B2A;
  --white:      #FFFDF8;
  --gray:       #8A8278;
  --footer-bg:  #100806;
  --border:     rgba(26,14,6,0.10);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--cream);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: var(--orange); text-decoration: none; transition: opacity 0.2s; }
a:hover { opacity: 0.7; }

/* ── NAV ──────────────────────────────────────────────── */
.legal-nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(254,249,242,0.92);
  backdrop-filter: saturate(180%) blur(10px);
  -webkit-backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--border);
}
.legal-nav-inner {
  max-width: 1100px; margin: 0 auto; padding: 18px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.legal-nav a.legal-logo {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Outfit', sans-serif; font-weight: 900; font-size: 18px;
  letter-spacing: -0.02em; color: var(--ink);
}
.legal-logo-mark { width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; color: var(--orange); }
.legal-nav-actions { display: flex; align-items: center; gap: 10px; }
.legal-lang-btn, .legal-cta {
  font-family: inherit; font-weight: 700; font-size: 13px;
  border: 1px solid var(--ink); background: transparent; color: var(--ink);
  padding: 9px 16px; border-radius: 0; cursor: pointer; text-decoration: none;
  letter-spacing: 0.02em; transition: opacity 0.2s, background 0.2s, color 0.2s;
}
.legal-cta { background: var(--orange); color: var(--white); border-color: var(--orange); }
.legal-cta:hover { opacity: 0.9; }
.legal-lang-btn:hover { background: var(--ink); color: var(--cream); opacity: 1; }

/* ── ARTICLE ──────────────────────────────────────────── */
.legal-wrap { max-width: 760px; margin: 0 auto; padding: 64px 24px 100px; }
.legal-eyebrow {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--orange); margin-bottom: 20px;
}
.breadcrumb { font-size: 13px; color: rgba(26,14,6,0.64); margin-bottom: 22px; }
.breadcrumb a { color: rgba(26,14,6,0.64); }
.breadcrumb a:hover { color: var(--orange); opacity: 1; }
h1.legal-title {
  font-family: 'Outfit', sans-serif; font-weight: 900;
  font-size: clamp(32px, 5vw, 52px); line-height: 1.06; letter-spacing: -0.025em;
  color: var(--ink); margin-bottom: 16px;
}
.legal-updated {
  font-size: 13px; color: rgba(26,14,6,0.64);
  margin-bottom: 48px; padding-bottom: 28px; border-bottom: 1px solid var(--border);
}
.legal-intro { font-size: 18px; line-height: 1.7; color: rgba(26,14,6,0.85); margin-bottom: 44px; }
h2.legal-h2 {
  font-family: 'Outfit', sans-serif; font-weight: 900;
  font-size: clamp(22px, 2.6vw, 28px); line-height: 1.15; letter-spacing: -0.018em;
  color: var(--ink); margin-top: 52px; margin-bottom: 16px;
  display: flex; align-items: baseline; gap: 14px;
}
h2.legal-h2 .legal-h2-num { font-size: 13px; font-weight: 800; color: var(--orange); letter-spacing: 0.12em; }
h3.legal-h3 { font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 17px; margin-top: 26px; margin-bottom: 9px; color: var(--ink); }
.legal-wrap p { margin-bottom: 16px; color: rgba(26,14,6,0.85); }
.legal-wrap ul, .legal-wrap ol { margin-bottom: 16px; padding-left: 22px; color: rgba(26,14,6,0.85); }
.legal-wrap li { margin-bottom: 9px; }
.legal-wrap strong { color: var(--ink); font-weight: 700; }
.inline-link { color: var(--orange); text-decoration: underline; text-underline-offset: 2px; }
.inline-link:hover { opacity: 0.7; }

/* ── KEY-STAT CALLOUT ─────────────────────────────────── */
.guide-stat { margin: 28px 0; padding: 22px 26px; background: var(--cream-dark); border: 1px solid rgba(26,14,6,0.10); border-radius: 8px; }
.guide-stat-num { font-family: 'Outfit', sans-serif; font-weight: 900; font-size: clamp(28px, 4vw, 38px); color: var(--orange); line-height: 1; letter-spacing: -0.02em; }
.guide-stat-label { font-size: 15px; color: rgba(26,14,6,0.78); margin-top: 8px; }
.guide-stat p { margin-bottom: 6px; color: rgba(26,14,6,0.85); }
.guide-stat ul { margin-bottom: 0; }
.guide-stat li:last-child { margin-bottom: 0; }
.guide-stat em { color: rgba(26,14,6,0.66); font-style: normal; font-size: 0.85em; }
.guide-sources { font-size: 12px; color: rgba(26,14,6,0.64); margin: 4px 0 28px; line-height: 1.6; }
.guide-sources a { color: rgba(26,14,6,0.62); text-decoration: underline; text-underline-offset: 2px; }
.guide-sources a:hover { color: var(--orange); opacity: 1; }

/* ── CTA BAND ─────────────────────────────────────────── */
.guide-cta-band { margin: 60px 0 8px; padding: 40px 36px; background: var(--ink); color: var(--cream); border-radius: 6px; text-align: center; }
.guide-cta-band h2 { font-family: 'Outfit', sans-serif; font-weight: 900; font-size: clamp(22px, 3vw, 30px); color: var(--white); margin-bottom: 12px; letter-spacing: -0.02em; }
.guide-cta-band p { color: rgba(254,249,242,0.78); margin-bottom: 22px; }
.guide-cta-btn { display: inline-block; background: var(--orange); color: var(--white); font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 16px; padding: 15px 32px; border-radius: 4px; letter-spacing: 0.01em; }
.guide-cta-btn:hover { opacity: 0.92; }

/* ── RELATED LINKS ────────────────────────────────────── */
.guide-related { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--border); }
.guide-related h2 { font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 18px; margin-bottom: 16px; color: var(--ink); }
.guide-related ul { list-style: none; padding: 0; }
.guide-related li { margin-bottom: 10px; }
.guide-related a { font-weight: 600; }

/* ── FOOTER ───────────────────────────────────────────── */
.legal-footer { background: var(--footer-bg); color: rgba(254,249,242,0.62); padding: 32px 24px; font-size: 13px; text-align: center; }
.legal-footer a { color: var(--cream); margin: 0 14px; }
.legal-footer a:hover { color: var(--orange); }

@media (max-width: 600px) {
  .legal-wrap { padding: 48px 20px 80px; }
  h2.legal-h2 { flex-direction: column; gap: 5px; }
  .guide-cta-band { padding: 32px 24px; }
}
