/* ATB Appointment Booking — BookingPress look & feel (Poppins, green #12D488, navy #202C45, radius 12px). Scoped. */
.atb-ab,.atb-ab *{box-sizing:border-box}
.atb-ab{width:100%;max-width:1000px;margin:0 auto;font-family:'Poppins',Arial,sans-serif;color:#535D71;background:#fff;border:1px solid #E9EDF5;border-radius:12px;box-shadow:0 8px 30px rgba(32,44,69,.06);display:flex;overflow:hidden}
.atb-ab-side{width:250px;flex:0 0 250px;background:#FAFCFF;border-right:1px solid #E9EDF5;padding:28px 18px;display:flex;flex-direction:column;gap:4px}
.atb-ab-step{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#727E95;font-size:14px;font-weight:500}
.atb-ab-step .atb-ab-ic{width:32px;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #CFD6E5;border-radius:6px;background:#fff}
.atb-ab-step .atb-ab-ic svg{width:18px;height:18px;fill:#727E95}
.atb-ab-step.active{color:#12D488;font-weight:600}
.atb-ab-step.active .atb-ab-ic{background:#12D488;border-color:#12D488;box-shadow:0 4px 8px rgba(18,212,136,.06),0 8px 16px rgba(18,212,136,.16)}
.atb-ab-step.active .atb-ab-ic svg{fill:#fff}
.atb-ab-step.done{color:#535D71}
.atb-ab-step.done .atb-ab-ic{background:#12D488;border-color:#12D488}
.atb-ab-step.done .atb-ab-ic svg{fill:#fff}
.atb-ab-main{flex:1;min-width:0;padding:clamp(22px,3.5vw,36px)}
.atb-ab-h{font-size:20px;font-weight:600;color:#202C45;margin:0 0 16px}
.atb-ab-lbl{display:block;font-size:14px;font-weight:500;color:#202C45;margin:14px 0 8px}
.atb-ab-main input[type=text],.atb-ab-main input[type=email],.atb-ab-main input[type=tel],.atb-ab-main input[type=date],.atb-ab-main textarea{width:100%;font-family:'Poppins',Arial,sans-serif;font-size:14px;color:#202C45;background:#fff;border:1px solid #DCE4F5;border-radius:8px;padding:12px 14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.atb-ab-main input:focus,.atb-ab-main textarea:focus{border-color:#12D488;box-shadow:0 0 0 3px rgba(18,212,136,.12)}
.atb-ab-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.atb-ab-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.atb-ab-card{border:1px solid #E9EDF5;border-radius:12px;padding:18px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;position:relative;background:#fff}
.atb-ab-card:hover{border-color:#12D488;box-shadow:0 4px 14px rgba(18,212,136,.10)}
.atb-ab-card.selected{border-color:#12D488;box-shadow:0 0 0 1px #12D488,0 4px 14px rgba(18,212,136,.12)}
.atb-ab-card.selected::after{content:'\2713';position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:#12D488;color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center}
.atb-ab-card h4{margin:0 0 6px;font-size:16px;font-weight:600;color:#202C45;padding-right:30px}
.atb-ab-card p{margin:0 0 10px;font-size:13px;line-height:22px;color:#727E95}
.atb-ab-card .meta{display:flex;gap:14px;font-size:13px;color:#535D71}
.atb-ab-card .meta strong{color:#202C45}
.atb-ab-card .price{color:#12D488;font-weight:600}
.atb-ab-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px}
.atb-ab-nav--right{justify-content:flex-end}
.atb-ab-btn{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',Arial,sans-serif;font-size:14px;font-weight:600;line-height:1;color:#fff;background:#12D488;border:0;border-radius:8px;padding:15px 26px;cursor:pointer;transition:background-color .25s ease,box-shadow .25s ease;box-shadow:0 4px 12px rgba(18,212,136,.25)}
.atb-ab-btn:hover{background:#0DC37C;color:#fff}
.atb-ab-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.atb-ab-btn.secondary{background:#F4F7FB;color:#202C45;box-shadow:none}
.atb-ab-btn.secondary:hover{background:#E9EDF5;color:#202C45}
.atb-ab-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.atb-ab-slot{border:1px solid #DCE4F5;border-radius:8px;padding:9px 18px;cursor:pointer;font-family:'Poppins',Arial,sans-serif;font-size:14px;background:#fff;color:#535D71;transition:all .2s ease}
.atb-ab-slot:hover{border-color:#12D488;color:#12D488}
.atb-ab-slot.selected{background:#12D488;color:#fff;border-color:#12D488;box-shadow:0 4px 12px rgba(18,212,136,.25)}
.atb-ab .hidden{display:none}
.atb-ab-summary{background:#F4F7FB;border:1px solid #E9EDF5;border-radius:8px;padding:14px 16px;margin-bottom:6px;font-size:14px;line-height:26px;color:#202C45}
.atb-ab-error{background:rgba(238,36,69,.06);color:#CB1936;border:1px solid #EE2445;border-radius:8px;padding:12px 15px;margin-top:14px;font-size:14px}
.atb-ab-success{background:rgba(1,203,98,.08);color:#0BAC58;border:1px solid #01CB62;border-radius:8px;padding:18px;font-size:15px;line-height:28px;margin-bottom:16px}
.muted{color:#727E95;font-size:14px}
@media(max-width:760px){
  .atb-ab{flex-direction:column}
  .atb-ab-side{width:100%;flex:none;flex-direction:row;overflow-x:auto;padding:14px;border-right:0;border-bottom:1px solid #E9EDF5}
  .atb-ab-step{white-space:nowrap}
  .atb-ab-cards{grid-template-columns:1fr}
  .atb-ab-grid2{grid-template-columns:1fr}
}
