:root{
  --bg:#FAF7F2;--surface:#FFFFFF;--ink:#14283F;--muted:#5E6B7C;--line:#E4DCE7;
  --brand:#7A4A86;--brand-deep:#5E3568;--brand-soft:#F5F0F6;--brand-ink:#FFFFFF;
  --accent:#D9A441;--accent-soft:#FBF3E1;--ok:#2F7A55;--ok-soft:#E2F1E9;--sva:#9B1B7C;
  --shadow:0 18px 40px -22px rgba(20,40,63,.35);
  --display:"Outfit","Nunito Sans",system-ui,sans-serif;--body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#131A24;--surface:#1A2230;--ink:#F3EEF6;--muted:#B4AEC0;--line:#3A2F44;
  --brand:#C98BD6;--brand-deep:#D45AA8;--brand-soft:#241A2A;--brand-ink:#131A24;
  --accent:#E6B85C;--accent-soft:#2E2718;--ok:#72CFA0;--ok-soft:#16352A;--sva:#F07AB5;
  --shadow:0 18px 40px -22px rgba(0,0,0,.7);}}
:root[data-theme="dark"]{
  --bg:#131A24;--surface:#1A2230;--ink:#F3EEF6;--muted:#B4AEC0;--line:#3A2F44;
  --brand:#C98BD6;--brand-deep:#D45AA8;--brand-soft:#241A2A;--brand-ink:#131A24;
  --accent:#E6B85C;--accent-soft:#2E2718;--ok:#72CFA0;--ok-soft:#16352A;--sva:#F07AB5;
  --shadow:0 18px 40px -22px rgba(0,0,0,.7);}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--body)}
