.hab-booking-shell{max-width:1280px;margin:34px auto;padding:0 16px}.hab-booking-app{display:grid;grid-template-columns:360px minmax(0,1fr);gap:28px;align-items:start}.hab-app-left{position:sticky;top:24px;border-radius:32px;padding:32px;background:radial-gradient(circle at top left,#25345f 0%,#111827 48%,#0b1120 100%);color:#fff;box-shadow:0 32px 80px rgba(2,6,23,.28)}.hab-brand-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hab-app-left h2{font-size:38px;line-height:1.02;margin:18px 0 12px;color:#fff}.hab-app-subtitle{margin:0 0 24px;color:rgba(255,255,255,.8);font-size:15px;line-height:1.65}.hab-meta-list{display:grid;gap:12px;margin-bottom:24px}.hab-meta-item{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.hab-meta-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#fff;color:#111827;font-size:18px}.hab-meta-item strong{display:block;font-size:14px}.hab-meta-item small{display:block;margin-top:3px;color:rgba(255,255,255,.72);font-size:13px}.hab-selection-card{margin-top:10px;padding:18px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.hab-selection-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:rgba(255,255,255,.72);margin-bottom:12px}.hab-selection-empty{color:rgba(255,255,255,.72);font-size:14px;line-height:1.5}.hab-selection-filled{display:grid;gap:10px}.hab-selection-line{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08)}.hab-selection-line span{color:rgba(255,255,255,.72);font-size:13px}.hab-selection-line strong{color:#fff;font-size:14px}.hab-app-right{min-width:0}.hab-step-shell{display:grid;gap:18px}.hab-step-panel{background:#fff;border:1px solid #e6edf5;border-radius:30px;padding:28px;box-shadow:0 18px 60px rgba(15,23,42,.06);opacity:.72;transform:scale(.995);transition:.2s ease}.hab-step-panel.is-active{opacity:1;transform:scale(1)}.hab-step-head{margin-bottom:18px}.hab-step-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.hab-step-head h3{margin:12px 0 8px;font-size:28px;line-height:1.1;color:#111827}.hab-step-head p{margin:0;color:#667085;font-size:15px;line-height:1.6}.hab-date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.hab-date-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:122px;padding:16px 10px;border-radius:24px;border:1px solid #d7dfeb;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);cursor:pointer;transition:.2s ease;box-shadow:0 8px 20px rgba(15,23,42,.04)}.hab-date-card:hover{transform:translateY(-2px);border-color:#111827}.hab-date-card.is-active{background:#111827;border-color:#111827;color:#fff;box-shadow:0 20px 36px rgba(17,24,39,.18)}.hab-date-card__dow{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.08em;opacity:.75}.hab-date-card__day{font-size:32px;font-weight:900;line-height:1}.hab-date-card__month{text-transform:uppercase;font-size:12px;font-weight:800;opacity:.8}.hab-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hab-slot-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:20px;border:1px solid #d5dbe6;background:#fff;cursor:pointer;transition:.2s ease;box-shadow:0 6px 16px rgba(15,23,42,.03)}.hab-slot-row:hover{transform:translateY(-1px);border-color:#111827}.hab-slot-row.is-selected{background:#111827;color:#fff;border-color:#111827;box-shadow:0 18px 30px rgba(17,24,39,.16)}.hab-slot-row__main{font-size:16px;font-weight:800}.hab-slot-row__arrow{font-size:18px;opacity:.75}.hab-slots-loading,.hab-slots-empty{grid-column:1/-1;padding:16px 18px;border-radius:16px;background:#f8fafc;color:#475467;border:1px dashed #d0d5dd}.hab-confirm-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}.hab-confirm-pill{padding:14px 16px;border-radius:18px;background:#f8fbff;border:1px solid #e6edf5}.hab-confirm-pill span{display:block;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.04em;color:#64748b}.hab-confirm-pill strong{display:block;margin-top:6px;font-size:15px;color:#111827}.hab-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hab-field label{display:block;margin-bottom:8px;color:#344054;font-weight:700}.hab-field input{width:100%;padding:16px;border:1px solid #d0d5dd;border-radius:18px;background:#fff;font-size:15px;transition:.2s ease}.hab-field input:focus{outline:none;border-color:#111827;box-shadow:0 0 0 4px rgba(17,24,39,.06)}.hab-message{min-height:24px;margin:16px 0 0}.hab-success{background:#ecfdf3;color:#067647;border:1px solid #abefc6;padding:12px 14px;border-radius:14px}.hab-error{background:#fef3f2;color:#b42318;border:1px solid #fecdca;padding:12px 14px;border-radius:14px}.hab-submit-wrap{margin-top:18px}.hab-btn{border:0;border-radius:18px;padding:16px 24px;font-weight:800;cursor:pointer;font-size:15px}.hab-btn-primary{background:#111827;color:#fff;box-shadow:0 16px 26px rgba(17,24,39,.15)}.hab-btn-primary:hover{transform:translateY(-1px)}.hab-modal{position:fixed;inset:0;z-index:99999}.hab-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}.hab-modal-dialog{position:relative;max-width:560px;margin:7vh auto;background:#fff;border-radius:28px;padding:30px;box-shadow:0 30px 80px rgba(2,6,23,.28);z-index:2}.hab-modal-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:999px;border:0;background:#f3f4f6;font-size:26px;line-height:1;cursor:pointer}.hab-modal-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:34px;font-weight:900;margin-bottom:16px}.hab-modal-dialog h3{margin:0 0 8px;font-size:30px;line-height:1.1;color:#111827}.hab-modal-lead{margin:0 0 18px;color:#667085;font-size:15px}.hab-modal-summary{display:grid;gap:12px;margin:0 0 18px}.hab-modal-summary div{padding:14px 16px;border-radius:18px;background:#f8fbff;border:1px solid #e6edf5}.hab-modal-summary span{display:block;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.04em;color:#64748b}.hab-modal-summary strong{display:block;margin-top:6px;font-size:16px;color:#111827}.hab-modal-note{margin:0 0 8px;color:#111827;font-size:15px}.hab-modal-note-secondary{color:#667085}.hab-modal-actions{margin-top:18px}body.hab-modal-open{overflow:hidden}@media (max-width:1100px){.hab-booking-app{grid-template-columns:1fr}.hab-app-left{position:relative;top:0}.hab-date-strip{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:820px){.hab-date-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.hab-slots{grid-template-columns:1fr}.hab-contact-grid,.hab-confirm-summary{grid-template-columns:1fr}.hab-app-left h2{font-size:32px}.hab-step-head h3{font-size:24px}.hab-modal-dialog{margin:4vh 16px}}@media (max-width:520px){.hab-date-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.hab-step-panel,.hab-app-left,.hab-modal-dialog{padding:22px}}.hab-modal-close{display:flex;align-items:center;justify-content:center;width:64px;height:36px;border-radius:999px;right:18px;top:18px;font-size:22px;line-height:1;font-weight:800}
.hab-btn-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.hab-final-success{background:#fff;border:1px solid #e6edf5;border-radius:30px;padding:42px 34px;box-shadow:0 18px 60px rgba(15,23,42,.06);text-align:center}
.hab-final-success__icon{display:grid;place-items:center;width:78px;height:78px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:42px;font-weight:900;margin:0 auto 18px}
.hab-final-success h2{margin:0 0 10px;font-size:40px;line-height:1.06;color:#111827}
.hab-final-success__lead{max-width:700px;margin:0 auto 26px;color:#667085;font-size:18px;line-height:1.6}
.hab-final-success__summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin:0 auto 24px}
.hab-final-success__item{padding:20px 22px;border-radius:22px;background:#f8fbff;border:1px solid #e6edf5;text-align:left}
.hab-final-success__item span{display:block;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.06em;color:#64748b}
.hab-final-success__item strong{display:block;margin-top:8px;font-size:24px;line-height:1.25;color:#111827}
.hab-final-success__text{margin:0 0 10px;color:#111827;font-size:18px;line-height:1.6}
.hab-final-success__sub{margin:0 0 28px;color:#667085;font-size:17px;line-height:1.6}
.hab-final-success__actions{display:flex;justify-content:center}
@media (max-width:820px){.hab-final-success{padding:30px 22px}.hab-final-success h2{font-size:32px}.hab-final-success__lead,.hab-final-success__text,.hab-final-success__sub{font-size:16px}.hab-final-success__summary{grid-template-columns:1fr}.hab-final-success__item strong{font-size:20px}}
.hab-slots-placeholder{display:grid;place-items:center;min-height:150px;padding:28px;border:1px dashed #d6dfec;border-radius:24px;background:linear-gradient(180deg,#fbfdff 0%,#f5f8fd 100%);color:#667085;font-size:15px;line-height:1.6;text-align:center}
.hab-date-card{position:relative}
.hab-date-card::after{content:'';position:absolute;inset:auto 16px 10px 16px;height:3px;border-radius:999px;background:transparent;transition:.18s ease}
.hab-date-card.is-active::after{background:#111827}
.hab-step-panel[data-step="1"] .hab-step-head p{max-width:640px}
.hab-final-success,.hab-modal-dialog{backdrop-filter:saturate(140%) blur(6px)}