.site-booking *{box-sizing:border-box}.site-booking{--emerald:#124d3f;--emerald-deep:#0b3d32;--ink:#173b32;--ivory:#f7f3ec;--paper:#fbf8f2;--line:#e4dcc9;--terracotta:#b76348;--text:#3F453F;background:var(--ivory);color:var(--text)}.booking-card,.booking-page{--primary:var(--emerald);--text-primary:var(--ink);--text-secondary:var(--text);--text-muted:var(--text);--bg:var(--ivory);--bg-card:var(--paper);--border:var(--line);--border-light:var(--line);--color-text:var(--ink);--color-text-muted:var(--text);--color-border:var(--line);--border-radius-sm:10px;--radius:16px;--radius-sm:10px;--shadow-soft:0 20px 50px rgba(18,77,63,.1);font-family:var(--font-body),sans-serif}.booking-page{padding:3rem 1rem 4rem;display:flex;flex-direction:column;align-items:center}.booking-card{width:100%;max-width:480px;background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden}.step-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;border-bottom:1px solid var(--border-light)}.step-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .2s}.step-dot.active{background:var(--primary);width:24px;border-radius:4px}.step-dot.done{background:var(--primary);opacity:.4}.booking-card .section-title{font-family:var(--font-display);font-size:13px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;padding:20px 20px 10px}.service-list{display:flex;flex-direction:column;gap:8px;padding:0 16px 20px}.service-card{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:16px;cursor:pointer;transition:border-color .15s,background .15s;background:var(--bg-card);text-align:left;width:100%}.service-card.selected,.service-card:hover{border-color:var(--primary);background:#eef1e9}.service-name{font-family:var(--font-display);font-size:16px;font-weight:500;color:var(--text-primary)}.service-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}.service-duration,.service-location,.service-price{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--text-secondary)}.service-duration svg,.service-location svg,.service-price svg{width:14px;height:14px;opacity:.7}.service-description{font-size:13px;color:var(--text-secondary);margin-top:8px;line-height:1.4}.calendar-wrapper{padding:0 16px 20px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0 12px}.calendar-nav-btn{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:border-color .15s,color .15s}.calendar-nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.calendar-nav-btn:disabled{opacity:.35;cursor:not-allowed}.calendar-month-label{font-family:var(--font-display);font-size:15px;font-weight:500}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.calendar-weekday{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);padding:4px 0 8px;text-transform:uppercase;letter-spacing:.4px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:14px;cursor:default;position:relative;gap:2px}.calendar-day.available{cursor:pointer;font-weight:500}.calendar-day.available:hover{background:#eef1e9;color:var(--primary)}.calendar-day.selected{background:var(--primary);color:#fff;font-weight:600}.calendar-day.selected .day-dot{background:rgba(255,255,255,.6)}.calendar-day.unavailable{color:var(--text-muted);opacity:.4}.calendar-day.other-month{color:var(--border)}.day-dot{width:4px;height:4px;border-radius:50%;background:var(--primary)}.time-slots-section{padding:0 16px 20px}.time-slots-date{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:10px;margin-top:16px}.time-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.time-slot-btn{padding:10px 4px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:center;transition:border-color .15s,color .15s,background .15s}.time-slot-btn:hover{border-color:var(--primary);color:var(--primary)}.time-slot-btn.selected{background:var(--primary);border-color:var(--primary);color:#fff}.timezone-note{font-size:12px;margin-top:12px}.loading-slots,.no-slots,.timezone-note{color:var(--text-muted);text-align:center}.loading-slots,.no-slots{font-size:14px;padding:24px 0}.booking-form{padding:16px 20px 24px}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.booking-summary{background:var(--bg);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:20px}.booking-summary-row{font-size:14px;color:var(--text-secondary);display:flex;gap:10px;align-items:flex-start}.booking-summary-row svg{width:16px;height:16px;margin-top:1px;opacity:.7}.booking-summary-row+.booking-summary-row{margin-top:8px}.booking-summary-label{flex-shrink:0;display:flex}.booking-summary-value{font-weight:600;color:var(--text-primary)}.booking-card .form-group{margin-bottom:14px}.booking-card .form-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.booking-card .form-input,.booking-card .form-textarea{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;color:var(--text-primary);background:var(--bg-card);transition:border-color .15s;font-family:inherit;-webkit-appearance:none}.booking-card .form-input:focus,.booking-card .form-textarea:focus{outline:none;border-color:var(--primary)}.booking-card .form-textarea{resize:vertical;min-height:80px}.booking-card .form-input.error,.booking-card .form-textarea.error{border-color:#c0392b}.booking-card .form-error{font-size:12px;color:#c0392b;margin-top:4px}.form-server-error{font-size:13px;color:#c0392b;background:#fdf1ef;border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px}.gdpr-label{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-secondary);cursor:pointer;line-height:1.4}.gdpr-label a{color:var(--primary);text-decoration:underline}.gdpr-label.error{color:#c0392b}.gdpr-label input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--primary);width:16px;height:16px;cursor:pointer}.booking-card .btn-primary,.btn-primary{display:block;width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:999px;font-size:15px;font-weight:600;cursor:pointer;text-align:center;transition:background .15s,transform .1s;font-family:inherit;margin-top:16px;text-decoration:none}.booking-card .btn-primary:hover:not(:disabled){background:var(--emerald-deep)}.booking-card .btn-primary:active:not(:disabled){transform:scale(.99)}.booking-card .btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:transparent;color:var(--text);border:1.5px solid var(--line);border-radius:999px;font-size:13.5px;font-weight:500;cursor:pointer;text-decoration:none;font-family:inherit;transition:border-color .15s,color .15s}.btn-secondary svg{width:15px;height:15px}.btn-secondary:hover{border-color:var(--emerald);color:var(--emerald)}.btn-back{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);opacity:.7;padding:12px 20px 0;font-family:inherit}.btn-back:hover{opacity:1}.btn-danger{display:block;width:100%;padding:14px;background:#c0392b;color:#fff;border:none;border-radius:999px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.btn-danger:hover:not(:disabled){opacity:.9}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.confirm-wrapper{padding:40px 28px;text-align:center}.confirm-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;background:#eef1e9;color:var(--primary)}.confirm-icon svg{width:30px;height:30px}.confirm-title{font-family:var(--font-display);font-size:22px;font-weight:500;margin-bottom:8px;color:var(--ink)}.confirm-subtitle{font-size:14.5px;color:var(--text-secondary);margin-bottom:24px}.confirm-details{background:var(--bg);border-radius:var(--radius-sm);padding:16px;text-align:left;margin-bottom:24px}.confirm-detail-row{display:flex;gap:12px;font-size:14px;color:var(--text-secondary);align-items:flex-start}.confirm-detail-row svg{width:16px;height:16px;margin-top:1px}.confirm-detail-row+.confirm-detail-row{margin-top:10px}.confirm-detail-icon{flex-shrink:0;opacity:.7;display:flex}.confirm-detail-value{font-weight:500;color:var(--text-primary)}.confirm-meet-link{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#eef1e9;border:1.5px solid #d3e0d0;border-radius:var(--radius-sm);color:var(--primary);font-size:14px;font-weight:600;text-decoration:none;margin-bottom:16px;justify-content:center}.confirm-meet-link svg{width:17px;height:17px}.confirm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}.confirm-policy-note{font-size:12.5px;line-height:1.5;color:var(--text-secondary);opacity:.8;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.action-wrapper{padding:32px 24px 36px}.action-title{font-family:var(--font-display);font-size:19px;font-weight:500;margin-bottom:8px;color:var(--ink)}.action-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}