:root{
  --booking-blue:#1677ff;
  --booking-blue-dark:#0b5fd3;
  --booking-navy:#071528;
  --booking-soft:#eef6ff;
  --booking-line:#dbe8f8;
  --booking-green:#0a9b65;
  --booking-red:#d93d3d;
  --booking-text:#122033;
  --booking-muted:#64748b;
}

.header-action.booking{background:linear-gradient(135deg,#1677ff,#0b5fd3)!important;color:#fff!important}

.booking-preview-section{background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%)}
.booking-preview-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:32px;align-items:center}
.booking-preview-copy h2{margin-top:7px}.booking-preview-copy p{max-width:720px}
.booking-hours-note,.booking-weekend-note{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:14px;margin:12px 0;background:#fff;border:1px solid var(--booking-line);color:var(--booking-text)}
.booking-hours-note i,.booking-weekend-note i{margin-top:4px;color:var(--booking-blue)}
.booking-weekend-note{margin-bottom:20px;background:#fffaf0;border-color:#f6e1b1}
.booking-preview-card{background:#fff;border:1px solid var(--booking-line);border-radius:22px;padding:22px;box-shadow:0 20px 50px rgba(15,68,130,.10)}
.booking-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}
.booking-preview-head strong{font-size:1.08rem;color:var(--booking-text)}
.live-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#ecfdf5;color:#08734d;font-weight:800;font-size:.78rem}
.live-pill i{width:8px;height:8px;border-radius:50%;background:#12b981;box-shadow:0 0 0 4px rgba(18,185,129,.13)}
.booking-preview-slots{display:grid;gap:10px;min-height:145px}
.booking-preview-slot{text-decoration:none!important;display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e6edf6;border-radius:15px;background:#fbfdff}
.booking-preview-slot .day{font-weight:900;color:var(--booking-blue);text-transform:uppercase;font-size:.74rem}
.booking-preview-slot .date{font-weight:800;color:var(--booking-text)}
.booking-preview-slot .time{font-weight:900;color:var(--booking-navy);background:#eaf3ff;padding:6px 10px;border-radius:10px}
.booking-preview-loading,.booking-preview-error{display:flex;align-items:center;justify-content:center;text-align:center;min-height:130px;color:var(--booking-muted)}
.booking-preview-error{color:#9b2c2c;background:#fff4f4;border-radius:14px;padding:12px}
.booking-preview-link{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-weight:900;color:var(--booking-blue)!important}

.booking-page{background:#f5f8fc;min-height:100vh}
.booking-hero{background:radial-gradient(circle at 85% 10%,rgba(22,119,255,.28),transparent 34%),linear-gradient(145deg,#061426 0%,#0a2448 58%,#0c3974 100%);color:#fff;padding:55px 0 42px}
.booking-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:34px;align-items:center}
.booking-hero .k{color:#93c5fd}.booking-hero h1{font-size:clamp(2rem,5vw,3.65rem);line-height:1.04;margin:8px 0 16px}.booking-hero p{font-size:1.08rem;color:#d5e5f8;max-width:760px}
.booking-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.booking-hero-badges span{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:9px 12px;border-radius:999px;font-weight:700;font-size:.9rem}
.booking-hero-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);border-radius:24px;padding:22px;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.booking-hero-card .schedule-line{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.booking-hero-card .schedule-line:last-child{border-bottom:0}.booking-hero-card strong{font-size:1rem}.booking-hero-card span{color:#d6e7ff;text-align:right}

.booking-main{padding:34px 0 70px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:25px;align-items:start}.booking-panel{background:#fff;border:1px solid #e1e9f3;border-radius:24px;box-shadow:0 16px 40px rgba(15,63,120,.08);overflow:hidden}.booking-panel-inner{padding:25px}
.booking-stepper{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e8eef6;background:#f9fbfe}.booking-step{padding:15px 10px;text-align:center;color:#7a8a9f;font-weight:800;font-size:.88rem;position:relative}.booking-step strong{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;margin-right:7px;background:#e6edf7;color:#60738b}.booking-step.active{color:var(--booking-blue);background:#f1f7ff}.booking-step.active strong,.booking-step.done strong{background:var(--booking-blue);color:#fff}.booking-step.done{color:#157957}
.booking-screen{display:none}.booking-screen.active{display:block}.booking-screen h2{font-size:1.55rem;margin:0 0 7px;color:var(--booking-text)}.booking-screen>.intro{color:var(--booking-muted);margin:0 0 20px}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.problem-option{position:relative}.problem-option input{position:absolute;opacity:0;pointer-events:none}.problem-card{height:100%;display:flex;gap:10px;align-items:center;border:2px solid #e4ebf4;border-radius:16px;padding:14px;background:#fff;cursor:pointer;transition:.18s ease}.problem-card i{width:38px;height:38px;border-radius:12px;background:#edf5ff;color:var(--booking-blue);display:flex;align-items:center;justify-content:center}.problem-card span{font-weight:850;color:var(--booking-text)}.problem-option input:checked+.problem-card{border-color:var(--booking-blue);background:#f2f7ff;box-shadow:0 0 0 3px rgba(22,119,255,.08)}
.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-field{display:grid;gap:7px}.booking-field.full{grid-column:1/-1}.booking-field label{font-weight:800;color:#23354a}.booking-field small{color:var(--booking-muted)}.booking-field input,.booking-field textarea{width:100%;border:1px solid #cfdbea;border-radius:13px;background:#fff;padding:12px 13px;font:inherit;color:var(--booking-text);outline:none;transition:.18s}.booking-field textarea{min-height:135px;resize:vertical}.booking-field input:focus,.booking-field textarea:focus{border-color:var(--booking-blue);box-shadow:0 0 0 4px rgba(22,119,255,.09)}
.address-wrap{position:relative}.address-suggestions{position:absolute;left:0;right:0;top:100%;z-index:10;background:#fff;border:1px solid #d8e2ef;border-radius:12px;box-shadow:0 18px 35px rgba(21,48,82,.16);overflow:hidden;margin-top:4px}.address-suggestion{padding:11px 12px;cursor:pointer;border-bottom:1px solid #edf1f6}.address-suggestion:last-child{border-bottom:0}.address-suggestion:hover{background:#eff6ff}.address-status{font-size:.86rem;color:var(--booking-muted);min-height:20px}.address-status.ok{color:#08734d}.address-status.error{color:#b42318}
.booking-consent{display:flex;align-items:flex-start;gap:10px;background:#f8fafc;border:1px solid #e6edf4;padding:12px;border-radius:13px;font-size:.9rem;color:#52657b}.booking-consent input{margin-top:3px}
.booking-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.booking-btn{border:0;border-radius:13px;padding:12px 17px;font:inherit;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.booking-btn.primary{background:linear-gradient(135deg,var(--booking-blue),var(--booking-blue-dark));color:#fff;box-shadow:0 10px 25px rgba(22,119,255,.22)}.booking-btn.secondary{background:#eef2f7;color:#33465c}.booking-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}

.week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 17px}.week-title{flex:1;text-align:center}.week-title strong{display:block;color:var(--booking-text);font-size:1.05rem}.week-title span{display:inline-flex;margin-top:5px;padding:5px 9px;border-radius:999px;background:#edf5ff;color:var(--booking-blue);font-size:.78rem;font-weight:900}.week-nav{width:40px;height:40px;border-radius:12px;border:1px solid #dbe5f0;background:#fff;color:var(--booking-blue);cursor:pointer}.week-nav:disabled{opacity:.35;cursor:not-allowed}
.week-rule-banner{display:flex;align-items:center;gap:10px;background:#eef6ff;border:1px solid #cfe2fb;padding:12px 14px;border-radius:14px;margin-bottom:15px;color:#244a75}.week-rule-banner i{color:var(--booking-blue)}
.days-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.day-card{border:1px solid #dfe8f3;border-radius:17px;overflow:hidden;background:#fbfdff}.day-card-head{padding:11px;background:#f3f7fc;text-align:center;border-bottom:1px solid #e6edf5}.day-card-head strong{display:block;color:#20344a}.day-card-head span{font-size:.8rem;color:#728399}.day-slots{display:grid;gap:7px;padding:9px}.slot-btn{border:1px solid #cfe0f2;border-radius:11px;background:#fff;padding:9px 7px;color:#1b4777;font-weight:850;cursor:pointer;transition:.15s}.slot-btn:hover:not(:disabled){border-color:var(--booking-blue);background:#eef6ff;transform:translateY(-1px)}.slot-btn.selected{background:var(--booking-blue);border-color:var(--booking-blue);color:#fff}.slot-btn.busy{background:#f4f5f7;border-color:#e2e5e9;color:#9aa3ae;cursor:not-allowed;text-decoration:line-through}.slot-btn.past{display:none}.day-closed{padding:18px 10px;text-align:center;color:#8a98a9;font-size:.85rem}.days-grid .day-card.today{box-shadow:0 0 0 2px rgba(22,119,255,.16)}
.weekend-box{margin-top:15px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 16px;border:1px dashed #d5c18d;background:#fffaf0;border-radius:15px}.weekend-box strong{display:block;color:#5e4821}.weekend-box span{color:#7d6a43;font-size:.9rem}
.booking-summary{margin-top:17px;background:#f7fbff;border:1px solid #d7e7f8;border-radius:16px;padding:15px}.booking-summary.empty{color:#718197}.booking-summary-row{display:flex;gap:9px;align-items:flex-start;margin:6px 0;color:#30465f}.booking-summary-row i{color:var(--booking-blue);width:19px;margin-top:4px}.booking-error{display:none;margin-top:15px;padding:12px 14px;background:#fff2f2;border:1px solid #f4c6c6;color:#9c2525;border-radius:13px}.booking-error.show{display:block}

.booking-sidebar{display:grid;gap:16px;position:sticky;top:105px}.booking-info-card{background:#fff;border:1px solid #e1e9f3;border-radius:20px;padding:19px;box-shadow:0 12px 30px rgba(15,63,120,.06)}.booking-info-card h3{margin:0 0 11px;color:var(--booking-text)}.booking-info-list{display:grid;gap:11px}.booking-info-item{display:flex;gap:10px;align-items:flex-start;color:#50637a}.booking-info-item i{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#edf5ff;color:var(--booking-blue)}.booking-status-pill{display:flex;align-items:center;gap:8px;color:#08734d;background:#ecfdf5;border-radius:999px;padding:7px 10px;font-weight:850;font-size:.83rem;width:max-content}.booking-status-pill i{font-size:.62rem}.booking-help-phone{display:flex;align-items:center;gap:12px;background:linear-gradient(145deg,#071528,#0b2d59);color:#fff!important;border-radius:18px;padding:16px;text-decoration:none!important}.booking-help-phone i{width:42px;height:42px;border-radius:13px;background:#1677ff;display:flex;align-items:center;justify-content:center}.booking-help-phone span{display:block;color:#b8cbe2;font-size:.82rem}.booking-help-phone strong{display:block;font-size:1.05rem;color:#fff}

.booking-success{display:none;text-align:center;padding:36px 20px}.booking-success.show{display:block}.success-icon{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eafbf4;color:#0b9b66;font-size:2rem;margin:0 auto 16px;box-shadow:0 0 0 10px #f4fdf9}.booking-success h2{font-size:1.75rem;color:var(--booking-text);margin:0 0 10px}.booking-success p{color:#66788c}.success-recap{max-width:520px;margin:18px auto;background:#f7fbff;border:1px solid #d9e8f8;border-radius:16px;padding:16px;text-align:left}.success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}

@media(max-width:980px){.booking-preview-shell,.booking-hero-grid,.booking-layout{grid-template-columns:1fr}.booking-sidebar{position:static;grid-template-columns:1fr 1fr}.days-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.booking-hero{padding:35px 0 28px}.booking-hero-card{display:none}.booking-main{padding-top:18px}.booking-panel-inner{padding:18px}.booking-step{font-size:0;padding:12px 6px}.booking-step strong{margin:0}.problem-grid{grid-template-columns:1fr 1fr}.booking-form-grid{grid-template-columns:1fr}.days-grid{grid-template-columns:1fr}.booking-sidebar{grid-template-columns:1fr}.weekend-box{align-items:flex-start;flex-direction:column}.booking-actions{flex-direction:column-reverse}.booking-actions .booking-btn{width:100%}.booking-preview-shell{gap:20px}.booking-preview-slot{grid-template-columns:47px 1fr auto}}
@media(max-width:460px){.problem-grid{grid-template-columns:1fr}.booking-preview-slot{grid-template-columns:1fr auto}.booking-preview-slot .day{grid-column:1/-1}.booking-preview-head{align-items:flex-start;flex-direction:column}.booking-hero h1{font-size:2.1rem}}


/* ==========================================================
   RDV MOBILE COMPACT PREMIUM
   Sur smartphone : 5 jours en haut + uniquement les créneaux libres.
   La version PC reste inchangée.
   ========================================================== */
.mobile-compact-week{display:none}

@media(max-width:720px){

  /* La réservation devient une vraie interface mobile compacte */
  .booking-main{
    padding-top:10px!important;
  }

  .booking-layout{
    gap:10px!important;
  }

  .booking-panel{
    border-radius:20px!important;
  }

  .booking-panel-inner{
    padding:14px!important;
  }

  .booking-screen[data-step="3"] > h2{
    margin:0 0 5px!important;
    font-size:1.35rem!important;
    line-height:1.15!important;
  }

  .booking-screen[data-step="3"] > .intro{
    margin:0 0 12px!important;
    font-size:.78rem!important;
    line-height:1.42!important;
    color:#728198!important;
  }

  /* Navigation semaine compacte */
  .week-toolbar{
    margin:4px 0 9px!important;
    gap:8px!important;
  }

  .week-nav{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
  }

  .week-title strong{
    font-size:.88rem!important;
  }

  .week-title span{
    margin-top:3px!important;
    padding:4px 7px!important;
    font-size:.63rem!important;
  }

  .week-rule-banner{
    margin-bottom:10px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
    gap:7px!important;
    font-size:.71rem!important;
    line-height:1.35!important;
  }

  /* Anciennes grosses cartes jour : cachées uniquement sur mobile */
  .days-grid{
    display:none!important;
  }

  .mobile-compact-week{
    display:block!important;
  }

  /* 5 jours dans une seule ligne */
  .mobile-day-picker{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:5px;
    margin-bottom:9px;
  }

  .mobile-day-chip{
    min-width:0;
    min-height:65px;
    border:1px solid #dce6f1;
    border-radius:14px;
    padding:7px 2px 6px;
    background:#f8fafc;
    color:#66778c;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    cursor:pointer;
  }

  .mobile-day-chip .mobile-day-name{
    font-size:.57rem;
    line-height:1;
    font-weight:950;
    text-transform:uppercase;
  }

  .mobile-day-chip strong{
    color:#26384f;
    font-size:1rem;
    line-height:1.15;
  }

  .mobile-day-chip .mobile-day-count{
    margin-top:2px;
    font-size:.52rem;
    line-height:1;
    font-weight:850;
    white-space:nowrap;
  }

  .mobile-day-chip.has-free .mobile-day-count{
    color:#08734d;
  }

  .mobile-day-chip.is-full{
    opacity:.62;
  }

  .mobile-day-chip.is-full .mobile-day-count{
    color:#8c98a7;
  }

  .mobile-day-chip.today:not(.selected){
    box-shadow:inset 0 0 0 2px rgba(22,119,255,.18);
  }

  .mobile-day-chip.selected{
    border-color:#1780ff;
    background:linear-gradient(145deg,#1680ff,#0b61d1);
    box-shadow:0 8px 19px rgba(22,119,255,.25);
    color:#dcebff;
  }

  .mobile-day-chip.selected strong,
  .mobile-day-chip.selected .mobile-day-count{
    color:#fff;
  }

  /* Un seul bloc de créneaux */
  .mobile-slot-panel{
    border:1px solid #dce7f3;
    border-radius:17px;
    padding:12px;
    background:linear-gradient(180deg,#fff,#f8fbff);
    box-shadow:0 8px 24px rgba(31,64,103,.06);
  }

  .mobile-slot-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
  }

  .mobile-slot-head small{
    display:block;
    margin-bottom:2px;
    color:#8492a4;
    font-size:.58rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
  }

  .mobile-slot-head strong{
    display:block;
    color:#24364d;
    font-size:.91rem;
    line-height:1.15;
  }

  .mobile-free-pill,
  .mobile-full-pill{
    flex:0 0 auto;
    padding:5px 8px;
    border-radius:999px;
    font-size:.59rem;
    font-weight:950;
  }

  .mobile-free-pill{
    background:#e9f9f1;
    color:#08734d;
  }

  .mobile-full-pill{
    background:#f0f2f5;
    color:#7d8998;
  }

  .mobile-free-slots{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .mobile-slot-btn{
    min-height:48px;
    border:1px solid #cfe0f2;
    border-radius:13px;
    background:#fff;
    color:#174d84;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font:inherit;
    cursor:pointer;
  }

  .mobile-slot-btn i{
    color:#6d9ed2;
  }

  .mobile-slot-btn strong{
    font-size:.98rem;
  }

  .mobile-slot-btn.selected{
    color:#fff;
    border-color:#1677ff;
    background:linear-gradient(135deg,#1680ff,#0b61d1);
    box-shadow:0 8px 18px rgba(22,119,255,.22);
  }

  .mobile-slot-btn.selected i{
    color:#fff;
  }

  .mobile-reserved-note{
    display:flex;
    align-items:flex-start;
    gap:7px;
    margin-top:9px;
    color:#8390a2;
    font-size:.62rem;
    line-height:1.35;
  }

  .mobile-reserved-note i{
    margin-top:1px;
    color:#6b9dd4;
  }

  .mobile-no-slot{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px;
    border-radius:13px;
    background:#f6f8fb;
    color:#78879a;
  }

  .mobile-no-slot > i{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#8394a9;
    background:#ebeff4;
  }

  .mobile-no-slot strong{
    display:block;
    color:#566579;
    font-size:.78rem;
  }

  .mobile-no-slot span{
    display:block;
    margin-top:2px;
    font-size:.65rem;
  }

  /* Le gros bloc samedi devient une seule ligne compacte */
  .weekend-box{
    margin-top:9px!important;
    padding:10px!important;
    border-radius:13px!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    gap:9px!important;
  }

  .weekend-box strong{
    font-size:.75rem!important;
  }

  .weekend-box span{
    display:none!important;
  }

  .weekend-box .booking-btn{
    width:auto!important;
    min-height:36px!important;
    padding:8px 10px!important;
    font-size:.68rem!important;
  }

  /* Récapitulatif beaucoup plus compact */
  .booking-summary{
    margin-top:9px!important;
    padding:11px!important;
    border-radius:13px!important;
  }

  .booking-summary.empty{
    font-size:.72rem!important;
    padding:10px 11px!important;
  }

  .booking-summary-row{
    margin:4px 0!important;
    gap:7px!important;
    font-size:.72rem!important;
    line-height:1.35!important;
  }

  .booking-summary-row i{
    margin-top:2px!important;
  }

  .booking-actions{
    margin-top:10px!important;
    gap:7px!important;
  }

  .booking-actions .booking-btn{
    min-height:46px!important;
  }

  /* Les informations annexes ne rallongent plus la page sur mobile */
  .booking-sidebar{
    display:none!important;
  }
}

@media(max-width:390px){
  .mobile-day-picker{gap:3px}
  .mobile-day-chip{
    min-height:61px;
    border-radius:12px;
  }
  .mobile-day-chip .mobile-day-count{
    font-size:.49rem;
  }
}


/* ==========================================================
   CORRECTIF V3 — SUGGESTIONS D'ADRESSE LISIBLES
   Le site principal utilise du texte blanc par défaut.
   Les suggestions avaient donc du texte blanc sur fond blanc.
   ========================================================== */
.address-suggestions:empty{
  display:none !important;
}

.address-suggestions:not(:empty){
  display:block !important;
  color:var(--booking-text) !important;
}

.address-suggestion{
  color:var(--booking-text) !important;
  background:#fff !important;
  font-weight:650 !important;
  line-height:1.3 !important;
}

.address-suggestion:hover,
.address-suggestion:active{
  color:#0b4f99 !important;
  background:#edf5ff !important;
}

@media(max-width:720px){
  .address-suggestions:not(:empty){
    max-height:235px !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    border-radius:14px !important;
    box-shadow:0 16px 35px rgba(15,45,80,.18) !important;
  }

  .address-suggestion{
    min-height:0 !important;
    padding:10px 12px !important;
    font-size:.82rem !important;
    line-height:1.28 !important;
  }
}


/* ==========================================================
   SÉCURITÉ ANTI-FAUX RDV — VÉRIFICATION SMS
   ========================================================== */
.booking-verification{
  display:none;
  text-align:center;
  padding:30px;
  border:1px solid #d7e5f4;
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 0%,rgba(22,119,255,.12),transparent 32%),
    linear-gradient(160deg,#fff,#f7fbff);
  box-shadow:0 18px 42px rgba(25,61,102,.09);
}
.booking-verification.show{display:block}

.verification-shield{
  width:64px;
  height:64px;
  margin:0 auto 12px;
  border-radius:20px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(145deg,#1680ff,#0b60cf);
  box-shadow:0 12px 25px rgba(22,119,255,.25);
  font-size:1.55rem;
}
.verification-kicker{
  display:block;
  margin-bottom:5px;
  color:#1372dd;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.booking-verification h2{
  margin:0 0 8px;
  color:#1b2f48;
  font-size:1.65rem;
}
.booking-verification > p{
  max-width:540px;
  margin:0 auto;
  color:#708096;
  line-height:1.55;
}
.verification-code-wrap{
  max-width:330px;
  margin:22px auto 10px;
}
.verification-code{
  width:100%;
  min-height:72px;
  border:2px solid #cfe0f2!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#183451!important;
  box-shadow:0 10px 25px rgba(20,58,99,.06)!important;
  text-align:center;
  font-size:2rem!important;
  font-weight:950!important;
  letter-spacing:.34em;
  padding-left:.34em!important;
}
.verification-code:focus{
  border-color:#1680ff!important;
  outline:4px solid rgba(22,128,255,.11)!important;
}
.verification-message{
  min-height:22px;
  margin:7px 0;
  color:#667990;
  font-size:.78rem;
  font-weight:800;
}
.verification-message.error{color:#bd2b2b}
.verification-message.ok{color:#08734d}
.verification-timer{
  width:max-content;
  margin:8px auto 16px;
  padding:6px 10px;
  border-radius:999px;
  color:#60748a;
  background:#edf4fb;
  font-size:.7rem;
  font-weight:900;
}
.verification-submit{
  width:min(100%,330px);
  min-height:52px;
}
.verification-secondary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:10px;
  flex-wrap:wrap;
}
.verification-secondary .booking-btn{
  min-height:42px;
  padding:9px 13px;
  font-size:.72rem;
}
.booking-link-btn{
  border:0;
  background:transparent;
  color:#59718c;
  padding:9px;
  font:inherit;
  font-size:.72rem;
  font-weight:850;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.verification-trust{
  max-width:470px;
  margin:18px auto 0;
  padding:10px 12px;
  border-radius:13px;
  color:#667990;
  background:#eef6ff;
  font-size:.68rem;
  line-height:1.4;
}
.verification-trust i{
  margin-right:5px;
  color:#1677ff;
}

@media(max-width:720px){
  .booking-verification{
    padding:20px 14px;
    border-radius:20px;
  }
  .verification-shield{
    width:56px;
    height:56px;
    border-radius:17px;
    font-size:1.3rem;
  }
  .booking-verification h2{
    font-size:1.34rem;
  }
  .booking-verification > p{
    font-size:.78rem;
  }
  .verification-code{
    min-height:64px;
    font-size:1.7rem!important;
    border-radius:16px!important;
  }
  .verification-secondary{
    display:grid;
    grid-template-columns:1fr;
  }
  .verification-secondary .booking-btn,
  .booking-link-btn{
    width:100%;
  }
}
