/* ==========================================================================
   Anao Booking — styles scopés .anao-*  (n'impacte pas le thème)
   Charte : bleu marine #1b3b5f. Modale slide-up mobile.
   ========================================================================== */

.anao-booking-scope,
#anao-ov,
#anao-ov *{ box-sizing:border-box; }

/* variables locales */
#anao-ov{
  --anao-marine:#1b3b5f; --anao-marine-soft:#2c5a8a; --anao-sand:#c9a86a;
  --anao-sand-soft:#e7d8bd; --anao-bg:#f6f6f3; --anao-line:#e3e3e3;
  --anao-ok:#2e7d52; --anao-err:#b23a3a;
}

/* ---- Bouton déclencheur (shortcode / bloc) ---- */
.anao-btn-reserve{
  display:inline-block; border:0; cursor:pointer;
  background:#c9a86a; color:#1b3b5f; font-weight:700;
  padding:15px 34px; border-radius:40px; font-size:16px; letter-spacing:.02em;
  box-shadow:0 8px 24px rgba(0,0,0,.18); transition:transform .15s, background .2s;
  font-family:inherit; line-height:1.2; text-align:center; text-decoration:none;
}
.anao-btn-reserve:hover{ transform:translateY(-2px); background:#d8b878; color:#1b3b5f; }

/* ---- Overlay + modale ---- */
.anao-ov{
  position:fixed; inset:0; background:rgba(8,18,30,.6);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  display:none; align-items:flex-end; justify-content:center; z-index:99999; padding:0;
}
.anao-ov.anao-open{ display:flex; }
@media(min-width:640px){ .anao-ov{ align-items:center; padding:24px; } }

.anao-modal{
  background:#fff; width:100%; max-width:520px; max-height:94vh; overflow:hidden;
  border-radius:18px 18px 0 0; display:flex; flex-direction:column;
  animation:anao-slideup .28s ease; color:var(--anao-marine);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media(min-width:640px){ .anao-modal{ border-radius:16px; } }
@keyframes anao-slideup{ from{transform:translateY(40px);opacity:.6} to{transform:none;opacity:1} }

.anao-modal-head{
  padding:18px 20px 12px; border-bottom:1px solid var(--anao-line); position:relative;
  background:var(--anao-marine); color:#fff;
}
.anao-modal-head .anao-title{ font-size:13px; letter-spacing:.28em; opacity:.8; text-transform:uppercase; }
.anao-modal-head .anao-step-label{ font-size:19px; font-weight:600; margin-top:4px; }
.anao-modal-close{
  position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:50%;
  border:0; background:rgba(255,255,255,.15); color:#fff; font-size:18px; cursor:pointer; line-height:1;
}

.anao-progress{ display:flex; gap:6px; padding:14px 20px 0; background:var(--anao-marine); }
.anao-progress .anao-dot{ flex:1; height:4px; border-radius:3px; background:rgba(255,255,255,.25); }
.anao-progress .anao-dot.anao-done{ background:var(--anao-sand); }
.anao-progress .anao-dot.anao-cur{ background:#fff; }

.anao-modal-body{ padding:20px; overflow-y:auto; }
.anao-modal-body .anao-q{ font-size:17px; font-weight:600; margin:0 0 14px; color:var(--anao-marine); }
.anao-modal-body .anao-hint{ font-size:13px; color:#6b7785; margin:-6px 0 16px; }
.anao-badge-min{
  display:inline-block; background:#fff7e6; color:#7a5c00; font-style:italic;
  font-size:12.5px; padding:6px 12px; border-radius:6px; margin-bottom:14px;
}
.anao-field-err{ color:var(--anao-err); font-size:13px; margin:8px 0 0; min-height:0; }

/* Cartes à cocher */
.anao-choice{
  display:flex; align-items:center; gap:14px; border:2px solid var(--anao-line); border-radius:12px;
  padding:16px; margin-bottom:12px; cursor:pointer; transition:.15s; background:#fff;
}
.anao-choice:hover{ border-color:var(--anao-sand-soft); }
.anao-choice.anao-sel{ border-color:var(--anao-marine); background:#f4f8fc; }
.anao-choice .anao-ic{ font-size:26px; width:34px; text-align:center; }
.anao-choice .anao-tx b{ display:block; font-size:16px; }
.anao-choice .anao-tx span{ font-size:13px; color:#6b7785; }
.anao-choice .anao-chk{
  margin-left:auto; width:24px; height:24px; border-radius:6px; border:2px solid var(--anao-line);
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:14px;
}
.anao-choice.anao-sel .anao-chk{ background:var(--anao-marine); border-color:var(--anao-marine); }

.anao-modal-body label.anao-fld{ display:block; font-size:13.5px; font-weight:600; color:var(--anao-marine); margin:14px 0 6px; }
.anao-modal-body input,
.anao-modal-body select,
.anao-modal-body textarea{
  width:100%; padding:12px 13px; border:1.5px solid var(--anao-line); border-radius:10px;
  font-size:15px; color:var(--anao-marine); background:#fff; font-family:inherit;
}
.anao-modal-body input:focus,
.anao-modal-body select:focus,
.anao-modal-body textarea:focus{ outline:none; border-color:var(--anao-sand); }
.anao-modal-body textarea{ min-height:80px; resize:vertical; }
.anao-row2{ display:flex; gap:10px; }
.anao-row2>div{ flex:1; }

/* créneaux */
.anao-slots{ display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:8px; }
.anao-slots button{
  border:1.5px solid var(--anao-line); background:#fff; color:var(--anao-marine);
  padding:9px 0; border-radius:8px; font-size:13.5px; cursor:pointer;
}
.anao-slots button.anao-sel{ background:var(--anao-marine); color:#fff; border-color:var(--anao-marine); }
.anao-svc-block{ border:1px solid var(--anao-line); border-radius:12px; padding:14px; margin-bottom:14px; background:var(--anao-bg); }
.anao-svc-block h4{ margin:0 0 4px; color:var(--anao-marine); }

/* tel + pays (intl-tel-input) */
.anao-tel{ display:block; }
.anao-tel .iti{ width:100%; }
.anao-child{ background:var(--anao-bg); border:1px solid var(--anao-line); border-radius:10px; padding:10px 12px; margin-bottom:8px; }
.anao-child b{ font-size:13px; color:var(--anao-marine); }

/* récap */
.anao-recap{ background:var(--anao-bg); border:1px solid var(--anao-line); border-radius:12px; padding:16px; }
.anao-recap .anao-line{ display:flex; justify-content:space-between; padding:7px 0; border-bottom:1px dashed var(--anao-line); font-size:14px; }
.anao-recap .anao-line:last-child{ border:0; }
.anao-recap .anao-line span:first-child{ color:#6b7785; }
.anao-recap .anao-line span:last-child{ font-weight:600; text-align:right; max-width:60%; }

.anao-modal-foot{ padding:14px 20px; border-top:1px solid var(--anao-line); display:flex; gap:10px; background:#fff; }
.anao-btn{ flex:1; padding:14px; border-radius:10px; border:0; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; }
.anao-btn-prev{ background:#eef0f2; color:var(--anao-marine); flex:0 0 92px; }
.anao-btn-next{ background:var(--anao-marine); color:#fff; }
.anao-btn-next:disabled{ opacity:.4; cursor:not-allowed; }
.anao-btn-send{ background:var(--anao-ok); color:#fff; }
.anao-sent{ text-align:center; padding:28px 16px 12px; }
.anao-sent .anao-ico{ font-size:54px; }
.anao-sent h3{ color:var(--anao-marine); margin:12px 0 6px; font-size:20px; }
.anao-sent p{ color:#6b7785; }
.anao-sent .anao-sent-msg{ color:#42505e; font-size:14.5px; line-height:1.5; margin:0 auto 18px; max-width:42ch; }
.anao-sent-info{
  text-align:left; background:var(--anao-bg); border:1px solid var(--anao-line); border-radius:10px;
  padding:16px 18px; margin-top:6px; color:var(--anao-marine);
  font-size:13.5px; line-height:1.55; white-space:pre-line; word-break:break-word;
}
.anao-hide{ display:none !important; }

/* intl-tel-input : dropdown au-dessus de la modale */
.iti__country-list{ z-index:100001; }
.iti--container{ z-index:100002; }
