.hcb-app{--p:#6d28d9;--pd:#4c1d95;--pl:#f5f0ff;--ink:#201735;--muted:#6f667d;--line:#e9e2f2;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#faf8fd;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(56,29,85,.08);max-width:1160px;margin:24px auto}.hcb-app *{box-sizing:border-box}.hcb-hero{text-align:center;padding:48px 24px 30px;background:radial-gradient(circle at 50% 0,#f4eaff 0,#fff 58%)}.hcb-kicker,.hcb-heading>span,.hcb-success-kicker{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--p)}.hcb-hero h1{font-size:clamp(34px,5vw,56px);margin:8px 0 6px;line-height:1.05}.hcb-hero p{margin:0;color:var(--muted);font-size:17px}.hcb-steps{max-width:720px;margin:32px auto 0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.hcb-steps:before{content:"";position:absolute;top:18px;left:12.5%;right:12.5%;height:2px;background:var(--line)}.hcb-steps>div{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;color:#a59cac;font-size:12px}.hcb-steps b{width:36px;height:36px;border:2px solid var(--line);border-radius:50%;background:#fff;display:grid;place-items:center;z-index:1}.hcb-steps .active b{background:var(--p);border-color:var(--p);color:#fff}.hcb-steps .active span{color:var(--ink);font-weight:700}.hcb-shell{padding:10px 34px 48px}.hcb-panel{display:none;max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 12px 35px rgba(71,37,106,.06)}.hcb-panel.active{display:block;animation:hcbIn .25s ease}@keyframes hcbIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.hcb-heading{text-align:center;margin-bottom:28px}.hcb-heading h2{font-size:30px;margin:7px 0 5px}.hcb-heading p{color:var(--muted);margin:0}.hcb-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.hcb-type-card{appearance:none;border:1px solid var(--line);background:#fff;border-radius:18px;padding:24px;text-align:left;cursor:pointer;transition:.2s;display:grid;grid-template-columns:54px 1fr;column-gap:14px;align-items:center;color:var(--ink)}.hcb-type-card:hover,.hcb-type-card.selected{border-color:var(--p);transform:translateY(-2px);box-shadow:0 12px 30px rgba(109,40,217,.12)}.hcb-icon{width:54px;height:54px;display:grid;place-items:center;background:var(--pl);border-radius:16px;font-size:27px;grid-row:1/4}.hcb-type-card strong{font-size:18px}.hcb-type-card small{color:var(--muted);font-size:13px;margin-top:3px}.hcb-card-meta{display:flex;align-items:center;gap:12px;margin-top:10px}.hcb-card-meta span{font-size:12px;color:var(--muted);background:#f7f5f9;padding:5px 8px;border-radius:999px}.hcb-card-meta b{color:var(--p)}.hcb-type-card em{grid-column:1/3;margin-top:18px;text-align:center;border-top:1px solid var(--line);padding-top:14px;font-style:normal;font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--p)}.hcb-date-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);overflow-x:auto;gap:10px;padding:4px 2px 13px;scrollbar-width:thin}.hcb-date{border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px 8px;color:var(--ink);cursor:pointer;min-height:92px}.hcb-date small,.hcb-date span{display:block;color:var(--muted)}.hcb-date b{display:block;font-size:25px;margin:3px 0}.hcb-date.selected{background:var(--p);border-color:var(--p);color:#fff}.hcb-date.selected small,.hcb-date.selected span{color:#efe6ff}.hcb-slot-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px}.hcb-slot-title div{display:flex;flex-direction:column}.hcb-slot-title span{color:var(--muted);font-size:13px;margin-top:3px}.hcb-ist{background:var(--pl);color:var(--p)!important;padding:5px 9px;border-radius:999px;font-weight:700}.hcb-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;min-height:58px}.hcb-slot{border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px 12px;font-weight:700;color:var(--ink);cursor:pointer}.hcb-slot:hover,.hcb-slot.selected{border-color:var(--p);background:var(--pl);color:var(--p)}.hcb-slot.selected{background:var(--p);color:#fff}.hcb-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:22px;background:#faf9fb;border:1px dashed var(--line);border-radius:13px}.hcb-nav{display:flex;justify-content:space-between;gap:14px;margin-top:30px}.hcb-back,.hcb-next,.hcb-pay,.hcb-calendar{border:0;border-radius:12px;padding:14px 22px;font-weight:800;cursor:pointer}.hcb-back{background:#f5f2f8;color:var(--ink)}.hcb-next,.hcb-pay,.hcb-calendar{background:linear-gradient(135deg,var(--p),var(--pd));color:#fff;box-shadow:0 10px 24px rgba(109,40,217,.22)}.hcb-next:disabled{opacity:.45;cursor:not-allowed}.hcb-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:18px}.hcb-app label{font-size:13px;font-weight:700;color:#4f455c;display:block}.hcb-app input,.hcb-app textarea,.hcb-app select{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:11px;padding:13px 14px;font:inherit;color:var(--ink);background:#fff;outline:none}.hcb-app input:focus,.hcb-app textarea:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(109,40,217,.08)}.hcb-full{display:block;margin-bottom:18px}.hcb-upload-note{background:var(--pl);border-radius:12px;padding:13px 15px;color:#5e4c75;font-size:13px}.hcb-summary{border:1px solid var(--line);border-radius:18px;overflow:hidden}.hcb-summary-top{display:flex;align-items:center;gap:13px;padding:20px;background:var(--pl)}.hcb-summary-top>span{font-size:28px}.hcb-summary-top small{color:var(--p);font-weight:800;letter-spacing:.12em}.hcb-summary-top h3{margin:4px 0 0;font-size:21px}.hcb-summary-row,.hcb-total,.hcb-grand{display:flex;justify-content:space-between;gap:20px;padding:15px 20px;border-top:1px solid var(--line)}.hcb-summary-row span,.hcb-total span{color:var(--muted)}.hcb-total{margin-top:6px}.hcb-grand{background:#fbf9fe;font-size:20px}.hcb-grand b{color:var(--p)}.hcb-secure{text-align:center;margin:15px 0 0;color:var(--muted);font-size:12px}.hcb-pay{font-size:15px;min-width:230px}.hcb-message{text-align:center;margin-top:15px}.hcb-message.error{color:#b42318}.hcb-success{text-align:center;padding:50px 36px}.hcb-success-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#eaf8ef;color:#1c8b4d;font-size:38px;font-weight:900;margin:0 auto 18px}.hcb-success h2{font-size:32px;margin:9px 0}.hcb-success>p{color:var(--muted);max-width:600px;margin:0 auto 22px}.hcb-success-card{max-width:560px;margin:25px auto;border:1px solid var(--line);border-radius:18px;padding:22px;background:#fbf9fe}.hcb-success-card h3{margin:0 0 12px}.hcb-success-card p{margin:8px}.hcb-success-card div{margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.hcb-small{font-size:12px!important;margin-top:14px!important}
@media(max-width:700px){.hcb-app{border-radius:0;margin:0;box-shadow:none}.hcb-hero{padding:32px 16px 22px}.hcb-hero h1{font-size:34px}.hcb-hero p{font-size:15px}.hcb-steps{margin-top:25px}.hcb-steps span{display:none}.hcb-shell{padding:8px 12px 28px}.hcb-panel{padding:22px 16px;border-radius:17px}.hcb-heading{margin-bottom:22px}.hcb-heading h2{font-size:24px}.hcb-type-grid{grid-template-columns:1fr;gap:12px}.hcb-type-card{padding:18px}.hcb-date-strip{margin-left:-4px;margin-right:-4px;grid-auto-columns:70px}.hcb-slots{grid-template-columns:repeat(2,1fr);gap:10px}.hcb-fields{grid-template-columns:1fr;gap:14px}.hcb-nav{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding:12px 0 2px;z-index:5}.hcb-next,.hcb-pay{flex:1}.hcb-summary-row,.hcb-total,.hcb-grand{align-items:flex-start}.hcb-summary-row b{text-align:right}.hcb-success{padding:40px 20px}.hcb-success h2{font-size:27px}}

/* v1.1 booking clarity + mobile refinement */
.hcb-app{width:100%;isolation:isolate}
.hcb-app button,.hcb-app input,.hcb-app textarea,.hcb-app select{touch-action:manipulation}
.hcb-date{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hcb-date i{display:block;margin-top:5px;font-size:10px;font-style:normal;font-weight:700;color:var(--p)}
.hcb-date.selected i{color:#fff}
.hcb-date.unavailable{opacity:.5;background:#f6f4f7;cursor:not-allowed;box-shadow:none;transform:none}
.hcb-date.unavailable i{color:#8b8491}
.hcb-date-loading{grid-column:1/-1;min-height:92px;display:flex;align-items:center;justify-content:center;width:100%;color:var(--muted);background:#faf9fb;border:1px dashed var(--line);border-radius:15px;padding:18px}
.hcb-slot{min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.hcb-slot span{font-size:15px}
.hcb-slot small{font-size:11px;font-weight:500;color:var(--muted)}
.hcb-slot.selected small{color:#f2eaff}
.hcb-empty{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.hcb-empty-alert strong{color:var(--ink)}
.hcb-empty-alert span{font-size:13px}
.hcb-spinner{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--p);border-radius:50%;animation:hcbSpin .7s linear infinite}
@keyframes hcbSpin{to{transform:rotate(360deg)}}
.hcb-message.success{color:#42634e}
.hcb-pay:disabled,.hcb-next:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}

@media(max-width:700px){
  body{overflow-x:hidden}
  .hcb-app{max-width:100%;overflow:hidden;background:#fff}
  .hcb-hero{padding:26px 14px 18px}
  .hcb-kicker{font-size:10px;letter-spacing:.16em}
  .hcb-hero h1{font-size:30px;line-height:1.08;margin-top:7px}
  .hcb-hero p{font-size:14px}
  .hcb-steps{max-width:330px;margin-top:22px}
  .hcb-steps:before{left:12%;right:12%;top:16px}
  .hcb-steps b{width:32px;height:32px;font-size:12px}
  .hcb-shell{padding:6px 10px 22px}
  .hcb-panel{border-radius:16px;padding:20px 14px;box-shadow:none}
  .hcb-heading{margin-bottom:18px}
  .hcb-heading>span{font-size:10px}
  .hcb-heading h2{font-size:22px;line-height:1.18;margin:5px 0}
  .hcb-heading p{font-size:13px;line-height:1.45}
  .hcb-type-grid{gap:10px}
  .hcb-type-card{grid-template-columns:48px minmax(0,1fr);column-gap:12px;padding:15px 14px;border-radius:15px}
  .hcb-icon{width:48px;height:48px;border-radius:13px;font-size:24px}
  .hcb-type-card strong{font-size:16px;line-height:1.25}
  .hcb-type-card small{font-size:12px;line-height:1.35}
  .hcb-card-meta{margin-top:7px;gap:8px}
  .hcb-type-card em{margin-top:13px;padding-top:11px}
  .hcb-date-strip{grid-auto-columns:66px;gap:8px;padding-bottom:10px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .hcb-date{min-height:88px;padding:9px 5px;border-radius:13px}
  .hcb-date b{font-size:22px}
  .hcb-date i{font-size:9px}
  .hcb-slot-title{margin:20px 0 11px;gap:8px}
  .hcb-slot-title div b{font-size:14px}
  .hcb-slot-title div span{font-size:12px}
  .hcb-ist{flex:0 0 auto;font-size:10px!important}
  .hcb-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .hcb-slot{min-height:64px;padding:10px 6px;border-radius:11px}
  .hcb-slot span{font-size:14px}
  .hcb-fields{gap:12px}
  .hcb-app label{font-size:12px}
  .hcb-app input,.hcb-app textarea,.hcb-app select{font-size:16px;padding:12px 13px;border-radius:10px}
  .hcb-upload-note{font-size:12px;line-height:1.45}
  .hcb-nav{margin-left:-14px;margin-right:-14px;margin-bottom:-20px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid rgba(233,226,242,.9)}
  .hcb-back,.hcb-next,.hcb-pay,.hcb-calendar{min-height:46px;padding:12px 16px}
  .hcb-back{flex:0 0 86px}
  .hcb-next,.hcb-pay{min-width:0}
  .hcb-summary-top{padding:16px}
  .hcb-summary-top h3{font-size:18px;line-height:1.25}
  .hcb-summary-row,.hcb-total,.hcb-grand{padding:13px 15px;gap:12px;font-size:13px}
  .hcb-summary-row span{flex:0 0 72px}
  .hcb-summary-row b{line-height:1.35;word-break:break-word}
  .hcb-grand{font-size:17px}
  .hcb-secure{font-size:11px}
  .hcb-message{font-size:12px;line-height:1.45;padding:0 6px}
  .hcb-success{padding:35px 16px}
  .hcb-success-icon{width:62px;height:62px;font-size:32px}
  .hcb-success h2{font-size:25px;line-height:1.2}
  .hcb-success-card{padding:18px 14px}
}

@media(max-width:380px){
  .hcb-hero h1{font-size:27px}
  .hcb-shell{padding-left:7px;padding-right:7px}
  .hcb-panel{padding-left:12px;padding-right:12px}
  .hcb-type-card{padding:13px 12px}
  .hcb-slots{gap:7px}
  .hcb-slot span{font-size:13px}
  .hcb-nav{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
}

.hcb-success-paid{display:inline-flex;align-items:center;gap:7px;margin:0 auto 14px;padding:8px 13px;border-radius:999px;background:#ecfdf3;color:#137333;font-size:13px;font-weight:800}.hcb-success-booking-id{margin-top:14px;padding:12px 14px;border:1px dashed #d9cbee;border-radius:10px;background:#fbf9ff}.hcb-success-email-note{margin-top:14px!important;padding:11px 14px;border-radius:10px;background:#f5f1fb;color:#5f5370!important;font-size:13px!important}.hcb-success-card h3{margin-top:4px}


/* v1.3.1 premium consultation cards */
.hcb-type-grid{gap:22px}
.hcb-type-card{
  position:relative;
  padding:28px 26px 24px;
  border:1px solid #e7dbf7;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#fcf9ff 100%);
  box-shadow:0 14px 36px rgba(55,27,88,.06),0 2px 10px rgba(55,27,88,.03);
  grid-template-columns:62px 1fr;
  column-gap:16px;
  align-items:start;
  overflow:hidden;
}
.hcb-type-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(109,40,217,.10), transparent 35%);
  opacity:.8;
  pointer-events:none;
}
.hcb-type-card:hover,
.hcb-type-card.selected{
  border-color:#c9acf7;
  transform:translateY(-4px);
  box-shadow:0 22px 44px rgba(76,29,149,.16),0 8px 18px rgba(76,29,149,.08);
}
.hcb-type-card.selected{
  border-color:var(--p);
  background:linear-gradient(180deg,#ffffff 0%,#f7f1ff 100%);
}
.hcb-type-card.selected::after{
  content:"Selected";
  position:absolute;
  top:16px;
  right:16px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(109,40,217,.10);
  color:var(--p);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hcb-icon{
  width:62px;
  height:62px;
  border-radius:18px;
  background:linear-gradient(180deg,#f7f2ff 0%,#eee4ff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 10px 18px rgba(109,40,217,.10);
  font-size:28px;
}
.hcb-type-card strong{
  position:relative;
  z-index:1;
  font-size:19px;
  line-height:1.25;
  margin-top:2px;
}
.hcb-type-card small{
  position:relative;
  z-index:1;
  font-size:14px;
  line-height:1.65;
  color:#655a74;
  margin-top:4px;
}
.hcb-card-meta{
  position:relative;
  z-index:1;
  margin-top:14px;
  gap:10px;
  flex-wrap:wrap;
}
.hcb-card-meta span{
  padding:7px 12px;
  border-radius:999px;
  border:1px solid #ece3f7;
  background:#ffffff;
  color:#6c627a;
  font-size:12px;
  font-weight:700;
}
.hcb-card-meta b{
  font-size:26px;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--p);
}
.hcb-type-card em{
  position:relative;
  z-index:1;
  grid-column:1/3;
  margin-top:22px;
  padding:0;
  border-top:0;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:14px;
  border:1px solid #d9c6f7;
  background:#ffffff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92), 0 6px 16px rgba(76,29,149,.06);
  color:var(--p);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  transition:all .2s ease;
}
.hcb-type-card:hover em,
.hcb-type-card.selected em{
  border-color:var(--p);
  background:linear-gradient(135deg,var(--p),var(--pd));
  color:#fff;
  box-shadow:0 12px 24px rgba(109,40,217,.26);
}
.hcb-type-card:active{transform:translateY(-1px) scale(.995)}

@media(max-width:700px){
  .hcb-type-grid{gap:14px}
  .hcb-type-card{
    padding:20px 18px 18px;
    border-radius:20px;
    grid-template-columns:56px 1fr;
    column-gap:14px;
  }
  .hcb-type-card.selected::after{
    top:12px;
    right:12px;
    font-size:10px;
    padding:5px 8px;
  }
  .hcb-icon{
    width:56px;
    height:56px;
    border-radius:16px;
    font-size:25px;
  }
  .hcb-type-card strong{font-size:18px}
  .hcb-type-card small{font-size:13px;line-height:1.55}
  .hcb-card-meta{margin-top:12px}
  .hcb-card-meta b{font-size:23px}
  .hcb-type-card em{margin-top:18px;min-height:44px;font-size:11px;letter-spacing:.14em}
}
