/* Page « Règles et conditions d’assurance » (/assurance/, /en/assurance/) — loaded only on these pages.
   Uses the dark theme tokens from theme.css; rules start with `body` like theme.css so they win over older layers. */
body .insurance .article-header{margin-bottom:34px}
body .insurance-wrap{max-width:960px;margin:0 auto;padding:0 25px}
body .insurance .icon{width:18px;height:18px;flex:none}
body .insurance strong{color:var(--text)}

/* Intro + important notice */
body .ins-intro{max-width:780px;margin:0 auto}
body .ins-intro>p{font-size:17px;line-height:1.85;color:var(--text-2);text-align:center}
body .ins-notice{display:flex;gap:16px;align-items:flex-start;margin:30px 0 0;padding:22px 24px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid #fd5a0155}
body .ins-notice>.icon{width:24px;height:24px;color:var(--accent);margin-top:2px}
body .ins-notice strong{display:block;font-size:15px;margin-bottom:6px}
body .ins-notice p{font-size:15px;line-height:1.75;color:#dcdcdc;margin:0}

/* Two plans */
body .ins-plans-title{text-align:center;font-weight:600;color:var(--text);margin:48px 0 20px}
body .ins-plans{display:grid;grid-template-columns:1fr 1fr;gap:22px}
body .ins-plan{position:relative;display:flex;flex-direction:column;padding:30px 28px 26px;border-radius:var(--radius);border:1px solid var(--edge);background:var(--surface);color:var(--text);transition:transform .25s,border-color .25s,box-shadow .25s}
body .ins-plan:hover{transform:translateY(-3px);border-color:#555;box-shadow:0 18px 40px #0006}
body .ins-plan h2{font-size:26px;margin:16px 0 2px}
body .ins-plan-en{font-size:13px;color:var(--text-2)}
body .ins-plan-tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:var(--surface-3);color:var(--text)}
body .ins-plan-price{font-family:var(--display);font-size:40px;font-weight:800;letter-spacing:-.04em;color:var(--text);margin:20px 0 18px;line-height:1}
body .ins-plan-price small{font-family:var(--body);font-size:14px;font-weight:600;letter-spacing:0;color:var(--text-2)}
body .ins-plan ul{list-style:none;margin:0 0 22px;padding:20px 0 0;border-top:1px solid var(--edge);display:grid;gap:11px}
body .ins-plan li{display:flex;gap:10px;font-size:14.5px;line-height:1.55;color:#d0d0d0}
body .ins-plan li .icon{color:var(--accent);margin-top:2px}
body .ins-plan-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text)}
body .ins-plan-link .icon{color:var(--accent)}
body .ins-plan-featured{border-color:var(--accent);background:linear-gradient(160deg,#fd5a0124,var(--surface) 55%)}
body .ins-plan-featured:hover{border-color:var(--accent-hover)}
body .ins-plan-featured .ins-plan-tag{background:var(--accent);color:#fff}

/* Table of contents */
body .ins-toc{margin:34px 0 0;padding:22px 26px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--edge)}
body .ins-toc>span{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
body .ins-toc ol{margin:0;padding-left:20px;columns:2;column-gap:36px;color:var(--text-2)}
body .ins-toc li{padding:3px 0;break-inside:avoid;font-size:15px}
body .ins-toc li::marker{color:var(--accent);font-weight:700}
body .ins-toc a{color:var(--text);text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px}
body .ins-toc a:hover{color:var(--accent)}

/* Sections */
body .ins-body{max-width:780px;padding:0}
body .ins-section{position:relative;padding:46px 0 10px;border-top:1px solid var(--edge);margin-top:46px;scroll-margin-top:100px}
body .ins-section:first-child{margin-top:12px}
body .ins-num{display:block;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}
body .ins-section h2{font-size:clamp(26px,2.7vw,32px);margin:0 0 18px;line-height:1.2}
body .ins-en{display:block;font-family:var(--body);font-size:14px;font-weight:600;letter-spacing:0;color:var(--text-2);margin-top:6px}
body .ins-section h3{font-size:19px;letter-spacing:-.02em;margin:34px 0 12px}
body .ins-section h4{font-size:16px;margin:8px 0 8px;letter-spacing:-.01em}
body .ins-section p{font-size:16px;line-height:1.85;color:#d0d0d0;margin:0 0 14px}
body .ins-section .ins-lead{font-weight:700;color:var(--text);font-size:18px}

/* Excess table */
body .ins-table{border:1px solid var(--edge);border-radius:var(--radius-sm);overflow:hidden;margin:6px 0 8px;background:var(--surface)}
body .ins-table>div{display:flex;justify-content:space-between;align-items:center;padding:15px 22px;border-top:1px solid var(--edge);font-size:15.5px;color:#d0d0d0}
body .ins-table>div:first-child{border-top:0}
body .ins-table .ins-table-head{background:var(--surface-2);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
body .ins-table strong{font-family:var(--display);font-size:20px;color:var(--accent);letter-spacing:-.02em}

/* Examples */
body .ins-examples{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:6px 0 18px}
body .ins-example{padding:22px;border-radius:var(--radius-sm);border:1px solid var(--edge);background:var(--surface);display:flex;flex-direction:column}
body .ins-example p{font-size:14.5px;line-height:1.7}
body .ins-example-label{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
body .ins-calc{margin-top:auto;display:grid;gap:6px;padding-top:14px;border-top:1px dashed var(--edge)}
body .ins-calc span{display:flex;justify-content:space-between;font-size:14px;color:var(--text-2)}
body .ins-calc span:last-child{color:var(--text);font-weight:600}
body .ins-calc b{color:var(--text)}
body .ins-calc span:last-child b{color:var(--accent)}

/* Facts (2.1) */
body .ins-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:6px 0 0}
body .ins-facts>div{padding:16px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--edge)}
body .ins-facts dt{font-size:12px;color:var(--text-2);line-height:1.4;margin-bottom:6px}
body .ins-facts dd{margin:0;font-family:var(--display);font-weight:700;color:var(--text);font-size:17px;line-height:1.3;letter-spacing:-.02em}
body .ins-facts .ins-facts-wide{grid-column:1/-1;display:flex;gap:12px;align-items:baseline;background:var(--accent-soft);border-color:#fd5a0155}
body .ins-facts .ins-facts-wide dt{margin:0;font-weight:700;color:var(--accent)}
body .ins-facts .ins-facts-wide dd{font-family:var(--body);font-weight:600;font-size:15px;letter-spacing:0}

/* Coverage (2.2) */
body .ins-cover{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
body .ins-cover li{display:flex;gap:12px;padding:16px 18px;border-radius:var(--radius-sm);border:1px solid var(--edge);background:var(--surface)}
body .ins-cover li>.icon{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}
body .ins-cover strong{display:block;font-size:15px;margin-bottom:3px}
body .ins-cover p{font-size:14px;line-height:1.6;margin:0}
body .ins-cover .ins-cover-key{grid-column:1/-1;border-color:var(--accent);background:linear-gradient(120deg,#fd5a0124,var(--surface) 60%)}
body .ins-cover .ins-cover-key>.icon{background:var(--accent);color:#fff}

/* Comparison (2.3) */
body .ins-compare{border-radius:var(--radius-sm);border:1px solid var(--edge);overflow:hidden;margin:10px 0 20px;background:var(--surface)}
body .ins-compare-head{padding:18px 22px;background:var(--surface-2)}
body .ins-compare-head h4{margin:4px 0 0}
body .ins-compare-cols{display:grid;grid-template-columns:1fr 1fr}
body .ins-compare-col{padding:22px}
body .ins-compare-col>span{display:block;font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px}
body .ins-compare-col p{font-size:14.5px;line-height:1.7}
body .ins-compare-col ul{margin:0;padding-left:18px;color:#d0d0d0;font-size:14.5px;line-height:1.9}
body .ins-compare-best{background:var(--accent-soft);border-left:1px solid #fd5a0155}
body .ins-compare-best>span{color:var(--accent)}
body .ins-section .ins-compare-calc{font-size:16px;color:var(--text)}
body .ins-compare-calc b{font-family:var(--display);font-size:24px;letter-spacing:-.03em;color:var(--accent)}

/* Lists */
body .ins-list{margin:4px 0 6px;padding-left:20px;display:grid;gap:9px}
body .ins-list li{font-size:15.5px;line-height:1.75;color:#d0d0d0}
body .ins-list li::marker{color:var(--accent)}
body .ins-list-check,body .ins-list-x{list-style:none;padding:0}
body .ins-list-check li,body .ins-list-x li{display:flex;gap:11px;align-items:flex-start}
body .ins-list-check .icon{color:var(--accent);margin-top:4px}
body .ins-list-x .icon{color:#ff6b5e;margin-top:4px}

/* Accident steps */
body .ins-steps{list-style:none;counter-reset:step;padding:0;margin:6px 0 0;display:grid;gap:10px}
body .ins-steps li{counter-increment:step;position:relative;padding:15px 18px 15px 62px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--edge);font-size:15.5px;line-height:1.6;color:#d0d0d0}
body .ins-steps li::before{content:counter(step);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:14px}
body .ins-emergency{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:18px 0 0;padding:18px 20px;border-radius:var(--radius-sm);border:1px solid var(--edge);background:var(--surface-2)}
body .ins-emergency>span{font-weight:700;color:var(--text)}
body .ins-emergency>div{display:flex;gap:10px;flex-wrap:wrap}
body .ins-emergency .button{min-height:46px;padding:11px 22px}
body .button.ins-wa{background:#25d366;border:1px solid #25d366;color:#fff}
body .button.ins-wa:hover{background:#1ebe5a;border-color:#1ebe5a}

/* End */
body .ins-end{margin-top:56px}
body .ins-end .ins-signature{font-family:var(--display);font-weight:800;color:var(--text);font-size:15px;letter-spacing:-.01em;margin:0 0 14px}
body .ins-signature em{font-style:normal;color:var(--accent)}
body .ins-end-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

@media(max-width:800px){
 body .ins-facts{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 body .insurance-wrap{padding:0 18px}
 body .ins-plans,body .ins-examples,body .ins-cover,body .ins-compare-cols{grid-template-columns:1fr}
 body .ins-plan{padding:24px 20px 22px}
 body .ins-plan-price{font-size:34px}
 body .ins-toc ol{columns:1}
 body .ins-section{padding-top:36px;margin-top:36px}
 body .ins-compare-best{border-left:0;border-top:1px solid #fd5a0155}
 body .ins-facts .ins-facts-wide{flex-direction:column;gap:4px}
 body .ins-emergency .button{flex:1}
 body .ins-intro>p{text-align:left}
}
