/* Fiche activité — style page GetYourGuide (mobile d'abord). Variables : voir styles.css */
.fi{max-width:1040px;margin:0 auto;padding:16px 16px 96px;font-family:var(--sans);color:var(--ink)}
.fi-back{display:inline-block;margin:4px 0 12px;color:var(--accent);text-decoration:none;font-weight:600;font-size:14px}
.fi-note{color:var(--muted)}
.fi-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:900px){.fi-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.fi-book{position:sticky;top:16px}.fi{padding-bottom:40px}}

.fi-gal{border-radius:var(--radius);overflow:hidden;background:var(--surface-2);border:1px solid var(--line)}
.fi-hero{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.fi-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;background:var(--surface)}
.fi-th{border:0;padding:0;background:none;cursor:pointer;border-radius:8px;overflow:hidden}
.fi-th img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.fi-gal-empty{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;color:var(--muted);font-size:14px}

.fi-fam{margin:16px 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.fi h1{font-family:var(--serif);font-size:26px;line-height:1.15;margin:0 0 8px;letter-spacing:-.01em}
.fi-lead{margin:0 0 16px;color:var(--muted);line-height:1.5}

.fi-sec{border-top:1px solid var(--line)}
.fi-sec:last-of-type{border-bottom:1px solid var(--line)}
.fi-sec summary{cursor:pointer;list-style:none;padding:16px 0;font-family:var(--serif);font-weight:600;font-size:17px;display:flex;justify-content:space-between;align-items:center}
.fi-sec summary::-webkit-details-marker{display:none}
.fi-sec summary::after{content:"+";font-size:22px;color:var(--accent);line-height:1}
.fi-sec[open] summary::after{content:"−"}
.fi-body{padding:0 0 18px;line-height:1.55;font-size:15px}
.fi-body p{margin:0 0 10px}
.fi-body h4{margin:14px 0 6px;font-size:14px}

.fi-facts,.fi-rows{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fi-facts li,.fi-rows li{display:grid;grid-template-columns:1fr;gap:2px}
@media(min-width:560px){.fi-facts li,.fi-rows li{grid-template-columns:170px 1fr;gap:12px}}
.fi-facts b,.fi-rows b{font-size:13px;color:var(--muted);font-weight:600}
.fi-list{margin:0;padding-left:0;list-style:none;display:grid;gap:6px}
.fi-list li{position:relative;padding-left:24px}
.fi-list li::before{position:absolute;left:0;top:0;font-weight:700}
ul.fi-list:not(.fi-yes):not(.fi-no) li::before{content:"•";color:var(--accent)}
.fi-yes li::before{content:"✓";color:var(--ok)}
.fi-no li::before{content:"✕";color:var(--muted)}
.fi-tab{width:100%;border-collapse:collapse}
.fi-tab td{padding:10px 0;border-bottom:1px solid var(--line)}
.fi-tab td:last-child{text-align:right;font-weight:700;white-space:nowrap}

.fi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.fi-from{font-size:13px;color:var(--muted)}
.fi-price{font-family:var(--serif);font-size:30px;font-weight:700;margin:2px 0 8px}
.fi-price small{font-size:14px;font-weight:500;color:var(--muted)}
.fi-quote{font-size:22px}
.fi-ann{min-height:18px;margin-bottom:12px;font-size:13px;color:var(--ok);font-weight:600}
.fi-cta{display:block;text-align:center;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;padding:14px;border-radius:12px}
.fi-cta:hover{background:var(--accent-dark)}
.fi-small{margin-top:10px;font-size:12px;color:var(--muted)}
/* Mobile : l'encadré de réservation devient une barre fixe en bas, comme sur GetYourGuide. */
@media(max-width:899px){
  .fi-book{position:fixed;left:0;right:0;bottom:0;z-index:20}
  .fi-card{border-radius:16px 16px 0 0;display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .fi-from,.fi-price{grid-column:1}
  .fi-price{font-size:22px;margin:0}
  .fi-ann,.fi-small{display:none}
  .fi-card .fi-conv{grid-column:1;margin:0}
  .fi-cta{grid-column:2;grid-row:1 / span 3;padding:12px 18px}
}

/* Interface boutique (style Temu) */
.bt{min-height:100vh;padding-bottom:78px;background:var(--bg);color:var(--ink);font-family:var(--sans)}
.bt-top{position:sticky;top:0;z-index:20;background:var(--bg);padding:10px 12px 0}
.bt-s{display:flex;align-items:center;border:2px solid var(--ink);border-radius:999px;background:#fff;overflow:hidden;height:46px}
.bt-s input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;padding:0 16px;color:var(--ink)}
.bt-s button{flex:0 0 auto;width:42px;height:38px;margin-right:3px;border:0;border-radius:999px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.bt-s button svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bt-strip{display:flex;gap:16px;overflow-x:auto;white-space:nowrap;margin:10px -12px 0;padding:9px 12px;background:var(--accent-soft);color:var(--accent-dark);font-size:13px;font-weight:600;scrollbar-width:none}
.bt-strip::-webkit-scrollbar{display:none}
.bt-ptitle{font-family:var(--serif);font-size:22px;margin:8px 4px 12px}
.bt-body{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start}
.bt-rail{background:#EFEBE0;min-height:calc(100vh - 150px)}
.bt-r{display:block;padding:16px 10px;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:600;line-height:1.25;border-left:3px solid transparent}
.bt-r.on{background:var(--bg);border-left-color:var(--accent);color:var(--accent-dark)}
.bt-main{padding:14px 8px 8px}
.bt-main h2{font-family:var(--serif);font-size:16px;margin:0 6px 14px;line-height:1.25}
.bt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 4px}
.bt-t{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--ink);padding:0 2px}
.bt-c{display:block;width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);margin-bottom:7px}
.bt-c img{display:block;width:100%;height:100%;object-fit:cover}
.bt-e{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--accent-soft),var(--surface-2))}
.bt-e i{font-style:normal;font-size:12px;font-weight:700;color:var(--accent-dark)}
.bt-n{font-size:12.5px;line-height:1.25;font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bt-p{font-size:12px;color:var(--accent-dark);font-weight:700;margin-top:3px}
.bt-none{grid-column:1 / -1;padding:10px 6px}
.bt-empty{text-align:center;padding:48px 24px}
.bt-empty p{color:var(--muted);margin:0 0 18px}
.bt-empty .fi-cta{display:inline-block;padding:13px 22px}
@media(min-width:900px){
  .bt{max-width:1100px;margin:0 auto}
  .bt-body{grid-template-columns:220px minmax(0,1fr)}
  .bt-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 8px}
  .bt-c{width:96px;height:96px}
  .bt-n{font-size:13.5px}
}
/* Barre du bas */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tb{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 7px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:600}
.tb.on{color:var(--accent)}
.tb-i{position:relative;display:block;width:24px;height:24px}
.tb-i svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tb-n{position:absolute;top:-6px;right:-10px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:10.5px;line-height:17px;text-align:center}

