


.cal-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
@media(min-width:700px){.cal-wrap{padding:0 28px}}




.cal-head{padding:126px 0 6px}
@media(min-width:700px){.cal-head{padding-top:170px}}
.cal-head .eyebrow{margin-bottom:18px}
.cal-head .d1{margin-bottom:16px}
.cal-head .body-text{max-width:560px}


.cal-card{border-radius:var(--al-r-lg);background-image:var(--al-grad-surface);
  border:1px solid var(--al-hairline);box-shadow:var(--al-e1);padding:22px 20px 24px;margin-top:28px}
@media(min-width:700px){.cal-card{padding:30px 30px 32px}}
.cal-champ{margin-bottom:20px}
.cal-lbl{display:block;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--al-gold-400);margin-bottom:9px}
.cal-date{display:grid;grid-template-columns:.86fr 1.5fr 1.05fr;gap:8px}

input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{
  -webkit-appearance:none;appearance:none;margin:0}
input[type=text],input[type=number],input[type=time],select{
  width:100%;min-height:50px;padding:12px 14px;font-family:var(--al-font-ui);font-size:1rem;
  color:var(--al-ivory);background:rgba(5,6,15,.55);border:1px solid var(--al-border);
  border-radius:var(--al-r-sm);box-shadow:var(--al-intaglio);appearance:none;-webkit-appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,var(--al-gold-400) 50%),linear-gradient(135deg,var(--al-gold-400) 50%,transparent 50%);
  background-position:calc(100% - 19px) 22px,calc(100% - 13px) 22px;background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;padding-right:38px}
input:focus,select:focus{outline:none;border-color:var(--al-gold-400);
  box-shadow:var(--al-intaglio),0 0 0 3px rgba(212,182,120,.16)}
input::placeholder{color:var(--al-text-faint)}

select.cal-vide-sel{color:var(--al-text-faint)}
input[disabled]{opacity:.4}

.cal-coche{display:flex;gap:12px;align-items:flex-start;margin-top:14px;cursor:pointer}
.cal-coche input{position:relative;width:24px;height:24px;min-height:0;flex:0 0 24px;margin-top:2px;
  appearance:none;-webkit-appearance:none;padding:0;cursor:pointer;
  background:rgba(5,6,15,.7);border:1px solid var(--al-border-strong);border-radius:7px;box-shadow:var(--al-intaglio)}