a{color:var(--brand-deep)}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--display);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5.5vw,3.3rem);font-weight:700}
h2{font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:700}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.top{display:flex;align-items:center;gap:18px;padding:14px 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{height:44px;width:auto;border-radius:6px}
.brand b{font-family:var(--display);font-size:1.05rem;line-height:1.1;display:block}
.brand small{display:block;color:var(--muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.top .right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}
.nav{display:flex;gap:4px;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--ink);padding:8px 12px;border-radius:999px;font-weight:600;font-size:.95rem}
.nav a:hover,.nav a[aria-current]{background:var(--brand-soft);color:var(--brand-deep)}
.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;padding:14px 24px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font:inherit;font-weight:700;line-height:1.2}
.btn.primary{background:var(--brand-deep);color:var(--brand-ink);box-shadow:var(--shadow)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--brand-deep);border-color:var(--brand)}
.btn.accent{background:var(--accent);color:#14283F}
.btn.sm{padding:9px 16px;font-size:.92rem}
.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}
.cart-link{position:relative}
.cart-link .n{position:absolute;top:-6px;right:-6px;background:var(--accent);color:#14283F;border-radius:999px;min-width:22px;height:22px;font-size:.78rem;display:none;align-items:center;justify-content:center;padding:0 6px;font-weight:800}
.cart-link .n.on{display:inline-flex}
.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;margin:0 0 10px}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:48px 0 32px}
.hero .lead{font-size:1.2rem;color:var(--muted);max-width:56ch}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:22px 0 10px}
.hero .proof{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.92rem;margin-top:14px}
.hero .proof b{color:var(--ink)}
.pricecard{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.pricecard::before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:linear-gradient(90deg,#D9A441,#D45AA8,#7A4A86)}
.price{font-family:var(--display);font-size:3.4rem;font-weight:800;line-height:1;color:var(--brand-deep)}
.price small{font-size:1rem;color:var(--muted);font-weight:600;font-family:var(--body)}
.check{list-style:none;padding:0;margin:14px 0}
.check li{padding:7px 0 7px 32px;position:relative}
.check li::before{content:"";position:absolute;left:0;top:11px;width:20px;height:20px;border-radius:50%;background:var(--ok-soft)}
.check li::after{content:"";position:absolute;left:6px;top:15px;width:8px;height:5px;border:2px solid var(--ok);border-top:0;border-right:0;transform:rotate(-45deg)}
section{padding:40px 0}
.section-head{max-width:70ch;margin-bottom:26px}
.grid{display:grid;gap:18px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}
.step{position:relative;padding-top:60px}
.step .num{position:absolute;top:18px;left:22px;width:38px;height:38px;border-radius:12px;background:var(--brand-soft);color:var(--brand-deep);font-family:var(--display);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.orgs{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.92rem;font-weight:600}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px}
.compare{width:100%;min-width:560px;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.compare th,.compare td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare th{background:var(--brand-soft);color:var(--brand-deep);font-family:var(--display)}
.compare tr:last-child td{border-bottom:0}
.compare td.yes{color:var(--ok);font-weight:700}
.compare td.no{color:var(--muted)}
.callout{background:var(--brand-soft);border:1px solid var(--line);border-radius:22px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}
.cartouche img{display:block;width:290px;max-width:100%;height:auto;border-radius:6px}
details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px 18px;margin:0 0 10px}
summary{cursor:pointer;font-weight:700;padding:12px 0;font-family:var(--display);font-size:1.05rem}
details p{color:var(--muted);margin:0 0 14px}
footer{border-top:1px solid var(--line);margin-top:40px;padding:30px 0 40px;color:var(--muted);font-size:.9rem;display:grid;gap:12px}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
footer a{color:var(--ink)}
.crumbs{font-size:.9rem;color:var(--muted);padding:10px 0}
.article{max-width:76ch;padding:10px 0 30px}
.article.legal h2{font-size:1.35rem;margin-top:1.6em}
.article ol,.article ul{padding-left:1.3em}
.notice{background:var(--accent-soft);border:1px solid var(--line);border-radius:14px;padding:14px 18px;font-size:.95rem}
/* commande */
.order{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start;padding:20px 0 40px}
.form{display:grid;gap:14px}
.form label{display:grid;gap:6px;font-weight:700;font-size:.95rem}
.form label span.hint{font-weight:400;color:var(--muted);font-size:.85rem}
.form input,.form select,.form textarea{font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--brand-soft);border-color:var(--brand)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.form .chk{display:flex;gap:12px;align-items:flex-start;font-weight:400}
.form .chk input{width:22px;height:22px;margin-top:2px;flex:none}
.side{display:grid;gap:18px;position:sticky;top:16px}
.letter{background:#FFFEFB;color:#1b1b1b;border:1px solid var(--line);border-radius:10px;padding:22px 20px;font:12.5px/1.5 Georgia,"Times New Roman",serif;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02),0 10px 24px -18px rgba(20,40,63,.5)}
.letter .ph{color:#9a9a9a;font-style:italic}
.letter .l-exp{margin-bottom:14px}
.letter .l-dest{text-align:right;margin:0 0 14px auto;max-width:60%}
.letter .l-date{text-align:right;margin-bottom:14px}
.letter .l-obj{font-weight:700;margin:0 0 12px}
.letter .l-civ{margin:0 0 8px}
.letter .l-body p{margin:0 0 8px;text-align:justify}
.letter .l-sign{text-align:right;margin:14px 0 0}
.cart{position:static}
.cart .items{display:grid;gap:10px;margin:14px 0}
.cart .item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.cart .item b{display:block}
.cart .item small{color:var(--muted)}
.cart .item button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:1.3rem;line-height:1}
.cart .total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:14px;font-family:var(--display);font-size:1.3rem;font-weight:800}
.cart .empty{color:var(--muted);text-align:center;padding:20px 0}
.stepper{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 24px;counter-reset:s}
.stepper span{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 8px;font-size:.9rem;font-weight:600;display:inline-flex;gap:8px;align-items:center}
.stepper span::before{content:counter(s);width:24px;height:24px;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem}
.stepper span.on{border-color:var(--brand);color:var(--brand-deep)}
.msg{display:none;padding:12px 16px;border-radius:12px;margin-top:12px}
.msg.err{display:block;background:#FBE4E4;color:#8A1F1F}
.msg.ok{display:block;background:var(--ok-soft);color:var(--ok)}
.skip{position:absolute;left:-999px}
@media (max-width:900px){.hero,.order,.g3,.g4,.g2{grid-template-columns:1fr}.callout{grid-template-columns:1fr}.side{position:static}.hero{padding-top:24px}}
@media (max-width:560px){.compare{min-width:0;font-size:.92rem}.compare th,.compare td{padding:10px 10px}.compare td,.compare th{word-break:break-word}.form .row,.form .row3{grid-template-columns:1fr}.top .right{margin-left:0;width:100%}.brand small{display:none}.top{gap:10px}.price{font-size:2.8rem}}

/* catalogue, fiches, guides, espace client */
.article.wide{max-width:none}
.small{font-size:.88rem;color:var(--muted)}
.org-search{display:grid;gap:10px;margin:18px 0}
.org-search input{font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:100%}
.org-search input:focus{outline:3px solid var(--brand-soft);border-color:var(--brand)}
.tabs{display:flex;flex-wrap:wrap;gap:6px}
.tab{font:inherit;font-size:.88rem;font-weight:600;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer}
.tab span{color:var(--muted);font-weight:400}
.tab[aria-pressed="true"]{background:var(--brand-deep);border-color:var(--brand-deep);color:var(--brand-ink)}
.tab[aria-pressed="true"] span{color:inherit;opacity:.8}
.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin:14px 0}
.org-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);min-width:0}
.org-card:hover{border-color:var(--brand);box-shadow:var(--shadow)}
.org-card b{display:block;line-height:1.25;overflow-wrap:anywhere}
.org-card small{display:block;color:var(--muted);font-size:.8rem;line-height:1.3}
.org-logo{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;border:1px solid var(--line);overflow:hidden}
.org-logo img{width:80%;height:80%;object-fit:contain}
.org-logo.mono{background:var(--brand-soft);color:var(--brand-deep);font-family:var(--display);font-weight:800;font-size:1rem}
.org-empty{color:var(--muted)}
.org-head{display:flex;align-items:center;gap:18px;margin-bottom:10px}
.org-head h1{margin:0}
.addr{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px 18px;display:inline-block;margin:4px 0 10px}
.proc-steps{counter-reset:p;list-style:none;padding:0!important;margin:14px 0}
.proc-steps li{counter-increment:p;position:relative;padding:4px 0 12px 46px}
.proc-steps li::before{content:counter(p);position:absolute;left:0;top:2px;width:32px;height:32px;border-radius:10px;background:var(--brand-soft);color:var(--brand-deep);font-family:var(--display);font-weight:800;display:flex;align-items:center;justify-content:center}
.guide-card{display:grid;gap:6px;text-decoration:none;color:var(--ink)}
.guide-card small{color:var(--muted);font-size:.9rem}
.guide-card:hover{border-color:var(--brand)}
.guide-sec{padding:12px 0}
.guide-checklist,.guide-sources{margin:16px 0}
.guide-checklist h2,.guide-sources h2,.guide-sec h2{font-size:1.35rem}
/* aperçu de la lettre : une page A4 en miniature, mêmes positions que le PDF (page de 595 × 842 points ;
   1 point = 100/595 cqw, la largeur de la page servant d'unité) */
