/* Rupee sign: some theme fonts (e.g. PT Serif) draw ₹ badly. This face covers only U+20B9 (DejaVu Serif, free licence – see assets/fonts). */
@font-face { font-family: "SVB Rupee"; font-style: normal; font-weight: 100 599; font-display: swap; unicode-range: U+20B9; src: url(data:font/woff2;base64,d09GMgABAAAAAAKwAA8AAAAABZQAAAJbAAJeuAAAAAAAAAAAAAAAAAAAAAAAAAAAGhQbIBw8H4F2BlYANBEMCoEEgRYBNgIkAwgLBgAEIAWCZgcgG5kECB6Dbcs5ZgQ1OMRlLjGhf34E0VxVPZlkc0BP7FAigSV04DygcPfqQD2BMATXr/0WtwrbMNV0/k79h0aSpIlMaB66WoPpDIX9P/3N19YAybuY4oDnoIyePWyex1FggaXb5+exFL7u1DB37pFJph6BVkBwHc1GKZe0dPncGmTK8D8wE2fqkdaFRxKuDjUnXKIV4Szrm8g5RAZ8cGPZG19s1NcKjZeQbpPHg7IXFA+o4zgZ1bZJSkY76Txrt5O2G02gh3dr+sgVkGaC37uYCwATZGsGgcgjYk9JOaU8IsbUjyj6HU8DQKqqoqzKlDIgAWw8Pi7A0LhH486q0n+lcdww4j0CkFBgkBSBQVKNA7IsGPfof6Zfr3Q3qqX/FSCBjMBEYCEAGRATr6zl9m5ru17P1vPbvfPd67tytO7uW3iRnR0t93Y8bbbvaOvb3JedvWNN8NBw4mRroewG03CiJu9sXNnYOi0bLx5dV7n8fH5fZX5fR+9KEbevfR6smBgdTbkzsk76KVgzufLgr+4EAATS/oczE9sTdMHcr5kVNcCbXzez/sCfz397Op/rb9QSCBrn/o0GXaNHzB+7LsAtU+52vByKkoSUmkx2qBYAoJbRsFuKyE14jpLCMNdSUuuDix7OgZbk5z1XhviHURZbgkshkflQFV411KJJk1aIk4BGKHwen4tgGeqgaSZeAzRMp0Mrm6b3/nXCQ7hChKBBtqUIFWtDAPFkLJOE8CCWi0AKE7IFODoFDwksBpbC3Ju3inApRCMsFs0GwuVRWGhv0aBVp68ykSLJ/Wc3AA==) format("woff2"); }
@font-face { font-family: "SVB Rupee"; font-style: normal; font-weight: 600 900; font-display: swap; unicode-range: U+20B9; src: url(data:font/woff2;base64,d09GMgABAAAAAAKAAA4AAAAABLQAAAIuAAJeuAAAAAAAAAAAAAAAAAAAAAAAAAAAGhQbIBw2BlYANBEMCoEEgRUBNgIkAwgLBgAEIAWDEgcgG8gDAB4FbmtznFg5j0IgWNdl5HxFEM2Rs5fLA5EiqKoDlO/KqNkBC/VVDtgTudYY4FysrT3EMskX9+YJokb83DKtUAJDivY/cc2vdYn/bNpNTV3WSQOaT6dln8C7B93lqSYUgtyLhzyEqwulgAWt+aK1sEDdgN2E1Z0JK5HysxUj0AQINKPBkBRik8kRAEIyVBXAocv6fF+KHW5XckD+eCWTBfJnErUCkFdhwZFvpKeSck25Soy8d1F8gmNJDlJNXVHWlCllQAJYOWZMAzh2b+xeTfR/V9ytvcc/EICEAl28Al18xoAsC8buVRW8X7bpBquTqkoBEsgITALrAMiAmLwUVmyF+E5UJrbN3nDnNxgVAE27CKKhIRrvbCfDwrCIGH+MlB8OqHXXn33G7GpjOKMzc0e7PKnYS7dD+H3Obadvq+6Peb5pHneE3K3jYmU3mZABjZ69yrYwNvsCAIG07/FvXX57lBi+1aXrwNffb9ZawV8rf/9bPoSnEOokENRe+Z8ErWsYSPFD4F9L+QUcK7f2IpBSvRkPddxkdTJq7eIVuR6P+UPo84KkzkcoTHizGUp9Yco1xqLPgkzh0rBoDAMqu6pAXW1tPejCheZYBp1BQzoT1aElyVUTmhEI0Pqe0Puvk3QkjYV00xSxCYlztmdCV4wzCY2kQ2caEmJJkMJ0IWBdoRuZ6Iwl3TreBknDoszJBDeOgYH3b2h0LJkEdTX1jNRukIbjtXjVZ7sAAA==) format("woff2"); }

/* Savista Booking Engine – front end */
:root {
	--svb-primary: #8b4a2b;
	--svb-accent: #c9a227;
	--svb-ink: #2f2621;
	--svb-muted: #7a6a5e;
	--svb-line: #e7ddd3;
	--svb-bg: #fbf8f4;
	--svb-card: #ffffff;
	--svb-soft: #f5ede4;
	--svb-ok: #2f7d4f;
	--svb-err: #b3261e;
	--svb-radius: 10px;
}

