/* =====================================================================
   AJC Assurances — Feuille de style commune (toutes les pages)
   ===================================================================== */

/* ===================== CHARTE / VARIABLES ===================== */
:root{
  --red:#E40050;          /* Rouge framboise (couleur du logo) */
  --red-dark:#C0003F;
  --blue:#006EB7;         /* Bleu principal (logo) — confiance / structure */
  --blue-dark:#005A96;
  --navy:#0C4E7E;         /* Bleu profond éclairci (titres, sections sombres, footer) */
  --navy-2:#0E5C94;
  --ink:#232A35;          /* Texte */
  --muted:#5B6677;        /* Texte secondaire */
  --bg:#FFFFFF;
  --soft:#F4F6FA;         /* Fond de section clair */
  --line:#E6EAF1;
  --wa:#25D366;           /* WhatsApp */
  --radius:16px;
  --shadow:0 10px 30px rgba(18,34,74,.08);
  --shadow-sm:0 4px 14px rgba(18,34,74,.07);
  --max:1180px;
  --font:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
html[lang="ar"]{ --font:'Cairo',system-ui,Segoe UI,Tahoma,sans-serif; }

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font); color:var(--ink); background:var(--bg);
  line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.wrap{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:22px; }
section{ padding-block:74px; }
.kicker{ color:var(--red); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.78rem; }
h2.title{ color:var(--navy); font-size:clamp(1.7rem,3.4vw,2.5rem); font-weight:800; line-height:1.15; margin-top:8px; }
.lead{ color:var(--muted); max-width:620px; margin-top:14px; font-size:1.04rem; }
.center{ text-align:center; }
.center .lead{ margin-inline:auto; }

/* ===================== BOUTONS ===================== */
.btn{ display:inline-flex; align-items:center; gap:9px; font-weight:600; font-size:.97rem;
  padding:13px 22px; border-radius:999px; cursor:pointer; border:2px solid transparent;
  transition:.2s transform,.2s box-shadow,.2s background,.2s color; white-space:nowrap; }
