/* ══════════════════════════════════════════════════
   VTC Réservation — v1.11
   Styles scopés sous .vtc-app : sans effet sur le thème.
══════════════════════════════════════════════════ */

.vtc-app{
  --vtc-noir:#0b0b0c;
  --vtc-noir2:#121214;
  --vtc-noir3:#17181b;
  --vtc-noir4:#1f2024;
  --vtc-or:#c9a84c;
  --vtc-or-pale:#e6d3a3;
  --vtc-or-sombre:#8a6a28;
  --vtc-blanc:#f4f2ee;
  --vtc-gris:#9b9b9f;
  --vtc-gris2:#65656b;
  --vtc-rouge:#e06a5c;
  --vtc-vert:#7cb992;
  --vtc-line:rgba(255,255,255,.08);
  --vtc-line-or:rgba(201,168,76,.28);
  --vtc-panel-w:clamp(360px, 33vw, 500px);

  font-family:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--vtc-blanc);
  font-weight:300;
  line-height:1.55;
  background:var(--vtc-noir);
  -webkit-font-smoothing:antialiased;
}
.vtc-app *{box-sizing:border-box}
.vtc-app h2,.vtc-app h3{margin:0;font-weight:300}
.vtc-app p{margin:0}
.vtc-app [hidden]{display:none!important}
.vtc-hp{position:absolute;left:-9999px;opacity:0;pointer-events:none}

@keyframes vtcUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes vtcSpin{to{transform:rotate(360deg)}}

/* ══════════ MODE PLEINE PAGE (défaut) ══════════ */
.vtc-app.vtc-full{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  min-height:100vh;
  min-height:100svh;
  overflow:hidden;
}

.vtc-mapzone{position:absolute;inset:0;z-index:0}
.vtc-full #vtcMap{position:absolute;inset:0;width:100%;height:100%;background:#0c0c0e}

.vtc-map-veil{
  position:absolute;inset:0;pointer-events:none;z-index:400;
  background:
    linear-gradient(90deg, var(--vtc-noir) 0%, rgba(11,11,12,.82) calc(var(--vtc-panel-w) * .78), rgba(11,11,12,0) calc(var(--vtc-panel-w) + 180px)),
    linear-gradient(0deg, rgba(11,11,12,.55) 0%, rgba(11,11,12,0) 28%);
}

.vtc-panel{
  position:relative;z-index:500;
  width:var(--vtc-panel-w);
  min-height:100vh;min-height:100svh;
  display:flex;
  background:linear-gradient(180deg, rgba(11,11,12,.97), rgba(11,11,12,.93));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-right:1px solid var(--vtc-line);
}
.vtc-panel-inner{
  display:flex;flex-direction:column;
  width:100%;
  padding:clamp(1.4rem,3vh,2.4rem) clamp(1.5rem,2.6vw,2.6rem) 0;
}

.vtc-back{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--vtc-gris2);text-decoration:none;
  margin-bottom:1.3rem;transition:color .2s;align-self:flex-start;
}
.vtc-back:hover{color:var(--vtc-or)}

.vtc-head{margin-bottom:1.6rem;animation:vtcUp .5s ease both}
.vtc-eyebrow{
  font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--vtc-or);font-weight:400;margin-bottom:.7rem;
}
.vtc-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.9rem,3.4vw,2.7rem);
  line-height:1.05;letter-spacing:.01em;color:var(--vtc-blanc);
}
.vtc-lede{margin-top:.7rem;font-size:13.5px;color:var(--vtc-gris);font-weight:200;max-width:42ch}

/* Bandeau promotion en cours */
.vtc-promo-banner{
  display:flex;align-items:center;gap:9px;
  margin:0 0 1.4rem;padding:10px 14px;
  border:1px solid var(--vtc-line-or);border-radius:3px;
  background:linear-gradient(90deg,rgba(201,168,76,.14),rgba(201,168,76,.04));
  color:var(--vtc-or-pale);font-size:12.5px;letter-spacing:.02em;
  animation:vtcUp .5s ease both;
}
.vtc-promo-banner svg{color:var(--vtc-or);flex-shrink:0}

