/* Base commune aux 3 maquettes : les thèmes surchargent les variables */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-title);font-weight:var(--title-weight,600);line-height:1.15;letter-spacing:var(--title-tracking,0)}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* bandeau maquette */
.mq{background:#111;color:#ddd;font:12px/1.4 system-ui,sans-serif;padding:6px 12px;display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center;position:relative;z-index:50}
.logo .pre{font-style:inherit}
@media (max-width:820px){.mq{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding:8px 16px}.mq::-webkit-scrollbar{display:none}}
.mq b{color:#fff}.mq a{color:#bbb;text-decoration:underline}.mq a.on{color:#fff;font-weight:700}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:var(--r-btn);font:700 15px/1 var(--font-body);border:2px solid transparent;cursor:pointer;transition:.25s;text-align:center}
.btn-primary{background:var(--primary);color:var(--on-primary)}
.btn-primary:hover{background:var(--primary-2);box-shadow:var(--glow)}
.btn-gold{background:var(--accent);color:var(--on-accent)}
.btn-gold:hover{box-shadow:var(--glow);filter:brightness(1.06)}
.btn-ghost{border-color:currentColor;background:transparent}
.btn-wa{background:#1E7B46;color:#fff}
.btn-wa:hover{background:#176238}
.btn-block{width:100%}
.btn-lg{min-height:56px;font-size:17px}
.btn-sm{min-height:40px;padding:8px 14px;font-size:14px}

/* en-tête */
.topbar{background:var(--topbar-bg);color:var(--topbar-ink);font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
header.site{background:var(--header-bg);color:var(--header-ink);position:sticky;top:0;z-index:40;border-bottom:var(--header-border)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.logo{display:flex;align-items:center;gap:12px}
.logo svg{width:40px;height:40px;flex:none}
.logo b{font-family:var(--font-title);font-size:20px;letter-spacing:var(--logo-tracking,.02em);display:block;line-height:1.1}
.logo small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
nav.main ul{display:flex;gap:26px;list-style:none;font-weight:600;font-size:15px}
nav.main a{padding:8px 2px;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a.on{border-color:var(--accent)}
.hdr-actions{display:flex;align-items:center;gap:10px}
.cart-link{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 6px;font-weight:700}
.cart-link i{font-style:normal;background:var(--accent);color:var(--on-accent);min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;font-size:12px}
.burger{display:none}
#navtoggle{position:absolute;opacity:0;pointer-events:none}

/* sections */
section{padding:72px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 44px}
.sec-head h2{font-size:clamp(28px,4vw,40px);color:var(--title-color)}
.sec-head p{color:var(--muted);margin-top:10px}
.orn{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 0;color:var(--accent-deco)}
.orn::before,.orn::after{content:"";height:1px;width:64px;background:linear-gradient(90deg,transparent,var(--accent-deco))}
.orn::after{transform:scaleX(-1)}
.orn svg{width:18px;height:18px}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--eyebrow)}

/* catégories */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.cat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px 12px;text-align:center;transition:.3s;box-shadow:var(--shadow-sm)}
.cat:hover{transform:translateY(-4px);box-shadow:var(--glow)}
.cat .art{width:76px;height:76px;margin:0 auto 12px;border-radius:50%;overflow:hidden}
.cat b{display:block;font-family:var(--font-title);font-size:17px;color:var(--title-color)}
.cat small{color:var(--muted);font-size:13px}

/* produits */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;transition:.3s;box-shadow:var(--shadow-sm);position:relative}
.card:hover{transform:translateY(-4px);box-shadow:var(--glow)}
.card .art{aspect-ratio:1/1;overflow:hidden}
.card .art svg{width:100%;height:100%;transition:transform .6s}
.card:hover .art svg{transform:scale(1.04)}
.card .body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .cat-name{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.card h3{font-size:19px;color:var(--title-color)}
.price{font-weight:800;font-size:18px;color:var(--price)}
.price s{font-weight:400;color:var(--muted);font-size:14px;margin-left:6px}
.card .foot{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;gap:10px}
.badge{position:absolute;top:12px;left:12px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--badge-bg);color:var(--badge-ink);z-index:2}
.badge.out{background:#5b5b5b;color:#fff}
.badge.low{background:#8A3B12;color:#fff}
.stock{font-size:13px;font-weight:600}
.stock.ok{color:#1B6B3A}.stock.low{color:#9A4A0A}.stock.out{color:#8a1f1f}

/* verset */
.verse{text-align:center;position:relative;overflow:hidden}
.verse blockquote{font-family:var(--font-title);font-size:clamp(22px,3.4vw,34px);line-height:1.4;max-width:820px;margin:0 auto}
.verse cite{display:block;margin-top:14px;font-style:normal;font-size:14px;letter-spacing:.18em;text-transform:uppercase}
.verse .pray{margin-top:22px;opacity:.9;max-width:560px;margin-inline:auto;font-size:15px}

/* engagements */
.engage{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.eng{padding:26px 22px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);text-align:center}
.eng .ic{width:54px;height:54px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:var(--ic-bg);color:var(--ic-ink)}
.eng .ic svg{width:26px;height:26px}
.eng h3{font-size:19px;margin-bottom:6px;color:var(--title-color)}
.eng p{font-size:14.5px;color:var(--muted)}

/* contact band */
.contact-band{background:var(--band-bg);color:var(--band-ink);text-align:center}
.contact-band h2{font-size:clamp(26px,4vw,38px);margin-bottom:10px}
.contact-band p{max-width:560px;margin:0 auto 24px;opacity:.92}
.contact-band .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* pied */
footer.site{background:var(--footer-bg);color:var(--footer-ink);padding:52px 0 24px;font-size:14.5px}
footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px}
footer.site h4{font-size:16px;margin-bottom:12px;color:var(--footer-title)}
footer.site ul{list-style:none;display:grid;gap:8px}
footer.site a:hover{text-decoration:underline}
footer.site .legal{border-top:1px solid rgba(255,255,255,.15);margin-top:32px;padding-top:18px;font-size:13px;opacity:.8;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}

/* catalogue */
.pagehead{padding:44px 0 28px;text-align:center;background:var(--pagehead-bg);color:var(--pagehead-ink)}
.pagehead h1{font-size:clamp(30px,5vw,46px)}
.crumbs{font-size:13px;opacity:.85;margin-bottom:10px}
.catalog{display:grid;grid-template-columns:270px 1fr;gap:32px;padding:36px 0 72px}
.filters{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:22px;align-self:start;position:sticky;top:90px}
.filters h3{font-size:18px;margin-bottom:10px;color:var(--title-color)}
.filters fieldset{border:0;margin-bottom:22px}
.filters label{display:flex;align-items:center;gap:10px;min-height:36px;font-size:15px;cursor:pointer}
.filters input[type=checkbox],.filters input[type=radio]{width:20px;height:20px;accent-color:var(--primary)}
.filters .rng{display:flex;gap:8px;align-items:center}
.filters input[type=number]{width:100%;padding:10px;border:1px solid var(--line-strong);border-radius:8px;font:inherit;background:#fff}
.filters summary{display:none}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.toolbar input,.toolbar select{padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-btn);font:inherit;background:#fff;min-height:46px}
.toolbar input{flex:1;min-width:200px}
.catalog .grid{grid-template-columns:repeat(3,1fr)}
.pager{display:flex;justify-content:center;gap:8px;margin-top:36px}
.pager a{min-width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:10px;font-weight:700;background:var(--card)}
.pager a.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}

/* fiche produit */
.pdp{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;padding:36px 0 56px}
.gallery .main{border-radius:var(--r-card);overflow:hidden;border:1px solid var(--line);aspect-ratio:1/1;box-shadow:var(--shadow-sm)}
.gallery .main svg{width:100%;height:100%}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.thumbs div{border-radius:10px;overflow:hidden;border:2px solid transparent;aspect-ratio:1/1;cursor:pointer}
.thumbs div.on{border-color:var(--accent)}
.thumbs svg{width:100%;height:100%}
.pdp h1{font-size:clamp(28px,4vw,40px);color:var(--title-color);margin:8px 0 12px}
.pdp .price{font-size:30px}
.pdp .price s{font-size:18px}
.pdp .desc{margin:18px 0;color:var(--ink)}
.pdp ul.feat{list-style:none;display:grid;gap:8px;margin:0 0 22px;color:var(--muted)}
.pdp ul.feat li::before{content:"✦";color:var(--accent-deco);margin-right:10px}
.qty{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-btn);overflow:hidden;background:#fff}
.qty button{width:48px;height:48px;border:0;background:transparent;font-size:22px;cursor:pointer;color:var(--ink)}
.qty span{width:52px;display:grid;place-items:center;font-weight:700}
.buy{display:grid;gap:12px;margin-top:18px}
.buy .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.trust{margin-top:22px;padding:16px;border-radius:var(--r-card);background:var(--soft);display:grid;gap:6px;font-size:14.5px}
.tabs-info{border-top:1px solid var(--line);padding:30px 0;color:var(--muted)}

/* panier */
.cart{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;padding:36px 0 72px;align-items:start}
.line{display:grid;grid-template-columns:96px 1fr auto;gap:16px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);margin-bottom:14px;align-items:center}
.line .art{border-radius:10px;overflow:hidden;aspect-ratio:1/1}
.line h3{font-size:18px;color:var(--title-color)}
.line .meta{color:var(--muted);font-size:14px}
.line .tot{font-weight:800;text-align:right;color:var(--price)}
.line .rm{font-size:13px;color:#8a1f1f;text-decoration:underline;background:none;border:0;cursor:pointer;margin-top:6px;display:inline-block}
.summary{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:24px;position:sticky;top:90px;box-shadow:var(--shadow-sm)}
.summary h2{font-size:22px;margin-bottom:14px;color:var(--title-color)}
.summary dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:14px}
.summary dd{text-align:right;font-weight:700}
.summary .total{border-top:1px solid var(--line);padding-top:14px;font-size:20px;font-weight:800}
.summary select{width:100%;padding:12px;border:1px solid var(--line-strong);border-radius:10px;font:inherit;margin-bottom:14px;background:#fff}
.summary .note{font-size:13px;color:var(--muted);margin-top:12px}

/* ADMIN */
body.admin{background:var(--admin-bg)}
.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.side{background:var(--side-bg);color:var(--side-ink);padding:22px 16px;position:sticky;top:0;height:100vh;align-self:start;display:flex;flex-direction:column;gap:6px}
.side .logo{margin-bottom:22px;padding:0 6px}
.side a.nav{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;font-weight:600;font-size:16px;min-height:52px}
.side a.nav svg{width:22px;height:22px;flex:none}
.side a.nav.on,.side a.nav:hover{background:rgba(255,255,255,.14)}
.side .me{margin-top:auto;font-size:13px;opacity:.85;padding:10px}
.main-admin{padding:28px;min-width:0}
.main-admin h1{font-size:clamp(26px,3.4vw,34px);color:var(--title-color);margin-bottom:4px}
.hello{color:var(--muted);margin-bottom:22px}
.big-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}
.big-actions .btn{min-height:64px;font-size:17px;border-radius:var(--r-card)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:18px}
.stat small{color:var(--muted);font-weight:600;display:block}
.stat b{font-size:26px;font-family:var(--font-title);color:var(--title-color);display:block;margin:4px 0}
.stat em{font-style:normal;font-size:13px;color:#1B6B3A;font-weight:700}
.stat.warn{border-color:#d9a25b;background:var(--warn-bg)}
.panels{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:16px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;min-width:0}
.panel h2{font-size:20px;margin-bottom:14px;color:var(--title-color)}
.bars{display:flex;align-items:flex-end;gap:10px;height:170px;padding-top:10px}
.bars div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;font-size:12px;color:var(--muted)}
.bars span{width:100%;background:linear-gradient(var(--accent),var(--primary));border-radius:8px 8px 3px 3px;display:block}
.list{list-style:none;display:grid;gap:10px}
.list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--soft);font-size:15px}
.list li b{white-space:nowrap}
.pill{font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;background:#fbe3c8;color:#7a3a05;white-space:nowrap}
.pill.g{background:#d6f0de;color:#145c2e}.pill.b{background:#d9e5fb;color:#17408f}.pill.r{background:#f7d4d4;color:#8a1f1f}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:15px}
th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.help{background:var(--soft);border:1px solid var(--line);padding:14px 16px;border-radius:10px;font-size:15px;margin-bottom:20px}
.mobnav{display:none}

/* formulaire admin */
.form{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;align-items:start}
.field{margin-bottom:18px}
.field label{display:block;font-weight:700;margin-bottom:6px;font-size:16px}
.field small{display:block;color:var(--muted);margin-top:4px;font-size:13.5px}
.field input,.field select,.field textarea{width:100%;padding:14px;border:1.5px solid var(--line-strong);border-radius:12px;font:inherit;font-size:17px;background:#fff;color:var(--ink)}
.field textarea{min-height:140px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.suffix{position:relative}.suffix input{padding-right:70px}.suffix::after{content:"FCFA";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700;font-size:14px}
.suffix.nofix::after{content:"pièces"}
.drop{border:2px dashed var(--line-strong);border-radius:var(--r-card);padding:22px;text-align:center;color:var(--muted);background:var(--soft)}
.drop b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
.pics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.pic{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1/1;border:2px solid var(--line)}
.pic.first{border-color:var(--accent)}
.pic em{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.65);color:#fff;font-size:11px;text-align:center;font-style:normal;padding:3px}
.pic svg{width:100%;height:100%}
.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--soft)}
.switch i{width:54px;height:30px;border-radius:15px;background:#1E7B46;position:relative;flex:none}
.switch i::after{content:"";position:absolute;right:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff}
.switch i.off{background:#aaa}.switch i.off::after{right:auto;left:3px}
.savebar{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:14px;margin:20px -28px -28px;display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.toast{background:#d6f0de;color:#145c2e;border:1px solid #9ad2ae;border-radius:12px;padding:12px 16px;font-weight:600;margin-bottom:16px}

/* RESPONSIVE */
@media (prefers-reduced-motion:no-preference){.glow-anim{animation:glow 5s ease-in-out infinite}}
@keyframes glow{0%,100%{opacity:.75}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (max-width:1020px){
  .grid{grid-template-columns:repeat(3,1fr)}.catalog .grid{grid-template-columns:repeat(2,1fr)}
  .cats{grid-template-columns:repeat(3,1fr)}.engage{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.panels,.form{grid-template-columns:1fr}
}
@media (max-width:820px){
  section{padding:48px 0}
  .burger{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid currentColor;border-radius:12px;cursor:pointer}
  nav.main{position:absolute;left:0;right:0;top:100%;background:var(--header-bg);display:none;padding:10px 20px 20px;border-bottom:var(--header-border)}
  nav.main ul{flex-direction:column;gap:2px}nav.main a{display:block;padding:14px 4px;font-size:17px}
  #navtoggle:checked ~ .wrap nav.main,#navtoggle:checked ~ nav.main{display:block}
  header.site{position:relative}
  .catalog,.pdp,.cart{grid-template-columns:1fr;gap:22px}
  .filters{position:static}
  .filters summary{display:flex;font-weight:700;min-height:44px;align-items:center;cursor:pointer;font-size:17px}
  .filters:not([open]) > *:not(summary){display:none}
  footer.site .cols{grid-template-columns:1fr 1fr}
  .shell{grid-template-columns:1fr}.side{display:none}
  .main-admin{padding:18px 16px 96px}
  .mobnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--side-bg);color:var(--side-ink);z-index:60;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .mobnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;padding:6px 2px;font-weight:600;min-height:54px;justify-content:center;border-radius:10px}
  .mobnav a.on{background:rgba(255,255,255,.16)}
  .mobnav svg{width:24px;height:24px}
  .big-actions{grid-template-columns:1fr}.savebar{margin:20px -16px -96px;padding-bottom:84px}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .topbar .wrap{justify-content:center;text-align:center}
  .logo b{font-size:17px}.logo small{display:none}
  .grid,.catalog .grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .card .body{padding:12px}.card h3{font-size:16px}.price{font-size:16px}
  .card .btn{min-height:44px;font-size:14px;padding:10px}
  .cats{grid-template-columns:repeat(2,1fr);gap:12px}
  .engage{grid-template-columns:1fr}
  .line{grid-template-columns:76px 1fr;}.line .tot{grid-column:2;text-align:left}
  .stats{gap:10px}.stat{padding:14px 12px}.stat b{font-size:17px;overflow-wrap:anywhere}.topbar .wrap>span:first-child{display:none}
  .two{grid-template-columns:1fr}
  footer.site .cols{grid-template-columns:1fr}
  .contact-band .btn{width:100%}
  .hdr-actions .hide-s{display:none}
}
/* Réseaux sociaux */
.reseaux{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.reseaux a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid currentColor;border-radius:999px;font-size:15px;text-decoration:none;opacity:.92;transition:opacity .2s,background .2s}
.reseaux a:hover{opacity:1;background:rgba(255,255,255,.08)}
.reseaux svg{width:20px;height:20px;flex-shrink:0}
.suivre{margin-top:18px}

/* 2 : Sanctuaire ivoire. Langage repris des vraies maisons chrétiennes :
   photo pleine sans cadre, boutons fins en capitales espacées, nom centré et prix discret.
   EB Garamond : titres et textes, comme un livre de prières.
   Cinzel : logo, navigation, boutons, libellés courts.
   Source Sans 3 : formulaires et espace boutique. */
:root{--font-title:'EB Garamond',Georgia,serif;--font-body:'EB Garamond',Georgia,serif;--font-label:'Cinzel',Georgia,serif;--font-ui:'Source Sans 3',system-ui,sans-serif;--title-weight:400;--title-tracking:-.005em;
--bg:#FBF7EE;--card:#FFFFFF;--ink:#1D2433;--muted:#5A6275;--primary:#0F2A5C;--primary-2:#1E3F7A;--on-primary:#FFFFFF;
--accent:#C9A24B;--on-accent:#1B1604;--accent-deco:#C9A24B;--eyebrow:#7A5D17;--title-color:#0F2A5C;--price:#1D2433;--gold-text:#856214;
--line:#E7DEC6;--line-strong:#CFC5A8;--soft:#F6F0E0;--focus:#1E3F7A;--r-btn:0;--r-card:0;
--glow:none;--shadow-sm:none;
--topbar-bg:#0F2A5C;--topbar-ink:#E9EDF6;--header-bg:#FBF7EE;--header-ink:#0F2A5C;--header-border:1px solid #E7DEC6;
--badge-bg:#C9A24B;--badge-ink:#14213D;--ic-bg:transparent;--ic-ink:#856214;--band-bg:#F6F0E0;--band-ink:#0F2A5C;
--footer-bg:#0F2A5C;--footer-ink:#D6DDEE;--footer-title:#E6C877;--pagehead-bg:#FBF7EE;--pagehead-ink:#0F2A5C;
--admin-bg:#F6F2E7;--side-bg:#FFFFFF;--side-ink:#0F2A5C;--warn-bg:#FFF4E2;
--ease:cubic-bezier(.16,1,.3,1)}

/* Surfaces du navigateur */
html{scrollbar-color:#CFC5A8 #FBF7EE}
::selection{background:#E6C877;color:#0F2A5C}
input,textarea{caret-color:#1E3F7A}
a{text-underline-offset:.22em}
img{display:block;width:100%;height:100%;object-fit:cover}

/* Rôles typographiques */
body{font-size:19px;line-height:1.55;font-feature-settings:"kern","liga","lnum"}
h1,h2{text-wrap:balance}
.card h3,.line h3,.eng h3,.filters h3,.summary h2,.arche b{font-family:var(--font-body);font-weight:400;letter-spacing:0}
.crumbs,.filters label,.toolbar,.qty,.summary dl,.summary label,.summary .note,.line .meta,.line .tot,.line .rm,.trust{font-family:var(--font-body);font-size:17px}
.toolbar input,.toolbar select,.summary select,.filters input[type=number]{font-family:var(--font-ui);font-size:16px}

/* Boutons : un trait fin, des capitales gravées, aucun arrondi */
.btn{font:600 12.5px/1 var(--font-label);letter-spacing:.16em;text-transform:uppercase;padding:16px 30px;min-height:50px;border:1px solid transparent;border-radius:0;transition:background .25s,color .25s,border-color .25s}
.btn-lg{font-size:13px;min-height:54px;padding:18px 36px}
.btn-sm{font-size:11.5px;min-height:44px}
.btn svg{display:none}
.btn-primary{background:#0F2A5C;border-color:#0F2A5C}
.btn-primary:hover{background:transparent;color:#0F2A5C;box-shadow:none}
.btn-ghost{color:#0F2A5C;border-color:#0F2A5C}
.btn-ghost:hover{background:#0F2A5C;border-color:#0F2A5C;color:#fff!important}
.btn-wa{background:#1B5E3B;border-color:#1B5E3B}
.btn-wa:hover{background:transparent;color:#1B5E3B}
.lien{display:inline-flex;align-items:center;align-self:center;min-height:40px;font:600 11px/1 var(--font-label);letter-spacing:.14em;text-transform:uppercase;color:#0F2A5C;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.5em}
.lien:hover{text-decoration-color:#0F2A5C}

/* En-tête : logo au centre, navigation dessous, pictos fins */
.topbar{font:500 11.5px/1.4 var(--font-label);letter-spacing:.12em;text-transform:uppercase}
.topbar .wrap{justify-content:center;gap:6px 40px;padding-top:9px;padding-bottom:9px}
.topbar .wrap>span{display:inline-flex;align-items:center;gap:8px}
.topbar svg{display:none}
header.site .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px 16px;min-height:0;padding-top:22px;padding-bottom:0;max-width:1320px}
.loupe{justify-self:start;display:grid;place-items:center;width:44px;height:44px;margin-left:-10px}
.loupe svg{width:21px;height:21px;stroke-width:1.5}
.logo{flex-direction:column;gap:4px;text-align:center;align-items:center}
header.site .logo svg{display:none}
.logo b{font:500 28px/1.1 var(--font-label);letter-spacing:.1em}
.logo small{margin-top:2px;font:500 10.5px/1.3 var(--font-label);letter-spacing:.24em;opacity:1;color:var(--gold-text)}
.hdr-actions{grid-column:3;grid-row:1;justify-self:end}
.cart-link{font:500 13px/1 var(--font-label);padding:0;gap:4px}
.cart-link svg{stroke-width:1.5}
.cart-link .hide-s{display:none}
.cart-link i{background:none;color:#0F2A5C;min-width:0;height:auto;font-size:13px}
nav.main{grid-column:1/-1;justify-self:center}
nav.main ul{gap:44px;font:500 12.5px/1 var(--font-label);letter-spacing:.14em;text-transform:uppercase}
nav.main a{display:block;padding:16px 2px 18px;border-bottom:1px solid transparent}
nav.main a:hover,nav.main a.on{border-color:#0F2A5C}

/* Accueil */
section.choeur{padding:40px 0 0;overflow:hidden}
.choeur .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;max-width:1320px}
.aile.gauche{text-align:right}
.choeur h1{font-size:clamp(50px,6.2vw,92px);line-height:1;color:#0F2A5C;font-weight:400}
.choeur h1 em{display:block;margin-top:8px;font-size:.62em;line-height:1.1;font-style:italic;color:var(--gold-text)}
.choeur .lead{font-size:clamp(21px,1.7vw,24px);line-height:1.4;color:#2F384B;max-width:30ch;margin-bottom:28px}
.choeur .cta{display:flex;gap:12px;flex-wrap:wrap}
.baie{position:relative;background:#C9A24B;padding:2px 2px 0;clip-path:url(#ogive);align-self:end;height:clamp(460px,66vh,600px)}
.baie .vitre{display:block;height:100%;clip-path:url(#ogive);background:#0F2A5C;overflow:hidden}
.baie img{object-position:50% 12%}
.values{font:500 12px/1.5 var(--font-label);letter-spacing:.16em;text-transform:uppercase;text-align:center;color:#6E5412;border-top:1px solid var(--accent);padding:15px 16px;background:var(--bg);position:relative}
@media (prefers-reduced-motion:no-preference){.baie img{animation:lever 2.2s var(--ease) both}}
@keyframes lever{from{transform:scale(1.06)}to{transform:none}}

/* Sections */
.sec-head{margin-bottom:48px}
.sec-head h2{font-size:clamp(32px,3.6vw,46px);font-weight:400}
.sec-head p{font-size:21px;margin-top:8px;font-style:italic}

/* Nos univers */
section.nef{background:var(--soft);padding:84px 0}
.arcade{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.arche{display:flex;flex-direction:column;align-items:center;text-align:center}
.niche{display:block;width:100%;aspect-ratio:3/4.4;background:#C9A24B;padding:1.5px 1.5px 0;clip-path:url(#ogive)}
.niche .vitre{display:block;height:100%;clip-path:url(#ogive);background:#0F2A5C;overflow:hidden}
.niche img{transition:transform 1.1s var(--ease)}
.arche:hover .niche img{transform:scale(1.05)}
.arche b{margin-top:16px;font-size:22px;line-height:1.2;color:#0F2A5C}
.arche small{display:none}

/* Fiches : la photo d'abord, puis le nom et le prix, centrés */
.grid{gap:44px 24px}
.card{border:0;background:transparent;overflow:visible;text-align:center}
.card:hover{box-shadow:none;transform:none}
.card .art{display:block;aspect-ratio:4/5;background:var(--soft);overflow:hidden}
.card .art img{transition:transform 1.1s var(--ease)}
img[src$="medaille.jpg"]{object-position:14% 50%}
.card:hover .art img{transform:scale(1.04)}
.card .body{padding:16px 0 0;gap:2px;align-items:center}
.card h3{font-size:22px;line-height:1.22;color:#0F2A5C;text-wrap:balance}
.card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.price{font-weight:400;font-size:20px;color:var(--ink)}
.price s{font-size:17px;margin-left:8px}
.card .stock{font-size:16px;font-style:italic;font-weight:400}
.card .lien{margin-top:6px}
.badge{top:0;left:0;border-radius:0;padding:7px 12px;font:600 11px/1 var(--font-label);letter-spacing:.14em;text-transform:uppercase}
.badge.out{background:#5A6275;color:#fff}
.suite{text-align:center;margin-top:52px}

/* Verset */
.verse{background:#0F2A5C;color:#fff;padding:108px 0}
.verse blockquote{font:italic 400 clamp(30px,4.2vw,54px)/1.22 var(--font-body);letter-spacing:0;max-width:21em;text-wrap:balance}
.verse cite{font:500 12.5px/1.6 var(--font-label);letter-spacing:.14em;text-transform:uppercase;margin-top:28px;color:#E6C877}
.verse .pray{margin-top:22px;max-width:34em;font-size:20px;opacity:1;color:#D6DDEE}

/* Nos engagements */
section.regle{padding:84px 0}
.regle .sec-head{margin-bottom:36px}
.regle .engage{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 40px}
.eng{border:0;background:transparent;border-radius:0;text-align:center;padding:0}
.eng h3{font-size:23px;margin:0 0 4px;line-height:1.25}
.eng p{font-size:18px;line-height:1.4}

/* Contact */
.contact-band{text-align:center;padding:72px 0}
.contact-band h2{font-size:clamp(30px,3.4vw,42px);font-weight:400;color:#0F2A5C}
.contact-band p{max-width:34em;font-size:20px;margin:6px auto 26px}

/* Pied */
footer.site h4{font:600 12.5px/1.4 var(--font-label);letter-spacing:.14em;text-transform:uppercase}
footer.site{font-size:18px}
footer.site li svg{display:none}
footer.site .legal{font-size:15px;opacity:1;color:#B9C7E4}

/* Catalogue */
.pagehead{text-align:center;padding:44px 0 32px;border-bottom:1px solid var(--line)}
.pagehead h1{font-size:clamp(34px,4.4vw,54px);font-weight:400}
.crumbs{color:var(--muted);opacity:1;font-size:16px}
.catalog{padding-top:40px;grid-template-columns:230px 1fr;gap:44px}
.filters{background:transparent;border:0;border-radius:0;padding:0}
.filters h3{font-size:21px;margin-bottom:6px}
.filters fieldset{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.filters label{font-size:18px;min-height:34px}
.filters small{color:var(--muted);font-size:15px}
.filters input[type=number],.toolbar input,.toolbar select,.summary select{border-radius:0}
.filters input[type=checkbox],.filters input[type=radio]{width:17px;height:17px;accent-color:#0F2A5C}
.catalog .grid{gap:44px 24px}
.toolbar + p{font-style:italic}
.pager a{border:0;background:none;border-radius:0;font:400 19px/1 var(--font-body);min-width:40px}
.pager a.on{background:none;color:#0F2A5C;border-bottom:1px solid #0F2A5C}

/* Fiche produit */
.pdp{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.gallery .main{border:0;border-radius:0;aspect-ratio:4/5}
.thumbs{gap:8px}
.thumbs div{border-radius:0;border:1px solid transparent}
.thumbs div.on{border-color:#0F2A5C}
.pdp h1{font-size:clamp(32px,3.6vw,46px);line-height:1.12;font-weight:400;margin:0 0 10px}
.pdp .price{font-size:26px}
.pdp .stock{font-style:italic;font-weight:400;font-size:17px!important}
.pdp .desc{font-size:21px;line-height:1.45}
.pdp ul.feat{font-size:19px;color:var(--ink);gap:4px}
.pdp ul.feat li::before{content:"✝";color:var(--gold-text);margin-right:10px}
.qty{border-radius:0}
.qty button{font-size:20px}
.buy .row span b{font-weight:500}
.trust{background:transparent;border-top:1px solid var(--line);border-radius:0;padding:16px 0 0;gap:4px}
.trust svg{display:none}
.tabs-info{padding:44px 0 72px}
.tabs-info .sec-head{text-align:center!important;margin:0 auto 32px!important}
.tabs-info .sec-head h2{font-size:clamp(28px,3vw,36px)!important}

/* Panier */
.line{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:22px 0;margin:0}
.line .art{border-radius:0}
.line h3{font-size:23px;color:#0F2A5C}
.line .tot{font-weight:500;font-size:19px}
.line .rm{color:var(--muted);font-size:16px}
.summary{border:1px solid var(--line-strong);background:transparent;border-radius:0}
.summary h2{font-size:27px}
.summary dd{font-weight:400}
.summary .total{font-weight:500;font-size:22px}
.summary label{font-weight:400!important}

@media (max-width:1020px){
  .arcade{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
  .regle .engage{grid-template-columns:repeat(2,minmax(0,1fr))}
  .choeur .wrap{grid-template-columns:minmax(0,1fr) minmax(240px,300px) minmax(0,1fr);gap:24px}
  .choeur h1{font-size:clamp(42px,5.6vw,60px)}
  .choeur .lead{font-size:19px}
  nav.main ul{gap:28px}
}
@media (max-width:820px){
  header.site .wrap{display:flex;padding-top:0;min-height:72px}
  .loupe{display:none}
  .logo{align-items:flex-start;text-align:left}
  .logo b{font-size:21px}
  .burger{border:0;width:44px;height:44px}
  nav.main ul{letter-spacing:.12em;gap:0}
  nav.main a{padding:15px 4px;font-size:13px;border-bottom:1px solid var(--line)}
  nav.main a.on,nav.main a:hover{border-color:var(--line)}
  section.choeur{padding-top:32px}
  .choeur .wrap{grid-template-columns:1fr;gap:22px;justify-items:center;text-align:center}
  .aile.gauche{text-align:center}
  .choeur h1{font-size:clamp(50px,14vw,68px)}
  .baie{order:3;width:min(76vw,320px);height:auto;aspect-ratio:3/4.3}
  .choeur .lead{max-width:none;font-size:21px;margin-bottom:22px}
  .choeur .cta{justify-content:center}
  .values{font-size:11px;letter-spacing:.12em}
  .verse{padding:72px 0}
  section.nef,section.regle{padding:60px 0}
  .pdp{grid-template-columns:1fr}
  .catalog{grid-template-columns:1fr;gap:20px;padding-top:24px}
  .filters{border-bottom:1px solid var(--line);padding-bottom:10px}
  .filters summary{font:600 12px/1 var(--font-label);letter-spacing:.14em;text-transform:uppercase}
}
@media (max-width:560px){
  body{font-size:18px}
  .choeur .cta .btn{width:100%}
  .arcade{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .grid,.catalog .grid{gap:32px 14px}
  .card h3{font-size:19px}
  .price{font-size:18px}
  .card .body{padding:12px 0 0}
  .lien{font-size:11px;letter-spacing:.08em;line-height:1.7;text-align:center;text-underline-offset:.35em}
  .card .price s{display:block;margin-left:0}
  .regle .engage{grid-template-columns:1fr}
  .topbar .wrap>span:first-child{display:inline-flex}
  .topbar{font-size:10.5px;letter-spacing:.08em}
  .topbar .wrap{gap:2px 16px}
  .sec-head p{font-size:19px}
}

/* Espace boutique : tailles normales, peu d'éléments, tout s'aligne */
body.admin{font-family:var(--font-ui);font-size:16px;line-height:1.45;font-feature-settings:"tnum","lnum";background:#FBF7EE}
body.admin .btn{font:600 15px/1.2 var(--font-ui);letter-spacing:0;text-transform:none;border-radius:4px;min-height:44px;padding:10px 16px;gap:8px}
body.admin .btn svg{display:block;width:17px;height:17px}
body.admin .btn-primary:hover{background:#1E3F7A;border-color:#1E3F7A;color:#fff}
body.admin .btn-ghost{background:#fff}
body.admin .btn-ghost:hover{background:#F6F0E0;color:#0F2A5C!important;border-color:#0F2A5C}
.shell{grid-template-columns:200px 1fr}
.side{border-right:1px solid #E7DEC6;padding:20px 12px}
.side .logo{flex-direction:column;align-items:flex-start;text-align:left;padding:0 8px;margin-bottom:16px}
.side .logo b{color:#0F2A5C;font-size:15px;letter-spacing:.05em;line-height:1.25}
.side .logo small{font-size:10.5px;letter-spacing:.06em}
.side a.nav{border-radius:4px;font-weight:600;font-size:15px;min-height:42px;padding:9px 10px;gap:10px}
.side a.nav svg{width:18px;height:18px}
.side a.nav.on,.side a.nav:hover{background:#F6F0E0}
.side .voir{margin-top:auto;padding:10px;font-size:15px;color:#0F2A5C;text-decoration:underline}
.mobnav{border-top:1px solid #E7DEC6}.mobnav a{border-radius:4px;font-size:12px;min-height:48px}.mobnav svg{width:20px;height:20px}.mobnav a.on{background:#F6F0E0}
.main-admin{padding:24px 24px 56px}
.colonne{max-width:900px;margin:0 auto}
.colonne.large{max-width:1000px}
.main-admin h1{font-family:var(--font-title);font-size:26px;line-height:1.2;font-weight:400;margin:0 0 14px}
.carte{background:#fff;border:1px solid #E7DEC6;border-radius:4px;padding:16px;min-width:0}
.carte h2,.bloc h2{font:600 16px/1.3 var(--font-ui);letter-spacing:0;color:#0F2A5C;margin-bottom:10px}
.vignette{width:40px;height:40px;flex:none;border-radius:3px;overflow:hidden;background:var(--soft)}
.entete{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.entete h1{margin:0}

/* Tableau de bord */
.chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border:1px solid #E7DEC6;border-radius:4px}
.chiffres div{padding:14px 16px;border-left:1px solid #E7DEC6}
.chiffres div:first-child{border-left:0}
.chiffres span{display:block;font-size:14px;color:var(--muted)}
.chiffres b{font-size:21px;font-weight:600;color:#0F2A5C;white-space:nowrap}
.grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.barres{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;height:130px}
.barres div{display:flex;flex-direction:column;justify-content:flex-end;text-align:center;min-width:0;height:100%}
.barres i{display:block;background:#1E3F7A;border-radius:2px 2px 0 0;min-height:2px}
.barres span{font-size:13px;margin-top:4px;color:var(--muted)}
.barres .auj i{background:#C9A24B}
.barres .auj span{color:var(--ink);font-weight:600}
.resume{list-style:none}
.resume a{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-top:1px solid #F0E8D4}
.resume li:first-child a{border-top:0}
.resume b{font-weight:600}
.jauge{height:10px;border-radius:5px;background:#F0E8D4;overflow:hidden}
.jauge i{display:block;height:100%;background:#C9A24B}
.sous{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:15px}
.sous b{font-weight:600;color:#0F2A5C}
.sous span{color:var(--muted)}
.petits{list-style:none}
.petits li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #F0E8D4}
.petits li:first-child{border-top:0}
.petits b{font-weight:600;white-space:nowrap}

/* Statuts */
.statut{display:inline-block;padding:2px 8px;border-radius:3px;font-size:13.5px;font-weight:600;white-space:nowrap}
.s0{background:#FBE3C8;color:#7A3A05}
.s1{background:#F6ECC8;color:#5F4708}
.s2{background:#DCE6F6;color:#17408F}
.s3{background:#D6F0DE;color:#145C2E}
.sx{background:#F0E8E8;color:#8A1F1F}

/* Liste des commandes */
.filtres{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:12px;border-bottom:1px solid #E7DEC6}
.filtres button{padding:8px 0;min-height:40px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;font:inherit;font-size:15px;color:var(--muted);cursor:pointer}
.filtres button.on{color:#0F2A5C;font-weight:600;border-bottom-color:#0F2A5C}
.liste.carte{padding:0 16px}
.liste.courte{margin:-4px 0}
.ligne{display:grid;grid-template-columns:minmax(0,1fr) auto 104px 16px;gap:14px;align-items:center;min-height:56px;padding:8px 0;border-top:1px solid #F0E8D4}
.ligne:first-child{border-top:0}
.ligne[hidden]{display:none}
.ligne:hover b{text-decoration:underline}
.ligne .statut{justify-self:start}
.ligne svg{width:16px;height:16px;color:var(--muted)}
.l-nom b{display:block;font-weight:600;color:var(--ink)}
.l-nom small{color:var(--muted);font-size:14px}
.l-prix{font-weight:600;white-space:nowrap}
.courte .ligne{grid-template-columns:minmax(0,1fr) 104px 16px;min-height:48px;padding:6px 0}
.courte .l-prix{display:none}

/* Suivi détaillé d'une commande */
.retour{display:inline-block;margin-bottom:8px;font-size:15px;color:var(--muted)}
.retour:hover{text-decoration:underline}
.ref{font-size:15px;color:var(--muted)}
.detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:start}
.cote{display:grid;gap:12px}
.cote p{line-height:1.5}
.fil{list-style:none;margin-bottom:14px}
.fil li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding:0 0 14px 24px;color:var(--muted)}
.fil li:last-child{padding-bottom:0}
.fil li::before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #CFC5A8}
.fil li::after{content:"";position:absolute;left:5px;top:18px;bottom:-4px;width:2px;background:#E7DEC6}
.fil li:last-child::after{display:none}
.fil li.fait{color:var(--ink)}
.fil li.fait::before{background:#1B6B3A;border-color:#1B6B3A}
.fil li.fait::after{background:#1B6B3A}
.fil li.ici{color:#0F2A5C}
.fil li.ici::before{background:#C9A24B;border-color:#C9A24B}
.quoi{font-weight:600}
.quand{font-size:14px;color:var(--muted);text-align:right;white-space:nowrap}
.fil small{grid-column:1/-1;font-size:14px;color:var(--muted)}
.fil li:not(.fait) small{display:none}
.rappeler{display:inline-block;margin-bottom:10px;padding:2px 8px;border-radius:3px;background:#FBE3C8;color:#7A3A05;font-size:14px;font-weight:600}
.rappeler[hidden]{display:none}
[data-suivant]{width:100%}
[data-suivant][hidden]{display:none}
.souci{margin-top:6px}
.souci[hidden]{display:none}
.souci summary{min-height:40px;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--muted);text-decoration:underline;cursor:pointer}
.souci .btn{width:100%;margin-top:6px}
.gestes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.articles{list-style:none}
.articles li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 0}
.articles b{font-weight:600;white-space:nowrap}
.compte-cmd{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin-top:8px;padding-top:10px;border-top:1px solid #F0E8D4}
.compte-cmd dd{text-align:right}
.compte-cmd .tot{font-weight:600;color:#0F2A5C}

/* Produits et formulaires */
.rangs-stock{list-style:none}
.rangs-stock.carte{padding:0 16px}
.rangs-stock li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid #F0E8D4}
.rangs-stock li:first-child{border-top:0}
.nom{line-height:1.3;color:var(--ink);font-weight:600}
.nom small{display:block;font-weight:400;color:var(--muted);font-size:14px}
.pas{display:inline-grid;grid-template-columns:36px 36px 36px;align-items:center;border:1px solid var(--line-strong);border-radius:4px;background:#fff}
.pas button{height:36px;border:0;background:none;font-size:18px;line-height:1;color:#0F2A5C;cursor:pointer}
.pas button:hover{background:#F6F0E0}
.pas output{text-align:center;font-weight:600}
.cherche{width:100%;min-height:42px;margin-bottom:12px;padding:8px 12px;font:inherit;border:1px solid var(--line-strong);border-radius:4px;background:#fff}
.fiche{max-width:620px}
.bloc{padding:0;margin-bottom:18px}
.champ{margin-bottom:14px}
.champ label{display:block;font-weight:600;font-size:15px;margin-bottom:4px}
.champ input:not(.sr),.champ select,.champ textarea{width:100%;min-height:42px;padding:8px 12px;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:4px}
.champ textarea{resize:vertical}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.prise{display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0!important;border:1px solid #0F2A5C;border-radius:4px;background:#fff;color:#0F2A5C;cursor:pointer}
.prise svg{width:18px;height:18px}
.prise:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.photos{display:flex;gap:6px;margin-top:8px}
.photos div{width:64px;height:64px;border-radius:3px;overflow:hidden}
.plus{border-top:1px solid #E7DEC6;border-bottom:1px solid #E7DEC6;margin-bottom:16px}
.plus summary{min-height:44px;display:flex;align-items:center;font-weight:600;color:#0F2A5C;cursor:pointer}
.coche{display:flex;align-items:center;gap:10px;min-height:40px;cursor:pointer}
.coche input{width:18px;height:18px;accent-color:#0F2A5C}
.valider{display:flex;gap:8px;margin-top:8px}
.confirme{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:70;width:min(calc(100vw - 32px),420px);display:flex;justify-content:space-between;align-items:center;gap:12px;background:#0F2A5C;color:#fff;padding:8px 14px;border-radius:4px;font-size:15px;box-shadow:0 6px 18px rgba(15,42,92,.25)}
.confirme[hidden]{display:none}
.confirme button{min-height:36px;padding:0 6px;background:none;border:0;color:#E6C877;font:inherit;text-decoration:underline;cursor:pointer}
.confirme button[hidden]{display:none}

@media (max-width:820px){
  .shell{grid-template-columns:1fr}
  .main-admin{padding:16px 16px 92px}
  .confirme{bottom:80px}
  .mobnav{background:#fff;padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
  .grille,.detail{grid-template-columns:minmax(0,1fr)}
  .chiffres{grid-template-columns:repeat(3,minmax(0,1fr))}
  .chiffres div{padding:10px}
  .chiffres b{font-size:15px}
  .chiffres span{font-size:13px}
}
@media (max-width:560px){
  .ligne{grid-template-columns:minmax(0,1fr) auto 14px;gap:2px 10px}
  .ligne .l-nom{grid-row:span 2}
  .ligne .statut{grid-column:2;grid-row:2;justify-self:end}
  .ligne svg{grid-column:3;grid-row:1/span 2}
  .ligne .l-prix{grid-column:2;grid-row:1;text-align:right}
  .courte .ligne{grid-template-columns:minmax(0,1fr) auto 14px}
  .courte .ligne .statut{grid-row:1/span 2}
  .quand{font-size:13px}
}

/* Mobile : finitions */
.niche{min-height:0}
.niche .vitre img{display:block}
.card .lien{margin-top:auto;padding-top:10px}
@media (max-width:820px){
  .logo{gap:0}
  .logo b{white-space:nowrap;font-size:19px;letter-spacing:.08em;line-height:1.05}
  .logo b .pre{display:block;margin-bottom:3px;font:italic 400 17px/1 var(--font-body);letter-spacing:.02em;text-transform:none;color:var(--gold-text)}
  .cart-link,.burger{flex-shrink:0}
}
@media (max-width:560px){
  .choeur h1{font-size:clamp(48px,13vw,60px)}
  .choeur .lead{font-size:19px;line-height:1.45}
  .baie{width:min(82vw,330px)}
  .arche b{font-size:19px;margin-top:12px}
  .card .lien{padding-top:12px}
  .card .stock{font-size:15px}
}
@media (max-width:820px){
  .filters summary{justify-content:space-between;min-height:52px;color:#0F2A5C;list-style:none}
  .filters summary::-webkit-details-marker{display:none}
  .filters summary::after{content:"";width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .3s var(--ease)}
  .filters[open] summary::after{transform:translateY(2px) rotate(-135deg)}
  .filters[open]{padding-bottom:20px}
}
@media (max-width:560px){
  .line{grid-template-columns:84px 1fr;align-items:start;column-gap:18px}
  .line h3{font-size:21px}
  .line .tot{margin-top:4px}
}

/* Logo médaillon */
header.site .logo{flex-direction:row;align-items:center;gap:16px;text-align:left}
header.site .logo>span{display:flex;flex-direction:column;align-items:center;text-align:center}
.medaillon{display:block;height:64px;width:auto;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(15,42,92,.18))}
.side .logo{flex-direction:column;align-items:flex-start;gap:10px}
.side .medaillon{height:64px}
.marque .medaillon-pied{display:block;height:150px;width:auto;margin-bottom:18px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
@media (max-width:820px){
  header.site .logo{gap:12px}
  header.site .logo>span{align-items:flex-start;text-align:left}
  header.site .medaillon{height:50px}
  .marque .medaillon-pied{height:120px}
}
/* Réseaux sociaux : boutons fins, sans arrondi, comme le reste */
.reseaux a{border-radius:0;font:500 12px/1 var(--font-label);letter-spacing:.14em;text-transform:uppercase;border-color:rgba(201,162,75,.6);color:inherit}
.reseaux.grand a{border-color:#0F2A5C;color:#0F2A5C;padding:0 18px;min-height:48px}
.reseaux.grand a:hover{background:#0F2A5C;color:#FBF7EE}
.contact-band .suivre{font-style:italic;color:var(--muted)}
.suivre-bloc{margin:36px auto 0;padding-top:28px;border-top:1px solid var(--line);max-width:700px}
.contact-band .suivre-bloc .suivre{margin:0 auto 4px;font-size:18px}
.suivre-bloc .reseaux{justify-content:center}
/* Mobile : les quatre réseaux sur deux lignes, icône à côté du nom */
@media (max-width:560px){
  .reseaux{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
  .reseaux a{justify-content:center;gap:9px;padding:0 6px;min-height:52px;font-size:12px;letter-spacing:.12em}
  .reseaux.grand a{padding:0 6px;min-height:54px}
}
/* Pied de page ordinateur : boutons de même largeur, en colonne */
@media (min-width:561px){footer.site .reseaux{flex-direction:column;align-items:stretch;width:172px;gap:8px}}

/* ---------- Boutique reliée à la base de données ---------- */
/* Tant que les vrais produits ne sont pas chargés, on ne montre pas ceux de la démonstration */
.live [data-live]:not(.pret){visibility:hidden}
button.lien{background:none;border:0;padding:0;cursor:pointer}
.card .art img,.line .art img{width:100%;height:100%;object-fit:cover;display:block}
.pdp .main img{width:100%;height:100%;object-fit:cover;display:block}
.pdp .thumbs button{padding:0;border:1px solid transparent;background:none;cursor:pointer;aspect-ratio:1;overflow:hidden}
.pdp .thumbs button.on{border-color:#0F2A5C}
.pdp .thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.confirme a{color:#E6C877;text-decoration:underline;white-space:nowrap}
.confirme a[hidden]{display:none}
.vide-boutique,.panier-vide,.introuvable{grid-column:1/-1;padding:40px 0;text-align:center;color:var(--muted);font-size:18px}
.panier-vide p,.introuvable h1{margin-bottom:18px}
.summary .coord{display:grid;gap:4px;margin:4px 0 14px}
.summary .coord label{margin-top:6px}
.summary .coord small{color:var(--muted)}
.summary input,.summary textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:0;font:16px/1.4 var(--font-ui);background:#fff;color:var(--ink)}
.summary textarea{resize:vertical}
.summary .erreur{margin:0 0 12px;padding:10px 12px;background:#F0E8E8;color:#8A1F1F;font-size:15px}
.summary .erreur[hidden]{display:none}
.summary button[disabled]{opacity:.6;cursor:wait}
.merci{grid-column:1/-1;max-width:620px;margin:20px auto 60px;text-align:center;display:grid;gap:16px;justify-items:center}
.merci h2{font-size:32px;color:#0F2A5C}
.merci .ref-cmd{font-size:20px}

/* ---------- Espace boutique relié ---------- */
.vignette img{width:100%;height:100%;object-fit:cover;display:block}
.attente{color:var(--muted);padding:30px 0}
.vide{color:var(--muted);padding:12px 0}
.alerte{margin:0 0 12px;padding:10px 12px;background:#FFF4E0;color:#7A4B00;border-radius:4px;font-size:15px}
.alerte[hidden]{display:none}
.lien-simple{display:inline-block;margin-top:12px;background:none;border:0;padding:4px 0;font:inherit;font-size:15px;color:#0F2A5C;text-decoration:underline;cursor:pointer}
.side .sortir{margin:4px 0 0;padding:10px;background:none;border:0;text-align:left;font:inherit;font-size:15px;color:var(--muted);text-decoration:underline;cursor:pointer}
.note-client{font-style:italic;color:var(--muted)}
.aide{display:block;margin-top:6px;color:var(--muted);font-size:13px}
.photos .ph{position:relative;width:84px;height:84px;border-radius:3px;overflow:hidden;border:1px solid var(--line)}
.photos .ph.premiere{border:2px solid #C9A24B}
.photos .ph img{width:100%;height:100%;object-fit:cover;display:block}
.photos .ph [data-retirer]{position:absolute;top:2px;right:2px;width:26px;height:26px;border:0;border-radius:50%;background:rgba(15,42,92,.85);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.photos .ph .principale{position:absolute;left:0;right:0;bottom:0;border:0;background:rgba(255,255,255,.9);font:600 11px/1 var(--font-ui);padding:5px 0;color:#0F2A5C;cursor:pointer}
.photos{flex-wrap:wrap}
.danger{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.danger [data-suppr]{color:#8A1F1F;margin-top:0}
.danger [data-suppr-oui]{border-color:#8A1F1F;color:#8A1F1F}
.zones{display:grid;gap:8px}
.zone{display:grid;grid-template-columns:minmax(0,1fr) 120px 40px;gap:8px}
.zone input{min-height:42px;padding:8px 12px;font:inherit;border:1px solid var(--line-strong);border-radius:4px;background:#fff;width:100%}
.zone button{border:1px solid var(--line-strong);background:#fff;border-radius:4px;font-size:18px;color:#8A1F1F;cursor:pointer}
.compte{margin-top:16px}
[data-retablir]{margin-top:10px}
.rangs-stock li[hidden]{display:none}
button[disabled]{opacity:.6;cursor:wait}
/* Page de connexion */
.connexion{background:#F6F0E0}
.porte{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.porte-carte{width:min(100%,420px);text-align:center;padding:32px 24px}
.porte-carte .medaillon{height:120px;width:auto;margin:0 auto 10px;display:block}
.porte-carte h1{margin:0;font-size:26px}
.porte-carte .sous-titre{color:var(--muted);margin-bottom:20px}
.porte-carte .fiche{text-align:left;max-width:none}
.porte-carte .fiche p{margin-bottom:12px;color:var(--muted)}
.porte-carte .alerte{text-align:left}
@media (max-width:560px){.zone{grid-template-columns:minmax(0,1fr) 96px 40px}}
/* Un élément caché reste caché, même si son style l'affiche (boutons, zone de suppression) */
.espace [hidden],.summary [hidden],.confirme [hidden]{display:none!important}

/* ---------- Compte client ---------- */
.compte-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#0F2A5C;font:500 12px/1 var(--font-label);letter-spacing:.12em;text-transform:uppercase}
.compte-link svg{flex:none}
.hdr-actions{gap:14px}
/* Sur téléphone, « Mon compte » passe dans le menu pour laisser la place au logo */
.main .nav-compte{display:none}
@media (max-width:820px){.compte-link{display:none}.main .nav-compte{display:list-item}}
.info-compte{margin:0 0 14px;padding:12px 14px;background:#F6F0E0;border-left:3px solid #C9A24B;font-size:16px;line-height:1.5}
.info-compte a{text-decoration:underline;color:#0F2A5C}
.suivi-invite{width:100%;padding:18px;border:1px solid #C9A24B;background:#FBF7EE;display:grid;gap:12px;justify-items:center}
.suivi-invite .btn{margin:0 4px}
.espace-client{padding-top:28px;padding-bottom:64px;max-width:900px}
.intro-compte{font-size:18px;margin-bottom:22px;line-height:1.55}
.attente-compte{color:var(--muted)}
.attente-compte a{text-decoration:underline}
.portes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.porte-client{border:1px solid var(--line-strong);padding:22px;display:grid;gap:6px;background:#fff}
.porte-client.seul{max-width:440px}
.porte-client h2{font-size:24px;color:#0F2A5C;margin-bottom:6px}
.porte-client label{margin-top:6px;font-size:16px}
.porte-client label small{color:var(--muted)}
.porte-client input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line-strong);font:16px/1.4 var(--font-ui);background:#fff;color:var(--ink)}
.porte-client .btn{margin-top:12px}
.lien-oubli{justify-self:start;margin-top:6px;background:none;border:0;padding:6px 0;font:inherit;font-size:16px;color:#0F2A5C;text-decoration:underline;cursor:pointer}
.alerte-client{margin:0 0 16px;padding:12px 14px;background:#F0E8E8;color:#8A1F1F;font-size:16px}
.alerte-client.bon{background:#E3F2E7;color:#145C2E}
.alerte-client[hidden]{display:none}
.entete-client{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:18px;font-size:17px}
.entete-client .email{color:var(--muted)}
.titre-cmds{font-size:28px;color:#0F2A5C;margin-bottom:14px}
.cmd-client{border:1px solid var(--line-strong);background:#fff;padding:18px 20px;margin-bottom:14px}
.cmd-client header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cmd-client header b{display:block;font-size:19px;color:#0F2A5C;font-weight:500}
.cmd-client header small{color:var(--muted);font-size:15px}
.cmd-client .montant{font-size:18px;white-space:nowrap}
.cmd-client .ou{margin:10px 0 14px;font-size:17px}
.cmd-client.annulee{opacity:.8}
.cmd-client.annulee .ou{color:#8A1F1F}
.etapes-client{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 12px;padding:0}
.etapes-client li{position:relative;text-align:center;padding-top:22px;font:600 12px/1.3 var(--font-ui);color:var(--muted)}
.etapes-client li::before{content:"";position:absolute;top:4px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;border:2px solid #D9CFB6;background:#fff;z-index:1}
.etapes-client li::after{content:"";position:absolute;top:10px;left:-50%;width:100%;height:2px;background:#E7DEC6}
.etapes-client li:first-child::after{display:none}
.etapes-client li.fait{color:#145C2E}
.etapes-client li.fait::before{background:#1B6B3A;border-color:#1B6B3A}
.etapes-client li.fait::after,.etapes-client li.ici::after{background:#1B6B3A}
.etapes-client li.ici{color:#0F2A5C}
.etapes-client li.ici::before{background:#C9A24B;border-color:#C9A24B}
.cmd-client details summary{cursor:pointer;color:#0F2A5C;text-decoration:underline;font-size:16px}
.cmd-client details ul{list-style:none;margin:10px 0 0;padding:0}
.cmd-client details li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--line);font-size:16px}
.cmd-client details li b{font-weight:500;white-space:nowrap}
.aucune{text-align:center;padding:30px 0;display:grid;gap:14px;justify-items:center;color:var(--muted)}
.aide-client{margin-top:18px;color:var(--muted);font-size:16px}
.aide-client a{text-decoration:underline}
@media (max-width:720px){.portes{grid-template-columns:1fr}.porte-client{padding:18px}.cmd-client{padding:16px}.etapes-client li{font-size:11px}}

/* ---------- Paiement Wave / Orange Money ---------- */
/* Panier : choix du paiement */
.choix-paie{border:0;margin:6px 0 14px;padding:0;display:grid;gap:8px}
.choix-paie legend{font:500 16px/1.4 var(--font-body);margin-bottom:6px}
.choix-paie .mode{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 14px;border:1px solid var(--line-strong);background:#fff;cursor:pointer;font:600 16px/1.2 var(--font-ui)}
.choix-paie .mode:has(input:checked){border:2px solid #0F2A5C;padding:0 13px;background:#F6F0E0}
.choix-paie input{width:20px;height:20px;accent-color:#0F2A5C;margin:0;min-height:0}
.choix-paie .mode-wave span::after{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:#1DC3F0;margin-left:8px}
.choix-paie .mode-orange span::after{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:#FF7900;margin-left:8px}
.choix-paie .explication{font-size:15px;color:var(--muted);line-height:1.45;margin:2px 0 0}
/* Bloc « Payez avec… » */
.paye{width:100%;max-width:520px;margin:0 auto;padding:22px;border:2px solid #0F2A5C;background:#fff;text-align:left;display:grid;gap:12px}
.paye h3{font-size:26px;color:#0F2A5C;text-align:center}
.paye.ok{border-color:#1B6B3A}.paye.ok h3{color:#145C2E}
.paye.attente{border-color:#C9A24B}
.paye.annulee{border-color:#8A1F1F}.paye.annulee h3{color:#8A1F1F}
.paye a{text-decoration:underline}
.montant-a-payer{text-align:center;font-size:20px}
.montant-a-payer b{font-size:26px;color:#0F2A5C;white-space:nowrap}
.raccourcis{display:grid;gap:8px}
.raccourcis small{font-size:14px;color:var(--muted);text-align:center;margin-top:-2px}
.btn-wave{background:#1DC3F0!important;border-color:#1DC3F0!important;color:#0B2150!important}
.btn-orange{background:#FF7900!important;border-color:#FF7900!important;color:#fff!important}
.qr-grand{text-align:center;font-size:14px;color:var(--muted);margin-top:-4px}
.paye .qr{width:min(100%,300px);height:auto;margin:0 auto;display:block;border:1px solid var(--line);background:#fff;padding:8px}
.consignes{margin:0;padding-left:22px;display:grid;gap:8px;font-size:17px;line-height:1.5}
.delai{font-size:15px;color:#7A4B00;background:#FFF4E0;padding:8px 12px}
.declare{display:grid;gap:6px;margin-top:4px}
.declare label{font-size:16px;margin-top:6px}
.declare input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line-strong);font:17px/1.4 var(--font-ui);background:#fff;color:var(--ink)}
.declare .btn{margin-top:10px}
.aide-paye{font-size:15px;color:var(--muted);text-align:center}
.merci-paye{width:100%}
.lien-plus-tard{font-size:15px;color:var(--muted)}
.lien-plus-tard a{text-decoration:underline;color:#0F2A5C}
.page-paiement{padding-top:28px;padding-bottom:64px;display:grid;gap:16px;justify-items:center}
.ref-paye{font-size:19px}
.mode-paie{font-size:15px;color:var(--muted);margin:-6px 0 12px}
/* Espace boutique */
.sp{background:#EFE7FB;color:#4B2C86}
.sk{background:#E3F2E7;color:#145C2E}
.sv{background:#FFE3C2;color:#7A3B00;font-weight:700}
.alerte-paie{display:grid;gap:2px;margin:0 0 14px;padding:14px 16px;background:#FFE3C2;border-left:4px solid #E07B00;border-radius:4px;color:#5C2E00}
.alerte-paie b{font-size:18px}
.alerte-paie span{font-size:15px}
.filtres button.urgent{color:#7A3B00;font-weight:700}
.carte-paiement{border-color:#C9A24B}
.etat-paie{font-size:15px;line-height:1.5}
.etat-paie.oui{color:#145C2E}
.etat-paie.non{color:#8A1F1F}
.a-verifier{background:#FFF8EC;border:1px solid #F0D9A8;border-radius:4px;padding:12px}
.a-verifier dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin-top:6px;font-size:15px}
.a-verifier dt{color:var(--muted)}
.a-verifier dd{margin:0;font-weight:600}
.a-verifier .code{font-family:ui-monospace,Consolas,monospace;font-size:16px;letter-spacing:.02em;word-break:break-all}
.gestes-paie{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.danger-btn{border-color:#8A1F1F!important;color:#8A1F1F!important}
.paie-regl{border:1px solid var(--line);border-radius:4px;padding:12px;margin-bottom:12px}
.paie-regl h3{font:600 15px/1.3 var(--font-ui);color:#0F2A5C;margin-bottom:8px}
.qr-regl{display:grid;gap:8px;justify-items:start}
.qr-regl img{width:140px;height:140px;object-fit:contain;border:1px solid var(--line);background:#fff;padding:4px}

/* ---------- Livraison au livreur, quartiers ---------- */
.livraison-livreur{margin:-4px 0 14px;padding:10px 12px;background:#F6F0E0;font-size:16px;line-height:1.5}
.merci .livraison-livreur{margin:0;max-width:560px}
.livreur-client{margin-top:12px;padding:12px 14px;border:1px solid #1B6B3A;background:#F1F8F3;display:grid;gap:8px;justify-items:start;text-align:left}
.livreur-client.attente{border-color:var(--line-strong);background:#FBF7EE}
.livreur-client h4{font:600 15px/1.2 var(--font-ui);color:#145C2E;text-transform:uppercase;letter-spacing:.06em}
.livreur-client .qui{font-size:19px}
.livreur-client p{margin:0}
.commune-regl{border:1px solid var(--line);border-radius:4px;margin-bottom:8px;background:#fff}
.commune-regl summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;font-size:15px}
.commune-regl summary small{color:var(--muted)}
.commune-regl[open]{padding-bottom:10px}
.commune-regl > .zone,.commune-regl > .aide,.commune-regl > .quartiers-regl,.commune-regl > .lien-simple{margin-left:12px;margin-right:12px}
.commune-regl .zone.commune input:first-child{font-weight:600}
.quartiers-regl{display:grid;gap:6px;margin-top:8px;padding-left:12px;border-left:2px solid #E7DEC6}
.lien-simple.rouge{color:#8A1F1F}
.carte-livreur{border-color:#1B6B3A}

/* Pages d'information (À propos, livraison, conditions de vente) */
.prose{max-width:780px;padding-top:34px;padding-bottom:64px;font-family:var(--font-body);font-size:19px;line-height:1.7}
.prose h2{font-size:28px;margin:34px 0 8px}
.prose p{margin:0 0 14px}
.prose a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.legal a{text-decoration:underline;text-underline-offset:3px}
