/* Complete guest theme surfaces; photograph overlays keep independent contrast. */
html:has([data-public-stay]) { color-scheme: var(--booking-color-scheme, light); background: var(--booking-bg, #fff); scrollbar-color: var(--booking-input-border, #8C9992) var(--booking-bg, #fff); }
html:has([data-public-stay])::-webkit-scrollbar-track { background: var(--booking-bg, #fff); }
html:has([data-public-stay])::-webkit-scrollbar-thumb { background: var(--booking-input-border, #8C9992); }
body:has([data-public-stay]), body[data-public-stay] { background: var(--booking-bg, #fff); color: var(--booking-text, #222A2C); }
[data-public-stay] { --stay-soft: var(--booking-soft, #F3F6F5); color: var(--booking-text, #222A2C); background: var(--booking-bg, #fff); }
[data-public-stay] :is([class~="bg-white"],[class~="bg-[#fbfdfd]"]) { background-color: var(--booking-surface, #fff) !important; }
[data-public-stay] :is([class~="bg-[#eef2f4]"],[class~="bg-[#eef2f5]"],[class~="bg-[#eef4f7]"],[class~="bg-[#f0f5f7]"],[class~="bg-[#f1f3f5]"],[class~="bg-[#f1f4f6]"],[class~="bg-[#f2fbf9]"],[class~="bg-[#f5f7f8]"],[class~="bg-[#f7fafb]"],[class~="bg-[#f8f4fb]"],[class~="bg-[#f8fafb]"]) { background: var(--booking-soft, #F3F6F5) !important; }
[data-public-stay] :is([class~="text-[#16202c]"],[class~="text-[#183349]"],[class~="text-[#263746]"],[class~="text-[#294f68]"],[class~="text-[#315263]"],[class~="text-[#315a74]"],[class~="text-[#3e5666]"],[class~="text-[#435d6d]"]) { color: var(--booking-text) !important; }
[data-public-stay] :is([class~="text-[#536b7b]"],[class~="text-[#607786]"],[class~="text-[#78909d]"],[class~="text-[#7a8d9a]"]) { color: var(--booking-muted) !important; }
[data-public-stay] :is([class~="text-[#0f665d]"],[class~="text-[#0f766e]"],[class~="text-[#3b746d]"],[class~="text-[#5b3e75]"]) { color: var(--booking-primary) !important; }
[data-public-stay] :is([class~="text-[#765b1c]"],[class~="text-[#77570e]"],[class~="text-[#846928]"],[class~="text-[#876312]"],[class~="text-[#8a5019]"],[class~="text-[#8a5a00]"],[class~="text-[#95631f]"],[class~="text-[#9a4a18]"],[class~="text-[#b0672a]"]) { color: var(--booking-warning) !important; }
[data-public-stay] :is([class~="text-[#8d4a35]"],[class~="text-[#a54731]"]) { color: var(--booking-danger) !important; }
[data-public-stay] :is([class~="bg-[#fff4df]"],[class~="bg-[#fff7e6]"],[class~="bg-[#fff7e8]"],[class~="bg-[#fff7e9]"],[class~="bg-[#fff7ed]"],[class~="bg-[#fff8e5]"],[class~="bg-[#fffaf0]"]) { background: var(--booking-warning-bg) !important; }
[data-public-stay] :is([class~="bg-[#fff1eb]"],[class~="bg-[#fff8f5]"]) { background: var(--booking-danger-bg) !important; }
[data-public-stay] [class~="bg-[#eef8f6]"] { background: var(--booking-success-bg) !important; color: var(--booking-success); }
[data-public-stay] :is([class~="bg-[#183349]"],[class~="bg-[#0f766e]"]) { background: var(--booking-button) !important; color: var(--booking-button-text) !important; }
[data-public-stay] [class*="border-"] { border-color: var(--booking-border); }
[data-public-stay] :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { background: var(--booking-input) !important; color: var(--booking-text) !important; border-color: var(--booking-input-border); color-scheme: var(--booking-color-scheme); }
[data-public-stay] :is(input,textarea)::placeholder { color: var(--booking-muted); opacity: 1; }
[data-public-stay] :is(input[type=checkbox],input[type=radio]) { accent-color: var(--booking-primary); color-scheme: var(--booking-color-scheme); }
[data-public-stay] option { background: var(--booking-input); color: var(--booking-text); }
[data-public-stay] [aria-invalid=true] { border-color: var(--booking-danger); }
[data-public-stay] :is(.stay-header,#booking-home,.stay-section-nav,.stay-section-nav a,#booking-search,#booking-news,#booking-about,#booking-stay-info,#booking-faqs) { background: var(--booking-bg); }
[data-public-stay] :is(#booking-search-form,#booking-contact,[data-booking-room-card],.booking-overflow-card,.booking-room-card-gallery,#booking-news article,#booking-faqs details) { background: var(--booking-surface); }
[data-public-stay] #booking-search-form, [data-public-stay] form[data-submit-guard-form] > section { padding-inline: 24px; }
@media(max-width:700px) { [data-public-stay] #booking-search-form, [data-public-stay] form[data-submit-guard-form] > section { padding-inline: 16px; } }
[data-public-stay] :is(nav[aria-label="民宿資訊"],nav[aria-label="民宿資訊"] a,nav[aria-label="民宿資訊"] a:hover,nav[aria-label="民宿資訊"] a[aria-current="location"]) { background: var(--booking-bg); }
[data-public-stay] nav[aria-label="民宿資訊"] a { color: var(--booking-muted); }
[data-public-stay] nav[aria-label="民宿資訊"] :is(a:hover,a[aria-current="location"]) { color: var(--booking-primary); }
[data-public-stay] #booking-about p.border-l-4 { color: var(--booking-text); }
[data-public-stay] #booking-contact :is(a,p) { color: var(--booking-text); }
[data-public-stay] #booking-contact a { border-color: var(--booking-input-border); }
[data-public-stay] :is(.booking-room-dialog,.booking-room-dialog-header,.booking-room-dialog-footer,.booking-room-dialog-close) { background: var(--booking-surface); color: var(--booking-text); }
[data-public-stay] :is(.booking-room-card-count,.booking-room-card-view-all,.booking-room-dialog-count) { background: var(--booking-surface); color: var(--booking-text); }
[data-public-stay] ol[aria-label="訂房步驟"] li { background: var(--booking-surface) !important; color: var(--booking-muted) !important; }
[data-public-stay] ol[aria-label="訂房步驟"] li[aria-current] { color: var(--booking-primary) !important; }
[data-public-stay] :is(.stay-mobile-actions,.stay-mobile-actions a) { background: var(--booking-surface); border-color: var(--booking-border); color: var(--booking-primary); }
main[data-public-stay] .booking-theme-button, [data-public-stay] .stay-mobile-actions .stay-mobile-book { background: var(--booking-button) !important; color: var(--booking-button-text) !important; }
main[data-public-stay] .booking-theme-price { color: var(--booking-price) !important; }
main[data-public-stay] .booking-theme-accent { color: var(--booking-primary) !important; }
/* The image always has a dark scrim, regardless of page theme. */
main[data-public-stay] .stay-hero { background: #23312D; color: #fff; }
main[data-public-stay] .stay-hero-copy, main[data-public-stay] .stay-hero :is(h1,.stay-eyebrow,.stay-hero-description,h1 small,.stay-text-link) { color: #fff; }
main[data-public-stay] .booking-public-theme .stay-hero .booking-theme-button { background: #fff !important; color: #203C34 !important; }
main[data-public-stay] .stay-hero .stay-text-link { border-color: #ffffffa6; }