.cal-coche input:checked{background:var(--al-grad-gold);border-color:#E7D3A9;box-shadow:var(--al-emboss-gold)}
.cal-coche input:checked::after{content:'';position:absolute;left:8px;top:3.5px;width:5px;height:11px;
  border:solid #1A1305;border-width:0 2px 2px 0;transform:rotate(42deg)}
.cal-coche input:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(212,182,120,.3)}
.cal-coche span{font-size:.88rem;color:var(--al-text-dim);line-height:1.5}
.cal-note{font-size:.8rem;color:var(--al-text-dim);line-height:1.6;margin-top:10px;
  border-left:2px solid var(--al-border-strong);padding:2px 0 2px 12px}
.cal-err{display:none;font-size:.8rem;color:#E8A8A0;margin-top:8px}
.cal-err.on{display:block}


.cal-suggest{position:relative}
.cal-liste{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;
  background:rgba(8,10,24,.98);border:1px solid var(--al-border);border-radius:var(--al-r-md);
  box-shadow:var(--al-e2);overflow:hidden;display:none}
.cal-liste.on{display:block}
.cal-liste button{display:block;width:100%;text-align:left;min-height:50px;padding:11px 15px;
  background:none;border:none;border-bottom:1px solid var(--al-hairline);
  color:var(--al-ivory);font:inherit;font-size:.9rem;line-height:1.35;cursor:pointer}
.cal-liste button:last-child{border-bottom:none}
.cal-liste button:hover,.cal-liste button:focus-visible{background:rgba(59,74,143,.28);outline:none}

.cal-liste button.on{background:rgba(59,74,143,.42);box-shadow:inset 3px 0 0 var(--al-gold-300)}
.cal-liste small{display:block;color:var(--al-text-faint);font-size:.72rem}
.cal-choisie{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:9px;font-size:.82rem;color:var(--al-gold-200)}
.cal-choisie b{font-weight:500}
.cal-choisie em{font-style:normal;color:var(--al-text-faint);font-size:.72rem}
.cal-lien-mini{background:none;border:none;color:var(--al-gold-300);font:inherit;font-size:.78rem;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 0}
.cal-manuel{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--al-hairline)}
.cal-manuel.on{display:block}
.cal-manuel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.cal-go{width:100%;margin-top:6px;padding:17px 24px;font-size:.75rem}
.cal-prive{margin-top:14px;text-align:center}
.cal-prive .meta{font-size:.72rem}



.cal-res{display:none;padding-top:30px;scroll-margin-top:78px}
.cal-res.on{display:block}
.cal-piliers{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 18px;
  font-family:var(--al-font-display);font-size:1.34rem;line-height:1.35;color:var(--al-ivory);text-align:center}
@media(min-width:700px){.cal-piliers{font-size:1.7rem}}
.cal-piliers .g{font-size:1.15em;color:var(--al-gold-300);margin-right:5px}
.cal-piliers i{font-style:normal;color:var(--al-gold-200)}
.cal-nais{text-align:center;margin-top:8px}
.cal-alerte{margin:16px auto 0;max-width:560px;border-radius:var(--al-r-md);
  border:1px solid var(--al-border-strong);background:rgba(59,74,143,.16);padding:12px 16px;
  font-size:.83rem;color:var(--al-gold-200);line-height:1.55}

.cal-scene{margin-top:22px}
.cal-roue{display:flex;justify-content:center}
.cal-roue svg{filter:drop-shadow(0 0 50px rgba(212,182,120,.18))}
.cal-souffle{text-align:center;margin-top:6px}

.cal-h2{margin:38px 0 4px}
.cal-sub{margin-bottom:14px}
.cal-points{display:grid;gap:8px;list-style:none}

.cal-point{display:flex;width:100%;align-items:center;gap:13px;min-height:52px;
  padding:9px 14px;border-radius:var(--al-r-md);
  background-color:rgba(8,10,24,.45);background-image:var(--al-grad-surface);
  border:1px solid var(--al-hairline);color:var(--al-ivory);font:inherit;text-align:left;cursor:pointer;
  transition:border-color 160ms ease-out,transform 160ms ease-out}
.cal-point:hover{border-color:var(--al-border);transform:translateY(-1px)}
.cal-point:focus-visible{outline:none;border-color:var(--al-gold-300);box-shadow:0 0 0 3px rgba(212,182,120,.18)}
.cal-point[aria-current=true]{border-color:var(--al-gold-300);background:rgba(59,74,143,.3)}
.cal-point .g{font-size:1.32rem;color:var(--al-gold-200);width:26px;flex:0 0 26px;text-align:center}

.cal-point .cal-lettres{font-family:var(--al-font-ui);font-size:.74rem;font-weight:600;letter-spacing:.06em;
  color:var(--al-gold-200);width:26px;flex:0 0 26px;text-align:center}
.cal-point .cal-pt-txt{flex:1 1 auto;min-width:0}

.cal-pt-nom{display:block;font-size:.94rem;line-height:1.35}
.cal-pt-pos{display:block;font-size:.78rem;color:var(--al-text-dim);line-height:1.45}
.cal-pt-fleche{color:var(--al-gold-500);flex:0 0 auto}
.cal-retro{color:var(--al-gold-300);font-size:.82em}

details.cal-det{margin-top:18px;border-top:1px solid var(--al-hairline);border-bottom:1px solid var(--al-hairline)}
details.cal-det summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:16px;padding:16px 2px;font-size:.92rem;color:var(--al-ivory)}
details.cal-det summary::-webkit-details-marker{display:none}
details.cal-det summary::after{content:'+';font-family:var(--al-font-display);font-size:1.2rem;color:var(--al-gold-400)}
details.cal-det[open] summary::after{content:'−'}
.cal-asp{list-style:none;padding:0 2px 18px;display:grid;gap:9px}
.cal-asp li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 9px;font-size:.86rem;color:var(--al-text-dim);line-height:1.5}
.cal-asp .g{color:var(--al-gold-300);font-size:1rem}
.cal-asp b{font-weight:500;color:var(--al-ivory)}
.cal-orbe{color:var(--al-text-faint);font-size:.78rem}
.cal-serre{color:var(--al-gold-300)}