.preview-card .letter{container-type:inline-size;padding:0;border:0;box-shadow:none;background:none}
.letter-page{position:relative;min-height:141.4cqw;box-sizing:border-box;background:#fff;color:#111;border:1px solid #d9d4dc;border-radius:2px;
  box-shadow:0 12px 28px -14px rgba(20,40,63,.45);
  font-family:"Times New Roman",Times,serif;font-size:1.85cqw;line-height:2.62cqw;
  padding:7.6cqw 19.5cqw 0 9.6cqw}
.letter-page .ph{color:#9a9a9a;font-style:italic}
.letter-page .l-exp{margin:0}
.letter-page .l-dest{margin:1.9cqw 0 0 46.7cqw;max-width:none;text-align:left}
.letter-page .l-date{text-align:right;margin:5cqw -8cqw 0 0}
.letter-page .l-obj{font-weight:700;margin:6.4cqw 0 0}
.letter-page .l-rar{display:inline-block;font-weight:400;font-style:italic;font-size:1.35cqw;margin-top:.3cqw}
.letter-page .l-civ{margin:2.3cqw 0 0}
.letter-page .l-body{margin-top:2.6cqw}
.letter-page .l-body p{margin:0 0 1.5cqw;text-align:left}
.letter-page .l-sign{text-align:left;margin:3.7cqw 0 0 52.1cqw;padding-bottom:8cqw}
/* filigrane et texte non sélectionnable : l'aperçu n'est pas un courrier utilisable */
.letter-page{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow:hidden}
.letter-page::after{content:"SPÉCIMEN";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-35deg);
  font:800 17cqw/1 "Outfit","Nunito Sans",sans-serif;letter-spacing:1.5cqw;color:rgba(122,74,134,.14);white-space:nowrap;pointer-events:none}
