/* Booking widget styles (namespaced with sv-) */
:root { --gap: 14px; --radius: 14px; --shadow: 0 6px 20px rgba(0,0,0,.08); }
.sv-wrap { max-width: 900px; margin: 24px auto; padding: 0 16px; }
.sv-card { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px; }
.sv-title { font-size: 26px; margin: 0 0 6px; font-weight: 700; } /* styled plain text title */
.sv-card .lead { margin: 0 0 18px; color: #475569; }
.sv-grid { display: grid; grid-template-columns: 1fr; gap: var(--gap); }
@media (min-width: 860px){ .sv-grid { grid-template-columns: 2fr 1fr; } }
.sv-services { display: grid; grid-template-columns: 1fr; gap: var(--gap); }
.sv-service { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; }
.sv-service h3 { margin: 0; font-size: 16px; }
.sv-service small { color: #64748b; }
.sv-service .price { font-weight: 600; white-space: nowrap; }
.sv-qty { display: inline-flex; align-items: center; gap: 6px; }
.sv-qty input { width: 56px; text-align: center; padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 8px; }
.sv-qty button { width: 32px; height: 32px; border-radius: 8px; border: 1px solid #cbd5e1; background: #f8fafc; cursor: pointer; }
.sv-side { border: 1px dashed #cbd5e1; border-radius: 12px; padding: 14px; }
.sv-side h4 { margin: 0 0 10px; }
.sv-field { display: grid; gap: 6px; margin-bottom: 12px; }
.sv-field label { font-weight: 600; font-size: 14px; }
.sv-field input, .sv-field textarea, .sv-field select { padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 10px; font: inherit; }
.sv-summary { display: grid; gap: 6px; font-size: 14px; }
.sv-summary .sv-line { display: flex; justify-content: space-between; }
.sv-summary .sv-total { font-weight: 700; font-size: 16px; padding-top: 8px; border-top: 1px dashed #cbd5e1; }
.sv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 16px; border-radius: 12px; background: #0ea5e9; color: #fff; text-decoration: none; border: none; cursor: pointer; font-weight: 600; }
.sv-btn[disabled] { opacity: .6; cursor: not-allowed; }
.sv-btn.sv-secondary { background: #f1f5f9; color: #0f172a; border: 1px solid #cbd5e1; }
.sv-row-between { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
#sv-cart { width: min(680px, 92vw); border: none; border-radius: 16px; box-shadow: var(--shadow); padding: 0; }
.sv-modal-head { padding: 18px 22px; border-bottom: 1px solid #e2e8f0; display: flex; justify-content: space-between; align-items: center; }
.sv-modal-body { padding: 18px 22px; }
.sv-modal-foot { padding: 18px 22px; border-top: 1px solid #e2e8f0; display: flex; justify-content: end; gap: 10px; }
.sv-muted { color: #64748b; }
.sv-notice { background: #f0f9ff; border: 1px solid #bae6fd; padding: 10px 12px; border-radius: 10px; font-size: 14px; }