/* Stepper */
.vtc-stepper{
  display:flex;align-items:center;gap:.55rem;
  list-style:none;margin:0 0 1.5rem;padding:0 0 1.3rem;
  border-bottom:1px solid var(--vtc-line);
}
.vtc-step{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}
.vtc-step + .vtc-step::before{
  content:'';height:1px;flex:1;background:var(--vtc-line);margin-right:.2rem;transition:background .4s;
}
.vtc-step.vtc-done + .vtc-step::before,
.vtc-step.vtc-active + .vtc-step::before{background:var(--vtc-or-sombre)}
.vtc-dot{
  width:24px;height:24px;flex-shrink:0;border-radius:50%;
  border:1px solid var(--vtc-line-or);
  display:flex;align-items:center;justify-content:center;
  font-size:10.5px;color:var(--vtc-gris2);transition:all .35s;
}
.vtc-step.vtc-active .vtc-dot{border-color:var(--vtc-or);color:var(--vtc-or);box-shadow:0 0 0 4px rgba(201,168,76,.09)}
.vtc-step.vtc-done .vtc-dot{background:var(--vtc-or);border-color:var(--vtc-or);color:var(--vtc-noir)}
.vtc-lbl{
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--vtc-gris2);white-space:nowrap;transition:color .35s;
}
.vtc-step.vtc-active .vtc-lbl{color:var(--vtc-or)}
.vtc-step.vtc-done .vtc-lbl{color:var(--vtc-gris)}

/* Zone défilante */
.vtc-scroll{
  flex:1;overflow-y:auto;overscroll-behavior:contain;
  padding-bottom:1.5rem;margin-right:-.5rem;padding-right:.5rem;
}
.vtc-scroll::-webkit-scrollbar{width:4px}
.vtc-scroll::-webkit-scrollbar-thumb{background:var(--vtc-line-or);border-radius:2px}
.vtc-scroll::-webkit-scrollbar-track{background:transparent}
.vtc-block{animation:vtcUp .45s ease both}
.vtc-block + .vtc-block{margin-top:1.6rem}

/* Rail départ / destination */
.vtc-trip{position:relative;padding-left:26px}
.vtc-trip-rail{
  position:absolute;left:0;top:26px;bottom:26px;width:12px;
  display:flex;flex-direction:column;align-items:center;
}
.vtc-pin{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.vtc-pin-a{background:var(--vtc-or-pale);box-shadow:0 0 0 3px rgba(230,211,163,.13)}
.vtc-pin-b{background:transparent;border:1.5px solid var(--vtc-or);box-shadow:0 0 0 3px rgba(201,168,76,.11)}
.vtc-pin-line{
  flex:1;width:1px;margin:5px 0;
  background:repeating-linear-gradient(180deg,var(--vtc-line-or) 0 3px,transparent 3px 7px);
}
.vtc-trip-fields > .vtc-field + .vtc-field{margin-top:.85rem}

.vtc-swap{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border-radius:50%;
  background:var(--vtc-noir3);border:1px solid var(--vtc-line);
  color:var(--vtc-gris);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .2s;
}
.vtc-swap:hover{color:var(--vtc-or);border-color:var(--vtc-line-or);transform:translateY(-50%) rotate(180deg)}

/* Champs */
.vtc-app label{
  display:block;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--vtc-or);font-weight:400;margin-bottom:7px;
}
.vtc-opt{color:var(--vtc-gris2);letter-spacing:.06em;text-transform:none;font-size:10px}
.vtc-app input{
  width:100%;padding:12px 14px;
  background:var(--vtc-noir3);border:1px solid var(--vtc-line);
  border-radius:3px;color:var(--vtc-blanc);
  font-family:inherit;font-size:14px;font-weight:300;
  outline:none;transition:border-color .2s,background .2s,box-shadow .2s;
  -webkit-appearance:none;
}
.vtc-app input:focus{border-color:var(--vtc-or);background:var(--vtc-noir4);box-shadow:0 0 0 3px rgba(201,168,76,.08)}
.vtc-app input::placeholder{color:var(--vtc-gris2)}
.vtc-app input.vtc-invalid{border-color:var(--vtc-rouge);background:rgba(224,106,92,.07)}
.vtc-app input[type=date]::-webkit-calendar-picker-indicator,
.vtc-app input[type=time]::-webkit-calendar-picker-indicator{
  filter:invert(.6) sepia(1) saturate(2.2) hue-rotate(5deg);cursor:pointer;
}
.vtc-field + .vtc-field,.vtc-row2 + .vtc-field,.vtc-field + .vtc-row2,.vtc-row2 + .vtc-row2{margin-top:.9rem}
.vtc-row2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.vtc-hint{font-size:11px;line-height:1.4;margin-top:6px}
.vtc-hint-err{color:var(--vtc-rouge)}
.vtc-hint-ok{color:var(--vtc-vert)}