.btn:hover{ transform:translateY(-2px); }
.btn-red{ background:var(--red); color:#fff; box-shadow:0 8px 20px rgba(228,0,80,.28); }
.btn-red:hover{ background:var(--red-dark); }
.btn-ghost{ background:transparent; color:var(--navy); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--navy); }
.btn-white{ background:#fff; color:var(--navy); }
.btn-outline-white{ background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.btn-outline-white:hover{ background:rgba(255,255,255,.12); }
.btn svg{ width:18px; height:18px; }

/* ===================== TOPBAR ===================== */
.topbar{ background:var(--navy); color:#cdd6e6; font-size:.84rem; }
.topbar .wrap{ display:flex; align-items:center; justify-content:space-between; height:40px; gap:16px; }
.topbar a{ color:#cdd6e6; display:inline-flex; align-items:center; gap:6px; }
.topbar a:hover{ color:#fff; }
.topbar svg{ width:14px; height:14px; }
.topbar .ti{ display:inline-flex; align-items:center; gap:18px; }
.topbar .right{ display:inline-flex; align-items:center; gap:16px; }
@media(max-width:860px){ .topbar .hide-sm{ display:none; } }

/* ===================== HEADER ===================== */
header.site{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:74px; gap:16px; }
.nav-links{ display:flex; align-items:center; gap:26px; }
.nav-links a{ font-weight:500; color:var(--ink); font-size:.96rem; position:relative; }
.nav-links a:hover{ color:var(--red); }
.nav-right{ display:flex; align-items:center; gap:14px; }

/* Sélecteur de langue (style pilule pro) */
.lang{ display:inline-flex; background:var(--soft); border:1px solid var(--line);
  border-radius:999px; padding:3px; gap:2px; }
.lang button{ border:0; background:transparent; cursor:pointer; font-family:inherit;
  font-weight:700; font-size:.82rem; color:var(--muted); padding:6px 12px; border-radius:999px;
  transition:.18s; line-height:1; }
.lang button.active{ background:#fff; color:var(--navy); box-shadow:var(--shadow-sm); }
.lang button:hover:not(.active){ color:var(--navy); }

.burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.burger span{ width:24px; height:2px; background:var(--navy); border-radius:2px; transition:.25s; }

@media(max-width:980px){
  .nav-links{ position:fixed; inset:74px 0 auto 0; flex-direction:column; align-items:flex-start;
    background:#fff; padding:18px 22px 26px; gap:4px; border-bottom:1px solid var(--line);
    box-shadow:var(--shadow); transform:translateY(-130%); opacity:0; pointer-events:none; transition:transform .3s, opacity .3s; }
  .nav-links.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav-links a{ width:100%; padding:12px 4px; border-bottom:1px solid var(--line); font-size:1.05rem; }
  .burger{ display:flex; }
  .nav-right .btn-devis-top{ display:none; }
}

/* ===================== HERO (accueil) ===================== */
.hero{ position:relative; background:
    radial-gradient(1100px 500px at 85% -10%, rgba(228,0,80,.30), transparent 60%),
    linear-gradient(150deg, rgba(12,74,118,.90) 0%, rgba(8,92,150,.86) 55%, rgba(0,110,183,.80) 100%),
    url('img/hero-home.jpg') center/cover no-repeat;
  color:#fff; overflow:hidden; padding-block:84px; }
.hero::after{ content:""; position:absolute; inset:0; opacity:.5;
  background:radial-gradient(600px 300px at 15% 110%, rgba(27,49,104,.6), transparent 60%); }
.hero .wrap{ position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; gap:46px; align-items:center; }
.hero-badge{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18); padding:7px 14px; border-radius:999px; font-size:.82rem; font-weight:600; }
.hero-badge .dot{ width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px rgba(228,0,80,.25); }
.hero h1{ font-size:clamp(2.1rem,4.6vw,3.4rem); font-weight:800; line-height:1.1; margin:18px 0 16px; }
.hero h1 .hl{ color:#FF6B96; }
.hero p.sub{ color:#cdd6e6; font-size:1.1rem; max-width:520px; }
.hero-cta{ display:flex; gap:14px; margin-top:30px; flex-wrap:wrap; }
.hero-trust{ display:flex; gap:22px; margin-top:34px; flex-wrap:wrap; }
.hero-trust div{ font-size:.85rem; color:#aebbd4; display:flex; align-items:center; gap:8px; }
.hero-trust svg{ width:18px; height:18px; color:#5BE1A0; }

/* Carte visuelle hero */
.hero-card{ background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14);
  border-radius:24px; padding:26px; backdrop-filter:blur(6px); }
.hero-card h3{ font-size:1.05rem; margin-bottom:4px; }
.hero-card p{ color:#aebbd4; font-size:.9rem; margin-bottom:18px; }
.mini-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mini{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:14px;
  padding:16px; display:flex; flex-direction:column; gap:9px; transition:.2s; }
.mini:hover{ background:rgba(255,255,255,.12); transform:translateY(-3px); }
.mini svg{ width:26px; height:26px; color:#FF85AB; }
.mini span{ font-weight:600; font-size:.92rem; }

@media(max-width:900px){
  .hero .wrap{ grid-template-columns:1fr; gap:34px; }
  .hero-card{ order:2; }
}

/* ===================== PÔLES ===================== */
.poles{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px; }
.pole{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px;
  transition:.22s; position:relative; overflow:hidden; }
.pole:hover{ box-shadow:var(--shadow); transform:translateY(-4px); border-color:transparent; }
.pole .ic{ width:54px; height:54px; border-radius:14px; background:var(--soft); display:grid; place-items:center; margin-bottom:16px; }
.pole .ic svg{ width:28px; height:28px; color:var(--blue); }
.pole h3{ color:var(--navy); font-size:1.2rem; margin-bottom:8px; }
.pole p{ color:var(--muted); font-size:.95rem; }
.pole .more{ color:var(--red); font-weight:600; font-size:.9rem; margin-top:14px; display:inline-flex; gap:6px; align-items:center; }
.pole .more svg{ width:15px; height:15px; }

/* ===================== PRODUITS (cartes) ===================== */
.products{ background:var(--soft); }
.pgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
.pcard{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:.22s; display:flex; flex-direction:column; }
.pcard:hover{ box-shadow:var(--shadow); transform:translateY(-4px); }
.pcard .pimg{ height:172px; background-size:cover; background-position:center; position:relative; }
.pcard .pimg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,58,94,0) 50%,rgba(8,58,94,.30)); }
.pcard .pic{ position:absolute; inset-block-end:-22px; inset-inline-start:20px; z-index:2; width:50px; height:50px; border-radius:13px; display:grid; place-items:center; background:#fff; box-shadow:var(--shadow-sm); }
.pcard .pic svg{ width:26px; height:26px; color:var(--red); }
.pcard .pbody{ padding:32px 22px 24px; display:flex; flex-direction:column; flex:1; }
.pcard h3{ color:var(--navy); font-size:1.08rem; margin-bottom:6px; }
.pcard p{ color:var(--muted); font-size:.92rem; }
.pcard a.lnk{ margin-top:auto; padding-top:14px; display:inline-flex; align-items:center; gap:6px; color:var(--red); font-weight:600; font-size:.88rem; }
.pcard a.lnk svg{ width:15px; height:15px; transition:.2s; }
.pcard:hover a.lnk svg{ transform:translateX(3px); }
html[dir="rtl"] .pcard:hover a.lnk svg{ transform:scaleX(-1) translateX(3px); }

/* ===================== POURQUOI ===================== */
.why{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; }
.feat{ text-align:center; padding:14px; }
.feat .fi{ width:62px; height:62px; border-radius:50%; background:var(--soft); display:grid; place-items:center; margin:0 auto 16px; }
.feat .fi svg{ width:28px; height:28px; color:var(--blue); }
.feat h3{ color:var(--navy); font-size:1.05rem; margin-bottom:7px; }
.feat p{ color:var(--muted); font-size:.9rem; }

/* ===================== ÉTAPES ===================== */
.steps{ background:var(--navy); color:#fff; }
.steps h2.title{ color:#fff; }
.steps .lead{ color:#aebbd4; }
.stepgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:42px; }
.step{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius); padding:28px; position:relative; }
.step .num{ width:42px; height:42px; border-radius:12px; background:var(--red); color:#fff; font-weight:800; display:grid; place-items:center; font-size:1.1rem; margin-bottom:16px; }
.step h3{ font-size:1.12rem; margin-bottom:8px; }
.step p{ color:#aebbd4; font-size:.93rem; }

/* ===================== SINISTRE BAND ===================== */
.sin-band{ background:linear-gradient(120deg,var(--red),#B8003E); color:#fff; }
.sin-band .wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.sin-band h3{ font-size:1.5rem; font-weight:800; }
.sin-band p{ opacity:.92; margin-top:4px; }
.sin-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* ===================== STATS ===================== */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.stat{ text-align:center; }
.stat .n{ color:var(--navy); font-size:2.6rem; font-weight:800; line-height:1; }
.stat .n span{ color:var(--red); }
.stat .l{ color:var(--muted); margin-top:8px; font-size:.92rem; }

/* ===================== TÉMOIGNAGES ===================== */
.testi{ background:var(--soft); }
.tgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
.tcard{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px; }
.tcard .stars{ color:#FFB400; margin-bottom:12px; letter-spacing:2px; }
.tcard p{ color:var(--ink); font-size:.96rem; font-style:italic; }
.tcard .who{ display:flex; align-items:center; gap:12px; margin-top:18px; }
.tcard .av{ width:42px; height:42px; border-radius:50%; background:var(--navy); color:#fff; font-weight:700; display:grid; place-items:center; }
.tcard .who b{ color:var(--navy); font-size:.92rem; display:block; }
.tcard .who small{ color:var(--muted); }

/* ===================== CTA BAND ===================== */
.cta{ background:linear-gradient(150deg,#0C4E7E,#006EB7); color:#fff; text-align:center; border-radius:24px; padding:54px 26px; margin:0 auto; }
.cta h2{ font-size:clamp(1.6rem,3.2vw,2.3rem); font-weight:800; }
.cta p{ color:#aebbd4; margin:12px auto 26px; max-width:520px; }
.cta .hero-cta{ justify-content:center; }

/* ===================== CONTACT ===================== */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:40px; align-items:start; }
.cinfo{ display:flex; flex-direction:column; gap:18px; }
.crow{ display:flex; gap:15px; align-items:flex-start; }
.crow .ci{ width:46px; height:46px; flex:0 0 46px; border-radius:12px; background:var(--soft); display:grid; place-items:center; }
.crow .ci svg{ width:22px; height:22px; color:var(--blue); }
.crow b{ color:var(--navy); display:block; font-size:.95rem; }
.crow span{ color:var(--muted); font-size:.95rem; }
.map{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); min-height:330px; box-shadow:var(--shadow-sm); }
.map iframe{ width:100%; height:100%; min-height:330px; border:0; display:block; }

/* ===================== FOOTER ===================== */
footer{ background:var(--navy); color:#aab6cf; padding-top:60px; }
.fgrid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:34px; }
footer h4{ color:#fff; font-size:1rem; margin-bottom:16px; }
footer ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }
footer ul a{ color:#aab6cf; font-size:.92rem; }
footer ul a:hover{ color:#fff; }
.flogo p{ font-size:.9rem; margin-top:14px; max-width:280px; }
.fbottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:46px; padding:22px 0; }
.fbottom .wrap{ display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:.82rem; }
.fbottom .legal-line{ color:#8fa0bf; max-width:680px; }
.fbottom .legal-links{ display:flex; gap:18px; }

/* ===================== WHATSAPP FLOTTANT ===================== */
.wa-float{ position:fixed; inset-block-end:22px; inset-inline-end:22px; width:58px; height:58px; border-radius:50%;
  background:var(--wa); display:grid; place-items:center; box-shadow:0 10px 26px rgba(37,211,102,.45); z-index:60;
  animation:pulse 2.4s infinite; }
.wa-float svg{ width:30px; height:30px; color:#fff; }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(37,211,102,.45);} 70%{ box-shadow:0 0 0 16px rgba(37,211,102,0);} 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0);} }

/* ===================== LOGO ===================== */
.logo{ display:inline-flex; align-items:center; gap:11px; }
.logo .mark{ width:42px; height:42px; flex:0 0 42px; }
.logo .lt{ line-height:1; }
.logo .lt b{ color:var(--navy); font-weight:800; font-size:1.18rem; letter-spacing:.02em; display:block; }
.logo .lt small{ color:var(--muted); font-size:.62rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
footer .logo .lt b{ color:#fff; } footer .logo .lt small{ color:#9fb0cf; }

/* Logo réel (PNG transparent) — direct sur le header blanc */
.brand-logo{ height:54px; width:auto; display:block; }
/* Sur le footer bleu foncé : pastille blanche pour garder le contraste */
footer .brand-logo{ background:#fff; padding:8px 12px; border-radius:10px; height:42px; }
@media(max-width:520px){ .brand-logo{ height:46px; } footer .brand-logo{ height:38px; } }

/* RTL ajustements ponctuels */
/* Icônes directionnelles inversées en RTL (flèches, chevrons). Les checkmarks NE sont PAS inversés. */
html[dir="rtl"] .pcard a.lnk svg, html[dir="rtl"] .pole .more svg{ transform:scaleX(-1); }
html[dir="rtl"] .bcsep{ display:inline-block; transform:scaleX(-1); }

/* Numéros de téléphone toujours en LTR (même en arabe / RTL) */
a[href^="tel:"], .topbar a[href^="mailto:"], .ltr-num{ direction:ltr; unicode-bidi:embed; }

@media(max-width:980px){
  .poles,.pgrid,.why,.stepgrid,.tgrid,.stats{ grid-template-columns:1fr 1fr; }
  .fgrid{ grid-template-columns:1fr 1fr; }
  .contact-grid{ grid-template-columns:1fr; }
}
@media(max-width:620px){
  section{ padding-block:54px; }
  .poles,.pgrid,.why,.stepgrid,.tgrid,.stats,.fgrid{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr 1fr; }
  .sin-band .wrap{ flex-direction:column; text-align:center; }
}

/* =====================================================================
   PAGES INTÉRIEURES (produits, etc.)
   ===================================================================== */

/* En-tête de page (hero compact avec image + dégradé bleu) */
.page-hero{ position:relative; color:#fff; padding-block:60px 60px;
  background:linear-gradient(150deg, rgba(12,74,118,.90), rgba(0,110,183,.82)), #0e5689; background-size:cover; background-position:center; }
.breadcrumb{ font-size:.84rem; color:#bcc8de; margin-bottom:20px; display:flex; flex-wrap:wrap; gap:7px; }
.breadcrumb a{ color:#dbe3f1; } .breadcrumb a:hover{ color:#fff; }
.page-hero .ph-ic{ width:58px; height:58px; border-radius:15px; background:rgba(255,255,255,.14); display:grid; place-items:center; margin-bottom:16px; }
.page-hero .ph-ic svg{ width:30px; height:30px; color:#fff; }
.page-hero h1{ font-size:clamp(1.9rem,4vw,2.7rem); font-weight:800; line-height:1.14; margin-bottom:14px; max-width:760px; }
.page-hero .sub{ color:#cdd6e6; font-size:1.08rem; max-width:640px; margin-bottom:26px; }

/* Intro produit (2 colonnes : texte + encadré) */
.prod-intro{ display:grid; grid-template-columns:1.3fr .7fr; gap:34px; align-items:start; }
.prod-intro .lead{ margin-top:0; max-width:none; }
.aside-card{ background:var(--soft); border:1px solid var(--line); border-radius:var(--radius); padding:26px; }
.aside-card h4{ color:var(--navy); font-size:1.05rem; margin-bottom:14px; }
.aside-card .row{ display:flex; gap:10px; align-items:center; color:var(--ink); font-size:.94rem; margin-bottom:12px; }
.aside-card .row svg{ width:20px; height:20px; color:var(--blue); flex:0 0 20px; }
.aside-card .btn{ width:100%; justify-content:center; margin-top:8px; }

/* Panneaux garanties / options / exclusions */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:8px; }
.panel{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px; }
.panel.soft{ background:var(--soft); }
.panel h3{ color:var(--navy); font-size:1.15rem; margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.panel h3 svg{ width:22px; height:22px; }
.glist{ list-style:none; display:flex; flex-direction:column; gap:13px; }
.glist li{ display:flex; gap:11px; align-items:flex-start; color:var(--ink); font-size:.95rem; }
.glist li svg{ width:20px; height:20px; flex:0 0 20px; margin-top:2px; }
.glist.ok li svg{ color:#1FA463; }
.glist.opt li svg{ color:var(--blue); }
.glist.no li svg{ color:#C0392B; }

/* À qui ça s'adresse */
.who-for{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:40px; }
.who-card{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px; text-align:center; transition:.2s; }
.who-card:hover{ box-shadow:var(--shadow-sm); transform:translateY(-3px); }
.who-card .wi{ width:50px; height:50px; border-radius:13px; background:var(--soft); display:grid; place-items:center; margin:0 auto 12px; }
.who-card .wi svg{ width:25px; height:25px; color:var(--blue); }
.who-card b{ color:var(--navy); font-size:.95rem; }

/* FAQ accordéon (natif <details>) */
.acc{ max-width:840px; margin:38px auto 0; }
.acc details{ background:#fff; border:1px solid var(--line); border-radius:12px; margin-bottom:12px; }
.acc summary{ cursor:pointer; padding:18px 20px; font-weight:600; color:var(--navy); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:.98rem; }
.acc summary::-webkit-details-marker{ display:none; }
.acc summary::after{ content:"+"; font-size:1.5rem; color:var(--blue); font-weight:400; line-height:1; flex:0 0 auto; }
.acc details[open] summary::after{ content:"\2013"; }
.acc details[open] summary{ border-bottom:1px solid var(--line); }
.acc .acc-body{ padding:16px 20px; color:var(--muted); font-size:.95rem; }

@media(max-width:860px){
  .prod-intro{ grid-template-columns:1fr; }
  .split{ grid-template-columns:1fr; }
  .who-for{ grid-template-columns:1fr 1fr; }
}
@media(max-width:520px){ .who-for{ grid-template-columns:1fr; } }

/* ===================== PROSE (légal, à propos) ===================== */
.prose{ max-width:880px; margin-inline:auto; }
.prose h3{ color:var(--navy); font-size:1.2rem; font-weight:700; margin:30px 0 10px; }
.prose h3:first-child{ margin-top:0; }
.prose p{ color:var(--muted); margin-bottom:14px; }
.prose ul{ color:var(--muted); margin:0 0 16px; padding-inline-start:22px; }
.prose li{ margin-bottom:8px; }
.prose strong{ color:var(--ink); font-weight:600; }
.prose a{ color:var(--blue); }
.prose a:hover{ text-decoration:underline; }
.prose .fill{ color:var(--red); font-weight:600; }
.prose .updated{ color:var(--muted); font-size:.85rem; font-style:italic; margin-bottom:24px; }
.prose table{ width:100%; border-collapse:collapse; margin:8px 0 18px; font-size:.95rem; }
.prose td{ border:1px solid var(--line); padding:10px 12px; color:var(--ink); vertical-align:top; }
.prose td:first-child{ background:var(--soft); font-weight:600; color:var(--navy); width:38%; }

/* ===================== FORMULAIRES ===================== */
.form-card{ max-width:760px; margin-inline:auto; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:32px; box-shadow:var(--shadow-sm); }
.field{ margin-bottom:16px; }
.field label{ display:block; font-weight:600; color:var(--navy); font-size:.9rem; margin-bottom:6px; }
.field input, .field select, .field textarea{ width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:12px; font-family:inherit; font-size:.97rem; color:var(--ink); background:#fff; transition:.15s; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,110,183,.12); }
.field textarea{ min-height:120px; resize:vertical; }
.field.req label::after{ content:" *"; color:var(--red); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }
.consent{ display:flex; gap:10px; align-items:flex-start; font-size:.85rem; color:var(--muted); margin:6px 0 4px; }
.consent input{ width:auto; margin-top:3px; flex:0 0 auto; }
.form-note{ font-size:.85rem; color:var(--muted); margin-top:16px; text-align:center; }
.btn-wa{ background:var(--wa); color:#fff; box-shadow:0 8px 20px rgba(37,211,102,.28); }
.btn-wa:hover{ background:#1da851; }
.alert-band{ background:linear-gradient(120deg,var(--red),#B8003E); color:#fff; border-radius:var(--radius); padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; max-width:760px; margin:0 auto 26px; }
.alert-band b{ font-size:1.15rem; }
.alert-band .btn{ flex:0 0 auto; }
@media(max-width:560px){ .form-row{ grid-template-columns:1fr; } .form-card{ padding:24px 18px; } }
