/* Carte du Sénégal : l'habillage se règle avec --sn-accent et les polices du site. */
.livraison{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #D8CDBD}
.liv-tete{display:flex;align-items:center;justify-content:space-between;gap:12px}
.liv-tete h3{font:italic 500 1.4rem/1.1 var(--titre)}
.liv-hors{min-height:44px;padding:0 4px;font-size:.86rem;font-weight:700;color:var(--taupe);text-decoration:underline;text-underline-offset:3px}
.liv-sn{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.liv-sn[hidden]{display:none}
.liv-q{width:100%;height:48px;padding:0 14px;border:1px solid #B8A890;border-radius:12px;background:#fff;color:var(--encre);font:400 16px/1 var(--sn-police,var(--texte))}
.liv-res{margin-top:6px;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(34,26,21,.14);overflow:hidden}
.liv-res[hidden]{display:none}
.liv-res button{display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;background:none;border:0;color:inherit;cursor:pointer;width:100%;min-height:46px;padding:8px 14px;text-align:left;font-weight:700;font-size:.94rem}
.liv-res{list-style:none;padding:0}
.liv-res li+li{border-top:1px solid #EEE6DA}
.liv-res b{min-width:0;overflow-wrap:anywhere;font-weight:700}
.liv-res span{flex:none;font-weight:400;font-size:.82rem;color:var(--taupe);align-self:center;white-space:nowrap}
.liv-rien{padding:12px 14px;font-size:.88rem;color:var(--taupe)}

.sn-cadre{position:relative;aspect-ratio:var(--sn-ratio,1.49);border-radius:18px;overflow:hidden;background:radial-gradient(80% 90% at 62% 44%,#2B1F19,#120D0A 72%);touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.sn{display:block;width:100%;height:100%;--k:5.8;user-select:none;-webkit-user-select:none}
.sn-grille{fill:none;stroke:rgba(232,196,188,.1);stroke-width:1px;vector-effect:non-scaling-stroke}
.sn-mer{font:italic 400 calc(var(--k)*11px) var(--titre);letter-spacing:.14em;fill:rgba(232,196,188,.38);text-anchor:middle;transition:opacity .35s}
.sn-voisin{font:italic 400 calc(var(--k)*8.5px) var(--titre);fill:rgba(232,196,188,.5);text-anchor:middle}
.sn-region{fill:color-mix(in srgb,#E8C4BC calc(var(--n)*1%),#2C1E18);stroke:rgba(232,196,188,.42);stroke-width:.8px;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:pointer;transition:fill .3s,opacity .45s}
@media (hover:hover){.sn-region:hover{fill:#7A5A50}}
.zoom .sn-region{opacity:.42}
.zoom .sn-mer,.zoom .sn-voisin{opacity:0}
.zoom .sn-region.actif{opacity:1;fill:#5E4037;stroke:#E8C4BC;stroke-width:1.5px}
.sn-etiquette{font:500 calc(var(--k)*9.5px) var(--sn-police,var(--texte));fill:rgba(244,237,227,.82);text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.sn-etiquette.gauche{text-anchor:start;font-weight:700;fill:#F4EDE3}
.sn-etiquettes{transition:opacity .3s}
.zoom .sn-etiquettes{opacity:0;pointer-events:none}
.zoom .sn-zone{display:none}
.sn-appel{fill:none;stroke:#E8C4BC;stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:sn-appel 2.6s ease-out infinite}
.sn-zone{fill:transparent;cursor:pointer}
.sn-point{fill:#F4EDE3;stroke:transparent;stroke-width:18px;vector-effect:non-scaling-stroke;paint-order:fill;pointer-events:all;cursor:pointer;opacity:.86}
.sn-point.actif{opacity:0}
.sn-nom{font:500 calc(var(--k)*10px) var(--sn-police,var(--texte));fill:#F4EDE3;dominant-baseline:middle;pointer-events:none;transform:translateX(calc(var(--k)*8px));paint-order:stroke;stroke:#1C130F;stroke-width:calc(var(--k)*3px);stroke-linejoin:round}
.sn-epingle{pointer-events:none}
.sn-epingle path{fill:#E8C4BC;stroke:#120D0A;stroke-width:1.2}
.sn-oeil{fill:#120D0A}
.sn-onde{fill:none;stroke:#E8C4BC;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:sn-onde 2.4s ease-out infinite}
.sn-epingle text{text-anchor:middle;font:700 13px var(--sn-police,var(--texte));fill:#F4EDE3;paint-order:stroke;stroke:#120D0A;stroke-width:3.5px;stroke-linejoin:round}
.sn-titre{position:absolute;inset:10px 14px auto 12px;text-align:right;color:var(--ivoire);pointer-events:none;text-shadow:0 1px 10px #000}
.sn-aide{display:block;max-width:78px;font-size:.74rem;line-height:1.15;text-align:left;color:#E8C4BC}
.sn-aide[hidden],.sn-titre strong[hidden],.sn-retour[hidden]{display:none}
.sn-titre strong{display:block;font:italic 500 clamp(1.5rem,6vw,2rem)/1 var(--titre)}
.sn-retour{position:absolute;left:8px;bottom:8px;min-height:40px;padding:0 13px;border-radius:99px;background:rgba(18,13,10,.82);color:var(--ivoire);font-size:.82rem;font-weight:700;box-shadow:inset 0 0 0 1px rgba(232,196,188,.4)}

.liv-pastilles{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;grid-template-rows:repeat(2,auto);gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:1px;margin:0 calc(clamp(16px,4vw,28px)*-1);padding-inline:clamp(16px,4vw,28px)}
.liv-pastilles::-webkit-scrollbar{display:none}
.liv-pastille{min-height:44px;padding:0 14px;border-radius:99px;box-shadow:inset 0 0 0 1px #B8A890;font-size:.9rem;font-weight:500;white-space:nowrap;transition:background .2s,color .2s}
.liv-pastille[aria-pressed=true]{background:var(--encre);color:var(--ivoire);box-shadow:none}
.sn-credit{font-size:.68rem;color:var(--taupe);text-align:right}
.liv-prec{display:grid;gap:6px;font-size:.88rem}
.liv-prec span{font-weight:700}
.liv-precision{width:100%;height:48px;padding:0 14px;border:1px solid #B8A890;border-radius:12px;background:#fff;color:var(--encre);font:400 16px/1 var(--sn-police,var(--texte))}
.liv-hors[hidden]{display:none}

@keyframes sn-appel{0%{transform:scale(.6);opacity:.95}70%,100%{transform:scale(3);opacity:0}}
@keyframes sn-onde{0%{transform:scale(.35);opacity:.9}70%,100%{transform:scale(2);opacity:0}}
@media (prefers-reduced-motion:reduce){.sn-appel,.sn-onde{animation:none;opacity:.5}}