/* Conversions euro / dollar sous le prix en MAD (taux saisis dans l'admin) */
.fi-conv{display:block;font-size:13px;color:var(--muted);font-weight:500;margin:-2px 0 8px}
.fi-tab .fi-conv{margin:2px 0 0;font-size:12px}
.ca-conv{font-size:12px;color:var(--muted);margin-top:2px}

/* Bouton d'accès aux activités sur l'accueil */
.hero-link{display:inline-block;margin-top:14px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;padding:11px 16px;border-radius:12px;font-size:14px}

/* Lien secondaire « devis » sous le bouton principal */
.fi-alt{display:block;text-align:center;margin-top:10px;font-size:13px;color:var(--accent);text-decoration:none;font-weight:600}
@media(max-width:899px){.fi-alt{display:none}}
button.fi-cta{font:inherit;font-weight:700;border:0;cursor:pointer;width:auto}
.fi-card button.fi-cta{width:100%}

/* Fenêtre « Ajouter au panier » */
.sh-bg{position:fixed;inset:0;z-index:50;background:rgba(25,24,48,.45);display:flex;align-items:flex-end;justify-content:center}
.sh{position:relative;width:100%;max-width:520px;max-height:92vh;overflow:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom));font-family:var(--sans);color:var(--ink)}
@media(min-width:620px){.sh-bg{align-items:center}.sh{border-radius:20px}}
.sh h3{font-family:var(--serif);font-size:18px;line-height:1.25;margin:0 28px 14px 0}
.sh-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:var(--surface-2);font-size:22px;line-height:1;cursor:pointer;color:var(--ink)}
.sh-l{display:block;font-size:13px;font-weight:700;color:var(--muted);margin:14px 0 6px}
.sh-in{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
textarea.sh-in{resize:vertical}
.sh-v{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.sh-v small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.sh-st{display:flex;align-items:center;gap:12px}
.sh-st button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:20px;line-height:1;cursor:pointer;color:var(--ink)}
.sh-st span{min-width:18px;text-align:center;font-weight:700}
.sh-t{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;font-size:16px}
.sh-t b{font-family:var(--serif);font-size:24px}
.sh-c{text-align:right;font-size:13px;color:var(--muted)}
.sh-err{color:#b3261e;font-size:14px;margin:10px 0 0;min-height:0}
.sh .fi-cta{display:block;width:100%;margin-top:14px;text-align:center}
.sh-ghost{display:block;width:100%;margin-top:10px;padding:12px;border:0;background:none;color:var(--accent);font:inherit;font-weight:700;cursor:pointer}

/* Panier, commande, confirmation */
.pn{padding:4px 14px 16px;max-width:640px;margin:0 auto}
.pn-i{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.pn-img{flex:0 0 84px;height:84px;border-radius:12px;overflow:hidden;background:var(--surface-2);display:block}
.pn-img img{width:100%;height:100%;object-fit:cover;display:block}
.pn-img.bt-e{display:flex;align-items:center;justify-content:center}
.pn-img i{font-style:normal;font-size:12px;font-weight:700;color:var(--accent-dark)}
.pn-b{flex:1;min-width:0}
.pn-t{display:block;font-weight:600;line-height:1.25;color:var(--ink);text-decoration:none;margin-bottom:4px}
.pn-b small{display:block;color:var(--muted);font-size:13px;line-height:1.35}
.pn-p{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.pn-p b{font-family:var(--serif)}
.pn-del{border:0;background:none;color:#b3261e;font:inherit;font-size:13px;cursor:pointer;padding:4px 0}
.pn-sum{padding:14px 0 4px}
.pn-r{display:flex;justify-content:space-between;padding:5px 0}
.pn-ok{color:var(--ok);font-weight:600}
.pn-tot{font-size:18px;border-top:1px solid var(--line);margin-top:6px;padding-top:12px}
.pn-tot b{font-family:var(--serif);font-size:22px}
.pn-conv{display:block;text-align:right;font-size:13px;color:var(--muted)}
.pn-note{margin:8px 0 0;font-size:12px}
.pn .pn-go{display:block;text-align:center;margin-top:16px}
.pn button.pn-go{width:100%}
.pn-h{font-family:var(--serif);font-size:16px;margin:22px 0 4px}
.pm{display:grid;gap:10px;margin-top:8px}
.pm-i{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.pm-i input{margin-top:3px}
.pm-i small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.pm-i.off{opacity:.55;cursor:default}
.pm-ok{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14px;line-height:1.4}
.pn-done{background:#eaf5ee;border:1px solid #cfe6d7;border-radius:12px;padding:14px;margin-top:8px}
.pn-done p{margin:6px 0 0}
.pn-alt{display:block;text-align:center;margin-top:12px;color:var(--accent);font-weight:600;text-decoration:none}
.pn-msg{white-space:pre-wrap;word-break:break-word;font:13px/1.5 var(--sans);background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin:8px 0 0}

/* ---- sélecteur de langue ---- */
.lg-wrap{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}
.site-back{font-family:inherit;font-size:12px;font-weight:600;line-height:1;color:#9C4526;text-decoration:none;border:1px solid #e6dfd6;background:#fff;border-radius:999px;padding:7px 10px;white-space:nowrap}
.site-back:hover{background:#C15E38;color:#fff;border-color:#C15E38}
.lg{display:inline-flex;gap:2px;background:#fff;border:1px solid #e6dfd6;border-radius:999px;padding:2px}
.lg button{border:0;background:transparent;font:600 12px/1 inherit;font-family:inherit;padding:6px 9px;border-radius:999px;color:#6b5a4c;cursor:pointer}
.lg button.on,.lg button[aria-current="true"]{background:#C15E38;color:#fff}
.fi-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px}
.bt-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px 0}
.bt-brand b{font-family:"Playfair Display",serif;font-size:18px;color:#9C4526}

/* ---- vignette et page AfriKard ---- */
.bt-ak .bt-c{border:2px solid #C8A440;background:#fff}
.bt-ak .bt-c img{object-fit:contain;padding:4px}
.bt-ak .bt-p{color:#9C4526;font-weight:700}
.ak-card{display:block;width:100%;max-width:420px;margin:6px auto 12px;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.ak-h{font-size:22px;margin:6px 0}
.ak-lead{font-weight:700;color:#9C4526;margin:4px 0 8px}
.ak-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;background:#FBF3EC;border:1px solid #C8A440;border-radius:12px;padding:12px 14px;margin:12px 0}
.ak-price b{font-size:24px;color:#C15E38}
.ak-list{display:grid;gap:8px;margin-top:10px;max-height:420px;overflow:auto}
.ak-ag{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:4px;font-size:14px}
.ak-ag span{color:#6b5a4c}
.ak-ag div{display:flex;gap:14px}
.ak-ag a{font-weight:700;color:#C15E38;text-decoration:none}

/* ---- moteur de packs ---- */
.mt-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}
.mt-row label{font-size:13px;font-weight:600;display:grid;gap:4px}
.mt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.mt-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;background:#fff}
.mt-c1{margin:4px 0 10px}
.mt-pack{border:1px solid #C8A440;border-radius:14px;padding:12px;margin:14px 0;background:#fff}
.mt-pack h3{margin:0 0 8px;font-size:17px;color:#9C4526}
.mt-day{border-top:1px solid var(--line);padding:8px 0;display:grid;gap:4px}
.mt-it{display:grid;gap:2px;text-decoration:none;color:inherit;font-size:14px}
.mt-it i{font-style:normal;font-size:12px;font-weight:700;color:#C15E38;text-transform:uppercase}
.mt-free{color:#6b5a4c;font-size:13px}
.mt-add{margin-top:6px}
.mt-ei{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:6px 0}
.mt-ei i{display:block;font-style:normal;font-size:12px;font-weight:700;color:#C15E38;text-transform:uppercase}
.mt-ei a{color:inherit;font-size:14px;text-decoration:none}
.mt-ei small{display:block;color:#b3261e;font-size:12px}
.mt-warn{background:#fff8ea;border-radius:8px;padding:6px}
.mt-eb{display:flex;gap:6px;flex-shrink:0}
.mt-b{font:inherit;font-size:13px;font-weight:600;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px;color:#9C4526;cursor:pointer}
.mt-addb{justify-self:start}
.mt-eb2{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.mt-pick{display:flex;gap:6px}
.mt-pick:empty{display:none}
.mt-pick select{flex:1;min-width:0}

/* ---- promotions : prix barré + prix promo ---- */
.pr-old{color:#8a7b6e;font-weight:400;text-decoration:line-through;margin-right:2px}
.pr-badge{display:inline-block;background:#C15E38;color:#fff;font-size:11px;font-weight:700;font-style:normal;border-radius:6px;padding:1px 6px;vertical-align:middle}
.fi-price .pr-old{font-size:.6em}

/* ---- moteur : vignettes ---- */
.mt-v{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;min-width:0;flex:1}
.mt-th{flex:0 0 64px;width:64px;height:64px;border-radius:10px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);display:block}
.mt-th img{width:100%;height:100%;object-fit:cover;display:block}
.mt-noimg{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#6b5a4c}
.mt-tx{display:grid;gap:2px;font-size:14px;min-width:0}
.mt-tx small{color:#6b5a4c;font-size:12px}
.mt-tx small.mt-w{color:#b3261e}
.mt-it.mt-v{padding:4px 0}
.mt-pk{border:1px solid var(--line);border-radius:12px;padding:8px;margin:6px 0;max-height:420px;overflow:auto;background:#fff}
.mt-gh{margin:10px 0 6px;font-size:13px;color:#9C4526}
.mt-grid{display:grid;gap:8px}
.mt-opt{display:flex;gap:6px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:6px}
.mt-opt button{display:flex;gap:10px;align-items:center;border:0;background:transparent;text-align:left;font:inherit;flex:1;min-width:0;cursor:pointer}
.mt-opt a{font-size:12px;font-weight:700;color:#C15E38;text-decoration:none;white-space:nowrap}
.mt-pick{display:block}
.mt-pick:empty{display:none}

/* ---- packs : cartes, page dédiée, détail de famille ---- */
.mt-card{display:grid;gap:8px;border:1px solid #C8A440;border-radius:14px;padding:12px;margin:14px 0;background:#fff;text-decoration:none;color:inherit}
.mt-card h3{margin:0;font-size:17px;color:#9C4526}
.mt-strip{display:flex;gap:6px;flex-wrap:wrap}
.mt-strip .mt-th{flex:0 0 52px;width:52px;height:52px;border-radius:50%}
.mt-names{font-size:13px;color:#6b5a4c}
.mt-view{text-align:center}
.mt-famp{margin:6px 0 10px}
.mt-on{border-color:#C15E38;background:#FBF3EC}
.mt-ck{font-size:12px;font-weight:700;color:#C15E38;white-space:nowrap}
.pv-hero{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:220px;margin-bottom:12px}
.pv-hero .pv-h:first-child{grid-row:1/3}
.pv-hero .pv-h:only-child{grid-column:1/3}
.pv-h{display:block;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.pv-h img{width:100%;height:100%;object-fit:cover;display:block}
.pv-day{border-top:1px solid var(--line);padding:10px 0}
.pv-day h3{margin:0 0 8px;font-size:16px}
.pv-it{display:flex;gap:12px;text-decoration:none;color:inherit;padding:6px 0}
.pv-th{flex:0 0 96px;width:96px;height:96px;border-radius:12px;overflow:hidden;display:block;background:var(--surface-2)}
.pv-th img{width:100%;height:100%;object-fit:cover;display:block}
.pv-it .mt-tx{font-size:13px}.pv-it b{font-size:15px}
.wx-qr{display:block;margin:0 auto 8px;background:#fff;padding:6px;border-radius:8px}
.pn-wx{text-align:center}

/* ---- boutique : menu qui suit le défilement, bouton +, barre de panier ---- */
.bt{--bt-top:150px}
.bt-rail{position:sticky;top:var(--bt-top);max-height:calc(100vh - var(--bt-top) - 70px);overflow-y:auto;min-height:0}
.bt-sec{scroll-margin-top:calc(var(--bt-top) + 6px);padding-bottom:14px}
.bt-sec h2{position:sticky;top:var(--bt-top);z-index:5;background:var(--bg);margin:0 -8px 10px;padding:8px 14px}
.bt-t{position:relative;--cw:72px}
.bt-c{width:var(--cw);height:var(--cw)}
@media(min-width:900px){.bt-t{--cw:96px}}
.bt-add{position:absolute;top:calc(var(--cw) - 30px);left:calc(50% + var(--cw) / 2 - 24px);width:30px;height:30px;border-radius:50%;border:2px solid #fff;background:var(--accent);color:#fff;font:700 20px/1 var(--sans);display:flex;align-items:center;justify-content:center;padding:0 0 2px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.cartbar{position:fixed;left:10px;right:10px;bottom:calc(66px + env(safe-area-inset-bottom));z-index:29;display:flex;align-items:center;gap:12px;background:var(--accent-dark);color:#fff;border-radius:14px;padding:10px 14px;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.cartbar[hidden]{display:none}
.cb-n{background:#fff;color:var(--accent-dark);font-weight:700;border-radius:50%;min-width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px}
.cb-t{flex:1;font-size:14px}
.cb-go{font-weight:700;font-size:14px}
.bt{padding-bottom:140px}

/* ---- commande par photo ---- */
.ph-btns{display:grid;gap:8px;margin:10px 0}
.ph-lab{display:block;text-align:center;cursor:pointer}
.ph-prev{margin:10px 0;text-align:center}
.ph-prev img,.ph-thumb{display:block;max-width:100%;max-height:260px;margin:0 auto 8px;border-radius:12px}
.pn-msg{white-space:pre-wrap}
.tabbar .tb{min-width:0}
