/* eventail.shop — application (index2.html) */

html, body { height: 100%; }
body.ev-app { overflow: hidden; display: flex; flex-direction: column; }

/* ---------- Éventail fractal ---------- */
.ev-stage { position: relative; flex: 1 1 auto; min-height: 0; touch-action: manipulation; }
.ev-fan-svg { user-select: none; -webkit-user-select: none; }
.ev-fan-svg text { font-family: var(--ev-font-body); pointer-events: none; }
.ev-fan-svg .ev-ico { font-family: "Material Symbols Outlined"; font-weight: normal; font-feature-settings: "liga"; }

.ev-blade { cursor: pointer; outline: none; animation: ev-blade-in .52s cubic-bezier(.2, .8, .2, 1) both; transition: opacity .35s; }
.ev-blade-shape { transition: filter .2s; }
.ev-blade:hover .ev-blade-shape,
.ev-blade:focus-visible .ev-blade-shape { filter: brightness(1.08) drop-shadow(0 0 6px rgba(58, 42, 34, .35)); }
.ev-blade:focus-visible .ev-blade-shape { stroke: var(--ev-text); stroke-width: 3; }
.ev-blade.ev-dim { opacity: .3; }
.ev-blade.ev-active .ev-blade-shape { stroke: var(--ev-text); stroke-width: 3; }
/* lame fermée / indisponible : estompée, sauf le message rouge qui reste bien lisible */
.ev-blade.ev-closed .ev-blade-shape, .ev-blade.ev-unavail .ev-blade-shape, .ev-blade.ev-shut .ev-blade-shape,
.ev-blade.ev-closed .ev-badge, .ev-blade.ev-unavail .ev-badge, .ev-blade.ev-shut .ev-badge,
.ev-blade.ev-closed .ev-label text:not(.ev-status-txt):not(.ev-status-ico), .ev-blade.ev-unavail .ev-label text:not(.ev-status-txt):not(.ev-status-ico), .ev-blade.ev-shut .ev-label text:not(.ev-status-txt):not(.ev-status-ico) { opacity: .4; }
.ev-blade.ev-closed .ev-blade-shape, .ev-blade.ev-unavail .ev-blade-shape, .ev-blade.ev-shut .ev-blade-shape, .ev-blade.ev-closed .ev-badge, .ev-blade.ev-unavail .ev-badge, .ev-blade.ev-shut .ev-badge { filter: grayscale(.8); }
.ev-blade.ev-closed:hover .ev-blade-shape, .ev-blade.ev-unavail:hover .ev-blade-shape, .ev-blade.ev-shut:hover .ev-blade-shape { filter: grayscale(.6) brightness(1.06); }
.ev-status-pill { fill: #fdecea; stroke: #c62828; stroke-opacity: .45; stroke-width: .8; }
.ev-status-txt, .ev-status-ico { fill: #b3261e; }
.ev-blade.ev-dim.ev-closed, .ev-blade.ev-dim.ev-unavail { opacity: .3; }
.ev-price { font-weight: 500; }
.ev-ray { pointer-events: none; animation: ev-blade-in .52s cubic-bezier(.2, .8, .2, 1) both; }
.ev-hub { cursor: pointer; outline: none; transition: opacity .35s; }
.ev-hub:hover path { filter: brightness(1.06); }
.ev-hub:focus-visible path { stroke: var(--ev-text); stroke-width: 2; }
.ev-hub-root { pointer-events: none; cursor: default; }
.ev-hub.ev-dim { opacity: .5; }

@keyframes ev-blade-in {
  from { transform: rotate(var(--ev-from, 0deg)); opacity: 0; }
  to   { transform: none; }                      /* pas d'opacité ici : sinon elle écrase .ev-closed / .ev-dim */
}
@media (prefers-reduced-motion: reduce) { .ev-blade { animation: none; } }

/* ---------- Structure ---------- */
.ev-muted { color: var(--ev-muted); }
.ev-top {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  padding: calc(.4rem + env(safe-area-inset-top)) .75rem .4rem;
  border-bottom: 1px solid var(--ev-line); background: var(--ev-surface);
}
.ev-brand { display: inline-flex; align-items: center; gap: .5rem; color: var(--ev-blue); font-family: var(--ev-font-title); font-size: 1.6rem; font-weight: 400; }
.ev-brand:hover { text-decoration: none; color: var(--ev-blue); }
.ev-top-actions { display: flex; gap: .25rem; }

.ev-icon-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; padding: 0; border-radius: 50%;
  color: var(--ev-text); background: transparent; border: 0;
}
.ev-icon-btn:hover, .ev-icon-btn:focus-visible { background: rgba(26, 149, 56, .12); color: var(--ev-accent); }
.ev-icon-btn.ev-sm { width: 34px; height: 34px; }
.ev-icon-btn:disabled { opacity: .35; }
.ev-icon-btn .material-symbols-outlined { font-size: 24px; }
.ev-badge-count {
  position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 9px; background: var(--ev-gold); color: var(--ev-text); font-weight: 500; font-size: 11px; line-height: 18px; text-align: center;
}

.ev-filters { display: flex; align-items: center; gap: .5rem; padding: .4rem .75rem; border-bottom: 1px solid var(--ev-line); }
.ev-chips { display: flex; gap: .4rem; overflow-x: auto; flex: 1 1 auto; scrollbar-width: none; }
.ev-chips::-webkit-scrollbar { display: none; }
.ev-chip {
  display: inline-flex; align-items: center; gap: .3rem; white-space: nowrap;
  padding: .3rem .7rem .3rem .5rem; border: 1px solid var(--ev-line); border-radius: 999px;
  background: var(--ev-surface); color: var(--ev-text); font-size: .9rem;
}
.ev-chip .material-symbols-outlined { font-size: 18px; }
.ev-chip.active { background: var(--ev-gold); border-color: var(--ev-gold); color: var(--ev-text); font-weight: 500; }
.ev-open-toggle { display: inline-flex; align-items: center; gap: .3rem; font-size: .9rem; white-space: nowrap; cursor: pointer; }
.ev-open-toggle input { accent-color: var(--ev-accent); }

.ev-main { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1fr; }
.ev-pane { position: relative; min-height: 0; display: none; flex-direction: column; }
.ev-main[data-view="fan"] #fanPane,
.ev-main[data-view="map"] #mapPane { display: flex; }
.ev-map { flex: 1 1 auto; min-height: 0; z-index: 0; background: #e8e0d4; }
.ev-map-fallback { padding: 2rem; text-align: center; color: var(--ev-muted); }
@media (min-width: 992px) {
  .ev-main { grid-template-columns: 1fr 1fr; }
  .ev-pane { display: flex !important; }
  .ev-tabs { display: none !important; }
}

.ev-crumbbar { display: flex; align-items: center; gap: .25rem; padding: .25rem .5rem; min-height: 42px; }
.ev-fav { margin-left: auto; flex: 0 0 auto; }
.ev-fav.ev-fav-on { background: var(--ev-gold); color: var(--ev-text); }
.ev-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .15rem; min-width: 0; font-size: .9rem; color: var(--ev-muted); }
.ev-crumb-cur { color: var(--ev-text); font-weight: 500; padding: .35rem .3rem; }
.ev-sep { font-size: 18px; opacity: .6; }
.ev-empty { position: absolute; inset: 0; display: flex; align-items: flex-start; justify-content: center; text-align: center; padding: 4rem 1.5rem 1rem; color: var(--ev-muted); pointer-events: none; }
.ev-empty > div { pointer-events: auto; }
.ev-empty[hidden] { display: none; }

.ev-tabs { display: flex; border-top: 1px solid var(--ev-line); background: var(--ev-surface); padding-bottom: env(safe-area-inset-bottom); }
.ev-tab {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  min-height: 68px; padding: .4rem 0 .3rem; border: 0; border-top: 3px solid transparent; background: transparent;
  color: var(--ev-muted); font-size: .95rem; font-weight: 500;
}
.ev-tab .material-symbols-outlined { font-size: 38px; width: 1em; }
.ev-tab-logo { height: 32px; width: auto; filter: grayscale(1) opacity(.65); transition: filter .2s; }
.ev-tab.active { color: var(--ev-text); background: rgba(251, 187, 14, .16); border-top-color: var(--ev-gold); }
.ev-tab.active .material-symbols-outlined { color: var(--ev-accent); }
.ev-tab.active .ev-tab-logo { filter: none; }
.ev-foot { display: flex; justify-content: center; gap: .5rem; padding: .25rem .5rem; font-size: .75rem; color: var(--ev-muted); border-top: 1px solid var(--ev-line); flex-wrap: wrap; }
.ev-foot .sep { opacity: .5; }

/* ---------- Carte ---------- */
.ev-pin-dot {
  display: flex; align-items: center; justify-content: center; width: 38px; height: 38px;
  border-radius: 11px; border: 3px solid #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .35);          /* commerçant : carré arrondi (livreur : rond + halo ; position du client : point bleu + halo) */
}
.ev-pin-dot .material-symbols-outlined { font-size: 20px; }
.ev-pin-closed .ev-pin-dot { opacity: .5; }
.ev-me-ico { display: block; font-size: 30px; line-height: 30px; width: 30px; height: 30px; color: #4285f3; font-variation-settings: 'FILL' 0, 'wght' 500; text-shadow: 0 0 3px #fff, 0 0 3px #fff; }
.ev-me-dot { display: block; width: 18px; height: 18px; border-radius: 50%; background: var(--ev-green); border: 3px solid #fff; box-shadow: 0 0 0 4px rgba(26, 149, 56, .3); }
.ev-card-title { font-weight: 500; font-size: 1rem; }
.ev-card-meta { font-size: .85rem; color: var(--ev-muted); }
.ev-status.ev-open { color: var(--ev-accent); font-weight: 500; }
.ev-status.ev-shut { color: #c62828; }
.ev-status .material-symbols-outlined { font-size: 16px; vertical-align: -3px; margin-right: 2px; }
.leaflet-popup-content { margin: 12px 14px; font-family: var(--ev-font-body); }

/* ---------- Fiches (offcanvas) ---------- */
.ev-sheet { background: var(--ev-surface); color: var(--ev-text); }
.offcanvas-bottom.ev-sheet { height: auto; max-height: 70vh; border-radius: 1rem 1rem 0 0; }
.ev-sheet .offcanvas-title { color: var(--ev-text); font-family: var(--ev-font-title); font-weight: 400; font-size: 1.8rem; }
.ev-sheet-path { color: var(--ev-muted); }
.ev-sheet-h { margin: 0; line-height: 1.3; font-family: var(--ev-font-body); font-weight: 500; }
.ev-sheet-h1 { font-size: 1rem; } .ev-sheet-h2 { font-size: .92rem; } .ev-sheet-h3 { font-size: .85rem; }
.ev-sheet-h4, .ev-sheet-h5, .ev-sheet-h6 { font-size: .8rem; }
.ev-note { display: flex; gap: .4rem; align-items: flex-start; font-size: .9rem; margin: .5rem 0; }
.ev-note .material-symbols-outlined { font-size: 20px; color: var(--ev-accent); }
.ev-note-warn, .ev-neg { color: #c62828; }                 /* messages négatifs : texte et icône en rouge */
.ev-note-warn .material-symbols-outlined { color: inherit; }
.ev-buy { display: flex; gap: .75rem; align-items: center; margin-top: 1rem; }
.ev-qty { display: inline-flex; align-items: center; gap: .15rem; border: 1px solid var(--ev-line); border-radius: 999px; padding: 2px; background: #fff; }
.ev-qty span { min-width: 1.6rem; text-align: center; }
.ev-cart-group h3 { font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ev-accent); margin: 1rem 0 .25rem; font-weight: 500; }
.ev-cart-row { display: flex; align-items: center; gap: .5rem; padding: .4rem 0; border-bottom: 1px solid var(--ev-line); }
.ev-cart-line { min-width: 4.2rem; text-align: right; }
.ev-totals { margin-top: 1rem; }
.ev-totals > div { display: flex; justify-content: space-between; padding: .15rem 0; }
.ev-totals .ev-grand { font-weight: 500; font-size: 1.1rem; border-top: 1px solid var(--ev-line); margin-top: .35rem; padding-top: .45rem; }
.btn-update:disabled { opacity: .55; background: var(--ev-gold); border-color: var(--ev-gold); color: var(--ev-text); }

.ev-msg {
  position: fixed; left: 50%; bottom: calc(84px + env(safe-area-inset-bottom)); transform: translateX(-50%);
  max-width: min(92vw, 480px); padding: .6rem 1rem; border-radius: .5rem; background: var(--ev-text); color: #fff;
  font-size: .9rem; z-index: 2100; box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}
.ev-msg[hidden] { display: none; }

/* Icônes : largeur fixe (évite un débordement du nom de ligature si la police tarde à charger) */
.ev-app .material-symbols-outlined:not(.ev-ico),
.ev-page .material-symbols-outlined:not(.ev-ico) { display: inline-block; width: 1em; overflow: hidden; white-space: nowrap; }

.ev-demobar { background: #FBBB0E; color: #1a1a1a; text-align: center; font-size: .8rem; font-weight: 600; padding: .2rem .5rem; }

.ev-title-blade { cursor: default; }
.ev-title-blade:hover .ev-blade-shape { filter: none; }
.ev-title-blade.ev-title-up { cursor: pointer; }
.ev-title-blade.ev-title-up:hover .ev-blade-shape, .ev-title-blade.ev-title-up:focus-visible .ev-blade-shape { filter: brightness(1.08) drop-shadow(0 0 6px rgba(58, 42, 34, .35)); }
.ev-tip { position: absolute; z-index: 5; transform: translate(-50%, -100%); max-width: min(80%, 320px); padding: .3rem .6rem; background: var(--ev-text); color: #fff; font-size: .85rem; border-radius: .4rem; pointer-events: none; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); }
.ev-tip[hidden] { display: none; }
.ev-crumb { border: 0; background: transparent; padding: .35rem .3rem; color: var(--ev-accent); font: inherit; border-radius: .4rem; }
.ev-crumb:hover, .ev-crumb:focus-visible { background: rgba(26, 149, 56, .12); }

/* Image d'une offre dans la fiche */
.ev-offer-img { display: block; width: 100%; max-width: 480px; aspect-ratio: 4 / 3; height: auto; object-fit: cover; border-radius: 12px; margin: 0 auto .85rem; background: #f3eee8; box-shadow: 0 2px 10px rgba(58, 42, 34, .18); }
.ev-offer-body-text { max-width: 480px; margin-left: auto; margin-right: auto; }

html, body { touch-action: manipulation; }

/* Date / heure de livraison souhaitée */
.ev-when-btn { flex: 0 1 auto; min-width: 0; align-self: center; }
.ev-when-btn .ev-when-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 15rem; }

.ev-when-line { display: flex; align-items: center; gap: .5rem; padding: .5rem .6rem; border-radius: .5rem; background: rgba(251, 187, 14, .15); }
.ev-when-line .material-symbols-outlined { font-size: 20px; }
.ev-when-note { background: rgba(251, 187, 14, .2); border-radius: .4rem; padding: .3rem .5rem; margin: .25rem 0; }

/* Carte : zoom (loupes + curseur vertical) et bouton « Me localiser » */
.ev-map .leaflet-control-zoom { display: none; }
.ev-zoom { position: absolute; right: 10px; top: 12px; bottom: 34px; width: 32px; z-index: 900; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ev-zoom-btn { flex: 0 0 auto; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--ev-text); box-shadow: 0 1px 4px rgba(0, 0, 0, .3); display: grid; place-items: center; cursor: pointer; }
.ev-zoom-btn:hover, .ev-zoom-btn:focus-visible { background: #fff; color: var(--ev-accent); }
.ev-zoom-track { flex: 1 1 auto; min-height: 0; width: 32px; position: relative; cursor: pointer; touch-action: none; outline: none; }
.ev-zoom-rail { position: absolute; left: 50%; top: 9px; bottom: 9px; width: 6px; margin-left: -3px; border-radius: 3px; background: rgba(255, 255, 255, .85); box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.ev-zoom-knob { position: absolute; left: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: #e0a030; border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .4); }
.ev-zoom-track:focus-visible .ev-zoom-knob { box-shadow: 0 0 0 3px rgba(26, 149, 56, .6); }
.ev-zoom-btn .material-symbols-outlined { font-size: 22px; }
.ev-map, .ev-map.leaflet-container, .leaflet-container:focus { outline: none; }
.ev-maploc { position: absolute; left: 10px; top: 12px; z-index: 900; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: #e0a030; color: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); display: grid; place-items: center; cursor: pointer; }
.ev-maploc .material-symbols-outlined { font-size: 28px; font-variation-settings: 'FILL' 0, 'wght' 500; }
.ev-maploc:hover, .ev-maploc:focus-visible { background: #d3922a; color: #fff; }
.ev-maploc.ev-on, .ev-maploc.ev-on:hover, .ev-maploc.ev-on:focus-visible { background: #4285f3; }

/* Mobile / tablette (bascule éventail/map en bas) : l'en-tête ne garde que la date de livraison + compte + panier */
.ev-tab-brand { color: var(--ev-blue); font-family: var(--ev-font-title); font-size: 1.1rem; font-weight: 400; line-height: 1.1; }
@media (max-width: 991.98px) {
  .ev-brand { display: none; }
  .ev-top-actions { flex: 1 1 auto; width: 100%; align-items: center; justify-content: flex-end; }
  .ev-top-actions .ev-when-btn { flex: 1 1 auto; justify-content: center; min-height: 40px; }
  .ev-top-actions .ev-when-btn .ev-when-label { max-width: none; }
}
/* Mobile en paysage : on réaffiche logo et titre dans l'en-tête */
@media (max-width: 991.98px) and (orientation: landscape) and (max-height: 600px) {
  .ev-brand { display: inline-flex; flex: none; font-size: 1.35rem; }
  .ev-brand img { width: 30px; height: auto; }
  .ev-top-actions { flex: 1 1 auto; width: auto; }
}
.ev-cart-unavail .flex-grow-1 > div:first-child { opacity: .6; }
.ev-warn-txt { color: #b3261e; font-weight: 500; }

.ev-eta-line { display: flex; align-items: flex-start; gap: .5rem; font-size: .9rem; margin-top: .6rem; }
.ev-eta-line:empty { display: none; }
.ev-eta-line .material-symbols-outlined { font-size: 20px; flex: none; }

/* Fiche offre : colonne centrée, lisible sur grand écran */
#offerSheet .offcanvas-header, #offerSheet .offcanvas-body { width: 100%; max-width: 560px; margin-left: auto; margin-right: auto; }
#offerSheet .ev-offer-img { max-width: 100%; }

/* ---------- Carte en tableau vertical (remplace l'éventail dès qu'une rubrique contient des offres) ---------- */
.ev-listwrap { position: absolute; inset: 0; z-index: 3; background: var(--m-bg, var(--ev-bg, #f4f9fd)); display: flex; flex-direction: column; min-height: 0; }
.ev-listwrap[hidden] { display: none; }
.ev-list { display: flex; flex-direction: column; min-height: 0; height: 100%; }
.ev-list-head { display: flex; align-items: center; gap: .75rem; padding: .5rem .75rem .5rem .5rem; border-bottom: 1px solid var(--m-line, var(--ev-line)); background: var(--m-head, #fff); }
.ev-list-back { flex: 0 0 auto; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--ev-gold); color: #fff; display: grid; place-items: center; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.ev-list-back .material-symbols-outlined { font-size: 28px; }
.ev-list-titles { min-width: 0; }
.ev-lt { margin: 0; font-family: var(--ev-font-body); font-weight: 500; line-height: 1.25; color: var(--ev-muted); }
.ev-lt button { all: unset; cursor: pointer; color: var(--ev-accent); }
.ev-lt button:hover, .ev-lt button:focus-visible { text-decoration: underline; }
.ev-lt1 { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.ev-lt2 { font-size: .9rem; }
.ev-lt3, .ev-lt4, .ev-lt5, .ev-lt6 { font-size: .85rem; }
.ev-lt-cur { color: var(--ev-text); font-size: 1.3rem; font-weight: 600; }
.ev-list-search { position: relative; padding: .5rem .75rem 0; }
.ev-list-search .material-symbols-outlined { position: absolute; left: 1.35rem; top: 1rem; font-size: 20px; color: var(--ev-muted); pointer-events: none; }
.ev-list-search input { padding-left: 2rem; }
.ev-list-body { flex: 1 1 auto; overflow-y: auto; padding: .25rem .75rem 1.5rem; -webkit-overflow-scrolling: touch; }
.ev-row { display: flex; align-items: flex-start; gap: .65rem; padding: .7rem .1rem; border-bottom: 1px solid var(--ev-line); }
.ev-row[hidden] { display: none; }
.ev-row-offer, .ev-row-node { cursor: pointer; }
.ev-row-offer:hover, .ev-row-node:hover, .ev-row-offer:focus-visible, .ev-row-node:focus-visible { background: rgba(251, 187, 14, .12); outline: none; }
.ev-row p { margin: 0; }
.ev-row-img { flex: 0 0 auto; width: 64px; height: 48px; object-fit: cover; border-radius: 8px; background: #f3eee8; }
.ev-row-main { flex: 1 1 auto; min-width: 0; }
.ev-row-line { display: flex; align-items: baseline; gap: .4rem; }
.ev-row-name { font-weight: 500; font-size: 1rem; line-height: 1.3; }
.ev-row-dots { flex: 1 1 1rem; min-width: .75rem; border-bottom: 2px dotted rgba(58, 42, 34, .3); transform: translateY(-4px); }
.ev-row-price { flex: 0 0 auto; margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ev-row-desc { font-size: .85rem; color: var(--ev-muted); line-height: 1.35; margin-top: .15rem !important; }
.ev-row-18 { display: inline-block; font-size: .65rem; font-weight: 700; padding: 0 .3rem; border: 1px solid currentColor; border-radius: 4px; vertical-align: middle; color: #c62828; }
.ev-row-flag { display: flex; align-items: center; gap: .25rem; font-size: .8rem; font-weight: 600; color: #c62828; margin-top: .2rem !important; }
.ev-row-flag .material-symbols-outlined { font-size: 16px; }
.ev-row-offer.ev-unavail .ev-row-name, .ev-row-offer.ev-unavail .ev-row-price, .ev-row-offer.ev-unavail .ev-row-desc, .ev-row-offer.ev-unavail .ev-row-img { opacity: .5; }
.ev-row-node { align-items: center; background: #fff; border: 1px solid var(--ev-line); border-radius: 12px; padding: .8rem .9rem; margin-top: .55rem; }
.ev-row-node .ev-row-name { flex: 1 1 auto; font-weight: 600; }
.ev-row-count { font-size: .8rem; color: var(--ev-muted); white-space: nowrap; }
.ev-row-node .material-symbols-outlined { color: var(--ev-muted); }
.ev-vchips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .45rem; }
.ev-vchip { display: inline-flex; align-items: baseline; gap: .45rem; padding: .3rem .7rem; border: 1px solid var(--ev-line); border-radius: 999px; background: #fff; font-size: .9rem; cursor: pointer; }
.ev-vchip b { font-weight: 600; font-variant-numeric: tabular-nums; }
.ev-vchip:hover, .ev-vchip:focus-visible { border-color: var(--ev-gold); background: rgba(251, 187, 14, .15); outline: none; }
.ev-vchip.ev-unavail { opacity: .5; }

.ev-list-note { margin: 0; padding: .5rem .9rem 0; font-size: .85rem; color: var(--ev-muted); }
/* le fil d'Ariane au-dessus affiche déjà le chemin : les titres parents restent dans le document (h1, h2…) mais sont masqués à l'écran */
.ev-lt:not(.ev-lt-cur) { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ev-list-head { min-height: 60px; }

/* Nom de commerçant : police script (Kaushan Script) partout — éventail, fil d'Ariane, fiche, titres, panier */
.ev-mname, .ev-fan-svg text.ev-mname { font-family: var(--ev-font-title); font-weight: 400; letter-spacing: .01em; }
.ev-crumb-cur.ev-mname { font-weight: 400; }
.ev-lt.ev-mname button { font-family: inherit; }

/* Bouton date de livraison : jaune (couleur de la marque) */
.ev-chip.ev-when-btn, .ev-chip.ev-when-btn.active { background: var(--ev-gold); border-color: var(--ev-gold); color: #3a2a22; font-weight: 500; }
.ev-chip.ev-when-btn:hover, .ev-chip.ev-when-btn:focus-visible { background: #f0ae00; border-color: #f0ae00; color: #3a2a22; }
.ev-lys { transition: opacity .25s; }

/* options d'offre (suppléments, tailles…) */
.ev-opt-group { border: 0; padding: 0; margin: .6rem 0 .2rem; min-width: 0; }
.ev-opt-group legend { font-size: .95rem; font-weight: 700; margin-bottom: .2rem; float: none; width: auto; padding: 0; }
.ev-opt-tag { font-size: .72rem; font-weight: 500; color: var(--ev-muted); margin-left: .3rem; }
.ev-opt { display: flex; align-items: center; gap: .55rem; padding: .35rem .1rem; cursor: pointer; border-bottom: 1px solid rgba(0,0,0,.06); }
.ev-opt input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; accent-color: var(--ev-accent); }
.ev-opt-name { flex: 1 1 auto; }
.ev-opt-price { color: var(--ev-muted); font-size: .9rem; white-space: nowrap; }
.ev-opt input:disabled ~ span { opacity: .45; }
.ev-cart-opts { font-size: .85rem; color: var(--ev-muted); }

/* position du client : point bleu avec halo qui pulse */
.ev-geo-wrap { background: none; border: 0; }
.ev-geo { position: relative; display: block; width: 18px; height: 18px; margin: 6px; border-radius: 50%; background: #4285f3; border: 3px solid #fff; box-shadow: 0 1px 5px rgba(0,0,0,.5); box-sizing: content-box; }
.ev-geo::before { content: ''; position: absolute; left: -3px; top: -3px; width: 18px; height: 18px; border: 3px solid transparent; border-radius: 50%; background: rgba(66, 133, 243, .45); z-index: -1; animation: ev-halo 2s ease-out infinite; }
@media (prefers-reduced-motion: reduce) { .ev-geo::before, .ev-cpin::before { animation: none; opacity: .25; } }

/* Bandeau : livraisons suspendues */
.ev-pausebar { display: flex; align-items: center; gap: .5rem; padding: .5rem .85rem; background: #fff3cd; color: #664d03; border-bottom: 1px solid #ffe69c; font-size: .9rem; }
.ev-pausebar[hidden] { display: none; }
@media (prefers-color-scheme: dark) { .ev-pausebar { background: #3d3000; color: #ffda6a; border-color: #664d03; } }

/* Tableau d'un commerçant : ses couleurs (variables posées par ev-fan.js) */
.ev-listwrap[style*="--m-head"] .ev-lt, .ev-listwrap[style*="--m-head"] .ev-lt-cur, .ev-listwrap[style*="--m-head"] .ev-lt button { color: var(--m-head-ink); }
.ev-listwrap[style*="--m-head"] .ev-list-back { background: var(--m-head-ink); color: var(--m-head); }
.ev-listwrap[style*="--m-head"] .ev-row { border-bottom-color: var(--m-line); }
.ev-listwrap[style*="--m-node"] .ev-row-node { background: var(--m-node); border-color: transparent; color: var(--m-node-ink); }
.ev-listwrap[style*="--m-node"] .ev-row-node .ev-row-name, .ev-listwrap[style*="--m-node"] .ev-row-node .ev-row-count, .ev-listwrap[style*="--m-node"] .ev-row-node .material-symbols-outlined { color: var(--m-node-ink); }

/* Suivi de commande : heure d'arrivée estimée */
.ev-eta-box { display: flex; align-items: center; gap: .6rem; margin-top: .6rem; padding: .6rem .75rem; border-radius: .6rem; background: #e7f4ea; border: 1px solid #b9dcc1; }
.ev-eta-box > .material-symbols-outlined { color: #1a7a33; font-size: 28px; }
.ev-eta-main { font-size: 1.05rem; }

/* Modale de bienvenue (première visite) */
.ev-welcome .modal-body { position: relative; padding: 1.5rem 1.25rem 1.25rem; }
.ev-welcome-x { position: absolute; top: .75rem; right: .75rem; }
.ev-welcome-logo { width: min(340px, 88%); height: auto; margin: .25rem auto .5rem; display: block; }
.ev-welcome-list { padding-left: 1.1rem; margin: .5rem 0 0; font-size: .92rem; }
.ev-welcome-list li { margin-bottom: .45rem; }

/* Bouton « i » du pied de page : même vert et même hauteur que les liens voisins */
.ev-foot-info { border: 0; background: transparent; padding: 0; margin: 0 0 0 -.1rem; color: var(--ev-accent); line-height: 1; cursor: pointer; display: inline-flex; align-items: center; align-self: center; }
.ev-foot-i { display: inline-flex; align-items: center; justify-content: center; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--ev-accent); color: #fff; font: 700 .75rem/1 system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; padding: 0; text-align: center; }
.ev-foot-info:hover .ev-foot-i, .ev-foot-info:focus-visible .ev-foot-i { background: var(--ev-text); }
