/* Migrated from inline <style> — calculatrice-tva-restauration.css */
:root {
      --cream:#F7F5F0; --dark:#1C1A14; --accent:#1B4FCC; --accent-hover:#1640A8;
      --accent-light:rgba(27,79,204,0.07); --text-muted:#6B6560; --text-faint:#9B9590;
      --border:rgba(28,26,20,0.10); --shadow:0 4px 20px rgba(28,26,20,0.07);
      --radius:12px; --green:#16A34A; --orange:#D97706; --red:#DC2626;
    }

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

    body {
      font-family:'DM Sans',sans-serif;
      background:var(--cream);
      color:var(--dark);
      line-height:1.7;
      -webkit-font-smoothing:antialiased;
    }

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

    /* ── HEADER ── */
    .header {
      max-width:1100px; margin:0 auto;
      padding:20px 20px 0;
      display:flex; justify-content:space-between; align-items:center;
    }
    .logo {
      font-family:'Fraunces',serif; font-style:italic;
      font-weight:400; font-size:24px; color:var(--dark);
    }
    .header-cta {
      font-size:14px; font-weight:600; color:var(--accent);
      border:1.5px solid var(--accent);
      padding:8px 18px; border-radius:8px; transition:all .2s;
    }
    .header-cta:hover { background:var(--accent); color:#fff; }

    /* ── BREADCRUMB ── */
    .breadcrumb {
      max-width:720px; margin:0 auto;
      padding:20px 20px 0; font-size:13px; color:var(--text-faint);
    }
    .breadcrumb a { color:var(--text-muted); }
    @media(max-width:480px) { .breadcrumb { font-size:12px; } }

    /* ── PAGE ── */
    .page { max-width:720px; margin:0 auto; padding:16px 20px 64px; }

    .page h1 {
      font-family:'Fraunces',serif; font-weight:400;
      font-size:clamp(26px,4vw,38px); line-height:1.2;
      margin-bottom:8px;
    }
    .page .subtitle {
      color:var(--text-muted); font-size:17px; margin-bottom:28px;
    }
    .page h2 {
      font-family:'Fraunces',serif; font-weight:400;
      font-size:clamp(20px,3vw,26px); margin:44px 0 16px; line-height:1.3;
    }
    .page h3 { font-size:17px; font-weight:600; margin:24px 0 10px; }
    .page p { margin-bottom:16px; font-size:16px; }
        .why-free{font-size:14px;color:var(--text-muted);font-style:italic;border-left:3px solid var(--border);padding:10px 14px;margin-top:8px;margin-bottom:8px;background:rgba(28,26,20,0.03);border-radius:0 6px 6px 0}
    .page ul, .page ol { margin:0 0 16px 24px; font-size:16px; }
    .page li { margin-bottom:8px; }

    /* ── CALCULATOR CARD ── */
    .calc-card {
      background:#fff;
      border:1.5px solid var(--border);
      border-radius:var(--radius);
      padding:28px 28px 24px;
      margin-bottom:28px;
      box-shadow:var(--shadow);
    }
    @media(max-width:480px) { .calc-card { padding:20px 16px 20px; } }

    /* ── TAUX SELECTOR ── */
    .taux-label {
      font-weight:600; font-size:14px; margin-bottom:10px; display:block;
    }
    .taux-group {
      display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px;
    }
    .taux-btn {
      flex:1; min-width:120px;
      padding:11px 14px; border-radius:8px;
      border:1.5px solid var(--border);
      background:var(--cream);
      font-family:'DM Sans',sans-serif; font-size:14px; font-weight:500;
      color:var(--text-muted); cursor:pointer;
      transition:all .2s; text-align:center; line-height:1.35;
    }
    .taux-btn:hover { border-color:var(--accent); color:var(--accent); }
    .taux-btn.active {
      border-color:var(--accent); background:var(--accent-light);
      color:var(--accent); font-weight:600;
    }
    .taux-btn .taux-pct {
      display:block; font-size:18px; font-weight:700;
      font-family:'Fraunces',serif; color:inherit; margin-bottom:2px;
    }

    /* ── MODE TOGGLE ── */
    .mode-toggle {
      display:flex; gap:0; margin-bottom:22px;
      background:var(--cream); border:1.5px solid var(--border);
      border-radius:10px; padding:4px; width:fit-content;
    }
    .mode-btn {
      padding:9px 20px; border-radius:7px; border:none;
      font-family:'DM Sans',sans-serif; font-size:14px; font-weight:500;
      color:var(--text-muted); background:transparent; cursor:pointer;
      transition:all .2s;
    }
    .mode-btn.active {
      background:#fff; color:var(--dark); font-weight:600;
      box-shadow:0 1px 4px rgba(28,26,20,0.10);
    }
    @media(max-width:380px) {
      .mode-toggle { width:100%; }
      .mode-btn { flex:1; padding:9px 10px; }
    }

    /* ── FORM GROUP ── */
    .form-group { margin-bottom:20px; }
    .form-group label {
      display:block; font-weight:600; font-size:14px; margin-bottom:6px;
    }
    .form-group input {
      width:100%; padding:13px 14px;
      border:1.5px solid var(--border); border-radius:8px;
      font-size:16px; font-family:'DM Sans',sans-serif;
      background:var(--cream); transition:border-color .2s;
      -webkit-appearance:none; appearance:none;
    }
    .form-group input:focus {
      outline:none; border-color:var(--accent);
    }
    .form-group input::placeholder { color:var(--text-faint); }

    /* ── RESULT CARDS ── */
    .result-cards {
      display:grid; grid-template-columns:1fr 1fr; gap:12px;
      margin-top:24px; padding-top:24px;
      border-top:1px solid var(--border);
    }
    @media(max-width:400px) {
      .result-cards { grid-template-columns:1fr; }
    }
    .result-card {
      background:var(--cream); border:1.5px solid var(--border);
      border-radius:10px; padding:18px 16px; text-align:center;
    }
    .result-card-label {
      font-size:12px; font-weight:600; text-transform:uppercase;
      letter-spacing:0.5px; color:var(--text-muted); margin-bottom:8px;
    }
    .result-card-amount {
      font-family:'Fraunces',serif; font-size:clamp(28px,6vw,38px);
      font-weight:500; color:var(--dark); line-height:1.1;
    }
    .result-tva-line {
      text-align:center; margin-top:14px;
      font-size:14px; color:var(--text-muted);
    }
    .result-tva-line strong { color:var(--dark); }

    /* ── CTA DIAGNOSTIC ── */
    .cta-box {
      background:#fff; border:1.5px solid var(--accent);
      border-radius:var(--radius); padding:28px;
      text-align:center; margin:32px 0;
    }
    .cta-box p { margin-bottom:14px; font-size:16px; font-weight:500; }
    .cta-box .btn {
      display:inline-block; background:var(--accent); color:#fff;
      padding:14px 28px; border-radius:8px;
      font-weight:600; font-size:15px; transition:background .2s;
    }
    .cta-box .btn:hover { background:var(--accent-hover); color:#fff; }
    .cta-box .sub {
      color:var(--text-muted); font-size:13px;
      margin-top:10px; margin-bottom:0;
    }
    .cta-box .cta-kicker { font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; color:var(--accent); margin-bottom:10px; }
/* ── TABLE ── */
    table { width:100%; border-collapse:collapse; margin:16px 0 24px; font-size:15px; }
    th {
      background:var(--dark); color:#fff; padding:11px 14px;
      text-align:left; font-weight:600; font-size:14px;
    }
    td { padding:10px 14px; border-bottom:1px solid var(--border); }
    tr:nth-child(even) { background:rgba(28,26,20,0.03); }

    /* ── FAQ ── */
    .faq { margin:28px 0; }
    .faq details {
      border:1px solid var(--border); border-radius:8px;
      margin-bottom:10px; background:#fff;
    }
    .faq summary {
      padding:14px 18px; font-weight:600; font-size:15px;
      cursor:pointer; list-style:none;
    }
    .faq summary::-webkit-details-marker { display:none; }
    .faq summary::before { content:"+ "; color:var(--accent); font-weight:700; }
    .faq details[open] summary::before { content:"- "; }
    .faq .faq-answer {
      padding:0 18px 14px; font-size:15px;
      color:var(--text-muted); line-height:1.65;
    }

    /* ── FORMULA BOX ── */
    .formula-box {
      background:#fff; border:1.5px solid var(--border);
      border-radius:8px; padding:18px 20px; margin:20px 0;
      font-size:15px; font-weight:600; text-align:center;
    }
    .formula-box code {
      display:block; font-family:monospace; font-size:14px;
      color:var(--accent); font-weight:500; margin-top:4px;
    }

    /* ── RELATED LINKS ── */
    .related-links {
      font-size:14px; color:var(--text-faint); margin-top:8px; line-height:2;
    }

    /* ── FOOTER ── */
    footer {
      border-top:1px solid var(--border);
      max-width:720px; margin:0 auto;
      padding:32px 20px; text-align:center;
      font-size:13px; color:var(--text-faint);
    }
    footer a { color:var(--text-muted); margin:0 8px; }
    footer p { margin-top:12px; }
