/* GT7 Réservation — feuille de style publique.
   Tout est préfixé .gt7 pour ne pas entrer en conflit avec le thème. */

.gt7{
  --gt7-ink:#0A0A0C; --gt7-ink1:#101014; --gt7-ink2:#16161B; --gt7-ink3:#1E1E25;
  --gt7-gold:#C6A15B; --gt7-gold-lt:#E4CE9A; --gt7-gold-dk:#7E6330;
  --gt7-text:#EDE9E1; --gt7-muted:#9A9282; --gt7-dim:#6B6456;
  --gt7-line:rgba(198,161,91,.22); --gt7-hair:rgba(237,233,225,.10);
  --gt7-ok:#5FBF8B; --gt7-ok-bg:rgba(95,191,139,.13);
  --gt7-warn:#E0A94A; --gt7-warn-bg:rgba(224,169,74,.13);
  --gt7-info:#6FA8DC; --gt7-info-bg:rgba(111,168,220,.13);
  --gt7-bad:#D97066; --gt7-bad-bg:rgba(217,112,102,.13);
  background:var(--gt7-ink); color:var(--gt7-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px; line-height:1.6; border:1px solid var(--gt7-hair);
}
.gt7 *{box-sizing:border-box}
.gt7 [hidden]{display:none !important}
.gt7 ol,.gt7 ul{list-style:none !important;margin:0;padding:0}
.gt7 li::before,.gt7 li::after{content:none !important}
.gt7 li::marker{content:"" !important}
.gt7 h2{font-size:28px;line-height:1.15;margin:0 0 6px;color:var(--gt7-text);font-weight:400;letter-spacing:-.01em}
.gt7 p{margin:0}
.gt7 .gt7-lead{color:#CFC8BA;font-size:15px;margin-top:10px;max-width:60ch}
.gt7 .gt7-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gt7-gold);margin:0 0 12px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7 a{color:var(--gt7-gold-lt)}
.gt7 :focus-visible{outline:2px solid var(--gt7-gold-lt);outline-offset:2px}

/* étapes */
.gt7-steps{display:flex;list-style:none;margin:0;padding:0;background:var(--gt7-ink1);border-bottom:1px solid var(--gt7-hair)}
.gt7-steps li{flex:1;padding:16px 18px;border-right:1px solid var(--gt7-hair);position:relative}
.gt7-steps li:last-child{border-right:0}
.gt7-steps li span{display:block;font-size:10px;letter-spacing:.2em;color:var(--gt7-dim);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-steps li b{display:block;font-size:14px;font-weight:400;color:var(--gt7-muted);margin-top:5px}
.gt7-steps li.is-done span,.gt7-steps li.is-cur span{color:var(--gt7-gold)}
.gt7-steps li.is-cur b{color:var(--gt7-text)}
.gt7-steps li.is-cur::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gt7-gold)}

.gt7-wrap{display:grid;grid-template-columns:1fr 340px}
.gt7-main{padding:34px 36px 40px;border-right:1px solid var(--gt7-hair)}
.gt7-side{padding:30px 26px;background:var(--gt7-ink1)}

.gt7-step{display:none}
.gt7-step.is-on{display:block}

/* champs */
.gt7-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.gt7-row.gt7-3{grid-template-columns:1fr 1fr 1fr}
.gt7-field{display:block;margin-top:18px}
.gt7-row .gt7-field{margin-top:0}
.gt7-field > span{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gt7-dim);margin-bottom:7px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7 input[type=text],.gt7 input[type=tel],.gt7 input[type=email],.gt7 input[type=date],
.gt7 input[type=time],.gt7 input[type=number],.gt7 input[type=search],.gt7 select,.gt7 textarea{
  width:100%;background:var(--gt7-ink);border:1px solid var(--gt7-hair);color:var(--gt7-text);
  padding:12px 13px;font:inherit;font-size:15px;border-radius:2px;-webkit-appearance:none;appearance:none;
}
.gt7 select{background-image:linear-gradient(45deg,transparent 50%,var(--gt7-gold) 50%),linear-gradient(135deg,var(--gt7-gold) 50%,transparent 50%);
  background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.gt7 input:focus,.gt7 select:focus,.gt7 textarea:focus{border-color:var(--gt7-gold);outline:none}
.gt7 input::placeholder,.gt7 textarea::placeholder{color:var(--gt7-dim)}
.gt7-duo{display:grid !important;grid-template-columns:1fr 1fr;gap:8px}

/* segments */
.gt7-seg{display:flex;flex-wrap:wrap;gap:2px;border:1px solid var(--gt7-hair);padding:3px;width:fit-content;max-width:100%;margin-top:20px}
.gt7-seg button{background:none;border:0;padding:10px 16px;font:inherit;font-size:14px;color:var(--gt7-muted);cursor:pointer;border-radius:2px}
.gt7-seg button[aria-pressed=true]{background:var(--gt7-ink3);color:var(--gt7-gold-lt)}

/* boutons */
.gt7-actions{display:flex;align-items:center;gap:14px;margin-top:28px;flex-wrap:wrap}
.gt7-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gt7-gold);border:1px solid var(--gt7-gold);
  color:#0A0A0C;font:inherit;font-size:15px;font-weight:600;padding:14px 26px;border-radius:2px;cursor:pointer;transition:.15s}