.svb-app, .svb-search, .svb-pkgs, .svb-addon-card { color: var(--svb-ink); font-size: 15px; line-height: 1.5; }
.svb-app *, .svb-search *, .svb-pkgs *, .svb-addon-card * { box-sizing: border-box; }
.svb-app { position: relative; margin: 1.5em 0; container-type: inline-size; container-name: svbapp; max-width: 100%; }
.svb-main { container-type: inline-size; container-name: svbmain; min-width: 0; }
.svb-loading-shell { min-height: 280px; border-radius: var(--svb-radius); background: linear-gradient(90deg, var(--svb-soft), #fff, var(--svb-soft)); background-size: 200% 100%; animation: svb-shimmer 1.4s infinite; }
@keyframes svb-shimmer { to { background-position: -200% 0; } }

.svb-title { margin: 0 0 .75em; }

/* Stepper */
.svb-steps { display: flex; gap: 8px; list-style: none; margin: 0 0 20px; padding: 0; counter-reset: s; overflow-x: auto; }
.svb-steps li { flex: 1 1 0; display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: var(--svb-soft); border-radius: 999px; color: var(--svb-muted); font-size: 13px; white-space: nowrap; min-width: 0; }
.svb-steps__n { width: 24px; height: 24px; flex: none; border-radius: 50%; display: grid; place-items: center; background: #fff; font-weight: 600; }
.svb-steps li.is-current { background: var(--svb-primary); color: #fff; }
.svb-steps li.is-current .svb-steps__n { color: var(--svb-primary); }
.svb-steps li.is-done { color: var(--svb-ink); }
.svb-steps li.is-done .svb-steps__n { background: var(--svb-primary); color: #fff; }
.svb-steps__l { overflow: hidden; text-overflow: ellipsis; }

/* Layout */
.svb-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.svb-side { position: static; }
.svb-wrap--full .svb-grid { max-width: 760px; margin: 0 auto; }
@container svbapp (min-width: 900px) {
	.svb-grid { grid-template-columns: minmax(0, 1fr) 320px; }
	.svb-side { position: sticky; top: 24px; }
}
@container svbapp (max-width: 699px) {
	.svb-steps__l { display: none; }
	.svb-steps li { flex: 0 0 auto; }
	.svb-steps li.is-current .svb-steps__l { display: inline; }
}

.svb-card { background: var(--svb-card); border: 1px solid var(--svb-line); border-radius: var(--svb-radius); padding: 22px; }
.svb-card h2, .svb-card h3 { margin-top: 0; }

/* Forms */
.svb-row { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.svb-row > .svb-field { flex: 1 1 160px; }
.svb-row--wrap > .svb-field { flex: 1 1 240px; }
.svb-field { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.svb-field > span { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--svb-muted); font-weight: 600; }
.svb-field > span em { color: var(--svb-err); font-style: normal; }
.svb-field > span small { text-transform: none; letter-spacing: 0; font-weight: 400; }
.svb-field--wide { flex-basis: 100% !important; }
.svb-field--age { flex: 0 1 110px !important; }
.svb-field--nights output { display: block; padding: 11px 0; font-weight: 600; color: var(--svb-primary); }
.svb-field--inline { margin-bottom: 8px; }
.svb-pkgs input[type=date], .svb-app input[type=text], .svb-app input[type=email], .svb-app input[type=tel], .svb-app input[type=date], .svb-app input[type=time], .svb-app select, .svb-app textarea,
.svb-search input, .svb-search select {
	width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--svb-line); border-radius: 8px; background: #fff; color: var(--svb-ink); font: inherit; margin: 0;
}
.svb-app input:focus, .svb-app select:focus, .svb-app textarea:focus, .svb-search input:focus, .svb-search select:focus { outline: 2px solid var(--svb-primary); outline-offset: 1px; border-color: var(--svb-primary); }
.svb-invalid { border-color: var(--svb-err) !important; box-shadow: 0 0 0 2px rgba(179, 38, 30, .15); }
.svb-hint, .svb-note { font-size: 13px; color: var(--svb-muted); margin: 0 0 12px; }
.svb-note { margin-top: 14px; }
.svb-hp { position: absolute !important; left: -9999px !important; height: 1px; width: 1px; opacity: 0; }
.svb-check, .svb-radio { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0; cursor: pointer; }
.svb-check input, .svb-radio input { margin-top: 4px; width: 18px; height: 18px; flex: none; accent-color: var(--svb-primary); }
.svb-radio span { display: flex; flex-direction: column; }
.svb-radio small { color: var(--svb-muted); }
.svb-pay { border: 1px solid var(--svb-line); border-radius: 8px; padding: 12px 16px; margin: 16px 0; }
.svb-pay legend { font-weight: 600; padding: 0 6px; }
.svb-coupon { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 6px 0 10px; }
.svb-coupon .svb-field { flex: 0 1 220px; margin: 0; }
.svb-field-error, .svb-inline-error { color: var(--svb-err); font-size: 13px; flex-basis: 100%; }
.svb-terms { margin: 8px 0; font-size: 13px; color: var(--svb-muted); }
.svb-terms summary { cursor: pointer; }

/* Buttons */
.svb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 10px 20px; border-radius: 999px; border: 1px solid var(--svb-primary); background: #fff; color: var(--svb-primary); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .15s, color .15s, transform .05s; line-height: 1.2; }
.svb-btn:hover { background: var(--svb-soft); color: var(--svb-primary); }
.svb-btn:active { transform: translateY(1px); }
.svb-btn--primary { background: var(--svb-primary); color: #fff; }
.svb-btn--primary:hover { background: color-mix(in srgb, var(--svb-primary) 85%, #000); color: #fff; }
.svb-btn--secondary { background: var(--svb-soft); border-color: transparent; color: var(--svb-ink); }
.svb-btn--ghost { background: transparent; }
.svb-btn--small { min-height: 34px; padding: 6px 14px; font-size: 13px; }
.svb-btn--lg { min-height: 50px; padding: 12px 28px; font-size: 16px; }
.svb-btn[disabled] { opacity: .5; cursor: not-allowed; }
.svb-link { background: none; border: 0; padding: 0; color: var(--svb-primary); text-decoration: underline; cursor: pointer; font: inherit; }
.svb-back { background: none; border: 0; padding: 4px 0; margin: 0 0 10px; color: var(--svb-muted); cursor: pointer; font: inherit; }
.svb-back:hover { color: var(--svb-primary); }
.svb-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 16px; }
.svb-actions--split { justify-content: space-between; }
.svb-chip { border: 1px solid var(--svb-line); background: #fff; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; color: var(--svb-ink); }
.svb-chip.is-active { background: var(--svb-primary); border-color: var(--svb-primary); color: #fff; }
.svb-currency { display: flex; gap: 6px; flex-wrap: wrap; margin: 6px 0; }
.svb-wa { display: inline-flex; align-items: center; gap: 6px; color: #128c4b; font-weight: 600; text-decoration: none; }
.svb-wa::before { content: ""; width: 16px; height: 16px; border-radius: 50%; background: #25d366; }

/* Messages */
.svb-msg { padding: 12px 14px; border-radius: 8px; margin: 12px 0; background: var(--svb-soft); }
.svb-msg--error { background: #fdecea; color: #7a1c16; }
.svb-msg--success { background: #e7f4ec; color: #1d5234; }
.svb-msg--info { background: #fdf6e3; color: #6b5310; }
.svb-muted { color: var(--svb-muted); }
.svb-empty { color: var(--svb-muted); padding: 20px 0; }
.svb-intro { color: var(--svb-muted); }

/* Search bar & tabs */
.svb-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 16px; background: var(--svb-soft); border-radius: var(--svb-radius); margin-bottom: 16px; font-weight: 600; }
.svb-bar__acts { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.svb-bar .svb-currency { margin: 0; }
.svb-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--svb-line); margin-bottom: 16px; }
.svb-tab { background: none; border: 0; border-bottom: 3px solid transparent; padding: 10px 16px; font: inherit; font-weight: 600; color: var(--svb-muted); cursor: pointer; }
.svb-tab span { background: var(--svb-soft); border-radius: 999px; padding: 1px 8px; font-size: 12px; margin-left: 4px; }
.svb-tab.is-active { color: var(--svb-primary); border-bottom-color: var(--svb-primary); }

/* Room / package cards */
.svb-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; background: var(--svb-card); border: 1px solid var(--svb-line); border-radius: var(--svb-radius); padding: 14px; margin-bottom: 16px; }
.svb-item.is-featured { border-color: var(--svb-primary); box-shadow: 0 0 0 1px var(--svb-primary); }
.svb-item.is-unavailable { opacity: .7; }
.svb-item__media img, .svb-item__ph { width: 100%; height: 100%; min-height: 150px; max-height: 220px; object-fit: cover; border-radius: 8px; display: block; background: var(--svb-soft); }
.svb-item__title { margin: 0 0 4px; font-size: 20px; }
.svb-item__meta { color: var(--svb-muted); font-size: 13px; margin-bottom: 6px; }
.svb-item__text { margin: 0 0 8px; }
.svb-item__reasons { color: var(--svb-err); font-size: 13px; }
.svb-item__buy { display: flex; flex-direction: column; align-items: stretch; gap: 8px; border-top: 1px solid var(--svb-line); padding-top: 12px; }
@container svbmain (min-width: 520px) {
	.svb-item { grid-template-columns: 180px minmax(0, 1fr); }
	.svb-item__buy { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: flex-end; }
	.svb-item__buy .svb-price { margin-right: auto; }
	.svb-item--room .svb-plans { grid-column: 1 / -1; }
}
@container svbmain (min-width: 760px) {
	.svb-item { grid-template-columns: 220px minmax(0, 1fr); gap: 18px; }
	.svb-item--pkg { grid-template-columns: 220px minmax(0, 1fr) 240px; }
	.svb-item--pkg .svb-item__buy { grid-column: auto; flex-direction: column; align-items: stretch; justify-content: flex-start; border-top: 0; padding-top: 0; border-left: 1px solid var(--svb-line); padding-left: 16px; }
	.svb-item--pkg .svb-item__buy .svb-price { margin-right: 0; }
	.svb-item--single { grid-template-columns: 280px minmax(0, 1fr) 260px; }
}
.svb-item__more { margin-top: 8px; font-size: 14px; }
.svb-rich > :first-child { margin-top: 0; }
.svb-rich > :last-child { margin-bottom: 0; }
.svb-rich ul { padding-left: 1.2em; margin: .4em 0; }
.svb-rich img { max-width: 100%; height: auto; }

/* Rate plans */
.svb-plans { border-top: 1px solid var(--svb-line); padding-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.svb-plans__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.svb-plans__head .svb-field--rooms { flex-direction: row; align-items: center; gap: 8px; margin: 0 0 0 auto; }
.svb-plans__head .svb-field--rooms select:not(#svb_) { width: auto; min-height: 36px; padding: 4px 8px; }
.svb-plans .svb-hint { margin: 0; font-size: 12px; }
.svb-plan { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 10px 12px; border: 1px solid var(--svb-line); border-radius: 8px; background: var(--svb-bg); }
.svb-plan.is-featured { border-color: var(--svb-primary); background: #fffaf5; }
.svb-plan.is-unavailable { opacity: .55; }
.svb-plan__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 220px; }
.svb-plan__info small { color: var(--svb-muted); }
.svb-plan__badges { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.svb-plan__buy { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.svb-plan__buy .svb-price { text-align: right; }
.svb-plan__buy .svb-price__val { font-size: 20px; }
.svb-badge--muted { background: #eee4da; color: var(--svb-muted); }

/* Steppers */
.svb-row--guests { gap: 14px 28px; }
.svb-stepper { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.svb-stepper__l { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--svb-muted); font-weight: 600; flex-basis: 100%; }
.svb-stepper output { min-width: 28px; text-align: center; font-weight: 700; font-size: 17px; }
.svb-stepper[data-hint]::after { content: attr(data-hint); flex-basis: 100%; font-size: 12px; color: var(--svb-muted); }
:is(.svb-app, .svb-addon-card) .svb-stepper button:not(#svb_) { width: 38px; height: 38px; min-height: 0; padding: 0; border-radius: 50%; border: 1px solid var(--svb-line); background: #fff; color: var(--svb-primary); font-size: 20px; line-height: 1; display: inline-grid; place-items: center; cursor: pointer; }
:is(.svb-app, .svb-addon-card) .svb-stepper button:not(#svb_):hover { border-color: var(--svb-primary); }
:is(.svb-app, .svb-addon-card) .svb-stepper button:not(#svb_):disabled { opacity: .35; cursor: not-allowed; }

/* Room type header */
.svb-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-bottom: 18px; }
.svb-hero__img { width: 100%; max-height: 320px; object-fit: cover; border-radius: var(--svb-radius); display: block; }
.svb-app .svb-hero__title:not(#svb_) { margin: 0 0 4px; font-size: 24px; }
@container svbmain (min-width: 640px) { .svb-hero { grid-template-columns: 260px minmax(0, 1fr); } .svb-hero__img { height: 100%; } }

.svb-price { display: flex; flex-direction: column; }
.svb-price__val { font-size: 24px; font-weight: 700; color: var(--svb-ink); }
.svb-price small { color: var(--svb-muted); font-size: 12px; }
.svb-badge { align-self: flex-start; background: var(--svb-accent); color: #2b2000; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.svb-scarcity { color: var(--svb-err); font-size: 13px; font-weight: 600; }
.svb-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.svb-tag { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; background: var(--svb-soft); color: var(--svb-primary); padding: 2px 8px; border-radius: 999px; font-weight: 600; }
.svb-list { margin: 6px 0; padding: 0; list-style: none; }
.svb-list li { padding-left: 20px; position: relative; margin: 2px 0; }
.svb-list--check li::before { content: "✓"; position: absolute; left: 0; color: var(--svb-ok); font-weight: 700; }
.svb-list--cross li::before { content: "–"; position: absolute; left: 2px; color: var(--svb-muted); }
.svb-list--inline { display: flex; flex-wrap: wrap; gap: 2px 16px; font-size: 13px; }
.svb-pkg-more { margin-top: 10px; font-size: 14px; }
.svb-pkg-more h4 { margin: 12px 0 4px; }
.svb-itinerary { padding-left: 20px; }
.svb-itinerary li { margin-bottom: 8px; }

/* Add-ons */
.svb-addon { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px 14px; align-items: start; background: var(--svb-card); border: 1px solid var(--svb-line); border-radius: var(--svb-radius); padding: 12px; margin-bottom: 12px; }
.svb-addon:not(:has(.svb-addon__img)) { grid-template-columns: minmax(0, 1fr); }
.svb-addon.is-on { border-color: var(--svb-primary); background: #fffaf5; box-shadow: 0 0 0 1px var(--svb-primary); }
.svb-addon__img { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; }
.svb-app .svb-addon h4:not(#svb_) { margin: 0 0 2px; font-size: 17px; }
.svb-addon .svb-rich { font-size: 14px; color: var(--svb-muted); margin-top: 6px; }
.svb-addon__ctl { grid-column: 1 / -1; display: flex; gap: 12px 20px; align-items: flex-end; flex-wrap: wrap; border-top: 1px dashed var(--svb-line); padding-top: 10px; }
.svb-addon__ctl .svb-field--slot { width: 150px; margin: 0; }
.svb-addon__line { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.svb-addon__line .svb-price__val { font-size: 18px; }
@container svbmain (max-width: 480px) {
	.svb-addon { grid-template-columns: 64px minmax(0, 1fr); }
	.svb-addon__img { width: 64px; height: 64px; }
	.svb-addon__line { margin-left: 0; width: 100%; justify-content: space-between; }
}

/* Summary */
.svb-sum { background: var(--svb-card); border: 1px solid var(--svb-line); border-radius: var(--svb-radius); padding: 18px; transition: opacity .2s; }
.svb-sum.is-loading { opacity: .55; }
.svb-sum h3 { margin: 0 0 10px; font-size: 18px; }
.svb-sum__item { display: flex; flex-direction: column; gap: 2px; padding-bottom: 10px; border-bottom: 1px solid var(--svb-line); margin-bottom: 8px; }
.svb-sum__item small { color: var(--svb-muted); }
.svb-sum__table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0; }
.svb-sum__table td { padding: 6px 0; vertical-align: top; border: 0; background: none; }
.svb-sum__table td:last-child { text-align: right; white-space: nowrap; padding-left: 10px; }
.svb-sum__table small { display: block; color: var(--svb-muted); font-size: 12px; }
.svb-sum__disc td { color: var(--svb-ok); }
.svb-sum__total td { border-top: 2px solid var(--svb-primary); font-weight: 700; font-size: 17px; padding-top: 10px; }
.svb-sum__due td { font-weight: 700; color: var(--svb-primary); }
.svb-sum__help { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--svb-line); font-size: 14px; }
.svb-sum__notes { margin: 10px 0 0; padding: 8px 10px 8px 26px; background: var(--svb-soft); border-radius: 8px; font-size: 13px; color: var(--svb-muted); }
.svb-sum__notes li { margin: 2px 0; }
.svb-nightly { margin-top: 8px; font-size: 13px; }
.svb-nightly summary { cursor: pointer; color: var(--svb-muted); }
.svb-nightly ul { list-style: none; padding: 0; margin: 6px 0 0; }
.svb-nightly li { display: flex; justify-content: space-between; padding: 2px 0; }
.svb-secure { font-size: 12px; color: var(--svb-muted); text-align: right; margin: 8px 0 0; }

/* Banners */
.svb-banner { position: relative; display: flex; gap: 14px; align-items: center; padding: 14px 16px; border-radius: var(--svb-radius); margin-bottom: 14px; background: var(--svb-soft); overflow: hidden; }
.svb-banner--bold { background: var(--svb-primary); color: #fff; }
.svb-banner--bold .svb-btn { border-color: #fff; color: #fff; }
.svb-banner--bold .svb-btn:not(.svb-btn--ghost) { background: #fff; color: var(--svb-primary); }
.svb-banner--accent { background: #fbf1d3; }
.svb-banner--image { color: #fff; min-height: 140px; }
.svb-banner--image .svb-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; filter: brightness(.55); }
.svb-banner--image .svb-banner__body { position: relative; }
.svb-banner--image .svb-btn { border-color: #fff; color: #fff; }
.svb-banner__img { width: 88px; height: 88px; object-fit: cover; border-radius: 8px; flex: none; }
.svb-banner__h { display: block; font-size: 16px; }
.svb-banner p { margin: 2px 0 0; }
.svb-banner__acts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.svb-banner__x { position: absolute; top: 6px; right: 8px; background: none; border: 0; font-size: 20px; line-height: 1; cursor: pointer; color: inherit; opacity: .7; }

/* Done / booking view */
.svb-done { text-align: center; }
.svb-done .svb-dl, .svb-done .svb-sum__table, .svb-done .svb-actions { text-align: left; }
.svb-done__icon { width: 64px; height: 64px; margin: 0 auto 10px; border-radius: 50%; background: var(--svb-ok); color: #fff; font-size: 34px; display: grid; place-items: center; }
.svb-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 16px 0; }
.svb-dl dt { color: var(--svb-muted); }
.svb-dl dd { margin: 0; }

/* Overlay & skeleton */
.svb-overlay { position: fixed; inset: 0; background: rgba(251, 248, 244, .85); z-index: 99990; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; font-weight: 600; }
.svb-spinner { width: 42px; height: 42px; border: 4px solid var(--svb-line); border-top-color: var(--svb-primary); border-radius: 50%; animation: svb-spin .8s linear infinite; }
@keyframes svb-spin { to { transform: rotate(360deg); } }
.svb-skeleton { height: 170px; border-radius: var(--svb-radius); margin-bottom: 16px; background: linear-gradient(90deg, var(--svb-soft), #fff, var(--svb-soft)); background-size: 200% 100%; animation: svb-shimmer 1.4s infinite; }

/* Sidebar search / widget */
.svb-search { background: var(--svb-card); border: 1px solid var(--svb-line); border-radius: var(--svb-radius); padding: 16px; }
.svb-search__title { font-weight: 700; font-size: 18px; margin-bottom: 10px; }
.svb-search__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.svb-search--vertical .svb-search__fields { grid-template-columns: 1fr 1fr; }
.svb-search__ages { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.svb-search__ages:empty { display: none; }
.svb-search .svb-btn { width: 100%; }
.svb-search--horizontal { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.svb-search--horizontal .svb-search__title { flex-basis: 100%; }
.svb-search--horizontal .svb-search__fields { display: flex; flex-wrap: wrap; flex: 1 1 520px; margin: 0; }
.svb-search--horizontal .svb-field { flex: 1 1 120px; }
.svb-search--horizontal .svb-btn { width: auto; }

/* Packages shortcode */
.svb-pkgs { margin: 1.5em 0; container-type: inline-size; }
.svb-pkgs__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 16px; }
.svb-pkgs__head[hidden], .svb-pkg-grid[hidden], .svb-pkg-card[hidden], .svb-app[hidden], .svb-empty[hidden] { display: none !important; }
.svb-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; }
.svb-filters__types { display: flex; gap: 6px; flex-wrap: wrap; }
.svb-filters__date { flex-direction: row; align-items: center; gap: 8px; margin: 0; }
.svb-pkg-grid { display: grid; gap: 22px; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); }
.svb-cols-1 { --cols: 1; } .svb-cols-2 { --cols: 2; } .svb-cols-3 { --cols: 3; } .svb-cols-4 { --cols: 4; }
@container (max-width: 900px) { .svb-pkg-grid { --cols: 2 !important; } }
@container (max-width: 580px) { .svb-pkg-grid { --cols: 1 !important; } }
.svb-pkg-card { background: var(--svb-card); border: 1px solid var(--svb-line); border-radius: var(--svb-radius); overflow: hidden; display: flex; flex-direction: column; }
.svb-pkg-card__media img, .svb-pkg-card__ph { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--svb-soft); height: auto; }
.svb-pkg-card__body { padding: 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.svb-pkgs .svb-pkg-card__title:not(#svb_) { margin: 0; font-size: 20px; line-height: 1.25; }
.svb-pkg-card__meta { color: var(--svb-muted); font-size: 13px; }
.svb-pkg-card p { margin: 0; }
.svb-pkg-card__inc { font-size: 14px; }
.svb-pkg-card__inc summary { cursor: pointer; color: var(--svb-primary); }
.svb-pkg-card__foot { margin-top: auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 10px; padding-top: 10px; }
.svb-pkg-card__acts { display: flex; gap: 8px; flex-wrap: wrap; }
.svb-pkg-grid--list { --cols: 1 !important; }
@container (min-width: 700px) {
	.svb-pkg-grid--list .svb-pkg-card { flex-direction: row; }
	.svb-pkg-grid--list .svb-pkg-card__media { flex: 0 0 300px; }
	.svb-pkg-grid--list .svb-pkg-card__media img, .svb-pkg-grid--list .svb-pkg-card__ph { height: 100%; aspect-ratio: auto; }
}
.svb-price__val[hidden] { display: none; }
.svb-block-placeholder { padding: 24px; border: 2px dashed var(--svb-line); text-align: center; color: var(--svb-muted); }

/* Add-on shortcode */
.svb-addon-card { background: var(--svb-card); border: 1px solid var(--svb-line); border-radius: var(--svb-radius); overflow: hidden; margin: 1.5em 0; max-width: 720px; }
.svb-addon-card__img { width: 100%; max-height: 300px; object-fit: cover; display: block; }
.svb-addon-card__body { padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.svb-addon-card .svb-addon-card__title:not(#svb_) { margin: 0; font-size: 22px; }
.svb-addon-card__meta { color: var(--svb-muted); font-size: 13px; }
.svb-addon-card__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 24px; padding: 12px 0; border-top: 1px solid var(--svb-line); border-bottom: 1px solid var(--svb-line); }
.svb-addon-card__row .svb-price { margin-left: auto; text-align: right; }
.svb-addon-card__acts { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.svb-addon-card .svb-hint { margin: 0; text-align: right; }
.svb-addon-card .svb-stepper button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--svb-line); background: #fff; color: var(--svb-primary); font-size: 20px; cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
	.svb-loading-shell, .svb-skeleton, .svb-spinner { animation: none; }
}

/* Theme-proofing: themes often style every button/input with high specificity. */
:is(.svb-app, .svb-search, .svb-pkgs, .svb-addon-card) :is(button, a, input, select, textarea):not(#svb_) { font-family: inherit; letter-spacing: normal; text-transform: none; box-shadow: none; }
:is(.svb-app, .svb-search, .svb-pkgs, .svb-addon-card) .svb-btn:not(#svb_) { display: inline-flex; min-height: 44px; padding: 10px 20px; border-radius: 999px; border: 1px solid var(--svb-primary); background: #fff; color: var(--svb-primary); font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none; outline-offset: 2px; width: auto; }
:is(.svb-app, .svb-search, .svb-pkgs, .svb-addon-card) .svb-btn:not(#svb_):hover { background: var(--svb-soft); color: var(--svb-primary); }
:is(.svb-app, .svb-search, .svb-pkgs, .svb-addon-card) .svb-btn--primary:not(#svb_) { background: var(--svb-primary); color: #fff; }
:is(.svb-app, .svb-search, .svb-pkgs, .svb-addon-card) .svb-btn--primary:not(#svb_):hover { background: color-mix(in srgb, var(--svb-primary) 85%, #000); color: #fff; }
:is(.svb-app, .svb-search) .svb-btn--secondary:not(#svb_) { background: var(--svb-soft); border-color: transparent; color: var(--svb-ink); }
:is(.svb-app, .svb-search) .svb-btn--ghost:not(#svb_) { background: transparent; }
:is(.svb-app, .svb-search) .svb-btn--small:not(#svb_) { min-height: 34px; padding: 6px 14px; font-size: 13px; }
:is(.svb-app, .svb-search) .svb-btn--lg:not(#svb_) { min-height: 50px; padding: 12px 28px; font-size: 16px; }
.svb-search .svb-btn:not(#svb_) { width: 100%; }
.svb-search--horizontal .svb-btn:not(#svb_) { width: auto; }
.svb-app .svb-btn[disabled]:not(#svb_) { opacity: .5; cursor: not-allowed; }
:is(.svb-app, .svb-pkgs) :is(.svb-link, .svb-back, .svb-tab, .svb-banner__x):not(#svb_) { background: none; border: 0; padding: 0; min-height: 0; color: var(--svb-primary); font-size: inherit; font-weight: inherit; border-radius: 0; }
.svb-app .svb-back:not(#svb_) { padding: 4px 0; color: var(--svb-muted); margin: 0 0 10px; }
:is(.svb-app, .svb-pkgs) .svb-link:not(#svb_) { text-decoration: underline; }
.svb-app .svb-tab:not(#svb_) { padding: 10px 16px; font-weight: 600; color: var(--svb-muted); border-bottom: 3px solid transparent; }
.svb-app .svb-tab.is-active:not(#svb_) { color: var(--svb-primary); border-bottom-color: var(--svb-primary); }
:is(.svb-app, .svb-pkgs, .svb-addon-card) .svb-chip:not(#svb_) { border: 1px solid var(--svb-line); background: #fff; color: var(--svb-ink); border-radius: 999px; padding: 6px 12px; font-size: 13px; font-weight: 500; min-height: 0; }
:is(.svb-app, .svb-pkgs, .svb-addon-card) .svb-chip.is-active:not(#svb_) { background: var(--svb-primary); border-color: var(--svb-primary); color: #fff; }
.svb-app .svb-banner__x:not(#svb_) { color: inherit; font-size: 20px; padding: 0 4px; }
:is(.svb-app, .svb-search, .svb-pkgs) :is(input[type=text], input[type=email], input[type=tel], input[type=date], input[type=time], select, textarea):not(#svb_) {
	width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--svb-line); border-radius: 8px; background: #fff; color: var(--svb-ink); font-size: 15px; line-height: 1.3; margin: 0; max-width: 100%;
}
:is(.svb-app, .svb-search) select:not(#svb_) { appearance: auto; background-image: none; padding-right: 8px; }
:is(.svb-app, .svb-search) :is(input, select, textarea):not(#svb_):focus { outline: 2px solid var(--svb-primary); outline-offset: 1px; border-color: var(--svb-primary); }
.svb-app input[type=checkbox]:not(#svb_), .svb-app input[type=radio]:not(#svb_) { width: 18px; height: 18px; min-height: 0; margin: 3px 0 0; accent-color: var(--svb-primary); }
.svb-app :is(h2, h3, h4):not(#svb_) { font-family: inherit; letter-spacing: normal; }
.svb-app .svb-item__title:not(#svb_) { font-size: 20px; line-height: 1.25; margin: 0 0 4px; }
.svb-app table:not(#svb_) td { border: 0; }
.svb-app .svb-hp:not(#svb_) { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.svb-app .svb-invalid:not(#svb_) { border-color: var(--svb-err); box-shadow: 0 0 0 2px rgba(179, 38, 30, .15); }

/* ---------------------------------------------------------------- v2.1 */

/* Date field button */
.svb-search__dates { display: contents; }
.svb-datefield { min-width: 0; }
.svb-date { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--svb-line); border-radius: 8px; background: #fff; color: var(--svb-muted); font: inherit; text-align: left; cursor: pointer; margin: 0; box-shadow: none; text-transform: none; letter-spacing: normal; }
.svb-date:hover { border-color: var(--svb-primary); background: #fff; color: var(--svb-muted); }
.svb-date:focus-visible { outline: 2px solid var(--svb-primary); outline-offset: 1px; border-color: var(--svb-primary); }
.svb-date.has-value { color: var(--svb-ink); font-weight: 600; }
.svb-date__ic { width: 18px; height: 18px; flex: none; fill: var(--svb-primary); }
.svb-date__v { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
span.svb-datefield { display: inline-block; min-width: 190px; }
.svb-field--inline-wrap .svb-datefield { gap: 4px; }

/* Calendar popup */
.svb-cal { position: absolute; z-index: 100000; background: #fff; color: var(--svb-ink); border: 1px solid var(--svb-line); border-radius: 14px; box-shadow: 0 18px 50px rgba(47, 38, 33, .18); font-size: 14px; line-height: 1.3; width: max-content; max-width: calc(100vw - 16px); }
.svb-cal[hidden] { display: none; }
.svb-cal *, .svb-cal *::before { box-sizing: border-box; }
.svb-cal__in { padding: 16px; }
.svb-cal button { font: inherit; margin: 0; box-shadow: none; text-transform: none; letter-spacing: normal; }
.svb-cal__sum { display: flex; gap: 8px; margin-bottom: 12px; }
.svb-cal__sum > div { flex: 1; padding: 8px 12px; border-radius: 10px; background: var(--svb-soft); border: 2px solid transparent; }
.svb-cal__sum > div.is-active { border-color: var(--svb-primary); background: #fff; }
.svb-cal__sum small { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--svb-muted); font-weight: 600; }
.svb-cal__sum strong { font-size: 14px; }
.svb-cal__nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.svb-cal__hint { font-size: 13px; color: var(--svb-muted); text-align: center; }
.svb-cal__arrow { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--svb-line); background: #fff; color: var(--svb-primary); font-size: 22px; line-height: 1; cursor: pointer; padding: 0; display: grid; place-items: center; }
.svb-cal__arrow:hover:not([disabled]) { background: var(--svb-primary); color: #fff; border-color: var(--svb-primary); }
.svb-cal__arrow[disabled] { opacity: .3; cursor: default; }
.svb-cal__ms { display: flex; gap: 24px; }
.svb-cal__m { width: 266px; }
.svb-cal__t { text-align: center; font-weight: 700; margin: 4px 0 8px; color: var(--svb-ink); }
.svb-cal__g { display: grid; grid-template-columns: repeat(7, 38px); gap: 0; }
.svb-cal__wd { text-align: center; font-size: 11px; font-weight: 600; color: var(--svb-muted); padding: 4px 0; text-transform: uppercase; }
.svb-cal__d { position: relative; width: 38px; height: 38px; border: 0; background: transparent; color: var(--svb-ink); border-radius: 50%; cursor: pointer; padding: 0; font-weight: 500; }
.svb-cal__d:hover:not([disabled]) { background: var(--svb-soft); color: var(--svb-primary); }
.svb-cal__d:focus-visible { outline: 2px solid var(--svb-primary); outline-offset: -2px; }
.svb-cal__d[disabled] { color: #cfc5bc; cursor: default; }
.svb-cal__d.is-closed[disabled] { text-decoration: line-through; text-decoration-color: rgba(0, 0, 0, .2); }
.svb-cal__d.is-today { box-shadow: inset 0 0 0 1px var(--svb-primary); }
.svb-cal__d.is-closed::after { content: ""; position: absolute; left: 50%; bottom: 4px; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--svb-accent); }
.svb-cal__d.is-in { background: color-mix(in srgb, var(--svb-primary) 14%, #fff); border-radius: 0; color: var(--svb-ink); }
.svb-cal__d.is-start, .svb-cal__d.is-end { background: var(--svb-primary); color: #fff; font-weight: 700; }
.svb-cal__d.is-start:hover, .svb-cal__d.is-end:hover { background: var(--svb-primary); color: #fff; }
.svb-cal__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--svb-line); flex-wrap: wrap; }
.svb-cal__n { display: flex; flex-direction: column; font-weight: 600; color: var(--svb-primary); }
.svb-cal__n small { font-weight: 400; color: var(--svb-muted); font-size: 12px; display: flex; align-items: center; gap: 6px; }
.svb-cal__dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--svb-accent); }
.svb-cal__acts { display: flex; gap: 8px; margin-left: auto; }
.svb-cal__btn { min-height: 40px; padding: 8px 18px; border-radius: 999px; cursor: pointer; font-weight: 600; }
.svb-cal__clear { background: transparent; border: 1px solid var(--svb-line); color: var(--svb-ink); }
.svb-cal__clear:hover { border-color: var(--svb-primary); color: var(--svb-primary); background: transparent; }
.svb-cal__done { background: var(--svb-primary); border: 1px solid var(--svb-primary); color: #fff; }
.svb-cal__done:hover:not([disabled]) { filter: brightness(1.08); background: var(--svb-primary); color: #fff; }
.svb-cal__done[disabled] { opacity: .45; cursor: default; }

/* Mobile: bottom sheet, one month */
.svb-cal.is-sheet { position: fixed; left: 0 !important; right: 0; bottom: 0; top: auto !important; width: 100%; max-width: none; border-radius: 18px 18px 0 0; max-height: 92vh; overflow-y: auto; animation: svb-sheet .22s ease-out; }
.svb-cal.is-sheet .svb-cal__in { padding: 18px 16px calc(16px + env(safe-area-inset-bottom)); }
.svb-cal.is-sheet .svb-cal__ms { justify-content: center; }
.svb-cal.is-sheet .svb-cal__m { width: 100%; max-width: 360px; }
.svb-cal.is-sheet .svb-cal__g { grid-template-columns: repeat(7, 1fr); }
.svb-cal.is-sheet .svb-cal__d { width: 100%; height: 44px; }
html.svb-cal-open body::after { content: ""; position: fixed; inset: 0; background: rgba(47, 38, 33, .35); z-index: 99999; }
@media (min-width: 640px) { html.svb-cal-open body::after { display: none; } }
@keyframes svb-sheet { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }

/* “S” loader */
.svb-sload { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 48px 16px; text-align: center; }
.svb-sload__s { position: relative; font-family: Georgia, "Times New Roman", serif; font-size: 76px; font-weight: 700; line-height: 1; width: 1em; height: 1.1em; }
.svb-sload__o, .svb-sload__f { position: absolute; inset: 0; display: grid; place-items: center; }
.svb-sload__o { color: var(--svb-soft); -webkit-text-stroke: 1.5px color-mix(in srgb, var(--svb-primary) 45%, transparent); }
.svb-sload__f { color: var(--svb-primary); clip-path: inset(100% 0 0 0); animation: svb-fill 1.6s ease-in-out infinite; }
.svb-sload__m { margin: 0; font-weight: 600; color: var(--svb-ink); font-size: 15px; }
.svb-sload--sm { padding: 0; }
.svb-sload--sm .svb-sload__s { font-size: 60px; }
.svb-overlay .svb-sload { background: #fff; padding: 28px 36px; border-radius: 16px; box-shadow: 0 12px 40px rgba(47, 38, 33, .14); }
@keyframes svb-fill {
	0% { clip-path: inset(100% 0 0 0); }
	55% { clip-path: inset(0 0 0 0); }
	80% { clip-path: inset(0 0 0 0); opacity: 1; }
	100% { clip-path: inset(0 0 0 0); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.svb-sload__f { animation: svb-pulse 2s ease-in-out infinite; clip-path: none; }
	.svb-cal.is-sheet { animation: none; }
}
@keyframes svb-pulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }

/* Per-person price line */
.svb-pp { display: block; font-size: 12px; color: var(--svb-primary); font-weight: 600; margin-top: 2px; }
.svb-pp[hidden], .svb-price small[hidden] { display: none; }
.svb-addon__price { display: flex; flex-direction: column; align-items: flex-end; }

/* Clickable completed steps */
.svb-steps__b { display: flex; align-items: center; gap: 8px; width: 100%; min-width: 0; padding: 0; margin: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; text-align: left; box-shadow: none; text-transform: none; letter-spacing: normal; }
.svb-steps__b:hover .svb-steps__l { text-decoration: underline; }
.svb-steps__b:focus-visible { outline: 2px solid var(--svb-primary); outline-offset: 4px; border-radius: 999px; }

/* Guest limit hint */
.svb-hint--max { margin: 4px 0 14px; color: var(--svb-muted); font-size: 13px; }
.svb-hint--max .svb-link { font-size: 13px; }

/* Final bill (guest view) */
.svb-bill h2 { margin: 0 0 4px; }
.svb-billtable { width: 100%; border-collapse: collapse; margin: 18px 0 8px; font-size: 15px; }
.svb-billtable th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--svb-muted); font-weight: 600; padding: 0 0 8px; border-bottom: 1px solid var(--svb-line); }
.svb-billtable td { padding: 9px 0; border-bottom: 1px solid var(--svb-soft); }
.svb-billtable .num { text-align: right; padding-left: 16px; }
.svb-billtable tfoot td { border-bottom: 0; padding: 4px 0; color: var(--svb-muted); }
.svb-billtable tfoot .num:last-child { color: var(--svb-ink); }
.svb-billtable__total td { border-top: 2px solid var(--svb-primary); font-weight: 700; font-size: 17px; color: var(--svb-ink); padding-top: 10px; }
.svb-bill-due { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; background: var(--svb-soft); border-radius: var(--svb-radius); padding: 14px 18px; margin: 16px 0 4px; }
.svb-bill-due strong { font-size: 22px; color: var(--svb-primary); }
@media (max-width: 560px) {
	.svb-billtable { font-size: 14px; }
	.svb-billtable th:nth-child(2), .svb-billtable td:nth-child(2), .svb-billtable th:nth-child(3), .svb-billtable td:nth-child(3) { display: none; }
	.svb-billtable tfoot td:first-child { text-align: left; }
}

/* Floating WhatsApp button */
.svb-wafloat { position: fixed; bottom: 20px; z-index: 99980; display: inline-flex; align-items: center; gap: 9px; padding: 12px 18px 12px 14px; border-radius: 999px; background: #25d366; color: #fff !important; font: 600 15px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; text-decoration: none !important; box-shadow: 0 8px 24px rgba(37, 211, 102, .35); transition: transform .15s ease, box-shadow .15s ease; }
.svb-wafloat--right { right: 20px; }
.svb-wafloat--left { left: 20px; }
.svb-wafloat:hover, .svb-wafloat:focus { color: #fff !important; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(37, 211, 102, .45); }
.svb-wafloat svg { width: 24px; height: 24px; fill: #fff; flex: none; }
@media (max-width: 560px) {
	.svb-wafloat { padding: 14px; bottom: 16px; }
	.svb-wafloat--right { right: 16px; }
	.svb-wafloat--left { left: 16px; }
	.svb-wafloat span { display: none; }
}
@media (prefers-reduced-motion: reduce) { .svb-wafloat { transition: none; } }

/* country picker */
.svb-combo{position:relative}
.svb-combo__list{position:absolute;z-index:40;top:100%;left:0;right:0;margin:2px 0 0;padding:4px;list-style:none;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #d9d2c7;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.svb-combo__o{padding:7px 10px;border-radius:7px;cursor:pointer;font-size:15px;line-height:1.3}
.svb-combo__o:hover,.svb-combo__o.is-active{background:#f2ece2}
/* other guests */
.svb-party{border:1px solid #e6dfd4;border-radius:12px;padding:14px 16px;margin:14px 0}
.svb-party legend{font-weight:600;padding:0 6px}
.svb-party__row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:10px 0}
.svb-party__n{flex:0 0 100%;font-size:13px;font-weight:600;color:#6b6257}
.svb-party__row .svb-field{flex:1 1 200px;margin:0}
/* dpdp consent */
.svb-consent{margin:14px 0}
.svb-consent__notice{font-size:14px;line-height:1.55;max-height:none}
.svb-consent .svb-check{margin:8px 0}
.svb-consent .svb-check small{display:block;color:#6b6257;font-size:13px;line-height:1.4}
@media(max-width:560px){.svb-party__row .svb-field{flex:1 1 100%}}
.svb-addon__cap { margin: 0; font-size: 12px; color: var(--svb-muted, #7a6a5e); align-self: center; }
.svb-addon .svb-btn[disabled] { opacity: .45; cursor: not-allowed; }
