#booking-app.booking-panel{padding-bottom:4rem;max-width:36rem}#booking-app .booking-step-label{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.04em}#booking-app .booking-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}#booking-app .booking-month-title{margin:0;font-size:1.35rem;text-align:center;flex:1}#booking-app .booking-month-nav{width:2.5rem;height:2.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink)}#booking-app .booking-month-nav:hover{border-color:var(--teal);color:var(--teal)}#booking-app .booking-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin-bottom:.5rem;text-align:center;font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.02em}#booking-app .booking-calendar-weekdays span{display:block;padding:.25rem 0}#booking-app .booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}#booking-app .booking-cal-empty{min-height:2.75rem}#booking-app .booking-cal-day{display:flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);font:inherit;font-size:.95rem;font-weight:600;cursor:default;color:var(--muted);position:relative}#booking-app .booking-cal-day.has-slots:not(.is-disabled){background:var(--panel);color:var(--ink);cursor:pointer;border-color:#087d8659}#booking-app .booking-cal-day.has-slots:not(.is-disabled):hover{border-color:var(--teal);background:#087d8614}#booking-app .booking-cal-day.is-today:not(.is-disabled){box-shadow:inset 0 0 0 2px var(--teal)}#booking-app .booking-cal-day.has-slots:not(.is-disabled):after{content:"";position:absolute;bottom:.35rem;left:50%;transform:translate(-50%);width:.35rem;height:.35rem;border-radius:50%;background:var(--teal)}#booking-app .booking-calendar-legend{margin:1rem 0 0;font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:.5rem}#booking-app .booking-legend-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--teal);flex-shrink:0}#booking-app .booking-day-view{max-width:28rem}#booking-app .booking-back-link{display:inline-block;margin-bottom:1rem;padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--blue);cursor:pointer;text-decoration:underline;text-underline-offset:.15em}#booking-app .booking-day-title{margin:0 0 .35rem;font-size:1.5rem}#booking-app .booking-day-sub{margin:0 0 1.25rem;color:var(--muted)}#booking-app .booking-day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem}#booking-app .booking-slot-btn{min-height:2.75rem}#booking-app .booking-form{display:grid;gap:1rem;max-width:32rem}#booking-app .booking-form label{display:grid;gap:.35rem;font-weight:600}#booking-app .booking-form input,#booking-app .booking-form textarea{font:inherit;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius)}#booking-app .booking-actions{display:flex;flex-wrap:wrap;gap:.75rem}#booking-app .booking-error{color:#b42318}#booking-app .booking-honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}#booking-app .booking-success{max-width:36rem}#booking-app .booking-loading{color:var(--muted)}#booking-app .booking-order-reminder{margin:0 0 .75rem;padding:.75rem 1rem;border-radius:var(--radius);background:#087d8614;color:var(--ink);font-size:.95rem}.consultation-order-summary{margin-bottom:2rem;padding:1.25rem 1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);max-width:36rem}.consultation-order-summary--warn{border-color:#fecdca;background:#fef3f2;color:#912018}.consultation-order-summary h2{margin:0 0 1rem;font-size:1.15rem}.consultation-order-lines{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.4rem}.consultation-order-lines li{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem}.consultation-order-total{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding-top:.75rem;border-top:1px solid var(--line);font-weight:600}.consultation-order-total strong{color:var(--warm);font-size:1.35rem}.consultation-order-meta{margin:.75rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.85rem;color:var(--muted)}