/* Code promo */
.vtc-code-row{display:flex;gap:7px}
.vtc-code-row input{text-transform:uppercase;letter-spacing:.09em}
.vtc-code-btn{
  flex-shrink:0;padding:0 16px;border-radius:3px;cursor:pointer;
  background:transparent;border:1px solid var(--vtc-line-or);
  color:var(--vtc-or);font-family:inherit;font-size:10.5px;
  letter-spacing:.13em;text-transform:uppercase;transition:all .2s;
}
.vtc-code-btn:hover{background:rgba(201,168,76,.1);border-color:var(--vtc-or)}

.vtc-stepnum{display:flex;align-items:stretch;gap:6px}
.vtc-stepnum input{text-align:center;padding:12px 4px;cursor:default}
.vtc-stepnum input::-webkit-outer-spin-button,
.vtc-stepnum input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.vtc-num{
  width:40px;flex-shrink:0;border-radius:3px;cursor:pointer;
  background:var(--vtc-noir3);border:1px solid var(--vtc-line);
  color:var(--vtc-or);font-size:16px;font-family:inherit;line-height:1;transition:all .18s;
}
.vtc-num:hover{border-color:var(--vtc-line-or);background:var(--vtc-noir4)}
.vtc-num:disabled{opacity:.3;cursor:not-allowed}

.vtc-sep{display:flex;align-items:center;gap:12px;margin:0 0 1.1rem}
.vtc-sep span{
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--vtc-or);font-weight:400;white-space:nowrap;
}
.vtc-sep::before,.vtc-sep::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--vtc-line-or),transparent);
}

/* Autocomplétion */
.vtc-addr-wrap{position:relative}
.vtc-suggestions{
  position:absolute;top:calc(100% + 5px);left:0;right:0;
  background:var(--vtc-noir3);border:1px solid var(--vtc-line-or);
  border-radius:4px;z-index:9999;display:none;
  box-shadow:0 18px 48px rgba(0,0,0,.72);
  max-height:290px;overflow-y:auto;
}
.vtc-suggestions.vtc-show{display:block;animation:vtcUp .16s ease both}
.vtc-suggestion{
  padding:11px 14px;font-size:13px;color:var(--vtc-blanc);cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.04);
  display:flex;align-items:center;gap:10px;transition:background .14s;
}
.vtc-suggestion:last-child{border-bottom:none}
.vtc-suggestion:hover,.vtc-suggestion.vtc-hi{background:var(--vtc-noir4)}
.vtc-ico{color:var(--vtc-or-sombre);flex-shrink:0;opacity:.8;display:flex}
.vtc-main{font-weight:400}
.vtc-ctx{color:var(--vtc-gris);font-size:11px;display:block;margin-top:1px}
.vtc-empty{padding:12px 14px;font-size:12px;color:var(--vtc-gris2);font-style:italic;line-height:1.5}