.gt7-btn:hover{background:var(--gt7-gold-lt);border-color:var(--gt7-gold-lt)}
.gt7-btn[disabled]{opacity:.5;cursor:default}
.gt7-link{background:none;border:0;color:var(--gt7-muted);font:inherit;font-size:14px;text-decoration:underline;
  text-underline-offset:3px;cursor:pointer;padding:0}

/* aides, séparateurs, détail du prix */
.gt7-aide{font-size:12.5px;color:var(--gt7-dim);margin-top:12px;line-height:1.55}
.gt7-sep{border:0;border-top:1px solid var(--gt7-hair);margin:30px 0 22px}
.gt7-detail{margin-top:16px;padding-top:14px;border-top:1px solid var(--gt7-hair);display:flex;flex-direction:column;gap:7px;font-size:13px}
.gt7-detail-t{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gt7-dim);margin-bottom:4px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-detail .gt7-rw{display:flex;justify-content:space-between;gap:12px;color:var(--gt7-muted)}
.gt7-detail .gt7-rw b{color:var(--gt7-text);font-weight:500;white-space:nowrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-detail .gt7-rw.is-remise b{color:#7BA882}

/* options à bord */
.gt7-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.gt7-opt{display:flex;align-items:center;gap:12px;border:1px solid var(--gt7-hair);padding:14px 16px;cursor:pointer;transition:.15s}
.gt7-opt:hover{border-color:var(--gt7-line)}
.gt7-opt.is-sel{border-color:var(--gt7-gold);background:rgba(198,161,91,.07)}
.gt7-opt input{accent-color:var(--gt7-gold);flex:none;margin:0}
.gt7-opt-nm{flex:1}
.gt7-opt-nm b{display:block;font-size:14.5px;font-weight:500}
.gt7-opt-nm small{display:block;font-size:12.5px;color:var(--gt7-dim);margin-top:2px}
.gt7-opt-pr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;color:var(--gt7-gold-lt);white-space:nowrap}

/* véhicules */
.gt7-vehicules{margin-top:20px}
.gt7-veh .gt7-photo{width:120px;height:74px;flex:none;object-fit:cover;border:1px solid var(--gt7-hair);background:var(--gt7-ink2)}
.gt7-veh .gt7-pax{display:block;font-size:11px;color:var(--gt7-dim);margin-top:3px}
.gt7-veh{display:flex;align-items:center;gap:16px;border:1px solid var(--gt7-hair);background:var(--gt7-ink1);
  padding:18px 20px;margin-top:12px;cursor:pointer;transition:.15s}
.gt7-veh:hover{border-color:var(--gt7-line)}
.gt7-veh.is-sel{border-color:var(--gt7-gold);background:rgba(198,161,91,.07)}
.gt7-veh .gt7-nm{flex:1}
.gt7-veh .gt7-nm b{display:block;font-size:18px;font-weight:400}
.gt7-veh .gt7-nm span{font-size:13px;color:var(--gt7-muted)}
.gt7-veh .gt7-pr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;color:var(--gt7-gold-lt);white-space:nowrap}
.gt7-tagsame{font-size:9px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--gt7-gold-dk);
  color:var(--gt7-gold);padding:2px 6px;margin-left:8px;vertical-align:middle}

.gt7-notice{margin-top:16px;border-left:2px solid var(--gt7-gold);padding:10px 0 10px 15px;font-size:14px;color:var(--gt7-gold-lt);
  background:linear-gradient(90deg,rgba(198,161,91,.08),transparent)}
