/* Module de réservation GVS (04/11/2026) */
.bk-form [hidden],.bk-section [hidden]{display:none!important}
.bk-hero{padding-block:64px 26px}
.bk-hero h1{font-size:clamp(40px,7vw,78px)}
.bk-section{padding-block:10px 60px}
.bk-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:18px 28px;align-items:start}
.bk-form>*{grid-column:1}
.bk-mapbox{grid-column:2;grid-row:1/span 5;position:sticky;top:100px}
.bk-panel{border:1.5px solid rgba(15,169,116,.45);background:#0B0C0D;border-radius:16px;padding:18px 18px 20px;margin:0;min-width:0}
.bk-panel legend{float:left;width:100%;padding:0;margin:0 0 14px;font-weight:700;font-size:17px;color:#F4F6F8;display:flex;align-items:center;gap:10px}
.bk-panel legend+*{clear:both}
.bk-step{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#0FA974,#0B8E62);color:#F4FFF9;font-size:14px}
.bk-field{display:grid;gap:6px;margin-bottom:14px;position:relative;min-width:0}
.bk-field label,.bk-pick span{font-size:13px;color:#D9DEE2;font-weight:600}
.bk-field label span{color:#2FD39A}
.bk-field label small{color:#C4C9CD;font-weight:400}
.bk-form input:not([type=radio]):not([type=checkbox]),.bk-form select{width:100%;min-height:50px;padding:12px 14px;font-size:16px;border-radius:12px;border:1.5px solid rgba(15,169,116,.6);background:#0F1112;color:#F4F6F8;outline:none}
.bk-form input:focus,.bk-form select:focus{border-color:#2FD39A;box-shadow:0 0 0 3px rgba(15,169,116,.25)}
.bk-form input[aria-invalid=true]{border-color:#E5484D}
.bk-form input::placeholder{color:#8E959B}
.bk-inrow{display:flex;gap:8px}
.bk-icon-btn{flex:none;width:50px;min-height:50px;border-radius:12px;border:1.5px solid #0FA974;background:rgba(15,169,116,.1);color:#2FD39A;display:grid;place-items:center;cursor:pointer}
.bk-icon-btn:hover,.bk-icon-btn:focus-visible{background:rgba(15,169,116,.25);color:#fff}
.bk-icon-btn.busy{opacity:.6}
.bk-list{position:absolute;left:0;right:0;top:100%;z-index:1200;margin:4px 0 0;padding:6px;list-style:none;background:#0B0C0D;border:1.5px solid #0FA974;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.7);max-height:320px;overflow:auto}
.bk-list li{padding:11px 12px;border-radius:9px;cursor:pointer;line-height:1.3;color:#F4F6F8;font-size:15px}
.bk-list li small{display:block;color:#AEB5BB;font-size:12px;margin-top:2px}
.bk-list li[aria-selected=true],.bk-list li:hover{background:rgba(15,169,116,.22)}
.bk-list li.bk-empty{cursor:default;color:#C4C9CD;background:none}
.bk-hint{font-size:12px;color:#C4C9CD;margin:0 0 10px}
.bk-pick{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bk-pick button,.bk-now button{min-height:40px;padding:8px 14px;border-radius:999px;border:1.5px solid #0FA974;background:transparent;color:#F4F6F8;font-weight:600;font-size:13px;cursor:pointer}
.bk-pick button.on{background:linear-gradient(135deg,#0FA974,#0B8E62);color:#F4FFF9}
.bk-now{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.bk-now button[disabled]{border-color:#4A5157;color:#7D858C;cursor:not-allowed;text-decoration:line-through}
.bk-now small{color:#C4C9CD;font-size:12px}
.bk-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:14px;border:1.5px solid rgba(15,169,116,.6);margin-bottom:16px}
.bk-seg label{position:relative;cursor:pointer}
.bk-seg input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.bk-seg span{display:grid;place-items:center;min-height:44px;border-radius:10px;font-weight:700;font-size:14px;color:#D9DEE2;text-align:center;padding:4px 6px}
.bk-seg input:checked+span{background:linear-gradient(135deg,#0FA974,#0B8E62 55%,#12B882);color:#F4FFF9}
.bk-seg input:focus-visible+span{outline:2px solid #2FD39A;outline-offset:2px}
.bk-seg-sm{margin-top:2px}
.bk-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.bk-span{grid-column:1/-1}
.bk-map{height:min(72vh,640px);min-height:340px;border-radius:16px;border:1.5px solid rgba(15,169,116,.6);background:#0B0C0D;z-index:1}
.bk-tiles{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.92) saturate(.6)}
.leaflet-container{font-family:"DM Sans",system-ui,sans-serif;background:#0B0C0D}
.leaflet-control-attribution{background:rgba(5,6,6,.8)!important;color:#C4C9CD!important;font-size:10px}
.leaflet-control-attribution a{color:#2FD39A!important}
.leaflet-bar a{background:#0B0C0D!important;color:#2FD39A!important;border-color:#0FA974!important}
.bk-pin{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,#0FA974,#0B8E62);border:2px solid #F4FFF9;box-shadow:0 4px 14px rgba(0,0,0,.6)}
.bk-pin b{transform:rotate(45deg);color:#fff;font:800 14px "DM Sans",sans-serif}
.bk-pin.to{background:linear-gradient(135deg,#F4F6F8,#B8BFC6)}.bk-pin.to b{color:#050606}
.bk-full-btn{position:absolute;top:10px;right:10px;z-index:500;min-height:40px;padding:8px 14px;border-radius:999px;border:1.5px solid #0FA974;background:rgba(5,6,6,.85);color:#F4FFF9;font-weight:700;font-size:13px;cursor:pointer}
.bk-mapinfo{position:absolute;left:10px;right:10px;bottom:10px;z-index:500;display:none;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:12px;background:rgba(5,6,6,.88);border:1px solid rgba(15,169,116,.6);font-size:14px;color:#F4F6F8;pointer-events:none}
.bk-mapinfo.on{display:flex}
.bk-mapinfo b{color:#2FD39A}
.bk-mapbox.full{position:fixed;inset:0;z-index:10050;top:0;padding:0;background:#050606}
.bk-mapbox.full .bk-map{height:100%;height:100dvh;border-radius:0;border:0}
.bk-quote{min-height:96px}
.bk-quote-empty{color:#C4C9CD;margin:0;font-size:14px}
.bk-quote .bk-q-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.bk-quote .bk-price{font-size:40px;font-weight:800;line-height:1;color:#2FD39A;letter-spacing:-.02em}
.bk-quote .bk-price small{font-size:15px;font-weight:600;color:#D9DEE2;margin-left:4px}
.bk-quote .bk-tag{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid #0FA974;color:#2FD39A;font-size:12px;font-weight:700}
.bk-quote .bk-tag.warn{border-color:#E0A03A;color:#F2C46D}
.bk-quote dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0 0;font-size:14px}
.bk-quote dt{color:#C4C9CD}.bk-quote dd{margin:0;color:#F4F6F8;text-align:right}
.bk-quote ul{margin:12px 0 0;padding:10px 0 0;border-top:1px solid rgba(214,219,224,.18);list-style:none;font-size:13px;color:#D9DEE2}
.bk-quote li{display:flex;justify-content:space-between;gap:10px;padding:2px 0}
.bk-quote .bk-q-note{margin:10px 0 0;font-size:12px;color:#C4C9CD}
.bk-quote.loading{opacity:.6}
.bk-err{color:#FF9EA1;font-size:14px;margin:0}
.bk-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#D9DEE2;line-height:1.5;margin:6px 0 16px}
.bk-consent input{width:20px;height:20px;flex:none;accent-color:#0FA974;margin:1px 0}
.bk-submit{width:100%;min-height:56px;font-size:16px;font-weight:800;border-radius:14px;cursor:pointer;justify-content:center}
.bk-submit[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}
.bk-note{font-size:12px;color:#C4C9CD;margin:10px 0 0}
.bk-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-done{text-align:left;border-color:#2FD39A;box-shadow:0 0 0 3px rgba(15,169,116,.18)}
.bk-done h2{font-size:26px;margin:0 0 8px}
.bk-done .bk-ref{font-size:22px;font-weight:800;color:#2FD39A}
.bk-done a.button{margin-top:12px}
.bk-faq{padding-top:10px;max-width:860px}
.bk-faq details{border:1.5px solid rgba(15,169,116,.45);border-radius:14px;padding:4px 16px;margin-bottom:10px;background:#0B0C0D}
.bk-faq summary{cursor:pointer;padding:12px 0;font-weight:700;color:#F4F6F8;list-style-position:outside}
.bk-faq details p{margin:0 0 12px}
@media(max-width:900px){
 .bk-form{grid-template-columns:1fr}
 .bk-form>*,.bk-mapbox{grid-column:1;grid-row:auto;position:relative;top:auto}
 .bk-mapbox:not(.full) .bk-map{height:58vh;min-height:300px}
 .bk-hero{padding-block:34px 8px}
 .bk-hero>p:not(.eyebrow){font-size:14px}
}
@media(max-width:420px){.bk-grid2{grid-template-columns:1fr}.bk-panel{padding:16px 14px}.bk-quote .bk-price{font-size:34px}}

@media(max-width:900px){#gvs-tarifs-btn{display:none!important}}