@media print{.preview-card{display:none}}
/* commande : acte de décès */
.acte-box{border:1.5px solid #E7B4B4;background:#FFF6F6;color:#14283F;border-radius:14px;padding:14px 16px;display:grid;gap:8px}
.acte-box .chk{font-weight:400}
.acte-file{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-left:34px}
.acte-warn,.acte-alerte{color:#B71C1C;font-weight:600;margin:0}
.acte-alerte{border:2px solid #C62828;background:#FDECEA;border-radius:12px;padding:12px 14px;margin:10px 0}
/* commande : recherche d'organisme */
.combo{position:relative}
.combo-list{position:absolute;z-index:20;left:0;right:0;top:100%;margin-top:4px;max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px}
.combo-list button{display:flex;width:100%;gap:10px;align-items:center;text-align:left;font:inherit;font-weight:600;background:none;border:0;border-radius:8px;padding:8px 10px;color:var(--ink);cursor:pointer}
.combo-list button small{color:var(--muted);font-weight:400;margin-left:auto;font-size:.8rem;white-space:nowrap;padding-left:8px}
.combo-head{margin:2px 6px 6px;font-size:.8rem;color:var(--muted)}
.combo-logo{flex:none;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.combo-logo img{width:80%;height:80%;object-fit:contain}
.combo-logo.mono{background:var(--brand-soft);color:var(--brand-deep);font-family:var(--display);font-weight:800;font-size:.75rem}
.combo-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combo-list button:hover,.combo-list button.on{background:var(--brand-soft);color:var(--brand-deep)}
.combo-picked{font-size:.9rem;color:var(--ok);font-weight:600}
/* espace client */
.account{display:grid;gap:18px;max-width:760px}
.orders{display:grid;gap:12px}
.order-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.order-row .docs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.badge{display:inline-block;font-size:.8rem;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--ok-soft);color:var(--ok)}
.badge.wait{background:var(--accent-soft);color:#8a6414}
@media (max-width:560px){.org-grid{grid-template-columns:1fr}.org-head{align-items:flex-start}.order-row{grid-template-columns:1fr}}

/* En-tête sur tablette et téléphone : logo + bouton panier sur une ligne, menu sur UNE seule ligne (défilement horizontal si besoin) */
@media (max-width:900px){
  .top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0}
  .top .right{display:contents}
  .top .brand{flex:1 1 auto;min-width:0}
  .top .cart-link{order:2;margin-left:auto;flex:none;white-space:nowrap}
  .top .nav{order:3;flex:1 0 100%;flex-wrap:nowrap;overflow-x:auto;gap:2px;margin:0 -4px;padding:2px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .top .nav::-webkit-scrollbar{display:none}
  .top .nav a{flex:none;white-space:nowrap;padding:7px 11px;font-size:.9rem}
}
/* téléphone : les 6 liens toujours visibles, en 3 colonnes sur 2 lignes (sans faire glisser) */
@media (max-width:700px){
  .top .right{margin-left:0;width:auto}
  .top .nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;margin:0;padding:0;-webkit-mask-image:none;mask-image:none}
  .top .nav a{display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.2;min-height:40px;padding:6px;font-size:.86rem;
    border:1px solid var(--line);border-radius:12px;background:var(--surface)}
}
@media (max-width:560px){
  .top .brand img{height:36px}
  .top .brand b{font-size:.95rem}
  .top .cart-link{padding:8px 12px;font-size:.88rem}
}
@media (max-width:380px){ .top .brand span{display:none} }/* filtres en pastilles (organismes, espace client) : une seule ligne qui défile sur téléphone */
@media (max-width:560px){
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .tabs::-webkit-scrollbar{display:none}
  .tabs .tab{flex:none;white-space:nowrap}
}/* rappel du panier en haut de la commande (tablette et téléphone seulement : sur ordinateur le panier est déjà visible à droite) */
.cart-recap{display:none}
@media (max-width:900px){
  .cart-recap:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 14px;padding:12px 14px;border-radius:14px;
    background:var(--brand-soft);border:1px solid var(--line)}
  .cart-recap>div{flex:1 1 180px;min-width:0}
  .cart-recap small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cart-recap .small{flex-basis:100%}
}
#panier{scroll-margin-top:12px}/* commande sur tablette/téléphone : le contrat, puis le panier et l'aperçu, puis les coordonnées et le paiement */
@media (max-width:900px){
  .order>div:first-child{display:contents}
  .order #f-item{order:1}
  .order .side{order:2}
  .order #f-client{order:3}
}
/* commande réglée entre-temps : message visible aussi sur ordinateur */
.cart-recap.paye:not([hidden]){display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:var(--ok-soft,#e2f4ea);border:1px solid var(--line)}
.cart-recap.paye small{display:block;color:var(--muted)}

/* accueil : recherche de l'organisme (comme pages.dev) */
.org-finder{margin:8px 0 34px;padding:28px}
.of-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 20px;margin-bottom:16px}
.of-head h2{margin:2px 0 0;font-size:clamp(1.35rem,3vw,1.9rem)}
.of-head .small{margin:0;max-width:420px}
.of-form{display:flex;align-items:center;gap:10px;border:2px solid var(--line);border-radius:16px;padding:6px 6px 6px 16px;background:var(--surface)}
.of-form:focus-within{border-color:var(--brand)}
.of-form svg{flex:none;color:var(--muted)}
.of-form input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:1.08rem;padding:10px 0;color:var(--ink)}
.of-form .btn{flex:none}
#of-count{margin:10px 0 12px}
.of-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.of-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.of-card:hover{border-color:var(--brand);transform:translateY(-1px)}
.of-logo{flex:none;width:64px;height:40px;display:flex;align-items:center;justify-content:center}
.of-logo img{max-width:64px;max-height:40px;object-fit:contain}
.of-logo.mono{border-radius:10px;background:var(--brand-soft);color:var(--brand-deep);font-weight:800}
.of-txt{flex:1;min-width:0}
.of-txt b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.of-txt small{color:var(--muted)}
.of-go{flex:none;color:var(--brand);font-size:1.2rem}
.of-autre{margin:14px 0 0}
@media (max-width:900px){.of-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.org-finder{padding:18px}.of-grid{grid-template-columns:1fr}.of-form{padding-left:12px}.of-form .btn{padding:10px 14px}}
/* commande arrivée avec un organisme choisi */
.org-h1-logo{height:.9em;max-width:2.4em;object-fit:contain;vertical-align:-.08em;margin-right:.35em}
.org-change{display:inline-block;margin-top:4px}
/* paiement par carte intégré (/commande/paiement/) */
.pay-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:20px;align-items:start;margin-top:12px}
.pay-recap h2,#pay-box h2{margin:0 0 10px;font-size:1.25rem}
.pay-orgs{font-weight:700;margin:6px 0}
.pay-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:12px;margin:12px 0 8px;font-size:1.1rem}
.pay-total b{font-size:1.5rem}
.pay-element{min-height:180px;margin-bottom:12px}
.pay-btn{width:100%;justify-content:center}
.pay-revolut{display:flex;width:100%;justify-content:center;margin-top:10px}
.pay-revolut[hidden]{display:none}
.pay-secu{margin:12px 0 0}
#pay-msg:empty{display:none}
@media (max-width:900px){.pay-wrap{grid-template-columns:1fr}}
/* Adresse vérifiée (Base Adresse Nationale) sur la page de commande */
.adr-wrap{position:relative}
.adr-wrap input{width:100%}
.adr-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:#fff;border:1px solid #d8d2e3;border-radius:12px;box-shadow:0 12px 30px rgba(40,20,70,.15);overflow:hidden}
.adr-item{padding:10px 14px;cursor:pointer;display:grid;gap:1px;font-size:.95rem}
.adr-item small{color:#6b6480}
.adr-item:hover,.adr-item.on{background:#f3edf9}
.adr-item.adr-autre{font-size:.85rem;color:#6b6480;border-top:1px solid #eee}
input.adr-ok{border-color:#2f8f5b !important;background-image:linear-gradient(transparent,transparent)}
.adr-note{margin:-4px 0 0;font-size:.88rem}
.adr-note:empty{display:none}
.adr-note.ok{color:#2f8f5b}
.adr-note.warn{color:#9a620f;background:#fdf3e1;border-radius:10px;padding:10px 12px}
.adr-note.err{color:#a23b4a;background:#fcecee;border-radius:10px;padding:10px 12px}
.adr-note .adr-confirme{margin-left:6px;padding:6px 12px;font-size:.85rem}