.cal-pasfait{margin-top:34px;border-radius:var(--al-r-lg);padding:24px 22px;
  background:linear-gradient(178deg,#080A18,#0B0E1E);box-shadow:var(--al-intaglio)}
.cal-pasfait ul{list-style:none;display:grid;gap:11px;margin-top:14px}
.cal-pasfait li{display:flex;gap:11px;font-size:.9rem;color:var(--al-text-dim);line-height:1.6}
.cal-pasfait li .g{color:var(--al-gold-500);flex:0 0 auto}
.cal-offre{margin-top:26px;text-align:center}
.cal-offre .btn{width:100%}
@media(min-width:520px){.cal-offre .btn{width:auto;min-width:320px}}
.cal-offre .meta{margin-top:12px}
.cal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}


.cal-voile{position:fixed;inset:0;z-index:200;background:rgba(5,6,15,.66);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;
  transition:opacity 220ms ease-out}
.cal-voile.on{opacity:1;pointer-events:auto}
.cal-sheet{position:fixed;left:0;right:0;bottom:0;z-index:210;max-height:85vh;max-height:85svh;
  display:flex;flex-direction:column;
  background:linear-gradient(178deg,#141733,#0C0F22 60%,#080A18);
  border-top:1px solid var(--al-border-strong);border-radius:22px 22px 0 0;
  box-shadow:0 -30px 70px -20px rgba(0,0,0,1);
  transform:translateY(100%);transition:transform 300ms cubic-bezier(.2,.7,.2,1)}
.cal-sheet.on{transform:none}
.cal-poignee{flex:0 0 auto;padding:9px 0 3px;display:flex;justify-content:center;touch-action:none;cursor:grab}
.cal-poignee i{display:block;width:44px;height:4px;border-radius:99px;background:var(--al-gold-600)}
.cal-sheet-top{flex:0 0 auto;display:flex;align-items:flex-start;gap:14px;padding:6px 20px 12px;
  border-bottom:1px solid var(--al-hairline)}
.cal-sheet-titre{flex:1 1 auto;font-family:var(--al-font-display);font-size:1.3rem;line-height:1.28;color:var(--al-ivory)}
.cal-sheet-titre em{font-style:normal;color:var(--al-gold-200)}
.cal-x{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:none;
  border:1px solid var(--al-border-strong);color:var(--al-gold-300);font-size:1.15rem;line-height:1;cursor:pointer}
.cal-x:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(212,182,120,.26)}
.cal-sheet-corps{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 20px 26px}
.cal-bloc{margin-bottom:22px}
.cal-bloc h4{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--al-gold-400);margin-bottom:9px}
.cal-resume{font-size:.94rem;color:var(--al-text-dim);line-height:1.72}
.cal-attente{display:block;border:1px dashed var(--al-border-strong);border-radius:var(--al-r-sm);
  padding:14px 15px;color:var(--al-gold-500);font-size:.8rem;line-height:1.6;letter-spacing:.04em}
.cal-types{list-style:none;margin-top:14px;padding-top:13px;border-top:1px dashed var(--al-border);display:grid;gap:9px}
.cal-types li{font-size:.83rem;color:var(--al-text-faint);line-height:1.6}
.cal-types a{white-space:nowrap}
.cal-loin{display:inline-flex;align-items:center;gap:8px;margin-top:2px;font-size:.92rem}
.cal-brique{margin-top:6px;border-top:1px solid var(--al-hairline);padding-top:18px}
.cal-brique p{font-family:var(--al-font-display);font-style:italic;font-size:1.05rem;line-height:1.5;color:var(--al-gold-200)}
.cal-brique a{display:inline-block;margin-top:10px;font-size:.88rem}
.cal-sheet-pied{padding-top:18px;margin-top:18px;border-top:1px solid var(--al-hairline);text-align:center}
.cal-sheet-pied .btn{width:100%}
.cal-vide{color:var(--al-text-faint);font-size:.9rem;line-height:1.6}


