/* helicoptere-core — modal de réservation + jauge (indépendant du thème :
   les tokens ont des valeurs de repli si le thème ne les définit pas) */
.overlay{
  position:fixed;inset:0;z-index:100;
  background:rgba(16,18,20,.66);backdrop-filter:blur(4px);
  display:none;align-items:flex-end;justify-content:center;
  padding:0;
}
.overlay.open{display:flex}
/* Connecté : la barre d'admin WP (fixe, z-index supérieur) recouvrait le haut
   du modal, qui devenait inatteignable au scroll. */
body.admin-bar .overlay{top:32px}
@media(max-width:782px){body.admin-bar .overlay{top:46px}}
@media(min-width:701px){
  .overlay{align-items:center;padding:30px}
  /* 92vh + 2×30px de padding dépassait l'écran : le haut du panneau était
     rogné sans scroll possible. On borne à la hauteur réellement disponible. */
  .modal{max-height:calc(100dvh - 92px)}
}
.modal{
  background:var(--creme,#F7F5F1);color:var(--encre,#23272C);
  width:100%;max-width:620px;max-height:92vh;overflow-y:auto;
  border-radius:22px 22px 0 0;
  padding:26px 24px 30px;position:relative;
  font-family:'Inter',system-ui,sans-serif;line-height:1.6;
}
@media(min-width:701px){.modal{border-radius:22px;padding:32px 34px 36px}.modal-close{margin:-18px -20px -20px auto}}
.modal:focus{outline:none}
/* Mobile : poignée en haut de la feuille, on la tire vers le bas pour fermer
   (ou on touche la zone sombre au-dessus). Invisible sur ordinateur. */
.m-handle{display:none}
@media (max-width:700px){
  .m-handle{display:block;width:44px;height:5px;border-radius:999px;background:#D6D1C6;margin:-12px auto 14px}
  .modal{touch-action:pan-y}
}
.m-eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--orange-deep,#D9660F);display:block;margin-bottom:8px;
}
.modal h3{font-family:'Archivo Black',sans-serif;font-size:1.25rem;text-transform:uppercase;margin:0 0 4px;padding-right:0}
.m-sub{font-size:.88rem;color:var(--gris,#6A7178);margin:0 0 18px}
.panel{
  background:var(--charbon,#16181B);border-radius:14px;
  display:flex;align-items:center;gap:20px;
  padding:14px 20px;margin-bottom:20px;
}
.gauge{width:92px;height:92px;flex-shrink:0}
.gauge .g-face{fill:var(--panneau,#20242A);stroke:var(--ligne-dark,#343A42);stroke-width:2}
.gauge .g-tick{stroke:#5A616A;stroke-width:2}
.gauge .g-tick.major{stroke:#C9CDD2;stroke-width:2.5}
.gauge .g-needle{stroke:var(--orange,#F57F29);stroke-width:3;stroke-linecap:round;transition:transform .7s cubic-bezier(.2,.8,.3,1);transform-origin:50px 50px}
.gauge .g-hub{fill:var(--orange,#F57F29)}
.gauge text{fill:#C9CDD2;font-family:'JetBrains Mono',monospace;font-size:9px}
.panel-read{display:flex;flex-direction:column;gap:2px;color:#C9CDD2;font-family:'JetBrains Mono',monospace}
.panel-read .lab{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#8A9098}
.panel-read .val{font-size:1.5rem;font-weight:700;color:var(--blanc,#fff)}
.panel-read .val b{color:var(--orange,#F57F29);font-weight:700}
.panel-read .tot{font-size:.72rem;color:#8A9098}
.opt-group{margin-bottom:18px}
.opt-lab{font-weight:700;font-size:.92rem;margin-bottom:10px;display:block}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:520px){.opts{grid-template-columns:1fr}}
.opt{
  text-align:left;background:var(--blanc,#fff);border:2px solid var(--ligne,#E6E2D9);border-radius:12px;
  padding:13px 15px;display:flex;flex-direction:column;gap:2px;cursor:pointer;font:inherit;
  color:var(--encre,#23272C);
  transition:border-color .15s ease;
}
.opt:hover,.opt:focus{border-color:#C8C2B4;background:var(--blanc,#fff);color:var(--encre,#23272C)}
.opt.sel{border-color:var(--orange,#F57F29);box-shadow:0 0 0 3px rgba(245,127,41,.18)}
.opt b{font-size:.94rem}
.opt small{font-size:.78rem;color:var(--gris,#6A7178)}
.opt .op{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.85rem;color:var(--orange-deep,#D9660F)}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.dchip{
  background:var(--blanc,#fff);border:2px solid var(--ligne,#E6E2D9);border-radius:999px;
  padding:9px 16px;font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:700;
  display:inline-flex;gap:8px;align-items:center;cursor:pointer;
  color:var(--encre,#23272C);
  transition:border-color .15s ease;
}
.dchip:hover,.dchip:focus{border-color:#C8C2B4;background:var(--blanc,#fff);color:var(--encre,#23272C)}
.dchip.sel{border-color:var(--orange,#F57F29);background:#FFF3E8}
.dchip.sel:hover,.dchip.sel:focus{background:#FFF3E8}
.dchip small{font-weight:400;color:var(--gris,#6A7178)}
.dchip .dp{color:var(--orange-deep,#D9660F);font-weight:700;margin-left:2px}
.m-note{font-size:.8rem;color:var(--gris,#6A7178);margin-top:12px;line-height:1.5}
.m-actions{display:flex;gap:12px;margin-top:22px;align-items:center;flex-wrap:wrap}
.m-actions .btn{flex:1;min-width:180px}
/* Mobile : le bouton principal prend toute la largeur, Retour passe dessous */
@media (max-width:480px){.m-actions{flex-direction:column-reverse;align-items:stretch;gap:4px}.m-actions .btn{width:100%}.m-actions .m-back{text-align:center}}
.m-back{font-weight:600;color:var(--gris,#6A7178);padding:12px 6px;background:none;border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:inherit}
.m-back:hover,.m-back:focus,.m-back:active{background:none;color:var(--encre,#23272C)}
.field{margin-bottom:14px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.date-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;margin-bottom:10px}
.date-row input[type=date]{min-width:0}
.date-row input,.date-row select{width:100%;padding:12px 14px;border-radius:10px;border:2px solid var(--ligne,#E6E2D9);font:inherit;background:var(--blanc,#fff);color:var(--encre,#23272C);min-height:50px}
.date-row select{-webkit-appearance:none;appearance:none;padding-right:42px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%236A7178' stroke-width='2' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.date-row input:focus,.date-row select:focus{outline:none;border-color:var(--orange,#F57F29)}
@media (max-width:480px){.date-row{grid-template-columns:minmax(0,1fr) 136px;gap:8px}.date-row input,.date-row select{padding:12px 10px}.date-row select{padding-right:34px;background-position:right 10px center}}
@media (max-width:480px){.field-row{grid-template-columns:1fr}}
.field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px}
.field input{
  width:100%;padding:13px 15px;border-radius:10px;border:2px solid var(--ligne,#E6E2D9);
  font:inherit;background:var(--blanc,#fff);color:var(--encre,#23272C);
}
.field input:focus{outline:none;border-color:var(--orange,#F57F29)}
#f-projet{
  width:100%;padding:13px 15px;border-radius:10px;border:2px solid var(--ligne,#E6E2D9);
  font:inherit;background:var(--blanc,#fff);color:var(--encre,#23272C);resize:vertical;
}
#f-projet:focus{outline:none;border-color:var(--orange,#F57F29)}
/* Champs du modal : fond blanc et coins arrondis quel que soit le style de formulaire du thème (GP pose ses propres règles sur input[type=...]) */
.overlay input:not([type=checkbox]):not([type=radio]),.overlay select,.overlay textarea{background:var(--blanc,#fff)!important;border-radius:10px!important;border:2px solid var(--ligne,#E6E2D9)!important;color:var(--encre,#23272C)!important;box-shadow:none!important}
.overlay input:focus,.overlay select:focus,.overlay textarea:focus{border-color:var(--orange,#F57F29)!important;outline:none!important}
/* l'attribut hidden doit toujours gagner, même sur les blocs posés en flex */
.overlay [hidden]{display:none!important}
/* « Ce vol est… » : mêmes chips que les durées, aide et champ référence dessous */
.who-group{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--ligne,#E6E2D9)}
.who-help{font-size:.86rem;color:var(--gris,#6A7178);line-height:1.5;margin:10px 0 0}
.who-bon{margin:12px 0 0}
.who-bon input{font-family:'JetBrains Mono',monospace;letter-spacing:.04em;text-transform:uppercase}
.recap{
  background:var(--blanc,#fff);border:1px solid var(--ligne,#E6E2D9);border-radius:12px;
  padding:16px 18px;margin:16px 0;font-size:.9rem;text-align:left;
}
.recap .rrow{display:flex;justify-content:space-between;gap:14px;padding:5px 0;border-bottom:1px dashed var(--ligne,#E6E2D9)}
.recap .rrow:last-child{border-bottom:none}
.recap .rrow b{font-family:'JetBrains Mono',monospace}
.success{text-align:center;padding:16px 0 6px}
.success .ok-ico{
  width:74px;height:74px;border-radius:50%;background:var(--orange,#F57F29);
  display:flex;align-items:center;justify-content:center;margin:0 auto 20px;
  font-size:2rem;color:var(--charbon,#16181B);
}
.success h3{padding-right:0}

/* Fallback bouton si le thème ne définit pas .btn (plugin autonome) */
.modal button.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--orange,#F57F29);color:var(--charbon,#16181B);font-weight:700;font-size:1rem;padding:15px 28px;border-radius:999px;border:2px solid var(--orange,#F57F29);cursor:pointer;font-family:inherit}
.modal button.btn:hover{background:var(--orange-deep,#D9660F);border-color:var(--orange-deep,#D9660F)}

.photo-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:2px solid var(--ligne,#E6E2D9);border-radius:12px;background:var(--blanc,#fff);cursor:pointer;font-size:.95rem;line-height:1.4}
.photo-opt input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--orange,#F57F29)}
