
.cbs-booking-app{
  --cbs-primary:#4F46E5;
  --cbs-primary-dark:#312E81;
  --cbs-primary-soft:#EEF2FF;
  --cbs-primary-tint:#F8F8FF;
  --cbs-text:#1F2937;
  --cbs-heading:#0F172A;
  --cbs-muted:#5B6475;
  --cbs-border:#E5E7F0;
  --cbs-success:#15803D;
  --cbs-gold:#B89C67;
  --cbs-surface:#FFFFFF;
  --cbs-surface-alt:#F8FAFC;
  --cbs-sticky-offset:296px;
  --cbs-sidebar-offset:296px;
  max-width:1180px;
  margin:0 auto;
  color:var(--cbs-text);
  font:inherit;
}
.cbs-booking-app *{box-sizing:border-box}
.cbs-hero-card,.cbs-card,.cbs-sidebar-card{background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);border:1px solid rgba(15,23,42,.08);border-radius:30px;box-shadow:0 20px 55px rgba(15,23,42,.06)}
.cbs-hero-card{display:grid;grid-template-columns:1fr;gap:18px;padding:24px 24px 22px;margin-bottom:20px;position:relative;overflow:hidden}
.cbs-hero-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(79,70,229,.14), transparent 30%),radial-gradient(circle at bottom left, rgba(184,156,103,.10), transparent 25%);pointer-events:none}
.cbs-hero-card::after{content:"";position:absolute;right:-95px;top:-70px;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle, rgba(79,70,229,.14), transparent 68%)}
.cbs-hero-copy,.cbs-hero-aside{position:relative;z-index:1}
.cbs-eyebrow,.cbs-panel-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;background:rgba(79,70,229,.08);color:var(--cbs-primary-dark);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cbs-hero-title{margin:12px 0 8px;font-size:clamp(2rem,3vw,2.9rem);line-height:1.02;color:var(--cbs-heading);max-width:11ch;letter-spacing:-.045em}
.cbs-hero-text{margin:0;max-width:64ch;color:var(--cbs-muted);font-size:1.04rem;line-height:1.78}
.cbs-hero-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.cbs-hero-points span{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid rgba(79,70,229,.10);color:var(--cbs-heading);font-weight:600;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.cbs-trust-badge{display:inline-flex;align-items:center;min-height:50px;padding:0 16px;border-radius:16px;background:linear-gradient(135deg,#0f172a,#27324a);color:#fff;font-weight:600;letter-spacing:.02em;box-shadow:0 14px 34px rgba(15,23,42,.18)}
.cbs-hero-mini-card{margin-top:12px;padding:16px;border-radius:20px;background:rgba(255,255,255,.78);backdrop-filter:blur(4px);border:1px solid rgba(79,70,229,.10)}
.cbs-hero-mini-card strong{display:block;margin-bottom:8px;color:var(--cbs-heading)}.cbs-hero-mini-card p{margin:0;color:var(--cbs-muted);line-height:1.7}
.cbs-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;position:relative}
.cbs-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;text-align:center;min-width:0}
.cbs-step:not(:last-child)::after{content:"";position:absolute;top:22px;left:58%;width:84%;height:2px;background:linear-gradient(90deg,#d7dce7,#eceef5);z-index:0}
.cbs-step span{z-index:1;width:46px;height:46px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280;font-weight:700;border:3px solid rgba(255,255,255,.95);transition:all .28s ease;box-shadow:0 10px 25px rgba(15,23,42,.06)}
.cbs-step label{font-size:.88rem;color:var(--cbs-muted);font-weight:700;max-width:100px}.cbs-step small{color:#98A2B3;font-size:.74rem}
.cbs-step.is-active span{background:linear-gradient(135deg,var(--cbs-primary),#6366F1);color:#fff;box-shadow:0 0 0 8px rgba(79,70,229,.12),0 16px 30px rgba(79,70,229,.20)}
.cbs-step.is-active label{color:var(--cbs-heading)}
.cbs-step.is-complete span{background:linear-gradient(135deg,var(--cbs-success),#22C55E);color:#fff}
.cbs-step.is-complete:not(:last-child)::after{background:linear-gradient(90deg,var(--cbs-success),#86efac)}
.cbs-feedback-wrap{position:sticky;top:var(--cbs-sticky-offset);z-index:3;margin-bottom:16px}
.cbs-card{padding:26px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.cbs-step-panel{scroll-margin-top:calc(var(--cbs-sticky-offset) + 18px)}
.cbs-main-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.cbs-main-stage{min-width:0}
.cbs-sidebar-column{position:relative;align-self:start;min-width:0}
.cbs-sidebar-column.is-column-sticky{position:sticky;top:var(--cbs-sidebar-offset)}
.cbs-sidebar-card{padding:22px;position:relative;top:auto;will-change:transform,left,width}
.cbs-sidebar-card.is-fixed{position:fixed;top:var(--cbs-sidebar-offset)}
.cbs-sidebar-card.is-absolute{position:absolute;left:0;right:0}
.cbs-sidebar-section + .cbs-sidebar-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--cbs-border)}
.cbs-sidebar-title{display:block;color:var(--cbs-heading);font-size:1.05rem;margin-bottom:10px}
.cbs-sidebar-summary{padding:16px;border-radius:20px;background:linear-gradient(180deg,#fafbff 0%,#f6f8ff 100%);border:1px solid rgba(79,70,229,.12);line-height:1.75;color:var(--cbs-heading)}
.cbs-sidebar-summary--empty{color:var(--cbs-muted);border-style:dashed;background:linear-gradient(180deg,#fcfcff 0%,#f8f9fd 100%)}
.cbs-sidebar-list{margin:0;padding-left:18px;color:var(--cbs-muted)}.cbs-sidebar-list li{margin:0 0 8px;line-height:1.6}
.cbs-feedback{margin-bottom:0}.cbs-feedback.is-error{border-color:#FECACA;background:linear-gradient(180deg,#FFF8F8 0%,#FEF2F2 100%);color:#991B1B}.cbs-feedback.is-success{border-color:#BBF7D0;background:linear-gradient(180deg,#F7FFF9 0%,#F0FDF4 100%);color:#166534}
.cbs-loading{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid rgba(79,70,229,.12);box-shadow:0 10px 24px rgba(15,23,42,.05)}
.cbs-spinner{width:22px;height:22px;border:3px solid #c7d2fe;border-top-color:var(--cbs-primary);border-radius:50%;animation:cbs-spin .8s linear infinite}
.cbs-panel-intro{margin-bottom:20px}.cbs-panel-intro--compact{margin-bottom:16px}
.cbs-panel-intro h3{margin:11px 0 8px;font-size:1.56rem;color:var(--cbs-heading);letter-spacing:-.03em}.cbs-panel-intro p{margin:0;color:var(--cbs-muted);line-height:1.72}
.cbs-calendar-shell{border:1px solid var(--cbs-border);border-radius:24px;padding:18px;background:linear-gradient(180deg,#fff 0%,#f8faff 100%)}
.cbs-calendar-header,.cbs-step-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:1.1rem}
.cbs-calendar-header h3{margin:0;font-size:1.16rem;text-transform:capitalize;color:var(--cbs-heading)}
.cbs-calendar-header button,.cbs-secondary-btn{border:1px solid rgba(79,70,229,.16);background:#fff;color:var(--cbs-heading);padding:.82rem 1.06rem;border-radius:16px;cursor:pointer;font-weight:600;transition:all .22s ease;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.cbs-secondary-btn:hover,.cbs-calendar-header button:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.32);box-shadow:0 12px 24px rgba(15,23,42,.08)}
.cbs-primary-btn{border:0;background:linear-gradient(135deg,var(--cbs-primary),#6366F1);color:#fff;padding:1rem 1.3rem;border-radius:17px;cursor:pointer;font-weight:700;letter-spacing:.01em;transition:all .22s ease;box-shadow:0 16px 30px rgba(79,70,229,.24)}
.cbs-primary-btn:hover{transform:translateY(-1px);box-shadow:0 20px 34px rgba(79,70,229,.30)}
.cbs-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.cbs-day-label{font-size:.8rem;color:var(--cbs-muted);text-align:center;padding:.4rem 0;font-weight:700}
.cbs-day{min-height:78px;border:1px solid var(--cbs-border);background:#fff;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px;cursor:pointer;transition:all .22s ease;box-shadow:0 4px 12px rgba(15,23,42,.03)}
.cbs-day.empty{visibility:hidden}.cbs-day.is-disabled{opacity:.42;cursor:not-allowed;background:#fafafa}.cbs-day.is-available{border-color:rgba(79,70,229,.2)}
.cbs-day.is-available:hover{border-color:rgba(79,70,229,.42);transform:translateY(-1px);box-shadow:0 12px 24px rgba(79,70,229,.09)}
.cbs-day.is-selected{background:linear-gradient(180deg,#f8f9ff 0%,#eef2ff 100%);border-color:var(--cbs-primary);box-shadow:0 0 0 4px rgba(79,70,229,.10)}
.cbs-day span{font-weight:700;color:var(--cbs-heading)}.cbs-availability-dot{width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,var(--cbs-primary),var(--cbs-gold));display:block}
.cbs-selected-date{padding:10px 14px;border-radius:14px;background:var(--cbs-primary-tint);color:var(--cbs-primary-dark);font-weight:700}
.cbs-slots-list{display:grid;grid-template-columns:1fr;gap:12px}.cbs-slot-card{border:1px solid var(--cbs-border);background:#fff;padding:18px;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:all .22s ease;box-shadow:0 8px 22px rgba(15,23,42,.04);text-align:left}
.cbs-slot-card:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.3);box-shadow:0 18px 32px rgba(15,23,42,.08)}
.cbs-slot-card strong{font-size:1.07rem;color:var(--cbs-heading)}.cbs-slot-card span{color:var(--cbs-muted);font-weight:600}
.cbs-summary-box{padding:18px;border:1px solid rgba(79,70,229,.14);border-radius:18px;background:linear-gradient(180deg,#fafbff 0%,#f4f7ff 100%);margin-bottom:18px;color:var(--cbs-heading);line-height:1.78}
.cbs-form-grid{display:grid;grid-template-columns:1fr;gap:14px}.cbs-form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:var(--cbs-heading)}
.cbs-form-grid input,.cbs-form-grid textarea{width:100%;border:1px solid #D9DDE7;border-radius:16px;min-height:54px;padding:0 15px;background:#fff;font:inherit;color:var(--cbs-text);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.cbs-form-grid textarea{min-height:136px;padding:14px 15px;resize:vertical}.cbs-form-grid input:focus,.cbs-form-grid textarea:focus{border-color:var(--cbs-primary);box-shadow:0 0 0 4px rgba(79,70,229,.10);outline:none}
.cbs-form-footer{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:8px}.cbs-form-note{margin:0;color:var(--cbs-muted);font-size:.92rem;line-height:1.6}
.cbs-success-icon{width:78px;height:78px;border-radius:999px;background:linear-gradient(135deg,var(--cbs-success),#22C55E);display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;font-weight:700;box-shadow:0 18px 36px rgba(34,197,94,.24);margin-bottom:16px}
.cbs-confirmation{text-align:left}.cbs-confirmation-text{margin:12px 0 18px;color:var(--cbs-muted);line-height:1.72;max-width:60ch}
.cbs-empty-state{padding:24px;border-radius:18px;background:linear-gradient(180deg,#fcfcff 0%,#f7f8fd 100%);border:1px dashed #D4DAE6;color:var(--cbs-muted);text-align:center}
.cbs-field-full{grid-column:1/-1}
@keyframes cbs-spin{to{transform:rotate(360deg)}}
@media (min-width:768px){.cbs-hero-card{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:start;padding:28px}.cbs-card{padding:30px}.cbs-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cbs-slots-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cbs-form-footer{flex-direction:row;justify-content:space-between;align-items:center}}
@media (min-width:1024px){.cbs-main-grid{grid-template-columns:minmax(0,1fr) 320px}}
@media (max-width:768px){.cbs-booking-app{--cbs-sticky-offset:24px;--cbs-sidebar-offset:24px}.cbs-feedback-wrap{position:relative;top:auto}.cbs-sidebar-card,.cbs-sidebar-card.is-native-sticky,.cbs-sidebar-card.is-fixed,.cbs-sidebar-card.is-absolute{position:relative;top:auto;left:auto;width:auto;transform:none}}
@media (max-width:640px){.cbs-booking-app{max-width:none}.cbs-step label{font-size:.75rem;max-width:70px}.cbs-step small{display:none}.cbs-step:not(:last-child)::after{left:64%;width:72%}.cbs-calendar-grid{gap:7px}.cbs-day{min-height:62px;padding:8px;border-radius:16px}.cbs-calendar-header h3{font-size:1rem}.cbs-hero-points span{width:100%;justify-content:center}}


.cbs-step:not(:last-child)::after{left:56%;width:88%}
.cbs-form-grid select,
.cbs-form-grid input,
.cbs-form-grid textarea{width:100%}
.cbs-form-grid select{min-height:56px;border:1px solid var(--cbs-border);border-radius:18px;padding:0 16px;background:#fff;color:var(--cbs-heading);box-shadow:0 6px 18px rgba(15,23,42,.03)}
.cbs-form-grid input,.cbs-form-grid textarea{border:1px solid var(--cbs-border);border-radius:18px;padding:14px 16px;background:#fff;color:var(--cbs-heading);box-shadow:0 6px 18px rgba(15,23,42,.03)}
.cbs-form-grid textarea{min-height:132px;resize:vertical}
.cbs-form-grid input:focus,.cbs-form-grid textarea:focus,.cbs-form-grid select:focus{outline:none;border-color:rgba(79,70,229,.42);box-shadow:0 0 0 4px rgba(79,70,229,.10)}
.cbs-form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:var(--cbs-heading)}
.cbs-form-footer{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.cbs-form-note{margin:0;color:var(--cbs-muted);line-height:1.7}
.cbs-summary-box{padding:18px;border-radius:22px;background:linear-gradient(180deg,#fafbff 0%,#f5f7ff 100%);border:1px solid rgba(79,70,229,.12);margin-bottom:18px;color:var(--cbs-heading);line-height:1.8}
.cbs-payment-box{margin-top:6px}
.cbs-payment-card{padding:22px;border-radius:24px;border:1px solid rgba(79,70,229,.12);background:linear-gradient(180deg,#fff 0%,#f8faff 100%);display:grid;gap:12px}
.cbs-payment-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(229,231,240,.8)}
.cbs-payment-row:last-of-type{border-bottom:0;padding-bottom:0}
.cbs-payment-row strong{color:var(--cbs-heading)}
.cbs-payment-row span{text-align:right;color:var(--cbs-text)}
.cbs-payment-highlight{margin-top:8px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#111827,#233047);color:#fff;display:grid;gap:6px}
.cbs-payment-highlight strong,.cbs-payment-highlight span,.cbs-payment-highlight small{color:#fff}
.cbs-payment-highlight span{font-size:1.06rem;font-weight:700;word-break:break-all}
.cbs-payment-highlight.is-free{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#166534}
.cbs-payment-highlight.is-free strong,.cbs-payment-highlight.is-free span,.cbs-payment-highlight.is-free small{color:#166534}
.cbs-confirmation-text{margin:12px 0 18px;color:var(--cbs-muted);line-height:1.75}
.cbs-slot-card{border:1px solid rgba(79,70,229,.14);background:#fff;border-radius:20px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:all .22s ease;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.cbs-slot-card + .cbs-slot-card{margin-top:12px}
.cbs-slot-card:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.34);box-shadow:0 14px 28px rgba(79,70,229,.10)}
.cbs-empty-state{padding:22px;border:1px dashed var(--cbs-border);border-radius:20px;text-align:center;color:var(--cbs-muted);background:#fcfcff}
.cbs-selected-date{font-weight:700;color:var(--cbs-heading)}
.cbs-success-icon{width:78px;height:78px;border-radius:999px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;background:linear-gradient(135deg,var(--cbs-success),#22c55e);color:#fff;font-size:2rem;box-shadow:0 18px 34px rgba(21,128,61,.22)}
.cbs-confirmation{text-align:center}
.cbs-availability-dot{display:block;width:8px;height:8px;border-radius:999px;background:var(--cbs-primary)}
@media (min-width:980px){
  .cbs-main-grid{grid-template-columns:minmax(0,1fr) 350px;gap:24px}
}
@media (max-width:860px){
  .cbs-stepper{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .cbs-step span{width:40px;height:40px}
  .cbs-step label{font-size:.8rem;max-width:80px}
  .cbs-step small{display:none}
  .cbs-payment-row{flex-direction:column}
}
@media (max-width:640px){
  .cbs-hero-card,.cbs-card,.cbs-sidebar-card{border-radius:24px}
  .cbs-calendar-grid{gap:8px}
  .cbs-day{min-height:68px;border-radius:16px}
  .cbs-step:not(:last-child)::after{display:none}
}

.cbs-hero-card{padding:20px 22px 20px}
.cbs-hero-title{max-width:10ch}
.cbs-hero-points{gap:10px}
.cbs-hero-points span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid #E5E7F0;box-shadow:0 8px 18px rgba(15,23,42,.04);font-weight:700;color:#1F2937}
.cbs-stepper{margin-bottom:18px}
.cbs-step-panel h3{letter-spacing:-.02em}
.cbs-slot-card{position:relative;overflow:hidden}
.cbs-slot-card::after{content:'→';position:absolute;right:16px;top:50%;transform:translateY(-50%);opacity:.22;font-size:18px;font-weight:700;transition:transform .18s ease, opacity .18s ease}
.cbs-slot-card:hover::after{transform:translateY(-50%) translateX(2px);opacity:.45}
.cbs-summary-box p{margin:.25rem 0}
.cbs-payment-highlight small{display:block;line-height:1.55;margin-top:6px}
.cbs-sidebar-summary span{display:inline-block;margin-top:6px;color:#5B6475}
@media (max-width:980px){.cbs-hero-title{max-width:none}.cbs-hero-points span{width:100%;justify-content:flex-start}}

.cbs-feedback{position:relative;padding-right:56px}.cbs-feedback-message{display:block}.cbs-feedback-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:999px;background:rgba(15,23,42,.06);color:#334155;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cbs-feedback.is-success .cbs-feedback-close{background:rgba(21,128,61,.08);color:#166534}.cbs-feedback.is-error .cbs-feedback-close{background:rgba(153,27,27,.08);color:#991B1B}
