/* ==========================================================================
   SANIYORO — habillage e-commerce sobre.
   Chargé en dernier : aplatit les effets (dégradés, halos, pastilles,
   animations) hérités des autres feuilles, sans changer la structure.
   ========================================================================== */

:root {
  --font: Roboto, "Segoe UI", Arial, sans-serif;
  --font-display: Roboto, "Segoe UI", Arial, sans-serif;
  --radius: 6px;
  --radius-sm: 4px;
  --shadow: 0 1px 2px rgba(0, 0, 0, .06);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);
  --sy-shadow: 0 1px 2px rgba(0, 0, 0, .06);
  --sy-shadow-lg: 0 2px 6px rgba(0, 0, 0, .08);
  --hm-line: #e3e6ea;
  --hm-bg: #f1f2f4;
  --hm-text: #1f2328;
  --hm-muted: #62686f;
  --hm-orange: #f68b1e;
  --hm-orange-dark: #d9740c;
  --hm-blue: #0047ab;
}

/* ---------- Base ---------- */
body.saniyoro {
  font-family: var(--font);
  background: var(--hm-bg) !important;
  color: var(--hm-text);
  letter-spacing: 0;
}
body.saniyoro h1, body.saniyoro h2, body.saniyoro h3, body.saniyoro h4 {
  font-family: var(--font);
  letter-spacing: 0;
}
body.saniyoro *, body.saniyoro *::before, body.saniyoro *::after {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.saniyoro [data-animate],
body.saniyoro [data-animate].visible {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Pas d'effet « soulèvement » au survol */
body.saniyoro [class*="card"]:hover,
body.saniyoro .btn:hover,
body.saniyoro [class*="-btn"]:hover {
  transform: none !important;
}

/* ---------- Boutons ---------- */
body.saniyoro .btn,
body.saniyoro button.btn,
body.saniyoro .sy-btn-hero-primary,
body.saniyoro .sy-btn-hero-secondary,
body.saniyoro .sy-btn-cta,
body.saniyoro .sy-checkout-submit,
body.saniyoro .sa-submit,
body.saniyoro .ca-btn,
body.saniyoro .ct-submit,
body.saniyoro .sy-search-submit {
  border-radius: 4px !important;
  box-shadow: none !important;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
body.saniyoro .btn-primary,
body.saniyoro .sy-btn-hero-primary,
body.saniyoro .sy-btn-cta,
body.saniyoro .sy-checkout-submit,
body.saniyoro .sa-submit:not(.sa-submit--wa),
body.saniyoro .ca-btn-primary,
body.saniyoro .ct-submit,
body.saniyoro .sy-search-submit {
  background: var(--hm-orange) !important;
  border: 1px solid var(--hm-orange) !important;
  color: #fff !important;
}
body.saniyoro .btn-primary:hover,
body.saniyoro .sy-btn-hero-primary:hover,
body.saniyoro .sy-btn-cta:hover,
body.saniyoro .sy-checkout-submit:hover,
body.saniyoro .sa-submit:not(.sa-submit--wa):hover,
body.saniyoro .ca-btn-primary:hover,
body.saniyoro .ct-submit:hover,
body.saniyoro .sy-search-submit:hover {
  background: var(--hm-orange-dark) !important;
  border-color: var(--hm-orange-dark) !important;
}
body.saniyoro .sa-submit--wa { background: #1fa855 !important; box-shadow: none !important; border-radius: 4px !important; }
body.saniyoro .btn-outline,
body.saniyoro .sy-see-all,
body.saniyoro .sy-store-group-link {
  border-radius: 4px !important;
  box-shadow: none !important;
}

/* ---------- Champs ---------- */
body.saniyoro input:not([type="checkbox"]):not([type="radio"]),
body.saniyoro select,
body.saniyoro textarea,
body.saniyoro .sa-input,
body.saniyoro .ct-input {
  border-radius: 4px !important;
  box-shadow: none !important;
}
body.saniyoro .sa-input,
body.saniyoro .ct-input { background: #fff !important; border: 1px solid #cfd4da !important; }
body.saniyoro .sa-input:focus-within,
body.saniyoro .ct-input:focus-within { border-color: var(--hm-blue) !important; box-shadow: 0 0 0 1px var(--hm-blue) !important; }

/* ---------- En-tête ---------- */
body.saniyoro .site-header.sy-header,
body.saniyoro .sy-header-v2 {
  background: #fff !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--hm-line);
}
body.saniyoro .sy-header-search .sy-search-form,
body.saniyoro .sy-search-form {
  border-radius: 4px !important;
  box-shadow: none !important;
  border: 1px solid #cfd4da !important;
  background: #fff !important;
}
body.saniyoro .sy-search-image,
body.saniyoro .sy-commune-pill,
body.saniyoro .sy-header-cart,
body.saniyoro .sy-header-login {
  border-radius: 4px !important;
  box-shadow: none !important;
}
body.saniyoro .sy-header-cart { background: var(--hm-orange) !important; }

/* Choix du quartier */
body.saniyoro .sy-zone {
  position: relative;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
.sy-zone-btn {
  display: flex;
  align-items: center;
  gap: .45rem;
  height: 40px;
  padding: 0 .7rem;
  border: 1px solid #cfd4da;
  border-radius: 4px;
  background: #fff;
  color: var(--hm-text);
  font: inherit;
  cursor: pointer;
  text-align: left;
  width: 100%;
}
.sy-zone-btn:hover,
.sy-zone.is-open .sy-zone-btn { border-color: #9aa3ad; }
.sy-zone-btn > .bi-geo-alt { color: var(--hm-orange); font-size: 1rem; }
.sy-zone-text { display: flex; flex-direction: column; line-height: 1.1; min-width: 0; flex: 1; }
.sy-zone-text small { font-size: .68rem; color: var(--hm-muted); font-weight: 400; }
.sy-zone-text strong { font-size: .86rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 8.5rem; }
.sy-zone-caret { font-size: .7rem; color: var(--hm-muted); transition: transform .15s; }
.sy-zone.is-open .sy-zone-caret { transform: rotate(180deg); }
.sy-zone-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1200;
  width: 270px;
  background: #fff;
  border: 1px solid var(--hm-line);
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
  padding: .75rem;
}
.sy-zone-menu[hidden] { display: none; }
.sy-zone-title { margin: 0; font-size: .92rem; font-weight: 700; color: var(--hm-text); }
.sy-zone-hint { margin: .15rem 0 .6rem; font-size: .76rem; color: var(--hm-muted); line-height: 1.35; }
body.saniyoro .sy-zone-search {
  width: 100%;
  height: 36px;
  padding: 0 .65rem;
  border: 1px solid #cfd4da;
  font-size: .85rem;
  margin-bottom: .45rem;
  outline: none;
}
body.saniyoro .sy-zone-search:focus { border-color: var(--hm-blue); }
.sy-zone-list { list-style: none; margin: 0; padding: 0; max-height: 260px; overflow-y: auto; }
.sy-zone-list li[hidden] { display: none; }
.sy-zone-list .sy-zone-group {
  position: sticky; top: 0; z-index: 1; padding: .45rem .6rem .3rem; background: #fff;
  font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8;
}
.sy-zone-list { max-height: 300px; }
.sy-zone-list button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: .5rem .55rem;
  border: 0;
  border-radius: 4px;
  background: none;
  font: inherit;
  font-size: .86rem;
  color: var(--hm-text);
  cursor: pointer;
  text-align: left;
}
.sy-zone-list button:hover { background: #f3f4f6; }
.sy-zone-list button.is-selected { font-weight: 700; color: var(--hm-orange-dark); }
.sy-zone-list button .bi-check2 { font-size: 1rem; }
@media (max-width: 900px) {
  .sy-zone-menu { width: 100%; }
  .sy-zone-text strong { max-width: none; }
}
body.saniyoro .sy-nav-link {
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-weight: 500;
}
body.saniyoro .sy-nav-link.is-active,
body.saniyoro .sy-nav-link[aria-current="page"] {
  color: var(--hm-orange) !important;
  box-shadow: inset 0 -2px 0 var(--hm-orange) !important;
}

/* ---------- Accueil : bandeau ---------- */
body.saniyoro .sy-hero-wrap {
  border-radius: 0 !important;
  min-height: 0 !important;
  box-shadow: none !important;
}
body.saniyoro .sy-hero-inner { padding-top: 56px !important; padding-bottom: 56px !important; }
body.saniyoro .sy-hero-overlay {
  background: linear-gradient(90deg, rgba(15, 20, 28, .78) 0%, rgba(15, 20, 28, .45) 55%, rgba(15, 20, 28, .15) 100%) !important;
}
body.saniyoro .sy-hero-kicker {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  letter-spacing: .04em;
  opacity: .85;
}
body.saniyoro .sy-hero-kicker .bi { display: none; }
body.saniyoro .sy-hero-copy h1 {
  font-size: clamp(1.9rem, 3.4vw, 2.6rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}
body.saniyoro .sy-hero-copy h1 em { font-style: normal; color: #ffb25c !important; background: none !important; -webkit-text-fill-color: currentColor; }
body.saniyoro .sy-hero-chips span,
body.saniyoro .sy-pay-strip span {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
body.saniyoro .sy-hero-chips,
body.saniyoro .sy-pay-strip { gap: .35rem 1.1rem !important; }
body.saniyoro .sy-pay-strip span + span::before { content: "·"; margin-right: 1.1rem; opacity: .6; }
body.saniyoro .sy-btn-hero-secondary {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, .7) !important;
  color: #fff !important;
}
body.saniyoro .sy-btn-hero-secondary:hover { background: rgba(255, 255, 255, .1) !important; }
body.saniyoro .sy-hero-dots button,
body.saniyoro .home-hero-dots button { border-radius: 2px !important; }

/* Bande de confiance */
body.saniyoro .sy-trust-strip { margin-top: 0 !important; padding: 0 !important; background: #fff; border-bottom: 1px solid var(--hm-line); }
body.saniyoro .sy-trust-strip-inner {
  box-shadow: none !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: transparent !important;
  transform: none !important;
}
body.saniyoro .sy-trust-pill > .bi,
body.saniyoro .sy-trust-pill > i,
body.saniyoro .sy-trust-pill [class*="ico"] {
  background: none !important;
  color: var(--hm-orange) !important;
  box-shadow: none !important;
}
body.saniyoro .sy-trust-pay-logos { display: flex !important; gap: .4rem !important; margin-top: .3rem; }
body.saniyoro .sy-trust-pay-chip {
  flex: 0 0 40px !important;
  max-width: 40px !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 0 !important;
  padding: 3px !important;
  border-radius: 8px !important;
  border: 1px solid var(--hm-line) !important;
  background: #fff !important;
  box-shadow: none !important;
  display: grid !important;
  place-items: center;
  overflow: hidden;
}
body.saniyoro .sy-trust-pay-chip img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain !important; }
body.saniyoro .sy-trust-pay-chip--wave { padding: 0 !important; border-radius: 50% !important; border: 0 !important; }
body.saniyoro .sy-trust-pay-chip--moov { padding: 0 !important; }

/* Logos paiement du bandeau */
body.saniyoro .sy-pay-logos { display: flex !important; align-items: center; flex-wrap: wrap; gap: .5rem !important; margin-top: 1.1rem; }
body.saniyoro .sy-pay-logos .sy-pay-logo-chip {
  width: 44px;
  height: 44px;
  padding: 4px !important;
  border-radius: 8px !important;
  background: #fff !important;
  display: grid;
  place-items: center;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .25) !important;
}
body.saniyoro .sy-pay-logos .sy-pay-logo-chip img { width: 100%; height: 100%; object-fit: contain; display: block; }
body.saniyoro .sy-pay-logos .sy-pay-logo-chip:nth-child(2) { padding: 0 !important; }
body.saniyoro .sy-pay-logos .sy-pay-logo-chip:nth-child(3) { padding: 0 !important; border-radius: 50% !important; }
body.saniyoro .sy-pay-logos .sy-pay-cod {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  height: 44px;
  padding: 0 .85rem !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .14) !important;
  border: 1px solid rgba(255, 255, 255, .35) !important;
  color: #fff;
  font-size: .85rem;
  font-weight: 500;
}
body.saniyoro .sy-pay-logos span + span::before { content: none !important; margin: 0 !important; }

/* ---------- Accueil : une seule largeur de contenu ---------- */
body.saniyoro .sy-home .sy-trust-strip-inner,
body.saniyoro .sy-home .sy-sectors-section > .container,
body.saniyoro .sy-home .sy-dokan-stores-shell,
body.saniyoro .sy-cta-band .sy-cta-inner {
  width: min(1240px, calc(100% - 32px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.saniyoro .sy-home .sy-sectors-section .sy-sectors-marquee {
  margin: 0 !important;
  width: 100% !important;
  mask-image: linear-gradient(90deg, #000 94%, transparent) !important;
  -webkit-mask-image: linear-gradient(90deg, #000 94%, transparent) !important;
}
body.saniyoro .sy-home .sy-sectors-section .sy-sectors-track,
body.saniyoro .sy-home .sy-sectors-section .home-cats-marquee-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.saniyoro .sy-home .sy-sectors-section,
body.saniyoro .sy-home .sy-shops-section {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
  border-top: 0 !important;
}
body.saniyoro .sy-home .sy-section-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 1rem;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  text-align: left !important;
}
body.saniyoro .sy-home .sy-section-head h2 { margin: 0 !important; line-height: 1.2 !important; }
body.saniyoro .sy-home .sy-section-head .sy-section-sub { margin: .25rem 0 0 !important; font-size: .85rem !important; }
body.saniyoro .sy-home .sy-section-head .sy-see-all { white-space: nowrap; font-size: .88rem !important; }

/* Bande de confiance : 4 colonnes égales séparées par un filet */
body.saniyoro .sy-home .sy-trust-strip-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.saniyoro .sy-home .sy-trust-pill {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .9rem !important;
  min-height: 88px;
  padding: 1rem 1.5rem !important;
  margin: 0 !important;
  border: 0 !important;
  border-left: 1px solid var(--hm-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  grid-column: auto !important;
}
body.saniyoro .sy-home .sy-trust-pill:first-child { border-left: 0 !important; }
body.saniyoro .sy-home .sy-trust-pill:hover { background: transparent !important; }
body.saniyoro .sy-home .sy-trust-ico {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff3e6 !important;
  color: var(--hm-orange-dark) !important;
  font-size: 1.3rem;
}
body.saniyoro .sy-home .sy-trust-ico .bi { color: inherit !important; }
body.saniyoro .sy-home .sy-trust-pill strong { display: block; font-size: .95rem !important; font-weight: 700 !important; color: var(--hm-text) !important; margin: 0 0 .15rem !important; }
body.saniyoro .sy-home .sy-trust-pill div > span { display: block; font-size: .82rem !important; color: var(--hm-muted) !important; }
@media (max-width: 760px) {
  body.saniyoro .sy-home .sy-trust-strip-inner { grid-template-columns: 1fr !important; }
  body.saniyoro .sy-home .sy-trust-pill { justify-content: flex-start !important; min-height: 0; padding: .8rem 0 !important; border-left: 0 !important; }
  body.saniyoro .sy-home .sy-trust-pill + .sy-trust-pill { border-top: 1px solid var(--hm-line) !important; }
}

/* Sous-groupes de boutiques */
body.saniyoro .sy-home .sy-store-groups { gap: 2rem !important; }
body.saniyoro .sy-home .sy-store-group-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem;
  margin: 0 0 1rem !important;
  padding: 0 0 .7rem !important;
}
body.saniyoro .sy-home .sy-store-group-title { display: flex !important; align-items: center !important; gap: .65rem !important; }
body.saniyoro .sy-home .sy-store-group-title h3 { margin: 0 !important; }
body.saniyoro .sy-home .sy-store-group-title p { margin: .1rem 0 0 !important; font-size: .8rem !important; color: var(--hm-muted) !important; font-weight: 400 !important; }
body.saniyoro .sy-home .sy-store-group--nearby {
  background: #fff;
  border: 1px solid var(--hm-line);
  border-radius: 8px;
  padding: 1rem 1.1rem 1.1rem;
}
body.saniyoro .sy-stores-marquee::before,
body.saniyoro .sy-stores-marquee::after { display: none !important; }
body.saniyoro .sy-stores-track.is-marquee-css .home-cats-marquee-inner > .sy-store-card {
  flex: 0 0 var(--store-slide-w, calc((100% - 2.5rem) / 3)) !important;
  width: var(--store-slide-w, calc((100% - 2.5rem) / 3)) !important;
  max-width: none !important;
}

/* ---------- Sections ---------- */
body.saniyoro .sy-section-kicker { display: none !important; }
body.saniyoro .sy-section,
body.saniyoro .sy-shops-section,
body.saniyoro .sy-products-section,
body.saniyoro .sy-visited-section,
body.saniyoro .sy-food-section,
body.saniyoro .sy-dokan-stores-section {
  background: transparent !important;
}
body.saniyoro .sy-section-head h2,
body.saniyoro .sy-store-products-head h2 {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--hm-text) !important;
}
body.saniyoro .sy-section-sub { color: var(--hm-muted) !important; }
body.saniyoro .sy-see-all,
body.saniyoro .sy-store-group-link {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  color: var(--hm-blue) !important;
  font-weight: 500;
}
body.saniyoro .sy-see-all:hover,
body.saniyoro .sy-store-group-link:hover { text-decoration: underline; }
body.saniyoro .sy-sectors-marquee::before,
body.saniyoro .sy-sectors-marquee::after,
body.saniyoro .sy-visited-marquee::before,
body.saniyoro .sy-visited-marquee::after,
body.saniyoro .sy-food-marquee::before,
body.saniyoro .sy-food-marquee::after { display: none !important; }

/* Secteurs */
body.saniyoro .tsf-cat-card,
body.saniyoro .sy-sector-tile {
  border-radius: 6px !important;
  box-shadow: none !important;
  border: 1px solid var(--hm-line) !important;
  background: #fff !important;
}
body.saniyoro .tsf-cat-card:hover,
body.saniyoro .sy-sector-tile:hover { border-color: var(--hm-orange) !important; }
body.saniyoro .tsf-cat-visual,
body.saniyoro .sy-sector-tile-icon {
  width: 52px !important;
  height: 52px !important;
  margin: 0 auto .55rem !important;
  display: grid !important;
  place-items: center;
  background: #fff3e6 !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 50% !important;
  color: var(--hm-orange-dark) !important;
}
body.saniyoro .tsf-cat-visual i,
body.saniyoro .sy-sector-tile-icon i,
body.saniyoro .tsf-cat-visual .bi,
body.saniyoro .sy-sector-tile-icon .bi { font-size: 1.5rem !important; color: inherit !important; }
body.saniyoro .tsf-cat-card:hover .tsf-cat-visual,
body.saniyoro .sy-sector-tile:hover .sy-sector-tile-icon { background: var(--hm-orange) !important; color: #fff !important; }
body.saniyoro .sy-sector-tile-label,
body.saniyoro .tsf-cat-label { font-weight: 500 !important; color: var(--hm-text) !important; }

/* Groupes de boutiques par secteur */
body.saniyoro .sy-store-group-icon {
  background: none !important;
  box-shadow: none !important;
  color: var(--hm-orange) !important;
  width: auto !important;
  height: auto !important;
  font-size: 1.15rem;
}
body.saniyoro .sy-store-group-title,
body.saniyoro .sy-store-group-head h3 { color: var(--hm-text) !important; font-size: 1.1rem !important; font-weight: 700 !important; }
body.saniyoro .sy-store-group-head { border-bottom: 1px solid var(--hm-line) !important; }

/* ---------- Carte boutique (liste vendeurs) ---------- */
body.saniyoro .sy-dokan-stores-grid--3 { gap: 1.25rem !important; }
body.saniyoro .sy-store-card {
  background: #fff !important;
  border: 1px solid var(--hm-line) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px rgba(16, 24, 40, .06) !important;
  overflow: hidden;
  min-height: 0 !important;
  height: auto !important;
  transition: box-shadow .2s, border-color .2s;
}
body.saniyoro .sy-store-card:hover { border-color: #d0d5dc !important; box-shadow: 0 8px 24px rgba(16, 24, 40, .1) !important; }
.sy-store-card-link { display: block; color: inherit; text-decoration: none; }
.sy-store-card-cover {
  position: relative;
  height: 190px;
  background: var(--store-tone, #1e3a5f);
  overflow: hidden;
  color: #fff;
}
.sy-store-card-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.sy-store-card:hover .sy-store-card-cover img { transform: scale(1.04); }
.sy-store-card-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .05) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, .78) 100%);
}
.sy-store-card-cover.is-plain::after {
  background:
    radial-gradient(circle at 85% 15%, rgba(255, 255, 255, .12) 0 60px, transparent 61px),
    radial-gradient(circle at 95% 60%, rgba(255, 255, 255, .07) 0 90px, transparent 91px),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .25) 100%);
}
.sy-store-card-info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 0 1rem 2.4rem 1rem;
}
.sy-store-card-sector {
  display: inline-block;
  margin-bottom: .3rem;
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .8);
}
body.saniyoro .sy-store-card-name {
  margin: 0 0 .25rem;
  font-size: 1.12rem !important;
  font-weight: 700;
  color: #fff !important;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}
.sy-store-card-rating { display: flex; align-items: center; gap: 1px; font-size: .78rem; color: #ffb400; margin-bottom: .35rem; }
.sy-store-card-rating .is-dim { color: rgba(255, 255, 255, .35); }
.sy-store-card-rating.is-new { color: #fff; }
.sy-store-card-rating.is-new span { margin-left: .3rem; }
.sy-store-card-rating span { margin-left: .4rem; color: rgba(255, 255, 255, .9); font-size: .78rem; }
.sy-store-card-line {
  margin: .1rem 0 0;
  font-size: .8rem;
  color: rgba(255, 255, 255, .88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sy-store-card-line .bi { margin-right: .25rem; opacity: .85; }
.sy-store-card-foot {
  position: relative;
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 58px;
  padding: .55rem 1rem .55rem 92px;
}
.sy-store-card-logo {
  position: absolute;
  left: 1rem;
  top: -30px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(16, 24, 40, .18);
  display: grid;
  place-items: center;
  overflow: hidden;
  z-index: 2;
}
.sy-store-card-logo img { width: 100%; height: 100%; object-fit: cover; }
.sy-store-card-logo span { font-size: 1.55rem; font-weight: 700; }
.sy-store-card-facts {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .75rem;
  font-size: .8rem;
  color: var(--hm-muted);
}
.sy-store-card-status { font-weight: 700; }
.sy-store-card-status::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: .3rem; vertical-align: 1px; background: currentColor; }
.sy-store-card-status.is-open { color: #1a7f37; }
.sy-store-card-status.is-closed { color: #b42318; }
.sy-store-card-distance.is-here { color: #1a7f37; font-weight: 500; }
.sy-store-card-go {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f2f4f7;
  color: var(--hm-text);
  transition: background .2s, color .2s;
}
.sy-store-card:hover .sy-store-card-go { background: var(--hm-orange); color: #fff; }
body.saniyoro button.sy-store-group-link { cursor: pointer; font-family: inherit; font-size: .8rem; font-weight: 500; }
@media (max-width: 560px) {
  .sy-store-card-cover { height: 150px; }
}

/* Boutiques par secteur : 2 par ligne sur tablette / mobile, cartes compactes */
@media (max-width: 1100px) {
  body.saniyoro .sy-dokan-stores-grid--3:not(.sy-stores-track),
  body.saniyoro.page-home-premium .sy-dokan-stores-grid--sector:not(.sy-stores-track),
  body.saniyoro.page-home-premium .sy-dokan-stores-grid--home:not(.sy-stores-track) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.saniyoro .sy-stores-marquee > .sy-stores-track:not(.is-marquee-css) > .sy-store-card {
    flex: 0 0 calc((100% - clamp(1rem, 2vw, 1.25rem)) / 2);
    max-width: calc((100% - clamp(1rem, 2vw, 1.25rem)) / 2);
  }
}
@media (max-width: 640px) {
  body.saniyoro .sy-dokan-stores-grid--3:not(.sy-stores-track),
  body.saniyoro.page-home-premium .sy-dokan-stores-grid--sector:not(.sy-stores-track),
  body.saniyoro.page-home-premium .sy-dokan-stores-grid--home:not(.sy-stores-track) {
    gap: .7rem !important;
  }
  body.saniyoro .sy-stores-marquee > .sy-stores-track:not(.is-marquee-css) { gap: .7rem; }
  body.saniyoro .sy-stores-marquee > .sy-stores-track:not(.is-marquee-css) > .sy-store-card {
    flex-basis: calc((100% - .7rem) / 2);
    max-width: calc((100% - .7rem) / 2);
  }
  body.saniyoro .sy-store-card { border-radius: 12px !important; }
  .sy-store-card-cover { height: 128px; }
  .sy-store-card-info { padding: 0 .6rem 1.55rem; }
  .sy-store-card-sector { font-size: .6rem; margin-bottom: .1rem; }
  body.saniyoro .sy-store-card-name { font-size: .92rem !important; margin-bottom: .1rem; }
  .sy-store-card-rating { font-size: .62rem; margin-bottom: .15rem; }
  .sy-store-card-rating span { font-size: .66rem; margin-left: .25rem; }
  .sy-store-card-line { font-size: .68rem; }
  .sy-store-card-line + .sy-store-card-line { display: none; }
  .sy-store-card-foot { min-height: 0; padding: .45rem .6rem .55rem 54px; gap: .35rem; }
  .sy-store-card-logo { left: .6rem; top: -20px; width: 40px; height: 40px; border-width: 2px; }
  .sy-store-card-logo span { font-size: 1.05rem; }
  .sy-store-card-facts { flex-direction: column; align-items: flex-start; gap: .05rem; font-size: .7rem; line-height: 1.3; }
  .sy-store-card-facts > span { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  .sy-store-card-go { display: none; }
}

/* ---------- Carte produit ---------- */
body.saniyoro .sy-dokan-product-card,
body.saniyoro .product-card {
  border-radius: 6px !important;
  box-shadow: none !important;
  border: 1px solid var(--hm-line) !important;
  background: #fff !important;
}
body.saniyoro .sy-dokan-product-card:hover,
body.saniyoro .product-card:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, .08) !important; }
body.saniyoro .sy-dokan-product-image,
body.saniyoro .product-card-image { background: #f6f7f8 !important; }
body.saniyoro .sy-dokan-product-placeholder { background: none !important; color: #b3bac2 !important; }
body.saniyoro .sy-dokan-product-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  background: #fff !important;
  color: var(--hm-text) !important;
  font-weight: 400 !important;
  font-size: .9rem !important;
  line-height: 1.35 !important;
  min-height: 2.7em;
  padding: .55rem .7rem 0 !important;
}
body.saniyoro .sy-dokan-product-title:hover { color: var(--hm-blue) !important; }
body.saniyoro .sy-dokan-product-foot { padding: .35rem .7rem .7rem !important; }
body.saniyoro .sy-dokan-product-price { color: var(--hm-text) !important; font-weight: 700 !important; font-size: 1rem !important; }
body.saniyoro .sy-dokan-product-cart {
  border-radius: 4px !important;
  box-shadow: none !important;
  background: var(--hm-orange) !important;
}
body.saniyoro .sy-dokan-product-sale,
body.saniyoro .product-card-promo {
  border-radius: 3px !important;
  background: #e0301e !important;
  box-shadow: none !important;
}
body.saniyoro [class^="tone-"],
body.saniyoro [class*=" tone-"] { background-image: none !important; }

/* Catalogue */
body.saniyoro .sy-filters {
  box-shadow: none !important;
  border: 1px solid var(--hm-line) !important;
  border-radius: 6px !important;
  background: #fff !important;
}
body.saniyoro .sy-filters button { border-radius: 4px !important; box-shadow: none !important; background: var(--hm-orange) !important; }
body.saniyoro .sy-card-add-btn {
  border-radius: 4px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .15) !important;
}
body.saniyoro .sy-card-visual { background-color: #f4f5f7 !important; }
body.saniyoro .sy-card-placeholder { background: none !important; }
body.saniyoro .sy-card-placeholder i { color: #c4cad2 !important; filter: none !important; font-size: 3.2rem !important; }
body.saniyoro .sy-product-card { display: flex; flex-direction: column; }
body.saniyoro .sy-product-card .product-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .3rem;
  padding: .7rem .85rem .85rem !important;
}
body.saniyoro .sy-card-shop {
  display: block;
  font-size: .75rem;
  color: var(--hm-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.saniyoro .sy-card-shop .bi { font-size: .7rem; margin-right: .15rem; }
body.saniyoro .sy-product-card .product-card-body h3 {
  margin: 0 !important;
  min-height: 0 !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: var(--hm-text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.saniyoro .sy-product-card .sy-card-body-link { display: flex; flex-direction: column; gap: .3rem; text-decoration: none; color: inherit; }
body.saniyoro .sy-product-card .sy-card-foot {
  margin-top: auto;
  padding-top: .15rem;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .5rem;
}
body.saniyoro .sy-card-rating { display: flex; align-items: center; gap: 1px; font-size: .78rem; color: #f5a623; line-height: 1; }
body.saniyoro .sy-card-rating.is-empty { color: #d0d5dc; }
body.saniyoro .sy-card-rating span { margin-left: .35rem; font-size: .76rem; color: var(--hm-muted); }
body.saniyoro .sy-card-cart { margin: 0; flex: 0 0 auto; }
body.saniyoro .sy-card-cart-btn {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 6px;
  display: grid;
  place-items: center;
  background: var(--hm-orange);
  color: #fff;
  font-size: 1.1rem;
  cursor: pointer;
  transition: background .15s;
}
body.saniyoro .sy-card-cart-btn:hover { background: var(--hm-orange-dark); }
body.saniyoro .sy-card-cart-btn:focus-visible { outline: 2px solid var(--hm-blue); outline-offset: 2px; }
body.saniyoro .sy-product-card .price { color: var(--hm-text) !important; font-weight: 700 !important; font-size: 1.05rem !important; }
body.saniyoro .sy-out-stock { border-radius: 3px !important; }

/* Fiche produit */
body.saniyoro .sy-product-commerce.pd-panel,
body.saniyoro .product-gallery-wrap,
body.saniyoro .product-zoom-stage,
body.saniyoro .sy-product-reviews,
body.saniyoro .product-reviews {
  border-radius: 6px !important;
  box-shadow: none !important;
}
body.saniyoro .sy-product-commerce.pd-panel { border: 1px solid var(--hm-line) !important; }
body.saniyoro .sy-product-title.pd-title { color: var(--hm-text) !important; font-size: 1.5rem !important; font-weight: 500 !important; line-height: 1.3 !important; }
body.saniyoro .sy-product-kicker { letter-spacing: 0 !important; text-transform: none !important; font-weight: 500 !important; color: var(--hm-blue) !important; }
body.saniyoro .sy-price-lg { color: var(--hm-text) !important; font-weight: 700 !important; }
body.saniyoro .sy-stock-badge { border-radius: 3px !important; background: none !important; padding: 0 !important; color: #1a7f37 !important; font-weight: 500 !important; }
body.saniyoro .sy-product-seller-card,
body.saniyoro .sy-commerce-card,
body.saniyoro .sy-pd-barcode,
body.saniyoro .sy-btn-share,
body.saniyoro .sy-btn-contact,
body.saniyoro .sy-qty-input,
body.saniyoro .sy-pay-chip,
body.saniyoro .sy-seller-logo {
  border-radius: 4px !important;
  box-shadow: none !important;
}
body.saniyoro .sy-add-btn { border-radius: 4px !important; }
body.saniyoro .product-zoom-hint { border-radius: 3px !important; }

/* ---------- Bandeau d'appel vendeur ---------- */
body.saniyoro .sy-cta-band {
  background: #fff !important;
  border-top: 1px solid var(--hm-line);
  border-bottom: 1px solid var(--hm-line);
  color: var(--hm-text) !important;
}
body.saniyoro .sy-cta-band h2,
body.saniyoro .sy-cta-band p { color: var(--hm-text) !important; }

/* Bandeau « Vendez vos produits » */
body.saniyoro .sy-sell-band {
  background: transparent !important;
  border: 0 !important;
  padding: 1rem 0 2.5rem !important;
  margin: 0 !important;
}
body.saniyoro .sy-sell-band .sy-cta-inner { display: block !important; }
.sy-sell-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  min-height: 280px;
  background: #1b2430;
  border-radius: 10px;
  overflow: hidden;
  color: #fff;
}
.sy-sell-copy { padding: 2.25rem 2.5rem; display: flex; flex-direction: column; justify-content: center; }
.sy-sell-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .6rem;
  font-size: .8rem;
  font-weight: 500;
  color: #ffb25c;
}
body.saniyoro .sy-sell-band h2 {
  margin: 0 0 1.1rem !important;
  font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #fff !important;
}
.sy-sell-points {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem 1.25rem;
}
.sy-sell-points li { display: flex; align-items: center; gap: .5rem; font-size: .92rem; color: rgba(255, 255, 255, .9); }
.sy-sell-points .bi { color: #3ecf8e; font-size: 1rem; }
.sy-sell-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.25rem; }
body.saniyoro .sy-sell-actions .sy-btn-cta {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.4rem !important;
  font-size: .95rem !important;
}
.sy-sell-login { color: rgba(255, 255, 255, .85); font-size: .88rem; text-decoration: underline; text-underline-offset: 3px; }
.sy-sell-login:hover { color: #fff; }
.sy-sell-media { position: relative; min-height: 220px; }
.sy-sell-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.sy-sell-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, #1b2430 0%, rgba(27, 36, 48, 0) 35%);
}
@media (max-width: 860px) {
  .sy-sell-card { grid-template-columns: 1fr; }
  .sy-sell-media { order: -1; min-height: 180px; }
  .sy-sell-media::before { background: linear-gradient(0deg, #1b2430 0%, rgba(27, 36, 48, 0) 50%); }
  .sy-sell-copy { padding: 1.5rem 1.25rem 1.75rem; }
}
@media (max-width: 480px) {
  .sy-sell-points { grid-template-columns: 1fr; }
}

/* ---------- Pied de page & barre mobile ---------- */
body.saniyoro .sy-footer-v2 { background: #1b2430 !important; }
body.saniyoro .sy-footer-social a { border-radius: 4px !important; }
body.saniyoro .sy-mobile-tabbar {
  background: #fff !important;
  box-shadow: none !important;
  border-top: 1px solid var(--hm-line);
  border-radius: 0 !important;
}

/* ---------- Boutique vendeur ---------- */
body.saniyoro .sy-store-sidebar {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 0 !important;
  background: var(--store-tone, #1e3a5f) !important;
}
body.saniyoro .sy-store-sidebar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 110% -10%, rgba(255, 255, 255, .14) 0 140px, transparent 141px),
    radial-gradient(circle at -20% 105%, rgba(255, 255, 255, .08) 0 160px, transparent 161px);
}
body.saniyoro .sy-store-sidebar.has-cover::before {
  background: linear-gradient(180deg, rgba(10, 16, 24, .55) 0%, rgba(10, 16, 24, .72) 45%, rgba(10, 16, 24, .9) 100%);
}
.sy-store-sidebar-cover {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.saniyoro .sy-store-sidebar-logo {
  background: #fff !important;
  border: 3px solid #fff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25) !important;
  color: var(--store-tone, #1e3a5f) !important;
  overflow: hidden;
}
body.saniyoro .sy-store-sidebar-logo span {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: #fff !important;
  color: var(--store-tone, #1e3a5f) !important;
}
body.saniyoro .sy-store-sidebar-name { text-shadow: 0 1px 3px rgba(0, 0, 0, .35); }
body.saniyoro .sy-store-sidebar .sy-store-rating {
  background: rgba(255, 255, 255, .14) !important;
  border: 0 !important;
  border-radius: 4px !important;
}
body.saniyoro .sy-store-sidebar-contact li { border-color: rgba(255, 255, 255, .15) !important; }
body.saniyoro .sy-store-sectors-strip--full {
  padding: 1.1rem clamp(1rem, 3vw, 2rem) 1.2rem !important;
  border-top: 3px solid var(--hm-orange) !important;
  border-bottom: 1px solid var(--hm-line);
  background: #fff !important;
}
body.saniyoro .sy-store-sectors-strip--full .sy-store-sectors-head { padding: 0 0 .75rem !important; }
body.saniyoro .sy-store-sectors-strip--full .sy-store-sectors-title { margin: 0 !important; font-size: 1.1rem !important; font-weight: 700 !important; color: var(--hm-text) !important; }
body.saniyoro .sy-store-count { border-radius: 3px !important; }
body.saniyoro .sy-store-map-card { box-shadow: 0 1px 3px rgba(0, 0, 0, .15) !important; border-radius: 4px !important; background: #fff !important; }
body.saniyoro .sy-map-marker-pin { box-shadow: none !important; }

/* ---------- Panier / commande ---------- */
body.saniyoro .sy-cart-shop { background: #fff !important; }

/* ---------- Modale message ---------- */
body.saniyoro .tsf-modal-card { border-radius: 6px !important; box-shadow: 0 8px 24px rgba(0, 0, 0, .18) !important; }
body.saniyoro .tsf-modal::backdrop { background: rgba(0, 0, 0, .45) !important; }
body.saniyoro .tsf-modal[open] .tsf-modal-card { animation: none !important; }

/* ---------- Espace client & suivi ---------- */
body.saniyoro .ca-hero,
body.saniyoro .ct-hero { background: #1b2430 !important; }
body.saniyoro .ct-hero::after { display: none !important; }
body.saniyoro .ct-grid,
body.saniyoro .ca-card,
body.saniyoro .ca-live-card,
body.saniyoro .ca-order,
body.saniyoro .ct-help-item {
  border-radius: 6px !important;
  box-shadow: none !important;
}
body.saniyoro .ct-kicker {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
body.saniyoro .ct-steps li.is-now .ct-step-dot { animation: none !important; box-shadow: none !important; }
body.saniyoro .ct-step-dot,
body.saniyoro .ct-card-ico,
body.saniyoro .ct-help-item > .bi,
body.saniyoro .ca-step-dot { border-radius: 50% !important; }
body.saniyoro .ct-card-ico { display: none !important; }
body.saniyoro .ca-hero .ca-btn-primary { box-shadow: none !important; }

/* ---------- Connexion / inscription ---------- */
body.saniyoro.sa-auth .sa-main { background: #fff !important; }
body.saniyoro.sa-auth .sa-badge {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--hm-muted) !important;
}
body.saniyoro.sa-auth .sa-alt,
body.saniyoro.sa-auth .sa-tabs,
body.saniyoro.sa-auth .sa-tabs a { border-radius: 4px !important; box-shadow: none !important; }
body.saniyoro.sa-auth .sa-points i { background: rgba(255, 255, 255, .12) !important; border-radius: 4px !important; }
body.saniyoro.sa-auth .sa-pay-logo { border-radius: 3px !important; box-shadow: none !important; }
body.saniyoro.sa-auth .sa-head h1 { font-weight: 700 !important; }
body.saniyoro.sa-auth .sa-topbar-cta { border-radius: 4px !important; box-shadow: none !important; }

/* Commune → quartier liés (paiement, espace client) */
.sy-cq, .ca-cq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; }
.sy-cq label { display: flex; flex-direction: column; gap: .35rem; margin: 0; }
.ca-cq { grid-column: 1 / -1; }
@media (max-width: 480px) { .sy-cq, .ca-cq { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Pied de page toujours en bas, même sur une page presque vide ---------- */
html { min-height: 100%; background: var(--hm-bg); }
body.saniyoro.sy-sticky-foot {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
body.saniyoro.sy-sticky-foot > .site-main { flex: 1 0 auto; width: 100%; }
body.saniyoro.sy-sticky-foot > header,
body.saniyoro.sy-sticky-foot > footer { flex-shrink: 0; }

/* Inscription client : bouton plein, à côté de « Connexion » */
body.saniyoro .sy-header-login--signup {
  background: var(--hm-orange, #f97316);
  border-color: var(--hm-orange, #f97316);
  color: #fff !important;
}
body.saniyoro .sy-header-login--signup:hover { filter: brightness(.92); background: var(--hm-orange, #f97316); }
body.saniyoro .sy-header-login--drawer + .sy-header-login--drawer { margin-top: 0; }
@media (min-width: 1024px) and (max-width: 1439px) {
  body.saniyoro .sy-header-login--toolbar.sy-header-login--signup span { display: none; }
}

/* Panier / commande : invitation à se connecter, sans obligation */
.sy-auth-hint {
  display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
  margin: 0 0 1rem; padding: .8rem 1rem;
  border: 1px solid #fed7aa; border-left: 4px solid var(--hm-orange, #f97316); border-radius: 6px;
  background: #fff7ed; color: #7c2d12; font-size: .9rem;
}
.sy-auth-hint i.bi { font-size: 1.25rem; color: var(--hm-orange, #f97316); }
.sy-auth-hint p { margin: 0; flex: 1 1 220px; line-height: 1.4; }
.sy-auth-hint .sy-auth-hint-acts { display: flex; gap: .5rem; flex-wrap: wrap; }
.sy-auth-hint a {
  display: inline-flex; align-items: center; gap: .3rem; padding: .42rem .8rem; border-radius: 4px;
  font-weight: 700; font-size: .84rem; text-decoration: none; white-space: nowrap;
  border: 1.5px solid #0f2847; color: #0f2847;
}
.sy-auth-hint a.is-primary { background: var(--hm-orange, #f97316); border-color: var(--hm-orange, #f97316); color: #fff; }
/* Connexion + inscription regroupées en un seul bouton */
body.saniyoro .sy-acct { position: relative; display: inline-flex; }
body.saniyoro .sy-acct-btn { background: var(--hm-orange, #f97316); border-color: var(--hm-orange, #f97316); color: #fff !important; }
body.saniyoro .sy-acct-btn:hover,
body.saniyoro .sy-acct:focus-within .sy-acct-btn { background: #ea580c; border-color: #ea580c; color: #fff !important; }
body.saniyoro .sy-acct-caret { font-size: .7rem; transition: transform .2s; }
body.saniyoro .sy-acct:hover .sy-acct-caret,
body.saniyoro .sy-acct:focus-within .sy-acct-caret { transform: rotate(180deg); }
body.saniyoro .sy-acct-menu {
  position: absolute; top: 100%; right: 0; z-index: 300;
  width: 230px; margin-top: .45rem; padding: .85rem;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 8px;
  box-shadow: 0 14px 34px rgba(10, 28, 48, .16);
  opacity: 0; visibility: hidden; transform: translateY(-4px);
  transition: opacity .16s, transform .16s, visibility .16s;
}
body.saniyoro .sy-acct-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -.5rem; height: .5rem; }
body.saniyoro .sy-acct:hover .sy-acct-menu,
body.saniyoro .sy-acct:focus-within .sy-acct-menu { opacity: 1; visibility: visible; transform: none; }
body.saniyoro .sy-acct-menu a {
  display: flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .55rem .75rem; border-radius: 6px; font-weight: 700; font-size: .86rem; text-decoration: none;
}
body.saniyoro .sy-acct-primary { background: var(--hm-orange, #f97316); color: #fff !important; }
body.saniyoro .sy-acct-primary:hover { background: #ea580c; }
body.saniyoro .sy-acct-secondary { border: 1.5px solid #0f2847; color: #0f2847 !important; }
body.saniyoro .sy-acct-secondary:hover { background: #0f2847; color: #fff !important; }
body.saniyoro .sy-acct-menu p { margin: .7rem 0 .35rem; font-size: .78rem; color: #64748b; text-align: center; }
@media (max-width: 1024px) {
  body.saniyoro .sy-acct { display: none; }
}
/* En-tête large : logo à gauche, recherche + quartier + menus regroupés à droite */
@media (min-width: 1281px) {
  body.saniyoro .sy-header-shell {
    grid-template-columns: minmax(max-content, 1fr) minmax(220px, 440px) auto max-content auto;
    column-gap: 1rem;
  }
  body.saniyoro .sy-header-nav {
    justify-content: flex-end;
    gap: .25rem;
  }
  body.saniyoro .sy-header-actions {
    padding-left: 1rem;
    border-left: 1px solid rgba(10, 28, 48, .1);
  }
}

@media (max-width: 1024px) {
  body.saniyoro .sy-header-nav .nav-logout-form { display: block !important; margin: .9rem 0 0; }
  body.saniyoro .sy-header-nav .nav-action-logout {
    width: 100% !important;
    min-height: 48px;
    justify-content: center !important;
    gap: .5rem;
    padding: .7rem 1rem !important;
    border: 1.5px solid #fecdd3 !important;
    border-radius: 14px !important;
    background: #fff1f2 !important;
    color: #be123c !important;
    font-size: .95rem !important;
  }
  body.saniyoro .sy-header-nav .nav-action-logout span { display: inline !important; }
}
