/* RES-IST — menu du site, même style que le menu de la boutique res-ist.store.
   Ordinateur (≥1120px) : liens en ligne, « Boutique » ouvre un panneau avec les produits et l'app.
   Mobile : carte déroulante sous le bouton menu, Boutique en accordéon. */
#nav{--sm-noir:#0B0B0C;--sm-carte:#161618;--sm-bord:#2A2A2E;--sm-jaune:#F4E84D;--sm-blanc:#FFFFFF;--sm-texte:#D8D8DA;--sm-gris:#8E8E92;}
#nav .sm-barre,#nav .sm-barre *,#nav .sm-panneau,#nav .sm-panneau *,#nav .sm-mobile,#nav .sm-mobile *{box-sizing:border-box;}
#nav .sm-barre a,#nav .sm-panneau a,#nav .sm-mobile a{text-decoration:none;}
#nav .sm-barre button,#nav .sm-mobile button{font:inherit;text-transform:none;letter-spacing:normal;}
#nav .sm-barre{position:relative;z-index:2;display:flex;align-items:center;gap:12px;height:64px;max-width:1400px;margin:0 auto;padding:0 clamp(16px,4vw,50px);font-family:'Poppins',system-ui,sans-serif;}
@media (min-width:1120px){#nav .sm-barre{height:72px;gap:22px;} }
#nav .sm-logo{display:block;flex:0 0 auto;}
#nav .sm-logo img{display:block;height:20px;width:auto;}

/* Liens : ordinateur */
#nav .sm-liens{display:none;}
@media (min-width:1120px){#nav .sm-liens{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none;} }
#nav .sm-barre .sm-lien{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 10px;border:0;border-radius:3px;background:none;cursor:pointer;font-family:'Poppins',system-ui,sans-serif;font-size:13.5px;line-height:1;font-weight:500;white-space:nowrap;color:var(--sm-texte);transition:color .2s ease;}
#nav .sm-lien:hover,#nav .sm-lien[aria-expanded="true"]{color:var(--sm-jaune);}
#nav .sm-lien[aria-current="page"]{color:var(--sm-jaune);}
#nav .sm-chevron{width:12px;height:12px;flex:0 0 auto;transition:transform .25s ease;}
#nav [aria-expanded="true"] > .sm-chevron{transform:rotate(180deg);}

#nav .sm-droite{display:flex;align-items:center;gap:6px;margin-left:auto;}
@media (min-width:1120px){#nav .sm-droite{gap:10px;} }
#nav .sm-langues{display:flex;align-items:center;gap:8px;font-family:'Poppins',system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;}
#nav .sm-langues button{padding:6px 2px;border:0;background:none;cursor:pointer;}
#nav .sm-langues i{display:block;width:1px;height:12px;background:var(--sm-bord);}

#nav .sm-icone{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:3px;color:var(--sm-texte);transition:color .2s ease;}
#nav .sm-icone:hover{color:var(--sm-jaune);}
#nav .sm-icone svg{width:20px;height:20px;}
#nav .sm-desk{display:none;}
@media (min-width:1120px){#nav .sm-desk{display:flex;} }

/* Bouton jaune de la page (ordinateur) */
#nav .sm-cta{display:none;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:0;border-radius:3px;background-color:var(--sm-jaune);color:var(--sm-noir);font-family:'Poppins',system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:background-color .2s ease;}
#nav .sm-cta:hover{background-color:var(--sm-blanc);color:var(--sm-noir);}
@media (min-width:1440px){#nav .sm-barre .sm-cta{display:inline-flex;} }

/* Bouton menu : mobile */
#nav .sm-burger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:4px;padding:0;border:1px solid var(--sm-bord);border-radius:8px;background:none;cursor:pointer;color:var(--sm-blanc);transition:border-color .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
#nav .sm-burger[aria-expanded="true"]{border-color:var(--sm-jaune);}
#nav .sm-burger svg{width:20px;height:20px;}
#nav .sm-burger .sm-x{display:none;}
#nav .sm-burger[aria-expanded="true"] .sm-x{display:block;}
#nav .sm-burger[aria-expanded="true"] .sm-lignes{display:none;}
@media (min-width:1120px){#nav .sm-burger{display:none;} }

/* Panneau Boutique : ordinateur */
#nav .sm-panneau{display:none;position:absolute;left:0;right:0;top:100%;z-index:5;background-color:var(--sm-noir);border-bottom:1px solid var(--sm-bord);box-shadow:0 24px 40px rgba(0,0,0,.45);font-family:'Poppins',system-ui,sans-serif;}
#nav .sm-panneau[data-open]{display:block;animation:smIn .22s cubic-bezier(.16,1,.3,1);}
@media (max-width:1119px){#nav .sm-panneau{display:none !important;} }
#nav .sm-panneau-in{max-width:1400px;margin:0 auto;padding:28px clamp(24px,4vw,50px) 32px;}
#nav .sm-produits{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;}
#nav .sm-produit{display:block;color:var(--sm-texte);}
#nav .sm-produit img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:3px;background-color:#000;border:1px solid var(--sm-bord);transition:border-color .2s ease;}
#nav .sm-produit:hover img{border-color:var(--sm-jaune);}
#nav .sm-produit-nom{display:block;margin-top:10px;font-family:'Bebas Neue',Impact,sans-serif;font-size:20px;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--sm-blanc);}
#nav .sm-prix{display:block;margin-top:4px;font-size:12.5px;color:var(--sm-gris);}
#nav .sm-prix s{margin-left:6px;}
#nav .sm-tout{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.35);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-blanc);}
#nav .sm-tout:hover{color:var(--sm-jaune);border-color:var(--sm-jaune);}

/* Menu mobile : carte déroulante sous la barre */
#nav .sm-mobile{display:none;position:absolute;top:calc(100% + 8px);left:12px;right:12px;z-index:6;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;padding:10px 0 20px;border:1px solid var(--sm-bord);border-radius:14px;background-color:var(--sm-carte);box-shadow:0 24px 48px rgba(0,0,0,.5);font-family:'Poppins',system-ui,sans-serif;}
#nav .sm-mobile[data-open]{display:block;animation:smIn .22s cubic-bezier(.16,1,.3,1);}
@media (min-width:1120px){#nav .sm-mobile{display:none !important;} }
#nav .sm-m-liste{margin:0;padding:0;list-style:none;}
#nav .sm-mobile .sm-m-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 22px;border:0;background:none;cursor:pointer;text-align:left;font-family:'Poppins',system-ui,sans-serif;font-size:20px;line-height:1.2;font-weight:500;color:var(--sm-blanc);}
#nav .sm-m-item:hover,#nav .sm-m-item[aria-current="page"]{color:var(--sm-jaune);}
#nav .sm-m-item .sm-chevron{width:16px;height:16px;margin-left:auto;color:var(--sm-gris);}
#nav .sm-m-sous{display:none;margin:0;padding:2px 22px 12px;list-style:none;gap:8px;}
#nav .sm-m-sous[data-open]{display:grid;}
#nav .sm-m-produit{display:flex;align-items:center;gap:12px;padding:3px 0;color:var(--sm-texte);}
#nav .sm-m-produit img{flex:0 0 auto;width:44px;height:44px;object-fit:cover;border-radius:3px;background-color:#000;}
#nav .sm-m-produit span{display:block;font-size:14.5px;line-height:1.3;color:var(--sm-blanc);}
#nav .sm-m-produit small{display:block;font-size:12px;color:var(--sm-gris);}
#nav .sm-m-sous .sm-tout{margin-top:6px;justify-self:start;}
#nav .sm-m-pied{display:grid;gap:14px;margin:12px 22px 0;padding-top:18px;border-top:1px solid var(--sm-bord);}
#nav .sm-m-pied .sm-cta{display:inline-flex;width:100%;padding:15px 16px;}
#nav .sm-insta{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--sm-texte);}
#nav .sm-insta svg{width:20px;height:20px;}
#nav .sm-insta:hover{color:var(--sm-jaune);}

#nav .sm-barre a:focus-visible,#nav .sm-barre button:focus-visible,#nav .sm-panneau a:focus-visible,#nav .sm-mobile a:focus-visible,#nav .sm-mobile button:focus-visible{outline:2px solid var(--sm-jaune);outline-offset:2px;}
@keyframes smIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){#nav .sm-panneau[data-open],#nav .sm-mobile[data-open]{animation:none;} #nav .sm-lien,#nav .sm-chevron{transition:none;} }

/* La barre reste au-dessus de la page (le moteur du site réécrit son style en ligne).
   Menu ouvert : elle passe devant tout, y compris la vidéo du hero (couche vidéo matérielle sur mobile). */
#nav{z-index:60 !important;}
html[data-sm-open] #nav{z-index:10000 !important;}
html[data-sm-open] #hero video{opacity:.99 !important;}
/* Le site souligne d'office le lien de la page en cours : dans ce menu, la couleur jaune suffit */
#nav .sm-barre .sm-lien > span[aria-hidden],#nav .sm-mobile .sm-m-item > span[aria-hidden]{display:none !important;}
/* Le panneau s'ouvre juste sous la barre, par-dessus la ligne des sections de la page */
@media (min-width:1120px){#nav .sm-panneau{top:72px;} }

/* Boutique : 5 produits sur une ligne ; l'app a sa propre place au-dessus de « Visiter la boutique en ligne » */
#nav .sm-produits{grid-template-columns:repeat(5,minmax(0,1fr));}
#nav .sm-m-app{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid var(--sm-bord);border-radius:8px;background-color:#0F0F11;color:var(--sm-texte);transition:border-color .2s ease;}
#nav .sm-m-app:hover{border-color:var(--sm-jaune);}
#nav .sm-m-app img{flex:0 0 auto;width:56px;height:56px;object-fit:cover;border-radius:4px;background-color:#000;}
#nav .sm-m-app span{display:block;font-size:15px;font-weight:600;line-height:1.3;color:var(--sm-blanc);}
#nav .sm-m-app small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--sm-gris);}

/* Instagram : toujours dans la barre, à côté de FR | EN (aussi sur mobile), plus dans la carte du menu */
#nav .sm-droite .sm-icone[aria-label="Instagram"]{display:flex;}
@media (max-width:1119px){#nav .sm-droite .sm-icone[aria-label="Instagram"]{width:36px;} }