.gt7-erreur{margin-top:16px;border-left:2px solid #C96A55;padding:10px 0 10px 15px;font-size:14px;color:#E39B88}

/* inclus */
.gt7-inclus{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.gt7-inclus span{border:1px solid var(--gt7-hair);padding:7px 12px;font-size:13px;color:var(--gt7-muted);border-radius:2px}
.gt7-inclus span::before{content:"✓ " !important;color:var(--gt7-gold)}

.gt7-check{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:14px;color:var(--gt7-muted);cursor:pointer}
.gt7-check input{margin-top:3px;accent-color:var(--gt7-gold)}

/* récapitulatif */
.gt7-recap{display:flex;flex-direction:column;gap:11px;font-size:14px;margin-top:6px}
.gt7-recap .gt7-rw{display:flex;justify-content:space-between;gap:14px;color:var(--gt7-muted)}
.gt7-recap .gt7-rw b{color:var(--gt7-text);font-weight:500;text-align:right}
.gt7-total{margin-top:18px;padding-top:16px;border-top:1px solid var(--gt7-line);display:flex;justify-content:space-between;align-items:baseline}
.gt7-total span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gt7-dim);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-total b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:30px;color:var(--gt7-gold-lt);font-weight:400}
.gt7-acompte{font-size:12px;color:var(--gt7-muted);margin-top:8px}
.gt7-guar{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.gt7-guar li{font-size:12.5px;color:var(--gt7-muted);padding-left:17px;position:relative}
.gt7-guar li::before{content:"✓" !important;position:absolute;left:0;color:var(--gt7-gold)}

/* confirmation */
.gt7-done{text-align:center;padding:50px 20px}
.gt7-tick{width:62px;height:62px;border:1px solid var(--gt7-gold);border-radius:50%;display:flex;align-items:center;
  justify-content:center;margin:0 auto 24px;color:var(--gt7-gold);font-size:25px}
.gt7-done .gt7-lead{margin:12px auto 0;text-align:left;max-width:44ch}
.gt7-ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:.14em;color:var(--gt7-gold-lt);
  border:1px dashed var(--gt7-line);padding:12px 20px;display:inline-block;margin-top:22px}

/* page tarifs */
.gt7-tarifs{padding:30px 32px 36px}
.gt7-regles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--gt7-hair);
  border:1px solid var(--gt7-hair);margin:0 0 26px}
.gt7-regles > div{background:var(--gt7-ink1);padding:18px}
.gt7-regles dt{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gt7-dim);margin-bottom:7px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-regles dd{margin:0;font-size:21px;color:var(--gt7-gold-lt)}
.gt7-fchips{display:flex;gap:2px;border:1px solid var(--gt7-hair);padding:3px;flex-wrap:wrap;width:fit-content;max-width:100%}
.gt7-fchips button{background:none;border:0;padding:9px 14px;font:inherit;font-size:13px;color:var(--gt7-muted);cursor:pointer;border-radius:2px}
.gt7-fchips button[aria-pressed=true]{background:var(--gt7-ink3);color:var(--gt7-gold-lt)}
.gt7-ftools{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-top:16px}
.gt7-fscroll{max-height:520px;overflow:auto;border:1px solid var(--gt7-hair);margin-top:16px}
.gt7-ftable{width:100%;border-collapse:collapse;font-size:14.5px;min-width:600px}
.gt7-ftable th{position:sticky;top:0;background:var(--gt7-ink2);z-index:2;text-align:left;padding:12px 15px;
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gt7-gold);font-weight:400;
  border-bottom:1px solid var(--gt7-line);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-ftable td{padding:13px 15px;border-bottom:1px solid var(--gt7-hair);color:var(--gt7-muted)}
