/* ============================================================
   THE TOWN BAR & GRILL : town-da.css
   Direction artistique "masterclass" : serif élégant (Cormorant Garamond +
   Playfair Display), fond chaud qui respire, pétales, pastilles roses,
   or doux. Chargé APRÈS public.css : c'est une couche par-dessus l'existant,
   rien n'est supprimé dans les anciennes feuilles.

   Règles NUI (tablette du jeu) : jamais de backdrop-filter ni de
   background-attachment:fixed (rendu gelé dans la WebView FiveM), jamais de
   target=_blank. Les surfaces "vitrées" sont donc des fonds opaques.
   ============================================================ */

:root{
  --da-bg:#0a0908;
  --da-panel:#141211;
  --da-panel-2:#1a1816;
  --da-line:rgba(217,204,176,.2);
  --da-line-2:rgba(217,204,176,.42);
  --da-gold:#d9ccb0;
  --da-gold-2:#efe2c8;
  --da-pink:#c8323c;
  --da-pink-2:#f4adb2;
  --da-ink:#2a0d0c;
  --da-muted:#ab977c;
  --da-ease:cubic-bezier(.22,1,.36,1);
  --da-serif:'Inter',system-ui,sans-serif;
  --da-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

/* ---------- Fond et typographie du site public ---------- */
body.public{
  --font-body:var(--da-serif);
  font-family:var(--da-serif);
  font-size:14.5px;
  line-height:1.5;
  background:
    radial-gradient(900px 600px at 82% 6%,rgba(214,64,74,.2),transparent 62%),
    radial-gradient(800px 700px at 4% 55%,rgba(200,50,60,.14),transparent 62%),
    radial-gradient(700px 500px at 60% 100%,rgba(200,50,60,.09),transparent 60%),
    var(--da-bg);
}
body.public input,body.public select,body.public textarea,body.public label,body.public .badge,body.public .eyebrow{font-family:var(--da-sans)}
body.public label{font-size:12.5px}
body.public input,body.public select,body.public textarea{font-size:14.5px}
body.public .eyebrow{letter-spacing:.22em;font-size:11px;color:var(--da-muted)}

/* Pétales d'ambiance (injectés par town-da.js, très discrets) */
.da-petals{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.da-petal{position:absolute;top:-30px;width:14px;height:10px;border-radius:100% 0 100% 0;background:linear-gradient(135deg,#f4adb2,#c8323c);opacity:0;animation:daFall linear infinite}
@keyframes daFall{0%{transform:translate3d(0,-40px,0) rotate(0);opacity:0}8%{opacity:.65}90%{opacity:.45}100%{transform:translate3d(var(--dx),108vh,0) rotate(540deg);opacity:0}}
@media(max-width:640px){.da-petals{display:none}}

/* ---------- En-tête et navigation ---------- */
body.public .site-header{background:rgba(10,9,8,.97);border-bottom:1px solid var(--da-line);transition:box-shadow .35s var(--da-ease),background .35s}
body.public .site-header.is-scrolled{box-shadow:0 12px 34px rgba(0,0,0,.5)}
body.public .brand .txt b{font-family:var(--da-display);font-size:15.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--da-gold-2)}
body.public .brand .txt span{font-family:var(--da-sans);font-size:9.5px;letter-spacing:.2em;color:var(--da-muted)}
body.public .site-nav{gap:26px}
body.public .site-nav a:not(.btn),body.public .nav-dropdown-trigger{position:relative;font-family:var(--da-serif);font-size:15px;font-weight:600;color:rgba(239,226,200,.86)}
body.public .site-nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--da-gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--da-ease)}
body.public .site-nav a:not(.btn):hover::after{transform:scaleX(1)}
body.public .site-nav a:not(.btn):hover,body.public .nav-dropdown-trigger:hover{color:var(--da-gold-2)}
body.public .nav-dropdown-menu{background:#141211;border-color:var(--da-line)}
body.public .nav-dropdown-menu a{font-family:var(--da-serif);font-size:14.5px}

/* ---------- Boutons ---------- */
body.public .btn{font-family:var(--da-serif);font-size:14px;font-weight:700;letter-spacing:.01em;padding:10px 22px}
body.public .btn--sm{font-size:13px;padding:7px 16px}
body.public .btn--primary{background:linear-gradient(90deg,var(--da-pink-2),var(--da-pink));color:var(--da-ink);box-shadow:0 8px 22px rgba(200,50,60,.28)}
body.public .btn--primary:hover{box-shadow:0 12px 28px rgba(200,50,60,.42);transform:translateY(-2px)}
body.public .btn--gold{background:linear-gradient(90deg,var(--da-gold-2),var(--da-gold));color:#181614}
body.public .btn--ghost{border-color:var(--da-line-2);color:#efe2c8}
body.public .btn--ghost:hover{background:rgba(255,255,255,.05);border-color:var(--da-pink)}

/* ---------- Titres de section ---------- */
body.public .section-head h2{font-family:var(--da-display);font-weight:800;font-size:clamp(30px,4.2vw,46px);letter-spacing:.03em}
body.public .section-head p{font-size:16.5px;color:var(--da-muted)}
body.public .card,body.public .dish-card,body.public .feature-card,body.public .cat-tile{border-color:var(--da-line);background:linear-gradient(160deg,#151413,#100f0d)}
body.public .site-footer{background:#070706;border-top:1px solid var(--da-line)}

/* ============================================================
   BOUTIQUE (menu + commander) : préfixe sh-
   ============================================================ */
.sh-hero{position:relative;z-index:3;max-width:1180px;margin:0 auto;padding:54px 32px 22px}
.sh-eyebrow{font:500 11px var(--da-sans);letter-spacing:5px;text-transform:uppercase;color:var(--da-muted);opacity:0;animation:shUp .9s .1s var(--da-ease) forwards}
.sh-title{margin:10px 0 0;font-family:var(--da-display);font-weight:800;font-size:clamp(46px,7.5vw,92px);line-height:1;letter-spacing:.03em;color:#efe2c8}
.sh-title .ch{display:inline-block;opacity:0;transform:translateY(40px) rotate(4deg);animation:shCh .9s var(--da-ease) forwards}
.sh-title .pink{color:var(--da-pink)}
.sh-lead{max-width:540px;margin:16px 0 0;color:var(--da-muted);font-size:18px;line-height:1.4;opacity:0;animation:shUp .9s .9s var(--da-ease) forwards}
@keyframes shCh{to{opacity:1;transform:none}}
@keyframes shUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* Coup de cœur */
.sh-feature{position:relative;z-index:3;max-width:1180px;margin:18px auto 6px;padding:0 32px}
.sh-feat{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--da-line);border-radius:8px;overflow:hidden;background:linear-gradient(120deg,#161514,#100f0d)}
.sh-feat .pic{position:relative;min-height:360px;overflow:hidden;background:#151412}
.sh-feat .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:shKb 18s ease-in-out infinite alternate}
@keyframes shKb{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-1.5%,-1%)}}
.sh-feat .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(16,15,13,.92))}
.sh-feat .body{padding:36px 38px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.sh-tag{align-self:flex-start;font:600 10.5px var(--da-sans);letter-spacing:2.4px;text-transform:uppercase;color:var(--da-ink);background:linear-gradient(90deg,var(--da-gold-2),var(--da-gold));padding:5px 12px;border-radius:4px}
.sh-feat h2{margin:0;font-family:var(--da-display);font-size:29px;line-height:1.1;color:#efe2c8}
.sh-feat p{margin:0;color:var(--da-muted);font-size:17px;line-height:1.4}
.sh-steps{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}
.sh-step{display:flex;align-items:center;gap:8px;border:1px solid var(--da-line);border-radius:4px;padding:6px 14px 6px 8px;font-size:14.5px;background:rgba(255,255,255,.02)}
.sh-step i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(200,50,60,.16);font-size:14px}
.sh-row{display:flex;align-items:center;gap:16px;margin-top:8px;flex-wrap:wrap}
.sh-price{font-family:var(--da-display);font-size:24px;color:var(--da-gold-2)}

/* Barre de catégories (collante sous l'en-tête du site) */
.sh-catbar{position:sticky;top:70px;z-index:150;margin-top:30px;background:#0a0908;border-bottom:1px solid var(--da-line)}
.sh-catin{max-width:1180px;margin:0 auto;padding:11px 32px;display:flex;align-items:center;gap:14px}
.sh-pills{position:relative;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1}
.sh-pills::-webkit-scrollbar{display:none}
.sh-pill{position:relative;z-index:1;white-space:nowrap;padding:8px 16px;border-radius:4px;font:600 15px var(--da-serif);color:var(--da-muted);cursor:pointer;transition:color .3s}
.sh-pill.on{color:var(--da-ink)}
.sh-ind{position:absolute;z-index:0;top:0;left:0;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--da-pink-2),var(--da-pink));transition:transform .45s var(--da-ease),width .45s var(--da-ease);box-shadow:0 6px 20px rgba(200,50,60,.3)}
.sh-search{position:relative;display:flex;align-items:center;border:1px solid var(--da-line);border-radius:4px;padding:0 14px;height:40px;background:#100f0d;min-width:190px;transition:border-color .3s,min-width .4s var(--da-ease)}
.sh-search:focus-within{border-color:var(--da-pink);min-width:260px}
.sh-search input{border:0 !important;outline:0;background:none !important;box-shadow:none !important;color:#efe2c8;font:400 15px var(--da-sans);width:100%;padding:0 0 0 8px !important}
.sh-search svg{width:16px;height:16px;stroke:var(--da-muted);fill:none;stroke-width:2;flex:none}

/* Sections et cartes */
.sh-main{position:relative;z-index:3;max-width:1180px;margin:0 auto;padding:6px 32px 160px}
.sh-sec{padding-top:44px;scroll-margin-top:150px}
.sh-sec-h{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
.sh-sec-h h3{margin:0;font-family:var(--da-display);font-size:26px;color:#efe2c8}
.sh-sec-h span{color:var(--da-muted);font-size:14.5px}
.sh-sec-h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--da-line-2),transparent)}
.sh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sh-card{position:relative;border:1px solid var(--da-line);border-radius:8px;overflow:hidden;background:linear-gradient(160deg,#181614,#100f0d);cursor:pointer;opacity:0;transform:translateY(26px);transition:opacity .7s var(--da-ease),transform .7s var(--da-ease),border-color .3s,box-shadow .3s}
.sh-card.in{opacity:1;transform:none}
.sh-card:hover{border-color:var(--da-line-2);box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(200,50,60,.18);transform:translateY(-4px)}
.sh-ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#1a1816,#100f0d)}
.sh-ph img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s,transform .9s var(--da-ease)}
.sh-ph img.ok{opacity:1}
.sh-card:hover .sh-ph img{transform:scale(1.07)}
.sh-ph::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,rgba(10,9,8,.78));pointer-events:none}
.sh-ph .ph-ico{position:absolute;inset:0;display:grid;place-items:center;font-size:37px;opacity:.5}
.sh-badge{position:absolute;z-index:2;left:12px;top:12px;font:600 10px var(--da-sans);letter-spacing:1.6px;text-transform:uppercase;padding:5px 10px;border-radius:4px;background:rgba(10,9,8,.85);border:1px solid var(--da-line-2);color:var(--da-gold-2)}
.sh-fav{position:absolute;z-index:2;right:12px;top:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(10,9,8,.78);cursor:pointer;display:grid;place-items:center;transition:transform .25s var(--da-ease)}
.sh-fav:hover{transform:scale(1.1)}
.sh-fav svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;transition:fill .25s,stroke .25s}
.sh-fav.on svg{fill:var(--da-pink);stroke:var(--da-pink)}
.sh-fav.pop{animation:shPop .5s var(--da-ease)}
@keyframes shPop{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}
.sh-inf{padding:16px 18px 18px}
.sh-card h4{margin:0;font-family:var(--da-display);font-size:18px;line-height:1.15;color:#efe2c8}
.sh-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;min-height:28px}
.sh-chips span{font-size:13px;color:var(--da-muted);border:1px solid var(--da-line);border-radius:4px;padding:2px 10px}
.sh-buy{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:10px;min-height:42px}
.sh-buy .sh-price{font-size:20px}
.sh-btn{position:relative;overflow:hidden;border:0;border-radius:4px;padding:10px 22px;background:linear-gradient(90deg,var(--da-pink-2),var(--da-pink));color:var(--da-ink);font:700 14px var(--da-serif);cursor:pointer;transition:transform .25s var(--da-ease),box-shadow .25s;box-shadow:0 8px 22px rgba(200,50,60,.28)}
.sh-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(200,50,60,.42)}
.sh-btn:active{transform:scale(.96)}
.sh-btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:shShine 5s ease-in-out infinite}
@keyframes shShine{0%,70%{left:-60%}100%{left:130%}}
.sh-btn.ghost{background:none;color:#efe2c8;border:1px solid var(--da-line-2);box-shadow:none}
.sh-btn.ghost::after{display:none}
.sh-btn[disabled]{opacity:.5;pointer-events:none}
.sh-q{display:inline-flex;align-items:center;border:1px solid var(--da-line-2);border-radius:4px;overflow:hidden;background:rgba(255,255,255,.03)}
.sh-q button{width:34px;height:36px;border:0;background:none;cursor:pointer;font-size:16.5px;color:#efe2c8;transition:background .2s}
.sh-q button:hover{background:rgba(200,50,60,.18)}
.sh-q b{min-width:26px;text-align:center;font:600 15px var(--da-sans);color:#efe2c8}
.sh-empty{padding:60px 0;text-align:center;color:var(--da-muted);font-size:18px}
.sh-skel{height:300px;border-radius:8px;background:linear-gradient(90deg,#141312,#201e1c,#141312);background-size:200% 100%;animation:sk 1.4s infinite}

/* Bouton panier flottant */
.sh-fab{position:fixed;z-index:160;right:26px;bottom:26px;display:flex;align-items:center;gap:12px;border:1px solid var(--da-line-2);border-radius:4px;padding:12px 20px 12px 16px;background:#141211;box-shadow:0 18px 50px rgba(0,0,0,.6);cursor:pointer;color:#efe2c8;transition:transform .35s var(--da-ease),border-color .3s}
.sh-fab:hover{transform:translateY(-3px);border-color:var(--da-pink)}
.sh-fab svg{width:22px;height:22px;stroke:var(--da-gold-2);fill:none;stroke-width:1.8}
.sh-fab .n{position:absolute;top:-8px;left:30px;min-width:22px;height:22px;border-radius:4px;background:var(--da-pink);color:var(--da-ink);font:700 12px var(--da-sans);display:grid;place-items:center;padding:0 6px}
.sh-fab .t{font:600 15px var(--da-sans);min-width:48px;text-align:right}
.sh-fab.bump{animation:shBump .55s var(--da-ease)}
@keyframes shBump{0%{transform:scale(1)}35%{transform:scale(1.14)}100%{transform:scale(1)}}
.sh-fab.empty .t{color:var(--da-muted);font-weight:500}

/* Tiroir panier */
.sh-shade{position:fixed;inset:0;z-index:300;background:rgba(3,3,3,.72);opacity:0;pointer-events:none;transition:opacity .4s}
.sh-shade.on{opacity:1;pointer-events:auto}
.sh-drawer{position:fixed;z-index:310;top:12px;right:12px;bottom:12px;width:min(450px,calc(100vw - 24px));border:1px solid var(--da-line-2);border-radius:8px;background:linear-gradient(180deg,#141312,#0d0d0c);box-shadow:0 30px 80px rgba(0,0,0,.65);display:flex;flex-direction:column;transform:translateX(110%);transition:transform .55s var(--da-ease);color:#efe2c8}
.sh-drawer.on{transform:none}
.sh-dh{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 12px}
.sh-dh h2{margin:0;font-family:var(--da-display);font-size:20.5px;color:#efe2c8}
.sh-dh small{display:block;font:400 13px var(--da-sans);color:var(--da-muted);margin-top:2px}
.sh-x{width:38px;height:38px;border-radius:50%;border:1px solid var(--da-line);background:none;cursor:pointer;font-size:15.5px;color:#efe2c8;transition:transform .3s var(--da-ease),background .2s}
.sh-x:hover{transform:rotate(90deg);background:rgba(255,255,255,.06)}
.sh-db{flex:1;overflow:auto;padding:0 24px 8px;scrollbar-width:thin;scrollbar-color:var(--da-line-2) transparent}
.sh-lines{list-style:none;margin:0;padding:0}
.sh-ln{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--da-line);overflow:hidden;max-height:170px;transition:max-height .35s var(--da-ease),opacity .3s,padding .35s var(--da-ease)}
.sh-ln.new{animation:shLn .55s var(--da-ease)}
@keyframes shLn{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}
.sh-ln.out{max-height:0;opacity:0;padding-top:0;padding-bottom:0}
.sh-ln img,.sh-ln .noimg{width:62px;height:62px;border-radius:14px;object-fit:cover;background:#1a1816;display:grid;place-items:center;font-size:20.5px}
.sh-ln .nm{font-family:var(--da-display);font-size:14.5px;line-height:1.15}
.sh-ln .sub{font-size:13px;color:var(--da-muted);margin:2px 0 8px}
.sh-ln .sh-q button{width:28px;height:28px;font-size:14px}
.sh-ln .sh-q b{min-width:22px;font-size:13px}
.sh-ln .r{text-align:right}
.sh-ln .r b{display:block;font:600 15px var(--da-sans)}
.sh-ln .rm{margin-top:8px;border:0;background:none;color:var(--da-muted);font:400 12.5px var(--da-sans);cursor:pointer;text-decoration:underline}
.sh-ln .rm:hover{color:var(--da-pink)}
.sh-free{margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sh-free .fb{border:1px solid var(--da-gold);border-radius:4px;background:none;color:var(--da-gold-2);font:600 12px var(--da-sans);padding:3px 10px;cursor:pointer}
.sh-free .fb:hover{background:rgba(217,204,176,.14)}
.sh-free .fo{font:600 12px var(--da-sans);color:var(--da-gold-2)}
.sh-dempty{text-align:center;padding:50px 10px 24px;color:var(--da-muted)}
.sh-dempty .ico{font-size:37px;display:block;margin-bottom:10px;animation:shFloat 3s ease-in-out infinite}
@keyframes shFloat{50%{transform:translateY(-8px)}}
.sh-dempty p{margin:6px 0 18px;font-size:17px}
.sh-loy{margin:4px 0 10px;padding:14px 16px;border-radius:8px;border:1px solid var(--da-line-2);background:linear-gradient(135deg,rgba(200,50,60,.12),rgba(217,204,176,.1))}
.sh-loy .lr{display:flex;justify-content:space-between;gap:10px;font:600 13px var(--da-sans);margin-bottom:8px}
.sh-loy .lr b{font-family:var(--da-display);font-size:14px;color:var(--da-gold-2);font-weight:700}
.sh-loy .bar{height:8px;border-radius:4px;background:#1a1816;overflow:hidden}
.sh-loy .bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--da-pink),var(--da-gold));transition:width .6s var(--da-ease)}
.sh-loy .rw{display:flex;align-items:center;gap:9px;margin-top:12px;padding:10px 12px;border:1px dashed var(--da-gold);border-radius:12px;font:600 13px var(--da-sans);color:var(--da-gold-2);cursor:pointer}
.sh-loy .rw input{width:auto}
.sh-loy .hint{margin:10px 0 0;font:400 12.5px var(--da-sans);color:var(--da-muted)}
.sh-up{margin:18px 0 6px}
.sh-up h5{margin:0 0 10px;font:600 11px var(--da-sans);letter-spacing:2.2px;text-transform:uppercase;color:var(--da-muted)}
.sh-ups{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
.sh-ups::-webkit-scrollbar{display:none}
.sh-u{flex:0 0 138px;border:1px solid var(--da-line);border-radius:8px;overflow:hidden;background:rgba(255,255,255,.025)}
.sh-u img,.sh-u .noimg{width:100%;height:78px;object-fit:cover;background:#1a1816;display:grid;place-items:center;font-size:22.5px}
.sh-u div.t{padding:8px 10px 10px}
.sh-u b{display:block;font:600 13px var(--da-serif);line-height:1.1;min-height:30px}
.sh-u button{margin-top:6px;width:100%;border:1px solid var(--da-line-2);background:none;border-radius:4px;padding:5px;cursor:pointer;font:600 12.5px var(--da-sans);color:#efe2c8;transition:background .2s,color .2s}
.sh-u button:hover{background:var(--da-pink);color:var(--da-ink);border-color:var(--da-pink)}
.sh-form{margin:14px 0 8px}
.sh-form label{display:block;font:600 11px var(--da-sans);letter-spacing:2px;text-transform:uppercase;color:var(--da-muted);margin:0 0 6px}
.sh-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.sh-seg button{border:1px solid var(--da-line);border-radius:4px;padding:9px;background:none;color:#efe2c8;font:600 14px var(--da-serif);cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.sh-seg button.on{background:linear-gradient(90deg,var(--da-pink-2),var(--da-pink));border-color:transparent;color:var(--da-ink)}
.sh-form input[type=text],.sh-form textarea{width:100%;border:1px solid var(--da-line);border-radius:14px;background:#100f0d;color:#efe2c8;font:400 14px var(--da-sans);padding:10px 12px;outline:0;transition:border-color .3s;margin-bottom:12px}
.sh-form textarea{resize:none;height:62px}
.sh-form input:focus,.sh-form textarea:focus{border-color:var(--da-pink);box-shadow:none}
.sh-df{padding:16px 24px 22px;border-top:1px solid var(--da-line-2);background:rgba(0,0,0,.2);border-radius:0 0 26px 26px}
.sh-sum{display:flex;justify-content:space-between;align-items:baseline;color:var(--da-muted);font:400 14px var(--da-sans);margin-bottom:6px}
.sh-sum.big{color:#efe2c8;font-size:14px;margin:8px 0 14px}
.sh-sum.big b{font:700 24px var(--da-display);color:var(--da-gold-2)}
.sh-go{width:100%;height:54px;font-size:15.5px;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}
.sh-spin{width:20px;height:20px;border:2px solid rgba(42,13,22,.3);border-top-color:var(--da-ink);border-radius:50%;animation:shSp .7s linear infinite}
@keyframes shSp{to{transform:rotate(360deg)}}
.sh-login{margin:0 0 10px;text-align:center;font:400 13px var(--da-sans);color:var(--da-muted)}
.sh-done{position:absolute;inset:0;border-radius:8px;background:linear-gradient(180deg,#141312,#0d0d0c);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;opacity:0;pointer-events:none;transition:opacity .45s}
.sh-done.on{opacity:1;pointer-events:auto}
.sh-done svg{width:96px;height:96px}
.sh-done circle{fill:none;stroke:var(--da-pink);stroke-width:3;stroke-dasharray:260;stroke-dashoffset:260}
.sh-done path{fill:none;stroke:var(--da-gold-2);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60}
.sh-done.on circle{animation:shDraw .8s .15s var(--da-ease) forwards}
.sh-done.on path{animation:shDraw .5s .7s var(--da-ease) forwards}
@keyframes shDraw{to{stroke-dashoffset:0}}
.sh-done h3{font-family:var(--da-display);font-size:22px;margin:18px 0 6px;color:#efe2c8}
.sh-done p{margin:0 0 20px;color:var(--da-muted);font-size:17px}

/* Fiche détail */
.sh-mshade{position:fixed;inset:0;z-index:330;display:grid;place-items:center;padding:20px;background:rgba(3,3,3,.8);opacity:0;pointer-events:none;transition:opacity .35s}
.sh-mshade.on{opacity:1;pointer-events:auto}
.sh-modal{width:min(900px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--da-line-2);border-radius:8px;background:linear-gradient(160deg,#161413,#0d0d0c);transform:translateY(30px) scale(.96);transition:transform .5s var(--da-ease);position:relative;color:#efe2c8}
.sh-mshade.on .sh-modal{transform:none}
.sh-modal .pic{position:relative;min-height:380px;background:#151412}
.sh-modal .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sh-modal .info{padding:34px 34px 30px;display:flex;flex-direction:column;gap:12px}
.sh-modal h3{margin:0;font-family:var(--da-display);font-size:26px;line-height:1.1;color:#efe2c8}
.sh-modal p{margin:0;color:var(--da-muted);font-size:17px;line-height:1.4}
.sh-modal .sh-x{position:absolute;right:14px;top:14px;z-index:3;background:rgba(10,9,8,.85)}
.sh-modal .acts{display:flex;align-items:center;gap:14px;margin-top:auto;flex-wrap:wrap}

.sh-fly{position:fixed;z-index:400;border-radius:14px;object-fit:cover;pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.sh-toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,24px);opacity:0;z-index:420;background:#181615;border:1px solid var(--da-line-2);color:#efe2c8;padding:10px 20px;border-radius:4px;font:500 14px var(--da-sans);transition:.35s var(--da-ease);pointer-events:none}
.sh-toast.on{opacity:1;transform:translate(-50%,0)}
.sh-burst{position:fixed;z-index:440;pointer-events:none;width:12px;height:9px;border-radius:100% 0 100% 0;background:linear-gradient(135deg,#f4adb2,#c8323c)}

@media(max-width:900px){
  .sh-hero{padding:34px 20px 12px}.sh-feature{padding:0 16px}.sh-main{padding:4px 16px 150px}
  .sh-feat{grid-template-columns:1fr}.sh-feat .pic{min-height:220px}.sh-feat .pic::after{background:linear-gradient(transparent 50%,rgba(16,15,13,.92))}
  .sh-feat .body{padding:22px}.sh-feat h2{font-size:22px}
  .sh-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .sh-catbar{top:64px}.sh-catin{padding:10px 16px}.sh-search{min-width:44px;width:44px;padding:0 12px}.sh-search input{display:none}.sh-search:focus-within{min-width:44px}
  .sh-modal{grid-template-columns:1fr}.sh-modal .pic{min-height:220px}.sh-modal .info{padding:22px}
  .sh-fab{right:14px;bottom:14px}
}
@media(max-width:560px){.sh-grid{grid-template-columns:1fr}.sh-ph{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){
  .sh-title .ch,.sh-eyebrow,.sh-lead{opacity:1;transform:none;animation:none}
  .sh-card{opacity:1;transform:none;transition:none}
  .sh-feat .pic img,.sh-btn::after,.da-petal{animation:none}
  .da-petals{display:none}
}

/* Accueil = la carte : l'en-tête est dans la page, le reste de la page suit sous la boutique */
.sh-home .sh-main{padding-bottom:30px}
.sh-hero .social-pills{margin-top:18px;justify-content:flex-start}
.sh-hero .social-pill{animation:none}
.sh-nav-user{font-family:var(--da-sans);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--da-muted);cursor:pointer;background:none;border:0;padding:0}
.sh-nav-user:hover{color:var(--da-pink)}

/* Photo plus petite que son cadre (ex. 128 px) : présentée à sa taille, nette, sur fond chaud */
.sh-feat .pic.lowres,.sh-modal .pic.lowres{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#2d2a27,#100f0d 72%)}
.sh-feat .pic.lowres::after{display:none}
.sh-feat .pic.lowres img,.sh-modal .pic.lowres img{position:static;width:min(230px,60%);height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px;animation:none;border:1px solid var(--da-line-2);box-shadow:0 22px 54px rgba(0,0,0,.55)}

/* ============================================================
   PHASE 2 : fidélité totale à la maquette masterclass
   fond vivant sans voile gris, en-tête sur une ligne, nav centrée,
   titres de page, pied de page, sections de l'accueil
   ============================================================ */

/* Le voile de photo floutée (réglage "photo de fond") donnait un fond gris : retiré sur le site public */
.site-bg-photo,.site-bg-overlay{display:none !important}

/* Fond vivant fixe (inséré par town-da.js) : mêmes halos que la maquette */
.da-ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(900px 600px at 82% 6%,rgba(214,64,74,.22),transparent 62%),
  radial-gradient(800px 700px at 4% 55%,rgba(200,50,60,.16),transparent 62%),
  radial-gradient(700px 500px at 60% 100%,rgba(200,50,60,.10),transparent 60%),
  var(--da-bg)}
html.da-on body.public{background:transparent}

/* En-tête : marque sur une ligne, navigation au centre, action à droite */
body.public .site-header .wrap{max-width:1180px;padding:14px 32px;justify-content:space-between}
body.public .brand img{width:44px;height:44px}
body.public .brand .txt{display:flex;align-items:baseline;gap:.45em;white-space:nowrap}
body.public .brand .txt b,body.public .brand .txt span{display:inline;font-family:var(--da-display);font-size:16.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--da-gold-2)}
body.public .site-nav{margin:0 auto;gap:24px}
body.public .site-header .sh-nav-user{margin-left:6px}
.sh-catbar{top:73px}

/* Titres de page des pages secondaires : même présence que "Nos Menus" */
body.public .section-head .eyebrow{display:block;font:500 11px var(--da-sans);letter-spacing:5px;text-transform:uppercase;color:var(--da-muted)}
body.public .section-head h2{font-size:clamp(40px,6vw,72px);line-height:1.02;margin-top:12px;color:#efe2c8}
body.public .section-head .divider{display:none}
body.public .section-head p{font-size:18px;line-height:1.4}

/* Sections sous la carte (accueil) : mêmes cartes, mêmes titres que la boutique */
body.public .feature-card{border-radius:8px;text-align:left;padding:26px 24px;transition:transform .5s var(--da-ease),border-color .3s,box-shadow .3s}
body.public .feature-card:hover{transform:translateY(-4px);border-color:var(--da-line-2);box-shadow:0 18px 44px rgba(0,0,0,.45)}
body.public .feature-card .ic{margin:0 0 14px;background:rgba(200,50,60,.14);border-color:rgba(200,50,60,.3)}
body.public .feature-card h4{font-size:18px;color:#efe2c8}
body.public .feature-card p{font-size:14.5px;line-height:1.45;color:var(--da-muted)}
body.public .quote-band blockquote{font-family:var(--da-display);font-size:clamp(22px,3vw,32px);color:var(--da-gold-2)}
body.public .about-grid h2{font-size:clamp(32px,4.4vw,52px);line-height:1.05;color:#efe2c8}
body.public .about-grid p{font-size:16.5px}
body.public .info-item .ic{background:rgba(217,204,176,.12);color:var(--da-gold-2);border:1px solid var(--da-line)}
body.public .info-item b{font-family:var(--da-display);font-size:14.5px}
body.public .info-item span{font-size:15.5px}
body.public .trust-logo-name{color:var(--da-gold-2)}

/* Onglets, formulaires et cartes des pages secondaires */
body.public .tab-btn{font-family:var(--da-serif);font-size:15.5px;color:var(--da-muted)}
body.public .tab-btn.is-active{color:var(--da-pink-2);border-bottom-color:var(--da-pink)}
body.public .account-card,body.public .card-pad{border-radius:8px}
body.public .card{box-shadow:0 14px 40px rgba(0,0,0,.35)}
body.public input:focus,body.public textarea:focus,body.public select:focus{border-color:var(--da-pink);box-shadow:0 0 0 3px rgba(200,50,60,.14)}

/* Pied de page */
body.public .site-footer{background:#090403;border-top:1px solid var(--da-line);margin-top:50px;padding-top:48px}
body.public .site-footer .brand .txt b,body.public .site-footer .brand .txt span{font-size:14px}
body.public .footer-links a{font-family:var(--da-serif);font-size:14.5px;color:rgba(239,226,200,.72)}
body.public .footer-links a:hover{color:var(--da-gold-2)}
body.public .footer-tagline{font:500 11px var(--da-sans);letter-spacing:5px;color:var(--da-gold)}
body.public .footer-bottom{font-family:var(--da-sans);font-size:12px}

@media(max-width:820px){
  body.public .site-header .wrap{padding:12px 16px}
  body.public .brand .txt b,body.public .brand .txt span{font-size:13px;letter-spacing:.1em}
  body.public .site-nav{margin:0}
  body.public .site-header .sh-nav-user{display:none}
  .sh-catbar{top:68px}
}

/* Vitrine partenaires : discrète, en bas de l'accueil (le site s'adresse d'abord aux clients) */
body.public #trustSection{padding-top:10px;padding-bottom:20px}
body.public #trustSection .section-head{margin-bottom:18px}
body.public #trustSection .section-head h2{font-size:clamp(24px,3vw,34px);line-height:1.1}
body.public #trustSection .trust-logos{gap:6px 4px;max-width:none;justify-content:flex-start}
body.public #trustSection .trust-logo{width:118px;padding:8px 4px 6px}
body.public #trustSection .trust-logo-img{height:48px}
body.public #trustSection .trust-logo-img img{max-height:48px;max-width:100px}
body.public #trustSection .section-head{text-align:left;margin-left:0;max-width:none}

/* ============================================================
   PHASE 3 : branches de cerisier, page Privatisations, page Notre équipe
   ============================================================ */

/* Branches de cerisier sur les bords (SVG généré par town-da.js), derrière le contenu */
.da-bl{position:fixed;top:0;bottom:0;width:clamp(130px,calc((100vw - 1180px) / 2 + 80px),360px);z-index:-1;pointer-events:none;
  -webkit-mask-image:linear-gradient(to right,#000000 40%,transparent 100%);mask-image:linear-gradient(to right,#000000 40%,transparent 100%)}
.da-bl-l{left:0}
.da-bl-r{right:0;transform:scaleX(-1)}
.da-bl svg{display:block;width:100%;height:100%;transform-origin:0 100%;animation:daSway 11s ease-in-out infinite}
@keyframes daSway{50%{transform:rotate(.7deg)}}
@media(max-width:760px){.da-bl{display:none}}
@media(prefers-reduced-motion:reduce){.da-bl svg{animation:none}}

/* Mise en page commune des pages secondaires */
.pg-wrap{position:relative;z-index:3;max-width:1180px;margin:0 auto;padding:0 32px}
.pg-wrap.narrow{max-width:980px}
.pg-sec{padding-top:46px}
.pg-h{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.pg-h h2{margin:0;font-family:var(--da-display);font-size:24px;color:#efe2c8}
.pg-h span{color:var(--da-muted);font-size:14.5px}
.pg-h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--da-line-2),transparent)}
.pg-cta{display:flex;justify-content:center;margin:34px 0 10px}
.pg-end{height:50px}

/* ---------- Privatisations ---------- */
.pv-feats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:26px;border:1px solid var(--da-line);border-radius:8px;background:linear-gradient(160deg,#181614,#100f0d);overflow:hidden}
.pv-feat{padding:28px 26px;text-align:center}
.pv-feat+.pv-feat{border-left:1px solid var(--da-line)}
.pv-ic{width:56px;height:56px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;border:1px solid var(--da-line-2);background:rgba(200,50,60,.1)}
.pv-ic svg{width:24px;height:24px;stroke:var(--da-pink-2);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pv-feat h4{margin:0 0 6px;font:600 12px var(--da-sans);letter-spacing:2.4px;text-transform:uppercase;color:var(--da-pink-2)}
.pv-feat p{margin:0;font-size:15.5px;line-height:1.35;color:var(--da-muted)}
.pv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.pv-card{position:relative;border:1px solid var(--da-line);border-radius:8px;overflow:hidden;background:linear-gradient(160deg,#181614,#0e0e0d);transition:transform .5s var(--da-ease),border-color .3s,box-shadow .3s}
.pv-card:hover{transform:translateY(-4px);border-color:var(--da-line-2);box-shadow:0 22px 54px rgba(0,0,0,.5)}
.pv-card.top{border-color:rgba(200,50,60,.55);box-shadow:0 0 0 1px rgba(200,50,60,.18),0 18px 50px rgba(200,50,60,.08)}
.pv-flag{position:absolute;z-index:3;top:14px;left:50%;transform:translateX(-50%);font:700 10px var(--da-sans);letter-spacing:2px;text-transform:uppercase;padding:6px 14px;border-radius:4px;background:linear-gradient(90deg,var(--da-pink-2),var(--da-pink));color:var(--da-ink);box-shadow:0 8px 22px rgba(200,50,60,.35)}
.pv-ph{position:relative;aspect-ratio:16/8;background:radial-gradient(circle at 50% 40%,#2b2825,#100f0d 75%);overflow:hidden}
.pv-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}
.pv-ph img.on{opacity:1}
.pv-ph .ph-ico{position:absolute;inset:0;display:grid;place-items:center;font-size:43px;opacity:.55}
.pv-ph::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(transparent,rgba(14,14,13,.85));pointer-events:none}
.pv-ph .cap{position:absolute;z-index:2;left:18px;bottom:12px;font:600 11px var(--da-sans);letter-spacing:2px;text-transform:uppercase;color:var(--da-gold-2)}
.pv-dots{position:absolute;z-index:2;right:16px;bottom:14px;display:flex;gap:6px}
.pv-dots i{width:7px;height:7px;border-radius:50%;background:rgba(239,226,200,.35);transition:background .3s,transform .3s}
.pv-dots i.on{background:var(--da-pink);transform:scale(1.25)}
.pv-body{padding:26px 28px 24px}
.pv-body h3{margin:0;text-align:center;font-family:var(--da-display);font-size:29px;color:var(--da-gold-2);letter-spacing:.02em}
.pv-orn{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px 0 18px;color:var(--da-gold)}
.pv-orn::before,.pv-orn::after{content:"";width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--da-line-2))}
.pv-orn::after{background:linear-gradient(90deg,var(--da-line-2),transparent)}
.pv-th{display:flex;justify-content:space-between;font:600 11px var(--da-sans);letter-spacing:2.2px;text-transform:uppercase;color:var(--da-pink-2);padding-bottom:10px;border-bottom:1px solid var(--da-line)}
.pv-rows{list-style:none;margin:0;padding:0}
.pv-rows li{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;padding:14px 0;border-bottom:1px solid var(--da-line)}
.pv-rows .st{color:var(--da-pink);font-size:14px;line-height:1.7}
.pv-rows b{display:block;font-family:var(--da-display);font-size:16.5px;color:#efe2c8}
.pv-rows small{display:block;font-size:14px;color:var(--da-muted);margin-top:1px}
.pv-rows .pr{text-align:right;font-family:var(--da-display);font-size:18px;color:var(--da-gold-2);white-space:nowrap}
.pv-rows .pr small{font-family:var(--da-serif);font-size:13px;white-space:normal;max-width:190px;margin-left:auto;color:var(--da-pink-2)}
.pv-opt{margin-top:18px;text-align:center}
.pv-opt span{display:block;font:600 11px var(--da-sans);letter-spacing:2.4px;text-transform:uppercase;color:var(--da-pink-2)}
.pv-opt b{display:block;margin-top:4px;font-family:var(--da-display);font-size:16.5px;font-weight:600;color:#efe2c8}
.pv-note{margin-top:26px;display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:center;border:1px solid var(--da-line);border-radius:8px;padding:22px 26px;background:linear-gradient(160deg,#151413,#0e0e0d)}
.pv-note .pv-ic{margin:0}
.pv-note p{margin:0;font-size:17px;line-height:1.4;color:#efe2c8}
.pv-note p em{font-style:normal;color:var(--da-pink-2)}
.pv-note .rule{margin-top:12px;padding-top:12px;border-top:1px solid var(--da-line);font-size:14px;color:var(--da-gold);line-height:1.4}

/* ---------- Notre équipe ---------- */
.tm-group{margin-top:44px}
.tm-group:first-child{margin-top:30px}
.tm-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.tm-grid>*{width:264px;max-width:100%}
.tm-card{position:relative;text-align:center;padding:30px 20px 26px;border:1px solid var(--da-line);border-radius:8px;background:linear-gradient(160deg,#181614,#0e0e0d);opacity:0;transform:translateY(26px);transition:opacity .7s var(--da-ease),transform .7s var(--da-ease),border-color .3s,box-shadow .3s}
.tm-card.in{opacity:1;transform:none}
.tm-card:hover{border-color:var(--da-line-2);box-shadow:0 20px 50px rgba(0,0,0,.5);transform:translateY(-5px)}
.tm-av{width:124px;height:124px;border-radius:50%;margin:0 auto 18px;padding:4px;background:linear-gradient(135deg,var(--da-gold-2),var(--da-pink) 70%);box-shadow:0 14px 34px rgba(200,50,60,.22)}
.tm-av>*{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;object-fit:cover;background:radial-gradient(circle at 35% 30%,#383430,#151412);color:var(--da-gold-2);font:700 30px var(--da-display)}
.tm-card h3{margin:0;font-family:var(--da-display);font-size:20px;line-height:1.15;color:#efe2c8}
.tm-role{margin-top:7px;font:600 11px var(--da-sans);letter-spacing:2.2px;text-transform:uppercase;color:var(--da-pink-2)}
.tm-bio{margin:12px 0 0;font-size:15.5px;line-height:1.35;font-style:italic;color:var(--da-muted)}
.tm-empty{padding:70px 0;text-align:center;color:var(--da-muted);font-size:19px}
.tm-skel{height:300px;border-radius:8px;background:linear-gradient(90deg,#141312,#201e1c,#141312);background-size:200% 100%;animation:sk 1.4s infinite}

@media(max-width:900px){
  .pg-wrap{padding:0 16px}
  .pv-feats{grid-template-columns:1fr}
  .pv-feat+.pv-feat{border-left:0;border-top:1px solid var(--da-line)}
  .pv-grid{grid-template-columns:1fr}
  .pv-note{grid-template-columns:1fr;text-align:center}
  .pv-note .pv-ic{margin:0 auto}
}
@media(prefers-reduced-motion:reduce){.tm-card{opacity:1;transform:none;transition:none}}

/* Navigation à 7 entrées : une seule ligne, quelle que soit la largeur de l'écran */
body.public .site-nav a{white-space:nowrap}
body.public .site-header .wrap{max-width:1360px}
@media(min-width:861px) and (max-width:1300px){
  body.public .site-nav{gap:15px}
  body.public .site-nav a:not(.btn){font-size:14px}
  body.public .site-header .wrap{padding:12px 20px}
  body.public .brand .txt b{font-size:14px;letter-spacing:.1em}
}
