/* Menu du haut, pied de page et panneau des villes du nouveau site (octobre 2026).
   Partagés par toutes les pages : rangés sous .tn-entete, .tn-pied et .ta-panneau, sans dépendre de .tb-accueil.
   Imprimé dans la page (tb-entete-site.php) avant les feuilles du site : accueil.css et ville.css passent après. */
/* Vitesse (19/10/2026) : police de repli aux mesures de Poppins (Arial agrandi ou réduit), le temps que Poppins arrive.
   Sans elle, les textes changent de nombre de lignes à l'arrivée de Poppins et la page saute (CLS jusqu'à 0,26 sur
   les villes en 4G lente, 0,58 sur les missions en ordinateur). 800-900 : réglé sur les capitales des titres. */
@font-face{font-family:"TB Poppins repli";font-style:normal;font-weight:100 500;src:local("Arial"),local("ArialMT");size-adjust:111.3%;ascent-override:94.3%;descent-override:31.4%;line-gap-override:9%}
@font-face{font-family:"TB Poppins repli";font-style:normal;font-weight:600 700;src:local("Arial Bold"),local("Arial-BoldMT");size-adjust:107%;ascent-override:98.1%;descent-override:32.7%;line-gap-override:9.3%}
@font-face{font-family:"TB Poppins repli";font-style:normal;font-weight:800 900;src:local("Arial Bold"),local("Arial-BoldMT");size-adjust:93.8%;ascent-override:111.9%;descent-override:37.3%;line-gap-override:10.7%}
.tn-entete,.tn-pied,.ta-panneau{
  --rouge:#E84031;--rouge-fonce:#c8321f;--orange:#F57427;--jaune:#f6e05b;
  --noir:#141214;--noir-2:#1e1b1e;--noir-3:#2a262a;--ligne:#3a3438;--creme:#FFFCF7;--gris:#b9b1ab;
  --f-titre:Poppins,"TB Poppins repli",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-main:"Sue Ellen Francisco","Comic Sans MS",cursive;
  --gout:clamp(16px,4vw,40px);
  font-family:var(--f-titre);font-size:16px;line-height:1.6;text-align:left;letter-spacing:normal;text-transform:none;
  -webkit-hyphens:manual;hyphens:manual;word-break:normal;overflow-wrap:break-word
}
.tn-entete *,.tn-entete *::before,.tn-entete *::after,.tn-pied *,.tn-pied *::before,.tn-pied *::after,.ta-panneau *,.ta-panneau *::before,.ta-panneau *::after{box-sizing:border-box}
.tn-entete a,.tn-pied a,.ta-panneau a{color:inherit}
.tn-entete img,.tn-pied img,.ta-panneau img{max-width:100%;display:block}
.tn-entete ul,.tn-pied ul,.ta-panneau ul{margin:0;padding:0}
.tn-pied p{margin:0}
.tn-entete :focus-visible,.tn-pied :focus-visible,.ta-panneau :focus-visible{outline:3px solid var(--jaune);outline-offset:3px}
.tn-pied .ta-wrap{max-width:1180px;margin:0 auto;padding-inline:var(--gout)}
.tn-pied h2,.tn-pied h3,.ta-panneau h2,.ta-panneau h3{font-family:var(--f-titre);font-weight:900;text-transform:uppercase;line-height:1.05;margin:0;padding:0;text-wrap:balance;color:inherit;letter-spacing:.005em;text-shadow:none}
.tn-pied .tn-villes h2{font-size:clamp(1.8rem,4.2vw,2.9rem)}
.tn-pied .ta-main{font-family:var(--f-main);color:var(--jaune);font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.1;display:block;font-weight:400;text-transform:none}

/* ancien en-tête et ancien pied du thème : retirés côté serveur ; filet de sécurité si la page en contient encore */
header#masthead,footer#colophon{display:none!important}

/* Menu collant : des pages (missions v4, pages anglaises) posent au téléphone overflow-x:hidden !important sur html
   ET body ; body devient alors un conteneur de défilement et le menu ne colle plus. body repasse en visible (clip
   quand le navigateur le connaît) ; le hidden du html suffit à empêcher le défilement horizontal. */
body.tn-site.tn-site{overflow-x:visible!important;overflow-x:clip!important}

/* Ancres : la cible s'arrête sous le menu collant (et sous le compte à rebours du panier quand il est affiché) */
html{scroll-padding-top:calc(var(--tn-h,76px) + var(--tn-decalage,0px) + 12px)}
@media (max-width:420px){html{--tn-h:66px}}