/* Boutons */
.vtc-btn{
  position:relative;display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:15px 20px;margin-top:1.2rem;
  border:none;border-radius:3px;cursor:pointer;
  font-family:inherit;font-size:11.5px;font-weight:400;
  letter-spacing:.17em;text-transform:uppercase;transition:all .22s;
}
.vtc-or{background:var(--vtc-or);color:#1a1509}
.vtc-or:hover:not(:disabled){background:var(--vtc-or-pale);transform:translateY(-1px);box-shadow:0 10px 26px rgba(201,168,76,.2)}
.vtc-ghost{background:transparent;color:var(--vtc-gris);border:1px solid var(--vtc-line)}
.vtc-ghost:hover{border-color:var(--vtc-or);color:var(--vtc-or)}
.vtc-btn:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}
.vtc-spin{
  display:none;width:13px;height:13px;border-radius:50%;
  border:1.6px solid rgba(0,0,0,.25);border-top-color:currentColor;
  animation:vtcSpin .7s linear infinite;
}
.vtc-btn.vtc-busy .vtc-spin{display:block}

/* Bandeau prix sur la carte */
.vtc-fare{
  position:absolute;z-index:600;
  left:calc(var(--vtc-panel-w) + clamp(1.5rem,3vw,3rem));
  top:clamp(1.5rem,4vh,3rem);
  min-width:255px;padding:1.15rem 1.4rem;
  background:rgba(13,13,15,.9);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid var(--vtc-line-or);border-radius:5px;
  box-shadow:0 22px 60px rgba(0,0,0,.55);
  animation:vtcUp .45s ease both;
}
.vtc-fare-main{display:flex;flex-direction:column;gap:2px;padding-bottom:.9rem}
.vtc-fare-cap{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--vtc-gris)}
.vtc-fare-val{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.9rem;line-height:1;color:var(--vtc-or);font-weight:300}
.vtc-dev{font-size:1.3rem;vertical-align:super;margin-right:3px}

/* Ventilation course / approche / promotions */
.vtc-fare-lines{
  border-top:1px solid var(--vtc-line);
  padding:.75rem 0 .1rem;
  display:flex;flex-direction:column;gap:.4rem;
}
.vtc-fline{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  font-size:12px;color:var(--vtc-gris);
}
.vtc-fline span:last-child{color:var(--vtc-blanc);font-weight:400;white-space:nowrap}
.vtc-fline span.vtc-free{
  color:var(--vtc-vert);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
}
.vtc-fline-promo span{color:var(--vtc-vert)}
.vtc-fline-promo span:last-child{color:var(--vtc-vert);font-weight:400}

.vtc-fare-meta{
  display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;
  border-top:1px solid var(--vtc-line);padding-top:.8rem;margin-top:.75rem;
}
.vtc-fare-meta div{display:flex;flex-direction:column;gap:2px}
.vtc-fare-meta span{font-size:13px;color:var(--vtc-blanc);font-weight:400}
.vtc-fare-meta small{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--vtc-gris2)}

/* Récapitulatif */
.vtc-recap-box{background:var(--vtc-noir2);border:1px solid var(--vtc-line);border-radius:4px;padding:.3rem 1.1rem}
.vtc-recap{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;
}
.vtc-recap:last-child{border-bottom:none}
.vtc-k{color:var(--vtc-gris);font-weight:300;white-space:nowrap}
.vtc-v{color:var(--vtc-blanc);font-weight:400;text-align:right}
.vtc-recap-promo .vtc-k,
.vtc-recap-promo .vtc-v{color:var(--vtc-vert)}
.vtc-total{padding-top:14px}
.vtc-total .vtc-k{color:var(--vtc-blanc);font-size:13.5px}
.vtc-total .vtc-v{color:var(--vtc-or);font-size:1.35rem;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600}
.vtc-legal{margin-top:.8rem;font-size:11px;color:var(--vtc-gris2);text-align:center}

/* Messages */
.vtc-msg{font-size:12.5px;padding:11px 14px;border-radius:3px;margin-top:1rem;display:none;line-height:1.5}
.vtc-err{background:rgba(224,106,92,.12);color:var(--vtc-rouge);border:1px solid rgba(224,106,92,.28)}

