/* ============================================================
   Blog Itera Patrimoine, defiscalisation-quimper.fr
   Feuille autonome pour /blog/ et /blog/<article>/
   Charte identique à la landing (navy #1E254F, or #D0BD1A, DM Sans)
   ============================================================ */

:root{
  --navy:#1E254F;
  --navy-700:#151a3a;
  --gold:#D0BD1A;
  --gold-soft:#e7d873;
  --ink:#1b1f33;
  --muted:#5a607a;
  --bg:#f7f8fc;
  --white:#ffffff;
  --radius:16px;
  --shadow:0 18px 50px rgba(30,37,79,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"DM Sans",system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;color:var(--navy);line-height:1.18;margin:0 0 .5em}
h1{font-size:clamp(1.7rem,4.5vw,2.6rem)}
h2{font-size:clamp(1.3rem,3vw,1.7rem);margin-top:2.2em}
h3{font-size:1.12rem;margin-top:1.6em}
p{margin:0 0 1rem}
a{color:inherit}
.wrap{width:min(1120px,92%);margin-inline:auto}
.btn{display:inline-block;background:linear-gradient(135deg,var(--gold),#bda60f);color:var(--navy);font-weight:700;text-decoration:none;padding:.9rem 1.6rem;border-radius:999px;border:none;cursor:pointer;font-size:1rem;box-shadow:0 10px 24px rgba(208,189,26,.35);transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(208,189,26,.45)}
.btn-ghost{background:transparent;border:2px solid rgba(255,255,255,.5);color:#fff;box-shadow:none}
.btn-ghost:hover{border-color:#fff}

/* ===== Header (repris de la landing) ===== */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(30,37,79,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0}
.brand{display:flex;align-items:center;gap:.5rem;color:var(--navy);font-weight:800;letter-spacing:-.01em;font-size:1.3rem;text-decoration:none}
.nav-cta{display:flex;align-items:center;gap:1rem}
.nav a.link{color:var(--navy);text-decoration:none;font-size:.95rem;font-weight:500}
@media(max-width:720px){.nav a.link{display:none}.nav{padding:.7rem 0}.brand{font-size:1.05rem;gap:.4rem}.nav-cta{gap:.5rem}.nav-cta .btn{padding:.55rem .9rem;font-size:.8rem;white-space:nowrap;box-shadow:0 6px 16px rgba(208,189,26,.3)}}

/* ===== Bandeau de titre du blog ===== */
.blog-hero{background:linear-gradient(150deg,var(--navy),var(--navy-700));color:#fff;padding:3rem 0 2.6rem}
.blog-hero h1{color:#fff;margin:0 0 .3em}
.blog-hero p{color:#d7dbef;max-width:62ch;margin:0}
.blog-hero .eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);font-weight:700;margin-bottom:.9rem;border:1px solid rgba(208,189,26,.4);padding:.32rem .75rem;border-radius:999px}

/* ===== Liste d'articles ===== */
.post-list{display:grid;gap:1.4rem;grid-template-columns:repeat(2,1fr);padding:2.6rem 0 1rem}
@media(max-width:880px){.post-list{grid-template-columns:1fr}}
.post-card{background:var(--white);border:1px solid #eceef6;border-radius:var(--radius);padding:1.6rem;box-shadow:0 8px 24px rgba(30,37,79,.05);display:flex;flex-direction:column;gap:.55rem;transition:transform .2s ease,box-shadow .2s ease}
.post-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(30,37,79,.14)}
.post-card h2{font-size:1.22rem;margin:0}
.post-card h2 a{text-decoration:none;color:var(--navy)}
.post-card p{color:var(--muted);font-size:.95rem;margin:0;flex:1}
.post-card .more{color:var(--navy);font-weight:700;text-decoration:none;font-size:.95rem}
.post-card .more:hover{color:#8b7e0e}
.post-meta{display:flex;align-items:center;gap:.7rem;font-size:.82rem;color:var(--muted);flex-wrap:wrap}
.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.22rem .6rem;border-radius:999px}
.badge-debuter{background:#e7f7ee;color:#16794a}
.badge-approfondir{background:rgba(30,37,79,.08);color:var(--navy)}
.badge-actu{background:rgba(208,189,26,.18);color:#8b7e0e}

/* ===== Article ===== */
.article{background:var(--white);border:1px solid #eceef6;border-radius:var(--radius);box-shadow:0 8px 24px rgba(30,37,79,.05);max-width:820px;margin:2.4rem auto 3rem;padding:clamp(1.4rem,4vw,3rem)}
.breadcrumb{font-size:.85rem;color:var(--muted);margin:1.6rem auto 0;max-width:820px;width:min(820px,92%)}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--navy)}
.article .meta-line{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;font-size:.86rem;color:var(--muted);margin:.4rem 0 1.6rem}
.maj{background:rgba(208,189,26,.15);color:#8b7e0e;font-weight:700;padding:.25rem .7rem;border-radius:999px;font-size:.8rem}

.answer-box{background:linear-gradient(160deg,#f3f5fd,#eef1fb);border:1px solid #dfe3f4;border-left:5px solid var(--gold);border-radius:12px;padding:1.2rem 1.4rem;margin:0 0 1.8rem}
.answer-box .lbl{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);display:block;margin-bottom:.4rem}
.answer-box p{margin:0;color:var(--ink)}

.toc{background:var(--bg);border:1px solid #eceef6;border-radius:12px;padding:1.1rem 1.4rem;margin:0 0 2rem;font-size:.95rem}
.toc b{color:var(--navy)}
.toc ol{margin:.5rem 0 0;padding-left:1.2rem}
.toc li{margin:.3rem 0}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--navy);text-decoration:underline}

.article table{width:100%;border-collapse:collapse;margin:1.2rem 0 1.6rem;font-size:.93rem}
.article th{background:var(--navy);color:#fff;text-align:left;padding:.65rem .8rem;font-weight:700}
.article td{padding:.6rem .8rem;border-bottom:1px solid #eceef6;vertical-align:top}
.article tr:nth-child(even) td{background:#fafbfe}
.table-scroll{overflow-x:auto}

.example-box{background:linear-gradient(160deg,var(--navy),var(--navy-700));color:#fff;border-radius:14px;padding:1.5rem 1.7rem;margin:1.6rem 0}
.example-box h3{color:var(--gold-soft);margin:0 0 .8em;font-size:1.05rem}
.example-box p,.example-box li{color:#d7dbef}
.example-box b{color:#fff}
.example-box .total{border-top:1px solid rgba(255,255,255,.25);margin-top:1rem;padding-top:1rem;color:#fff;font-weight:700}

.warn-box{background:#fdf6ec;border:1px solid #f3e2c0;border-left:5px solid #e0a83a;border-radius:12px;padding:1.1rem 1.4rem;margin:1.4rem 0}
.warn-box .lbl{font-weight:800;color:#9a6b12;display:block;margin-bottom:.3rem}
.warn-box p,.warn-box li{color:#6d5322;margin:0}
.warn-box ul{margin:.4rem 0 0;padding-left:1.2rem}

.takeaway{background:#e7f7ee;border:1px solid #cdeeda;border-radius:12px;padding:1.2rem 1.4rem;margin:1.8rem 0}
.takeaway .lbl{font-weight:800;color:#16794a;display:block;margin-bottom:.5rem}
.takeaway ul{margin:0;padding-left:1.2rem}
.takeaway li{margin:.35rem 0;color:#1e5a3c}

.dfn{border-bottom:2px dotted var(--gold);cursor:help}

/* FAQ (repris de la landing) */
details{background:var(--bg);border:1px solid #eceef6;border-radius:12px;padding:1.1rem 1.3rem;margin-bottom:.8rem}
details summary{cursor:pointer;font-weight:700;color:var(--navy);list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";float:right;color:var(--gold);font-size:1.3rem;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:.8rem 0 0;color:var(--muted)}

/* ===== Bloc conversion douce ===== */
.cta-soft{background:linear-gradient(160deg,var(--navy),var(--navy-700));border-radius:14px;color:#fff;padding:1.8rem;margin:2.4rem 0 1.6rem}
.cta-soft h2{color:#fff;margin:0 0 .4em;font-size:1.35rem}
.cta-soft p{color:#d7dbef}
.cta-soft form{display:grid;gap:.7rem;grid-template-columns:1fr 1fr;margin-top:1.1rem}
.cta-soft input,.cta-soft textarea{width:100%;padding:.75rem .9rem;border:none;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
.cta-soft textarea{grid-column:1/-1}
.cta-soft input:focus,.cta-soft textarea:focus{outline:2px solid var(--gold)}
.cta-soft .btn{grid-column:1/-1;width:100%}
.cta-soft .alt{grid-column:1/-1;text-align:center;font-size:.9rem;color:#cfd4ec;margin:0}
.cta-soft .alt a{color:var(--gold-soft);font-weight:700}
.cta-soft .form-status{margin-top:.2rem;padding:.8rem 1rem;border-radius:10px;display:none;font-size:.95rem;grid-column:1/-1}
.cta-soft .form-status.ok{display:block;background:#e7f7ee;color:#16794a}
.cta-soft .form-status.err{display:block;background:#fdecec;color:#b3261e}
@media(max-width:640px){.cta-soft form{grid-template-columns:1fr}}

/* ===== Auteur, avertissement, sources ===== */
.author-box{display:flex;gap:1.1rem;align-items:flex-start;background:var(--bg);border:1px solid #eceef6;border-radius:12px;padding:1.2rem 1.4rem;margin:1.6rem 0}
.author-box .avatar{flex:0 0 auto;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#bda60f);color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:1.15rem}
.author-box b{color:var(--navy)}
.author-box p{margin:.2rem 0 0;font-size:.9rem;color:var(--muted)}

.disclaimer{font-size:.82rem;color:var(--muted);border-top:1px solid #eceef6;padding-top:1.1rem;margin-top:1.8rem}
.sources{font-size:.88rem;color:var(--muted);margin-top:1.6rem}
.sources b{color:var(--navy)}
.sources ul{padding-left:1.2rem;margin:.5rem 0 0}
.sources li{margin:.35rem 0}
.sources a{color:var(--navy)}

/* ===== À lire aussi ===== */
.related{max-width:820px;margin:0 auto 3rem;width:min(820px,92%)}
.related h2{font-size:1.3rem}
.related .grid{display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr)}
@media(max-width:880px){.related .grid{grid-template-columns:1fr}}
.related .card{background:var(--white);border:1px solid #eceef6;border-radius:12px;padding:1.1rem 1.2rem;text-decoration:none;display:block;transition:transform .2s ease,box-shadow .2s ease}
.related .card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(30,37,79,.12)}
.related .card b{color:var(--navy);display:block;margin-bottom:.3rem}
.related .card span{color:var(--muted);font-size:.88rem}

/* ===== Footer (repris de la landing) ===== */
footer{background:var(--navy-700);color:#aeb4d4;padding:2.5rem 0;font-size:.9rem;margin-top:2rem}
footer a{color:var(--gold-soft);text-decoration:none}
.foot-grid{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}

/* ===== Barre de filtres du blog ===== */
.filter-bar{display:flex;gap:.6rem;flex-wrap:wrap;margin:2.4rem 0 0}
.fbtn{border:1px solid #d7dae8;background:var(--white);color:var(--navy);font:inherit;font-weight:600;font-size:.9rem;padding:.5rem 1.1rem;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.fbtn:hover{border-color:var(--navy)}
.fbtn.active{background:var(--navy);color:#fff;border-color:var(--navy)}

/* liens légaux du pied de page */
.legal-links{border-top:1px solid rgba(255,255,255,.12);margin-top:1.6rem;padding-top:1.1rem;font-size:.82rem;color:#8990b8;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.legal-links a,.legal-links button{color:#aeb4d4;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:0}
.legal-links a:hover,.legal-links button:hover{color:var(--gold-soft);text-decoration:underline}
.legal-links>*+*::before{content:"·" / "";margin-right:.45rem;color:#6e76a0}

/* 4e carte : passe en 2x2 plutot qu'en 3+1 (mobile deja gere plus haut) */
@media(min-width:881px){.related .grid-4{grid-template-columns:repeat(2,1fr)}}