.gt7-ftable td:first-child{color:var(--gt7-text) !important}
.gt7-ftable tr:hover td{background:var(--gt7-ink1)}
.gt7-ftable .n{text-align:right;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}
.gt7-ftable .j{color:var(--gt7-gold-lt);font-size:16px}
.gt7-ftable .z{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gt7-gold-dk);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-fcount{font-size:11.5px;color:var(--gt7-dim);margin-top:12px;letter-spacing:.08em;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

@media (max-width:900px){
  .gt7-wrap{grid-template-columns:1fr}
  .gt7-main{padding:24px 20px 30px;border-right:0}
  .gt7-side{border-top:1px solid var(--gt7-hair)}
  .gt7-steps li b{display:none}
  .gt7-row,.gt7-row.gt7-3{grid-template-columns:1fr}
  .gt7-tarifs{padding:20px}
  .gt7-options{grid-template-columns:1fr}
  .gt7-veh .gt7-photo{width:84px;height:56px}
  .gt7-ftools{grid-template-columns:1fr}
  .gt7-fscroll{max-height:60vh}
  .gt7 h2{font-size:23px}
}
@media (prefers-reduced-motion:reduce){.gt7 *{transition:none!important}}

/* ------------------------------------------------------------------ */
/* Pastilles d'état                                                    */
/* ------------------------------------------------------------------ */
.gt7 .gt7-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:100px;
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid transparent}
.gt7 .gt7-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.gt7 .gt7-b-ok{color:var(--gt7-ok);background:var(--gt7-ok-bg);border-color:rgba(95,191,139,.3)}
.gt7 .gt7-b-attente{color:var(--gt7-warn);background:var(--gt7-warn-bg);border-color:rgba(224,169,74,.3)}
.gt7 .gt7-b-info{color:var(--gt7-info);background:var(--gt7-info-bg);border-color:rgba(111,168,220,.3)}
.gt7 .gt7-b-bad{color:var(--gt7-bad);background:var(--gt7-bad-bg);border-color:rgba(217,112,102,.3)}
.gt7 .gt7-mut{font-size:11.5px;color:var(--gt7-dim);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7 .gt7-n-ok{border-left:2px solid var(--gt7-ok);background:var(--gt7-ok-bg);padding:12px 14px;
  font-size:13.5px;color:#CFC8BA;margin-top:16px}

/* jauge de remplissage */
.gt7 .gt7-nav-jauge{height:4px;background:rgba(237,233,225,.10);border-radius:100px;overflow:hidden;margin:9px 0 7px}
.gt7 .gt7-nav-jauge i{display:block;height:100%;background:linear-gradient(90deg,var(--gt7-gold-dk),var(--gt7-gold));border-radius:100px}

/* ------------------------------------------------------------------ */
/* Cartes de départ (tunnel)                                           */
/* ------------------------------------------------------------------ */
.gt7-dep-panneau{margin-top:20px;padding-top:18px;border-top:1px solid var(--gt7-hair)}
.gt7-dep-liste{display:grid;gap:10px}
.gt7-dep{display:grid;grid-template-columns:96px 1fr auto;gap:14px;align-items:center;
  padding:14px 16px;background:var(--gt7-ink2);border:1px solid var(--gt7-hair);cursor:pointer;
  transition:border-color .15s,background .15s}
.gt7-dep:hover{border-color:var(--gt7-line);background:var(--gt7-ink3)}
.gt7-dep.is-sel{border-color:var(--gt7-gold);background:var(--gt7-ink3);box-shadow:inset 3px 0 0 var(--gt7-gold)}
.gt7-dep-quand b{display:block;font-size:13px;font-weight:400;color:var(--gt7-text);line-height:1.3}
.gt7-dep-quand span{display:block;font-size:18px;color:var(--gt7-gold-lt);margin-top:2px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-dep-trajet{font-size:14.5px;color:var(--gt7-text);margin:0 0 8px}
.gt7-dep-trajet i{color:var(--gt7-gold);font-style:normal;margin:0 4px}
.gt7-dep-prix{text-align:right;white-space:nowrap}
.gt7-dep-prix b{display:block;font-size:20px;font-weight:400;color:var(--gt7-gold-lt);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-dep-prix small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gt7-dim)}

/* vente croisée */
.gt7-cross{margin-top:22px;border:1px solid var(--gt7-line);background:linear-gradient(180deg,rgba(198,161,91,.06),transparent 60%)}
.gt7-cross-tete{padding:16px 18px 12px;border-bottom:1px solid var(--gt7-hair)}
.gt7-cross-tete b{display:block;font-size:15px;font-weight:400;color:var(--gt7-text);margin-top:9px}
.gt7-cross-tete span{display:block;font-size:13px;color:var(--gt7-muted);margin-top:4px;max-width:62ch}
.gt7-cross-liste{display:grid;gap:8px;padding:14px 18px 18px}

/* ------------------------------------------------------------------ */
/* Page publique des navettes                                          */
/* ------------------------------------------------------------------ */
.gt7-navettes{padding:34px 36px 40px}
.gt7-nav-tete{max-width:70ch}
.gt7-nav-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 20px}
.gt7-nav-filtres button{padding:8px 16px;background:var(--gt7-ink2);border:1px solid var(--gt7-hair);
  color:var(--gt7-muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-nav-filtres button[aria-pressed=true]{border-color:var(--gt7-gold);color:var(--gt7-gold-lt);background:var(--gt7-ink3)}
.gt7-nav-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(276px,1fr));gap:14px}
.gt7-nav-carte{padding:18px 20px 16px;background:var(--gt7-ink2);border:1px solid var(--gt7-hair);
  display:flex;flex-direction:column}
.gt7-nav-carte:hover{border-color:var(--gt7-line)}
.gt7-nav-date{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.gt7-nav-date .j{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gt7-gold);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-nav-date .h{font-size:20px;color:var(--gt7-text);margin-left:auto;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-nav-carte h3{font-size:17px;font-weight:400;color:var(--gt7-text);margin:0 0 12px;line-height:1.3}
.gt7-nav-carte h3 .fl{color:var(--gt7-gold);margin:0 4px}
.gt7-nav-etat{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gt7-nav-places{font-size:11.5px;color:var(--gt7-dim);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-nav-pied{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;
  padding-top:14px;border-top:1px solid var(--gt7-hair)}
.gt7-nav-prix{font-size:22px;color:var(--gt7-gold-lt);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-nav-prix small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gt7-dim);
  font-family:-apple-system,BlinkMacSystemFont,sans-serif}
.gt7 .gt7-btn-sm{padding:9px 16px;font-size:11.5px}
.gt7 .gt7-vide{color:var(--gt7-muted);font-size:15px;margin:20px 0 18px}

/* ------------------------------------------------------------------ */
/* Mobile : plus de débordement horizontal                             */
/* ------------------------------------------------------------------ */
.gt7{max-width:100%;overflow-x:clip}
.gt7 img,.gt7 table{max-width:100%}
.gt7 input,.gt7 select,.gt7 textarea{max-width:100%}
.gt7-seg{flex-wrap:wrap}

@media (max-width:640px){
  .gt7{font-size:15px;border-left:0;border-right:0}
  .gt7-main{padding:20px 16px 26px}
  .gt7-side{padding:22px 16px}
  .gt7-navettes{padding:22px 16px 28px}
  .gt7-steps{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .gt7-steps::-webkit-scrollbar{display:none}
  .gt7-steps li{flex:0 0 auto;min-width:96px;padding:12px 14px}
  .gt7-seg{display:grid;grid-template-columns:1fr;gap:6px}
  .gt7-seg button{width:100%;text-align:left;white-space:normal}
  .gt7-nav-grille{grid-template-columns:1fr}
  .gt7-dep{grid-template-columns:1fr;gap:8px}
  .gt7-dep-quand{display:flex;align-items:baseline;gap:10px}
  .gt7-dep-quand span{margin-top:0;margin-left:auto}
  .gt7-dep-prix{text-align:left;display:flex;align-items:baseline;gap:8px;
    padding-top:10px;border-top:1px solid var(--gt7-hair)}
  .gt7-dep-prix small{margin-top:0}
  .gt7-duo{grid-template-columns:1fr !important}
  .gt7-cross-tete,.gt7-cross-liste{padding-left:14px;padding-right:14px}
  .gt7 h2{font-size:21px}
}

/* ------------------------------------------------------------------ */
/* Blindage : le thème repeint les tableaux en blanc                   */
/* ------------------------------------------------------------------ */
.gt7 table,.gt7 thead,.gt7 tbody,.gt7 tfoot,.gt7 tr,.gt7 th,.gt7 td{
  background:transparent !important;background-image:none !important;
  border:0 !important;box-shadow:none !important}
.gt7 table{border-collapse:collapse !important;border-spacing:0 !important;margin:0 !important;width:100%}
.gt7 tr:nth-child(even) td,.gt7 tr:nth-child(odd) td{background:transparent !important}

/* ------------------------------------------------------------------ */
/* La grille tarifaire, relookée                                       */
/* ------------------------------------------------------------------ */
.gt7-ftable thead th{background:var(--gt7-ink2) !important;color:var(--gt7-gold) !important;
  font-size:9.5px !important;border-bottom:1px solid var(--gt7-line) !important}
.gt7-ftable thead th.j{color:var(--gt7-gold-lt) !important}
.gt7-ftable tbody td{padding:14px 15px !important;color:var(--gt7-muted) !important;
  border-bottom:1px solid var(--gt7-hair) !important;vertical-align:middle}
.gt7-ftable tbody tr:hover td{background:var(--gt7-ink2) !important}
.gt7-ftable td.d b{display:block;font-size:15.5px;font-weight:400;color:var(--gt7-text) !important;line-height:1.3}
.gt7-ftable td.d .z{display:block;margin-top:3px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gt7-gold-dk) !important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-ftable td.k{color:var(--gt7-dim) !important}
.gt7-ftable td.j{color:var(--gt7-gold-lt) !important;font-size:17px}
.gt7-ftable td.r{text-align:right;white-space:nowrap;width:1%}
.gt7-ftable td.r .gt7-btn-sm{opacity:.55;transition:opacity .15s}
.gt7-ftable tr:hover td.r .gt7-btn-sm{opacity:1}

@media (max-width:760px){
  /* le tableau devient une pile de fiches : plus de défilement latéral */
  .gt7-tarifs .gt7-fscroll{max-height:none;overflow:visible}
  .gt7-ftable thead{display:none}
  .gt7-ftable,.gt7-ftable tbody,.gt7-ftable tr,.gt7-ftable td{display:block;width:auto}
  .gt7-ftable tr{border:1px solid var(--gt7-hair);background:var(--gt7-ink2) !important;margin-bottom:10px;padding:14px 16px}
  .gt7-ftable tr:hover td{background:transparent !important}
  .gt7-ftable tbody td{padding:6px 0 !important;border-bottom:0 !important;text-align:left !important;
    display:flex;align-items:baseline;justify-content:space-between;gap:14px}
  .gt7-ftable td.d{display:block;padding-bottom:10px !important;margin-bottom:8px;
    border-bottom:1px solid var(--gt7-hair) !important}
  .gt7-ftable td[data-l]::before{content:attr(data-l);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--gt7-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
  .gt7-ftable{min-width:0 !important}
  .gt7-ftable td.j{font-size:19px}
  .gt7-ftable td.r{display:block;width:auto !important;padding-top:12px !important}
  .gt7-regles{grid-template-columns:1fr 1fr !important}
  .gt7-ftable td.r .gt7-btn-sm{display:block !important;width:100%;text-align:center;opacity:1}
}

/* ================================================================== */
/* LES BLOCS DE PAGE : accueil, services, flotte, mariage, trajet      */
/* ================================================================== */

.gt7-sect{padding:56px 40px}
.gt7-tete{max-width:64ch;margin-bottom:32px}
.gt7-tete h2{font-size:clamp(24px,3vw,34px)}
.gt7 h1{font-size:clamp(30px,5vw,54px);line-height:1.05;font-weight:400;letter-spacing:-.02em;
  margin:14px 0 0;color:var(--gt7-text)}
.gt7 h1 em{font-style:normal;color:var(--gt7-gold-lt)}
.gt7 h3{font-size:17px;font-weight:400;color:var(--gt7-text);margin:0 0 8px}
.gt7 .gt7-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.gt7 a.gt7-btn,.gt7 a.gt7-tag,.gt7 .gt7-maillage a{text-decoration:none !important}
.gt7 a.gt7-btn{color:var(--gt7-ink) !important}
.gt7 .gt7-btn-ghost,.gt7 a.gt7-btn-ghost{background:transparent !important;color:var(--gt7-gold-lt) !important;
  border:1px solid var(--gt7-line) !important}
.gt7 .gt7-btn-ghost:hover,.gt7 a.gt7-btn-ghost:hover{background:var(--gt7-ink3) !important;
  border-color:var(--gt7-gold) !important}
.gt7 .gt7-lien{color:var(--gt7-gold-lt);font-size:13px;text-decoration:underline}
.gt7 .gt7-ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border:1px solid var(--gt7-line);color:var(--gt7-gold);margin-bottom:16px;flex:none}

/* bannière d'accueil */
.gt7-hero{padding:0;position:relative;overflow:hidden}
.gt7-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 78% 8%,rgba(198,161,91,.16),transparent 62%)}
.gt7-hero-in{position:relative;padding:64px 40px 44px;max-width:1180px}
.gt7-hero-court{padding-bottom:56px}
.gt7-claims{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px}
.gt7-claims li{position:relative;padding-left:18px;font-size:13.5px;color:var(--gt7-muted)}
.gt7-claims li::before{content:"" !important;position:absolute;left:0;top:9px;width:7px;height:7px;
  border:1px solid var(--gt7-gold);transform:rotate(45deg);display:block}

.gt7-mini{margin-top:30px;padding:20px;background:rgba(16,16,20,.86);border:1px solid var(--gt7-line);
  backdrop-filter:blur(6px);max-width:940px}
.gt7-mini-champs{display:grid;grid-template-columns:1.4fr 1.4fr .9fr .8fr;gap:12px}
.gt7-mini .gt7-btn{margin-top:14px}
.gt7-mini .gt7-aide{margin-top:10px}

.gt7-trust{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--gt7-hair);
  position:relative;background:var(--gt7-ink1)}
.gt7-trust>div{padding:22px 26px;border-right:1px solid var(--gt7-hair)}
.gt7-trust>div:last-child{border-right:0}
.gt7-trust b{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gt7-gold);
  font-weight:400;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-trust p{margin-top:9px;font-size:13.5px;color:var(--gt7-muted);line-height:1.55}

/* cartes de service */
.gt7-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;
  background:var(--gt7-hair);border:1px solid var(--gt7-hair)}
.gt7-carte{padding:26px 24px 24px;background:var(--gt7-ink);display:flex;flex-direction:column;
  transition:background .15s}
.gt7-carte:hover{background:var(--gt7-ink2)}
.gt7-carte p{font-size:13.5px;color:var(--gt7-muted);line-height:1.6;flex:1}
.gt7 .gt7-tag{display:inline-block;margin-top:16px;padding:5px 12px;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gt7-gold);border:1px solid var(--gt7-line);align-self:flex-start;
  text-decoration:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7 .gt7-tag:hover{background:var(--gt7-ink3);color:var(--gt7-gold-lt)}

/* forfaits phares */
.gt7-forfaits{display:grid;gap:1px;background:var(--gt7-hair);border:1px solid var(--gt7-hair)}
.gt7-forfait{display:grid;grid-template-columns:1fr 90px 110px 120px auto;align-items:center;gap:18px;
  padding:16px 22px;background:var(--gt7-ink)}
.gt7-forfait:hover{background:var(--gt7-ink2)}
.gt7-f-local{background:var(--gt7-ink1)}
.gt7-f-dest b{display:block;font-size:15.5px;font-weight:400;color:var(--gt7-text)}
.gt7-f-dest small{display:block;margin-top:3px;font-size:12px;color:var(--gt7-dim)}
.gt7-f-k{font-size:12.5px;color:var(--gt7-dim);text-align:right;white-space:nowrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-f-pr{font-size:24px;color:var(--gt7-gold-lt);text-align:right;white-space:nowrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-f-pr small{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gt7-dim)}

/* flotte */
.gt7-flotte{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.gt7-veh-carte{background:var(--gt7-ink2);border:1px solid var(--gt7-hair);overflow:hidden}
.gt7-veh-carte img{display:block;width:100%;height:190px;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.gt7-veh-txt{padding:20px 22px 22px}
.gt7-veh-txt p{font-size:13px;color:var(--gt7-muted);line-height:1.55}
.gt7-veh-txt ul{margin-top:14px;border-top:1px solid var(--gt7-hair);padding-top:12px}
.gt7-veh-txt li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:12.5px;
  color:var(--gt7-dim)}
.gt7-veh-txt li b{font-weight:400;color:var(--gt7-gold-lt);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* confiance */
.gt7-duo-large{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:start}
.gt7-duo-large h2{font-size:clamp(22px,2.6vw,30px);margin-bottom:18px}
.gt7-garanties li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--gt7-hair)}
.gt7-garanties .gt7-ic{margin-bottom:0;width:36px;height:36px}
.gt7-garanties b{display:block;font-weight:400;color:var(--gt7-text);font-size:15px}
.gt7-garanties span{display:block;margin-top:4px;font-size:13px;color:var(--gt7-muted);line-height:1.55}
.gt7-note{display:flex;align-items:center;gap:18px;padding:20px 22px;background:var(--gt7-ink2);
  border:1px solid var(--gt7-line)}
.gt7-note-n{font-size:42px;color:var(--gt7-gold-lt);line-height:1;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-etoiles{color:var(--gt7-gold);letter-spacing:3px}
.gt7-zones{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.gt7-zones span{padding:6px 12px;font-size:12px;color:var(--gt7-muted);border:1px solid var(--gt7-hair);
  background:var(--gt7-ink2)}

/* questions fréquentes */
.gt7-faq{border-top:1px solid var(--gt7-hair)}
.gt7-faq details{border-bottom:1px solid var(--gt7-hair)}
.gt7-faq summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;position:relative;
  font-size:15.5px;color:var(--gt7-text)}
.gt7-faq summary::-webkit-details-marker{display:none}
.gt7-faq summary::after{content:"+";position:absolute;right:8px;top:16px;font-size:20px;color:var(--gt7-gold);
  transition:transform .15s}
.gt7-faq details[open] summary::after{content:"−"}
.gt7-faq details[open] summary{color:var(--gt7-gold-lt)}
.gt7-rep{padding:0 60px 20px 0;font-size:14px;color:var(--gt7-muted);line-height:1.65;max-width:80ch}

/* mariage */
.gt7-mariage{padding:0;position:relative;overflow:hidden}
.gt7-mariage::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(100% 70% at 20% 0%,rgba(198,161,91,.18),transparent 60%)}
.gt7-formules{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.gt7-formule{padding:26px 24px;background:var(--gt7-ink2);border:1px solid var(--gt7-hair);
  display:flex;flex-direction:column}
.gt7-formule.is-phare{border-color:var(--gt7-gold);background:var(--gt7-ink3)}
.gt7-formule .gt7-badge{align-self:flex-start;margin-bottom:12px}
.gt7-formule-d{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gt7-dim);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-formule-pr{margin:12px 0 4px;font-size:34px;color:var(--gt7-gold-lt);line-height:1;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-formule-pr small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gt7-dim);
  display:block;margin-top:6px;font-family:-apple-system,BlinkMacSystemFont,sans-serif}
.gt7-formule-pour{font-size:13.5px;color:var(--gt7-muted);margin:14px 0 16px;line-height:1.55}
.gt7-formule ul{border-top:1px solid var(--gt7-hair);padding-top:14px;flex:1}
.gt7-formule li{position:relative;padding:5px 0 5px 20px;font-size:13px;color:var(--gt7-muted)}
.gt7-formule li::before{content:"" !important;display:block;position:absolute;left:0;top:12px;width:8px;height:2px;
  background:var(--gt7-gold)}
.gt7-formule .gt7-btn-sm{margin-top:18px;text-align:center}

/* déroulé numéroté */
.gt7-etapes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
  background:var(--gt7-hair);border:1px solid var(--gt7-hair)}
.gt7-etapes li{padding:24px 22px;background:var(--gt7-ink)}
.gt7-etapes .gt7-num{display:block;font-size:11px;letter-spacing:.2em;color:var(--gt7-gold);margin-bottom:12px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-etapes b{display:block;font-weight:400;color:var(--gt7-text);font-size:15px}
.gt7-etapes p{margin-top:7px;font-size:13px;color:var(--gt7-muted);line-height:1.55}
.gt7-etapes-fines{grid-template-columns:1fr;border:0;background:transparent;gap:0}
.gt7-etapes-fines li{padding:14px 0;border-bottom:1px solid var(--gt7-hair);background:transparent}

/* page de trajet */
.gt7-trajet{padding:0;position:relative;overflow:hidden}
.gt7-trajet::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(110% 80% at 85% 0%,rgba(198,161,91,.15),transparent 62%)}
.gt7-trajet-tete{position:relative;display:grid;grid-template-columns:1.35fr .85fr;gap:44px;
  padding:56px 40px 48px;align-items:start}
.gt7-trajet-prix{padding:24px;background:rgba(16,16,20,.9);border:1px solid var(--gt7-line)}
.gt7-pr-lignes{border-top:1px solid var(--gt7-hair)}
.gt7-pr-lignes div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 0;
  border-bottom:1px solid var(--gt7-hair)}
