.booking-panel{
  background:var(--paper-dim);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:1.75rem;position:sticky;top:calc(var(--topbar-h) + var(--header-h) + 1rem);
}
.booking-panel h4{margin-bottom:.2rem;}
.booking-price{font-family:var(--font-display);font-size:2rem;color:var(--green-700);}
.booking-price small{font-family:var(--font-body);font-size:var(--fs-14);color:var(--ink-500);font-weight:400;}
.booking-line{display:flex;justify-content:space-between;padding:.55rem 0;border-bottom:1px dashed var(--line);font-size:var(--fs-14);}
.booking-line.total{border-bottom:0;font-weight:800;color:var(--ink-900);padding-top:.8rem;}

.builder{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start;}
@media (max-width:960px){.builder{grid-template-columns:1fr;}}

.builder-step{
  border:1px solid var(--line);border-radius:var(--radius-md);padding:1.4rem 1.5rem;margin-bottom:1.25rem;
}
.builder-step h4{display:flex;align-items:center;gap:.6rem;}
.builder-step h4 .step-no{
  width:28px;height:28px;border-radius:50%;background:var(--green-600);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-14);font-family:var(--font-body);
}
.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-top:1rem;}
.option-card{
  border:2px solid var(--line);border-radius:var(--radius-sm);padding:.9rem;text-align:left;background:#fff;cursor:pointer;
}
.option-card.is-selected{border-color:var(--green-600);background:var(--green-50);}
.option-card strong{display:block;font-size:var(--fs-14);color:var(--ink-900);}
.option-card span{font-size:var(--fs-12);color:var(--ink-500);}

.progress-track{background:var(--paper-dim);height:8px;border-radius:99px;overflow:hidden;}
.progress-track > i{display:block;height:100%;background:var(--green-600);}

.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;}
.qty-stepper button{border:0;background:transparent;width:34px;height:34px;font-size:1.1rem;color:var(--green-700);}
.qty-stepper span{min-width:28px;text-align:center;font-weight:700;}