/* Confirmation */
#vtcSuccess{text-align:center;padding:2.5rem 0 1rem}
.vtc-success-ico{
  width:66px;height:66px;border-radius:50%;
  border:1px solid var(--vtc-or);color:var(--vtc-or);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;box-shadow:0 0 0 7px rgba(201,168,76,.06);
}
#vtcSuccess h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.95rem;letter-spacing:.04em;margin-bottom:.6rem}
#vtcSuccess p{font-size:13.5px;color:var(--vtc-gris)}
#vtcSuccess .vtc-btn{margin-top:1.8rem}

/* Pied du panneau */
.vtc-foot{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 0;border-top:1px solid var(--vtc-line);
  font-size:12px;color:var(--vtc-gris2);
}
.vtc-foot a{color:var(--vtc-or);text-decoration:none;font-size:14px;letter-spacing:.04em}
.vtc-foot a:hover{color:var(--vtc-or-pale)}

/* Leaflet */
.vtc-app .leaflet-container{background:#0c0c0e;font-family:inherit}
.vtc-app .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(.88) saturate(.42)}
.vtc-app .leaflet-control-attribution{background:rgba(0,0,0,.55)!important;color:#7a7a7e!important;font-size:9px!important}
.vtc-app .leaflet-control-attribution a{color:var(--vtc-or-sombre)!important}
.vtc-app .leaflet-bar a{background:rgba(18,18,20,.92)!important;color:var(--vtc-or)!important;border-color:var(--vtc-line)!important}
.vtc-app .leaflet-bar a:hover{background:var(--vtc-noir4)!important}
.vtc-app .leaflet-control-zoom{margin:14px!important;border:none!important}
.vtc-marker{
  width:15px;height:15px;border-radius:50%;
  border:2.5px solid var(--vtc-noir);
  box-shadow:0 0 0 2px currentColor,0 3px 10px rgba(0,0,0,.65);
}
.vtc-marker.vtc-dep{background:var(--vtc-or-pale);color:var(--vtc-or-pale)}
.vtc-marker.vtc-arr{background:var(--vtc-noir);color:var(--vtc-or)}

/* ══════════ RESPONSIVE ══════════ */
@media(max-width:1100px){
  .vtc-app.vtc-full{--vtc-panel-w:min(52vw,440px)}
  .vtc-fare{min-width:215px;padding:1rem 1.15rem}
  .vtc-fare-val{font-size:2.4rem}
}

@media(max-width:820px){
  .vtc-app.vtc-full{min-height:0;overflow:visible;display:flex;flex-direction:column}
  .vtc-mapzone{position:relative;inset:auto;height:42vh;min-height:260px;flex-shrink:0}
  .vtc-full #vtcMap{position:absolute;inset:0}
  .vtc-map-veil{background:linear-gradient(0deg,var(--vtc-noir) 0%,rgba(11,11,12,.25) 42%,rgba(11,11,12,.55) 100%)}
  .vtc-panel{
    width:100%;min-height:0;border-right:none;
    margin-top:-34px;border-radius:16px 16px 0 0;border-top:1px solid var(--vtc-line);
  }
  .vtc-panel-inner{padding:1.5rem 1.25rem 0}
  .vtc-scroll{overflow:visible}
  .vtc-fare{position:relative;left:auto;top:auto;margin:0 0 1.4rem;width:100%;min-width:0}
  .vtc-fare-val{font-size:2.5rem}
  .vtc-head{margin-bottom:1.3rem}
  .vtc-lbl{display:none}
  .vtc-step{flex:0 0 auto}
  .vtc-stepper{justify-content:flex-start;gap:.35rem}
  .vtc-step + .vtc-step::before{width:26px;flex:0 0 26px}
}
@media(max-width:460px){
  .vtc-row2{grid-template-columns:1fr}
  .vtc-panel{margin-top:-24px}
  .vtc-trip{padding-right:46px}
  .vtc-swap{width:38px;height:38px;right:0}
  .vtc-swap:hover{transform:translateY(-50%)}
  .vtc-swap:active{color:var(--vtc-or);border-color:var(--vtc-or)}
}

/* ══════════ MODE COMPACT ══════════ */
.vtc-app:not(.vtc-full){
  max-width:640px;margin:0 auto;border-radius:8px;
  overflow:hidden;border:1px solid var(--vtc-line);
}
.vtc-app:not(.vtc-full) .vtc-mapzone{position:relative;height:270px}
.vtc-app:not(.vtc-full) #vtcMap{position:absolute;inset:0;width:100%;height:100%}
.vtc-app:not(.vtc-full) .vtc-map-veil{background:linear-gradient(0deg,rgba(11,11,12,.92) 0%,rgba(11,11,12,0) 45%)}
.vtc-app:not(.vtc-full) .vtc-panel{width:100%;background:var(--vtc-noir);border:none}
.vtc-app:not(.vtc-full) .vtc-panel-inner{padding:1.5rem 1.4rem 0}
.vtc-app:not(.vtc-full) .vtc-scroll{overflow:visible}
.vtc-app:not(.vtc-full) .vtc-fare{position:relative;left:auto;top:auto;margin:0 0 1.4rem;width:100%}
.vtc-app:not(.vtc-full) .vtc-title{font-size:1.75rem}
@media(max-width:480px){
  .vtc-app:not(.vtc-full) .vtc-row2{grid-template-columns:1fr}
  .vtc-app:not(.vtc-full) .vtc-lbl{display:none}
}

/* ══════════ v1.11 — Trajet / mise à disposition ══════════ */
.vtc-mode{
  display:grid;grid-template-columns:1fr 1fr;gap:4px;
  padding:4px;margin-bottom:1.3rem;
  background:var(--vtc-noir3);border:1px solid var(--vtc-line);border-radius:4px;
}
.vtc-mode-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 8px;border:1px solid transparent;border-radius:3px;cursor:pointer;
  background:transparent;color:var(--vtc-gris);
  font-family:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  transition:all .2s;
}
.vtc-mode-btn:hover{color:var(--vtc-or-pale)}
.vtc-mode-btn.vtc-on{background:var(--vtc-or);color:#1a1509;font-weight:400}
.vtc-is-mad .vtc-swap,
.vtc-is-mad .vtc-trip-rail{display:none}
.vtc-is-mad .vtc-trip{padding-left:0}
.vtc-mad-duree{margin-top:.9rem}
.vtc-mad-duree input{font-size:15px;font-weight:400;color:var(--vtc-or-pale)}

/* ══════════ v1.11 — Créneaux horaires ══════════ */
.vtc-slots-legend{display:flex;gap:14px;font-size:11px;color:var(--vtc-gris);margin:-2px 0 8px}
.vtc-slots-legend span{display:inline-flex;align-items:center;gap:6px}
.vtc-sl-dot{display:inline-block;width:10px;height:10px;border-radius:2px}
.vtc-sl-libre{border:1px solid var(--vtc-or)}
.vtc-sl-off{background:#2a2b2f;border:1px solid #2a2b2f}
.vtc-slots{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:6px;
  max-height:232px;overflow-y:auto;padding:2px 4px 2px 0;
  transition:opacity .2s;
}
.vtc-slots.vtc-loading{opacity:.45;pointer-events:none}
.vtc-slots::-webkit-scrollbar{width:4px}
.vtc-slots::-webkit-scrollbar-thumb{background:var(--vtc-line-or);border-radius:2px}
.vtc-slot{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  min-height:42px;padding:6px 2px;border-radius:3px;cursor:pointer;
  background:var(--vtc-noir3);border:1px solid var(--vtc-line-or);
  color:var(--vtc-blanc);font-family:inherit;font-size:13px;font-weight:400;
  font-variant-numeric:tabular-nums;transition:all .15s;
}
.vtc-slot:hover:not(:disabled){border-color:var(--vtc-or);background:var(--vtc-noir4)}
.vtc-slot.vtc-slot-on{background:var(--vtc-or);border-color:var(--vtc-or);color:#1a1509}
.vtc-slot.vtc-slot-off{
  background:#1a1b1e;border-color:#232428;color:#4c4d53;cursor:not-allowed;
}
.vtc-slot.vtc-slot-off span{text-decoration:line-through}
.vtc-slot small{font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:#55565c}
.vtc-slots-empty{grid-column:1/-1;font-size:12px;color:var(--vtc-gris2);font-style:italic;padding:8px 0}
@media(max-width:460px){
  .vtc-slots{grid-template-columns:repeat(4,1fr);max-height:260px}
  .vtc-mode-btn{font-size:10px;letter-spacing:.08em}
}

/* ══════════ v1.11.1 — Panneau défilant indépendamment de la carte (PC) ══════════ */
@media(min-width:821px){
  .vtc-app.vtc-full{
    --vtc-vh:calc(100vh - var(--wp-admin--admin-bar--height, 0px));
    height:var(--vtc-vh);min-height:0;
  }
  @supports(height:100dvh){
    .vtc-app.vtc-full{--vtc-vh:calc(100dvh - var(--wp-admin--admin-bar--height, 0px))}
  }
  .vtc-full .vtc-panel{height:var(--vtc-vh);min-height:0;overflow:hidden}
  .vtc-full .vtc-panel-inner{height:100%;min-height:0}
  .vtc-full .vtc-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable}
  .vtc-full .vtc-slots{max-height:none;overflow:visible}
}

/* ══════════ v1.12 — Heure libre + frise des disponibilités ══════════ */
.vtc-heure-field input[type=time]{font-size:16px;font-weight:400;letter-spacing:.04em;max-width:180px}
.vtc-hint-btn{
  margin-left:6px;padding:3px 9px;border-radius:3px;cursor:pointer;
  background:transparent;border:1px solid var(--vtc-or);color:var(--vtc-or);
  font-family:inherit;font-size:11px;letter-spacing:.05em;
}
.vtc-hint-btn:hover{background:var(--vtc-or);color:#1a1509}
.vtc-tl{margin-top:12px;transition:opacity .2s}
.vtc-tl.vtc-loading{opacity:.45;pointer-events:none}
.vtc-tl-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:var(--vtc-gris);margin-bottom:7px}
.vtc-tl-legend span{display:inline-flex;align-items:center;gap:6px}
.vtc-tl-tip{margin-left:auto;color:var(--vtc-gris2);font-style:italic}
.vtc-tl-dot{display:inline-block;width:10px;height:10px;border-radius:2px}
.vtc-tl-ok{background:rgba(201,168,76,.35);border:1px solid var(--vtc-or)}
.vtc-tl-off{background:#2a2b2f;border:1px solid #3a3b40}
.vtc-tl-bar{
  position:relative;height:26px;border-radius:3px;cursor:pointer;overflow:hidden;
  background:linear-gradient(90deg,rgba(201,168,76,.28),rgba(201,168,76,.18));
  border:1px solid var(--vtc-line-or);
}
.vtc-tl-seg{
  position:absolute;top:0;bottom:0;
  background:repeating-linear-gradient(135deg,#232428 0 5px,#2c2d32 5px 10px);
}
.vtc-tl-cur{
  position:absolute;top:-2px;bottom:-2px;width:3px;margin-left:-1.5px;border-radius:2px;
  background:var(--vtc-or-pale);box-shadow:0 0 0 2px rgba(0,0,0,.5);
}
.vtc-tl-cur.vtc-tl-cur-bad{background:var(--vtc-rouge)}
.vtc-tl-ticks{display:flex;justify-content:space-between;font-size:10px;color:var(--vtc-gris2);margin-top:4px}
.vtc-tl-list{margin-top:8px;font-size:12px;color:var(--vtc-gris);line-height:1.8}
.vtc-tl-list em{
  display:inline-block;font-style:normal;margin:0 4px 4px 0;padding:1px 8px;border-radius:3px;
  background:#1d1e22;border:1px solid #2c2d32;color:#8b8c92;font-variant-numeric:tabular-nums;
}
.vtc-tl-list strong{color:var(--vtc-rouge);font-weight:400}
@media(max-width:460px){.vtc-tl-bar{height:32px}.vtc-tl-tip{display:none}}