@media(min-width:880px){
  .cal-scene{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
  .cal-colg{min-width:0}
  
  .cal-cold{min-width:0}
  
  .cal-roue svg.al-roue.al-roue-vive{width:min(100%,440px)}
  .cal-voile{display:none}
  .cal-sheet{position:sticky;top:86px;left:auto;right:auto;bottom:auto;transform:none;
    max-height:calc(100vh - 110px);border-radius:var(--al-r-lg);border:1px solid var(--al-hairline);
    box-shadow:var(--al-e2);background-image:var(--al-grad-surface);background-color:rgba(8,10,24,.6)}
  .cal-poignee{display:none}
  .cal-x{display:none}
  .cal-sheet-top{padding-top:22px}
}


.cal-foot{background:var(--al-night-900);border-top:1px solid var(--al-hairline);
  padding:30px 0 34px;margin-top:64px}
.cal-foot-in{max-width:1120px;margin:0 auto;padding:0 20px;display:grid;gap:14px;text-align:center}
.cal-compteur{font-size:.78rem;color:var(--al-gold-300);letter-spacing:.06em}
.cal-compteur.rouge{color:#E8A8A0}
.cal-compteur b{font-weight:600}
.cal-foot details summary{cursor:pointer;font-size:.72rem;color:var(--al-text-faint);list-style:none}
.cal-foot details summary::-webkit-details-marker{display:none}
.cal-foot details p{font-size:.72rem;color:var(--al-text-faint);line-height:1.6;margin-top:8px}
.cal-reqs{font-size:.68rem;color:var(--al-text-faint);text-align:left;max-width:640px;margin:8px auto 0;
  word-break:break-all;line-height:1.5}

@media (prefers-reduced-motion:reduce){
  .cal-sheet,.cal-voile,.cal-point,.btn{transition:none}
}




.cal-attente{color:var(--al-text-faint);font-style:italic}
.cal-manque{color:#E8A8A0;font-size:.86rem;line-height:1.6}


.cal-point-absent{opacity:.5;cursor:default}
.cal-point-absent .cal-pt-pos{font-style:italic}

.cal-garder{margin-top:20px}
#etat-garder{margin-top:8px}


.cal-faq{margin-top:64px}
.cal-faq .d2{margin-top:18px;margin-bottom:24px}
.cal-faq .faq details{border-top:1px solid var(--al-hairline);padding:16px 0}
.cal-faq .faq details:last-child{border-bottom:1px solid var(--al-hairline)}
.cal-faq .faq summary{cursor:pointer;list-style:none;font-size:1rem;color:var(--al-ivory);
  display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.cal-faq .faq summary::-webkit-details-marker{display:none}
.cal-faq .faq summary::after{content:'+';color:var(--al-gold-400);font-size:1.2rem;line-height:1}
.cal-faq .faq details[open] summary::after{content:'–'}
.cal-faq .faq .a{margin-top:12px;color:var(--al-text-dim);font-size:.94rem;line-height:1.75}


.cal-preuve{margin-top:56px;padding:24px 0 8px;border-top:1px solid var(--al-hairline);
  display:grid;gap:12px;text-align:center}
.cal-preuve details summary{cursor:pointer;font-size:.72rem;color:var(--al-text-faint);list-style:none}
.cal-preuve details summary::-webkit-details-marker{display:none}
.cal-preuve details p{font-size:.72rem;color:var(--al-text-faint);line-height:1.6;margin-top:8px}
.cal-mentions{margin-top:4px}


.cal-offre .btn,
.cal-actions .btn,
.cal-sheet-pied .btn{white-space:normal;text-align:center;max-width:100%;height:auto}


.cal-go,
.cal-offre .btn,
.cal-sheet-pied .btn{justify-content:center}


.cal-offre .btn,
.cal-sheet-pied .btn{flex-wrap:wrap;row-gap:0}
@media(max-width:420px){
  .cal-offre .btn,
  .cal-sheet-pied .btn{padding-left:18px;padding-right:18px}
}



.cal-offre .btn[hidden],
.cal-choisie[hidden],
.cal-sheet[hidden]{display:none}