/* ===== Menu du haut ===== */
.tn-entete{position:-webkit-sticky;position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + var(--tn-decalage,0px));z-index:1000;margin:0;padding:0;color:var(--creme);background:rgba(20,18,20,.94);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow .2s,background-color .2s}
.tn-entete.tn-defile{background:rgba(20,18,20,.98);box-shadow:0 10px 30px rgba(0,0,0,.45)}
.tn-entete .tn-barre{max-width:1320px;margin:0 auto;padding:0 var(--gout);height:76px;display:flex;align-items:center;gap:clamp(16px,2.5vw,36px)}
.tn-entete .tn-logo{flex:0 0 auto;display:block}
.tn-entete .tn-logo img{width:88px;height:auto}
.tn-entete .tn-nav{flex:1 1 auto;min-width:0}
.tn-entete .tn-nav>ul{list-style:none;display:flex;align-items:center;gap:clamp(4px,1vw,14px)}
.tn-entete .tn-nav li{position:relative;list-style:none;margin:0;padding:0}
.tn-entete .tn-haut{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin:0;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--creme)!important;font:700 .92rem/1 var(--f-titre);letter-spacing:.01em;text-transform:none;text-decoration:none!important;cursor:pointer;white-space:nowrap;transition:background-color .15s}
.tn-entete .tn-haut:hover,.tn-entete .tn-groupe:focus-within>.tn-haut,.tn-entete .tn-haut[aria-expanded="true"]{background:var(--noir-3)}
.tn-entete .tn-haut svg{width:10px;height:7px;transition:transform .2s}
.tn-entete .tn-haut[aria-expanded="true"] svg{transform:rotate(180deg)}
.tn-entete .tn-sous{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;padding:8px;display:grid;background:var(--noir-2);border:1px solid var(--ligne);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .15s,transform .15s,visibility 0s .15s}
.tn-entete .tn-sous::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.tn-entete .tn-groupe:hover .tn-sous,.tn-entete .tn-groupe:focus-within .tn-sous,.tn-entete .tn-haut[aria-expanded="true"]+.tn-sous{opacity:1;visibility:visible;transform:none;transition:opacity .15s,transform .15s}
.tn-entete .tn-sous a{display:block;padding:10px 12px;border-radius:9px;color:var(--creme)!important;font:500 .9rem/1.25 var(--f-titre);text-transform:none;text-decoration:none!important;white-space:nowrap}
.tn-entete .tn-sous a:hover{background:var(--noir-3);color:#fff!important}
.tn-entete .tn-actions{flex:0 0 auto;display:flex;align-items:center;gap:clamp(8px,1.4vw,18px)}
.tn-entete .tn-discret{color:var(--gris)!important;font:600 .85rem/1 var(--f-titre);text-decoration:none!important;white-space:nowrap}
.tn-entete .tn-discret:hover{color:#fff!important}
.tn-entete .tn-ville{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px 0 14px;border-radius:999px;background:var(--rouge);color:#fff!important;font:800 .86rem/1 var(--f-titre);text-transform:uppercase;letter-spacing:.04em;text-decoration:none!important;white-space:nowrap;transition:background-color .15s}
.tn-entete .tn-ville:hover{background:var(--rouge-fonce)}
.tn-entete .tn-ville svg{width:18px;height:18px;flex:0 0 auto}
.tn-entete .tn-ville-court{display:none}
/* ville courante (pages d'une ville) + bouton Réserver */
.tn-entete .tn-ville.tn-ville-courante{background:var(--noir-3);box-shadow:inset 0 0 0 1px #4a434d;text-transform:none;letter-spacing:.01em;font-size:.95rem}
.tn-entete .tn-ville.tn-ville-courante:hover{background:#3a3438}
.tn-entete .tn-ville.tn-ville-courante svg:last-child{width:10px;height:7px}
.tn-entete .tn-ville.tn-resa-haut{padding:0 20px}
.tn-entete .tn-burger{display:none;width:44px;height:44px;margin:0;padding:0 11px;border:0;border-radius:12px;background:var(--noir-3);cursor:pointer;flex-direction:column;justify-content:center;gap:5px}
.tn-entete .tn-burger span{display:block;height:2px;border-radius:2px;background:var(--creme);transition:transform .2s,opacity .2s}
.tn-entete .tn-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.tn-entete .tn-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.tn-entete .tn-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.tn-entete .tn-tiroir{max-height:calc(100vh - 76px - var(--tn-decalage,0px) - var(--tn-cookies,0px));max-height:calc(100svh - 76px - var(--tn-decalage,0px) - var(--tn-cookies,0px));overflow:auto;overscroll-behavior:contain;padding:8px var(--gout) 28px;border-top:1px solid var(--ligne);background:var(--noir)}
.tn-entete .tn-tiroir[hidden]{display:none}
.tn-entete .tn-t-lien,.tn-entete .tn-t-groupe summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;margin:0;padding:0;border-bottom:1px solid var(--ligne);color:var(--creme)!important;font:800 1.05rem/1.2 var(--f-titre);text-transform:uppercase;letter-spacing:.02em;text-decoration:none!important;cursor:pointer;list-style:none}
.tn-entete .tn-t-groupe summary::-webkit-details-marker{display:none}
.tn-entete .tn-t-groupe summary::after{content:"+";color:var(--rouge);font-size:1.5rem;line-height:1}
.tn-entete .tn-t-groupe[open]>summary::after{content:"–"}
.tn-entete .tn-t-groupe{margin:0;padding:0;border:0}
.tn-entete .tn-t-groupe a{display:block;padding:12px 0 12px 14px;color:#e2dbd4!important;font:500 .98rem/1.3 var(--f-titre);text-transform:none;text-decoration:none!important}
.tn-entete .tn-t-groupe[open]{padding-bottom:8px;border-bottom:1px solid var(--ligne)}
.tn-entete .tn-t-groupe[open] summary{border-bottom:0}
.tn-entete .tn-t-plus{display:grid;gap:2px;margin-top:18px}
.tn-entete .tn-t-plus a{display:block;padding:10px 0;color:var(--gris)!important;font:600 .95rem/1.3 var(--f-titre);text-transform:none;text-decoration:none!important}
.tn-entete .tn-reseaux,.tn-pied .tn-reseaux{display:flex;gap:12px;align-items:center}
.tn-entete .tn-reseaux a,.tn-pied .tn-reseaux a{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--noir-3);transition:background-color .15s}
.tn-entete .tn-reseaux a:hover,.tn-pied .tn-reseaux a:hover{background:#3a3438}
.tn-entete .tn-reseaux img,.tn-pied .tn-reseaux img{width:24px;height:24px}
.tn-entete .tn-tiroir .tn-reseaux{margin-top:16px}
@media (max-width:1180px){
  .tn-entete .tn-discret{display:none}
}
@media (max-width:1023px){
  .tn-entete .tn-nav{display:none}
  .tn-entete .tn-burger{display:flex}
  .tn-entete .tn-actions{margin-left:auto}
}
@media (max-width:600px){
  .tn-entete .tn-ville.tn-resa-haut{display:none}
}
@media (max-width:420px){
  .tn-entete .tn-barre{height:66px;gap:10px}
  .tn-entete .tn-logo img{width:72px}
  .tn-entete .tn-ville{padding:0 14px 0 11px}
  .tn-entete .tn-ville-long{display:none}
  .tn-entete .tn-ville-court{display:inline}
  .tn-entete .tn-tiroir{max-height:calc(100svh - 66px - var(--tn-decalage,0px) - var(--tn-cookies,0px))}
}

/* ===== Pied de page ===== */
.tn-pied{display:block;margin:0;padding:0;background:#0f0d0f;border-top:6px solid var(--rouge);color:#d9d2cb;text-align:left}
.tn-pied .tn-villes{padding-block:clamp(56px,7vw,88px) clamp(40px,5vw,64px)}
.tn-pied .tn-villes h2{margin-top:6px;color:var(--creme)}
.tn-pied .tn-villes .ta-regions{margin-top:clamp(24px,3.5vw,36px)}
.tn-pied .tn-colonnes{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:32px clamp(24px,4vw,56px);padding-block:clamp(40px,5vw,60px);border-top:1px solid var(--ligne)}
.tn-pied .tn-marque{display:grid;gap:16px;align-content:start}
.tn-pied .tn-marque img{width:130px;height:auto}
.tn-pied .tn-marque p{max-width:34ch;font-size:.92rem;font-weight:400;line-height:1.6;color:var(--gris)}
.tn-pied .tn-col h3{font:800 .76rem/1.2 var(--f-titre);text-transform:uppercase;letter-spacing:.12em;color:var(--creme)}
.tn-pied .tn-col ul{list-style:none;display:grid;gap:2px;margin-top:12px}
.tn-pied .tn-col li{list-style:none;margin:0;padding:0}
.tn-pied .tn-col a{display:inline-block;padding:5px 0;color:var(--gris)!important;font:500 .92rem/1.35 var(--f-titre);text-transform:none;text-decoration:none!important}
.tn-pied .tn-col a:hover{color:#fff!important}
.tn-pied .tn-bas{border-top:1px solid var(--ligne);padding-block:18px calc(18px + env(safe-area-inset-bottom,0px))}
.tn-pied .tn-bas-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;font:500 .84rem/1.3 var(--f-titre);color:var(--gris)}
.tn-pied .tn-bas ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 18px}
.tn-pied .tn-bas li{list-style:none;margin:0;padding:0}
.tn-pied .tn-bas ul a{display:inline-block;padding:6px 0;color:var(--gris)!important;font:500 .84rem/1.3 var(--f-titre);text-transform:none;text-decoration:none!important}
.tn-pied .tn-bas ul a:hover{color:#fff!important}
.tn-pied .tn-kayak{margin-left:auto;display:inline-flex;align-items:center;gap:10px;color:var(--gris)!important;text-decoration:none!important;font-size:.78rem}
.tn-pied .tn-kayak img{width:96px;height:auto}
@media (max-width:900px){
  .tn-pied .tn-colonnes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-pied .tn-marque{grid-column:1 / -1}
}
@media (max-width:480px){
  .tn-pied .tn-colonnes{column-gap:16px}
  .tn-pied .tn-col a{font-size:.88rem}
  .tn-pied .tn-kayak{margin-left:0}
}
@media (pointer:coarse){
  .tn-pied .tn-col a,.tn-pied .tn-bas ul a{padding-block:10px}
}
/* le bouton 🍪 « Gérer les cookies » du thème est fixé en bas à gauche : la ligne du bas lui laisse la place */
@media (max-width:600px){
  .tn-pied .tn-bas{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
}

/* ===== Liste des villes (pied de page et panneau) ===== */
.tn-pied .ta-regions,.ta-panneau .ta-regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:26px 32px}
.tn-pied .ta-region h3,.ta-panneau .ta-region h3{font:800 .76rem/1.2 var(--f-titre);text-transform:uppercase;letter-spacing:.12em;color:var(--gris);padding-bottom:9px;margin-bottom:12px;border-bottom:1px solid var(--ligne)}
.tn-pied .ta-region ul,.ta-panneau .ta-region ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.tn-pied .ta-region li,.ta-panneau .ta-region li{list-style:none;margin:0;padding:0}
.tn-pied .ta-region a,.ta-panneau .ta-region a{display:inline-flex;align-items:center;min-height:40px;padding:.45em 1em;border-radius:999px;background:var(--noir-3);border:1px solid #47404a;font:600 .92rem/1.2 var(--f-titre);color:var(--creme)!important;text-transform:none;text-decoration:none!important;white-space:nowrap;max-width:100%;transition:border-color .15s,background-color .15s}
.tn-pied .ta-region a:hover,.ta-panneau .ta-region a:hover{border-color:var(--rouge);background:#3a1a17}
.tn-pied .ta-region a.ta-ici,.ta-panneau .ta-region a.ta-ici{border-color:var(--rouge);background:#3a1a17;font-weight:800}
.tn-pied .ta-ici-t,.ta-panneau .ta-ici-t{font-weight:500;color:var(--gris);margin-left:2px}
@media (min-width:1024px){
  /* l'Île-de-France a six adresses : colonne plus large, les autres régions à côté */
  .tn-pied .ta-regions,.ta-panneau .ta-regions{grid-template-columns:1.7fr .9fr 1.45fr 1.25fr}
}
@media (pointer:coarse){
  .tn-pied .ta-region a,.ta-panneau .ta-region a{min-height:44px}
}

/* ===== Panneau des villes, ouvert depuis le menu ===== */
.ta-panneau{border:0;padding:0;margin:auto;width:min(880px,calc(100vw - 32px));max-width:none;max-height:min(86vh,740px);overflow:auto;overscroll-behavior:contain;background:var(--noir);color:var(--creme);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px var(--ligne)}
.ta-panneau::backdrop{background:rgba(10,8,10,.74);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.ta-panneau .ta-panneau-tete{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px 16px;background:var(--noir);border-bottom:1px solid var(--ligne)}
.ta-panneau .ta-panneau-tete h2{font-size:clamp(1.25rem,3vw,1.7rem)}
.ta-panneau .ta-fermer{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--noir-3);color:var(--creme);cursor:pointer}
.ta-panneau .ta-fermer:hover{background:var(--rouge)}
.ta-panneau .ta-fermer svg{width:20px;height:20px}
.ta-panneau .ta-regions{padding:22px 24px 28px}
html.ta-panneau-ouvert{overflow:hidden}
@media (max-width:600px){
  .ta-panneau{margin:auto 0 0;width:100%;max-height:88vh;max-height:88svh;border-radius:18px 18px 0 0}
  .ta-panneau .ta-panneau-tete{padding:18px var(--gout) 14px}
  .ta-panneau .ta-regions{padding:18px var(--gout) calc(24px + env(safe-area-inset-bottom,0px));gap:22px}
  .tn-pied .ta-regions{gap:22px}
}
@media (prefers-reduced-motion:reduce){
  .tn-entete .tn-sous,.tn-entete .tn-burger span,.tn-entete .tn-haut svg,.tn-entete,.tn-pied .ta-region a,.ta-panneau .ta-region a{transition:none}
}