.gt7-pr-lignes span{font-size:13px;color:var(--gt7-muted)}
.gt7-pr-lignes b{font-size:20px;font-weight:400;color:var(--gt7-gold-lt);white-space:nowrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gt7-pr-lignes div:first-child b{font-size:26px}
.gt7-liste-check li{position:relative;padding:9px 0 9px 26px;font-size:14px;color:var(--gt7-muted);
  border-bottom:1px solid var(--gt7-hair)}
.gt7-liste-check li::before{content:"" !important;display:block;position:absolute;left:2px;top:15px;
  width:9px;height:5px;border-left:1.5px solid var(--gt7-gold);border-bottom:1.5px solid var(--gt7-gold);
  transform:rotate(-45deg)}
.gt7-maillage{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1px;
  background:var(--gt7-hair);border:1px solid var(--gt7-hair)}
.gt7-maillage a{display:block;padding:16px 18px;background:var(--gt7-ink);text-decoration:none;
  transition:background .15s}
.gt7-maillage a:hover{background:var(--gt7-ink2)}
.gt7-maillage b{display:block;font-weight:400;font-size:14.5px;color:var(--gt7-text)}
.gt7-maillage span{display:block;margin-top:4px;font-size:11.5px;color:var(--gt7-dim);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* bande d'appel */
.gt7-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;
  padding:40px;background:linear-gradient(120deg,var(--gt7-ink1),var(--gt7-ink3));
  border-top:1px solid var(--gt7-line);border-bottom:1px solid var(--gt7-line)}
.gt7-cta h2{font-size:clamp(21px,2.6vw,30px)}
.gt7-cta .gt7-actions{margin-top:0}

@media (max-width:900px){
  .gt7-trust{grid-template-columns:1fr 1fr}
  .gt7-trust>div:nth-child(2){border-right:0}
  .gt7-trust>div:nth-child(-n+2){border-bottom:1px solid var(--gt7-hair)}
  .gt7-duo-large,.gt7-trajet-tete{grid-template-columns:1fr;gap:32px}
  .gt7-mini-champs{grid-template-columns:1fr 1fr}
  .gt7-forfait{grid-template-columns:1fr auto;gap:8px 16px}
  .gt7-f-k{text-align:left;grid-column:1}
  .gt7-f-dest{grid-column:1/-1}
  .gt7-f-pr{grid-row:2/4;grid-column:2;align-self:center}
  .gt7-forfait .gt7-btn-sm{grid-column:1/-1;text-align:center;margin-top:8px}
}
@media (max-width:640px){
  .gt7-sect{padding:36px 16px}
  .gt7-hero-in,.gt7-trajet-tete{padding:36px 16px 30px}
  .gt7-trust{grid-template-columns:1fr}
  .gt7-trust>div{border-right:0;border-bottom:1px solid var(--gt7-hair)}
  .gt7-mini{padding:16px}
  .gt7-mini-champs{grid-template-columns:1fr}
  .gt7-cta{padding:30px 16px}
  .gt7-rep{padding-right:0}
  .gt7-etapes{grid-template-columns:1fr}
}
