[data-theme="contrast"] body {
    background-color: var(--color-bg);
    color: var(--color-text-desc);
}

/* CMS exports (Word/LibreOffice) inject global h1/p { color:#000 } — override in high contrast */
[data-theme="contrast"] h1,
[data-theme="contrast"] h2,
[data-theme="contrast"] h3,
[data-theme="contrast"] h4,
[data-theme="contrast"] h5,
[data-theme="contrast"] h6 {
    color: var(--color-text-heading) !important;
}

[data-theme="contrast"] p,
[data-theme="contrast"] li,
[data-theme="contrast"] td,
[data-theme="contrast"] th,
[data-theme="contrast"] label,
[data-theme="contrast"] figcaption {
    color: var(--color-text-desc) !important;
}

[data-theme="contrast"] :is(
    .description,
    .about-us-section .description,
    .wedding-description,
    .dining-text-content,
    .content-wrapper,
    .extra-about-content,
    .site-faq-answer-text,
    .room-description
) :is(span, div, font, strong, em, b, i:not(.bi)) {
    color: var(--color-text-desc) !important;
}

[data-theme="contrast"] :is(
    .description,
    .about-us-section .description,
    .content-wrapper,
    .site-faq-answer-text
) a:not(.btn-primary):not(.btn-secondary):not(.dining-card) {
    color: var(--color-highlight) !important;
}

[data-theme="contrast"] .breadcrumb .breadcrumb-item a {
    color: var(--color-text-desc) !important;
}

[data-theme="contrast"] .breadcrumb .breadcrumb-item.active {
    color: var(--color-brand-primary) !important;
}

[data-theme="contrast"] .contact-info-text a,
[data-theme="contrast"] .contact-info-text strong {
    color: var(--color-highlight) !important;
}

[data-theme="contrast"] .facility-feature-title,
[data-theme="contrast"] .facility-list-title,
[data-theme="contrast"] .wedding-content h3 {
    color: var(--color-text-heading) !important;
}

[data-theme="contrast"] .site-faq-section {
    background: var(--color-bg);
}

[data-theme="contrast"] .site-faq-section--embedded {
    border-top-color: var(--color-border);
}

[data-theme="contrast"] .site-faq-section .accordion-item {
    border-color: var(--color-border);
    background: var(--color-menu-secondary);
}

[data-theme="contrast"] .site-faq-section .accordion-button {
    background: var(--color-menu-secondary);
    color: var(--color-text-heading) !important;
}

[data-theme="contrast"] .site-faq-section .accordion-button:not(.collapsed) {
    background: var(--color-top-header);
    color: var(--color-text-heading) !important;
}

[data-theme="contrast"] .site-faq-section .accordion-body {
    background: var(--color-bg);
    color: var(--color-text-desc) !important;
}

[data-theme="contrast"] .footer,
[data-theme="contrast"] .footer p,
[data-theme="contrast"] .footer h3,
[data-theme="contrast"] .footer h4 {
    color: var(--color-footer-text-color, var(--footer-text-color, var(--color-text-desc))) !important;
}

[data-theme="contrast"] .footer-links a,
[data-theme="contrast"] .footer-link,
[data-theme="contrast"] .footer a:not(.btn-primary) {
    color: var(--color-link) !important;
}

[data-theme="contrast"] .header .nav-links a,
[data-theme="contrast"] .header .nav-links button,
[data-theme="contrast"] .header .book-now-btn,
[data-theme="contrast"] .header .mobile-toggle {
    color: var(--color-text-heading) !important;
}

[data-theme="contrast"] .card-wrapper,
[data-theme="contrast"] .facility-list-item,
[data-theme="contrast"] .facilities-features-section .facility-feature-card:has(.facility-icon-left) {
    background: var(--color-menu-secondary);
    border-color: var(--color-border);
}

/* Third-party STAah booking widget — high contrast (homepage search + room availability carousel) */
[data-theme="contrast"] .booking-engine {
    background: var(--color-menu-secondary) !important;
}

[data-theme="contrast"] .hero .Configure-quickBook-Widget .MbsSearchWidget,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget.dayUseSearch {
    background: var(--color-menu-secondary) !important;
    border-color: var(--color-border) !important;
}

[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .lbl,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget label.dayUseLable,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .dayUseLable,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .flexi-label,
[data-theme="contrast"] .Configure-quickBook-Widget .va-whitewrap .flexi-date-checkBox label.dayUseLable,
[data-theme="contrast"] .Configure-quickBook-Widget .input-date-pkr svg {
    color: var(--color-text-desc) !important;
}

[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .checkinDate,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .formGroup .input .endDate,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .formGroup .input.inputRoom .d-flex input,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .formGroup .input.inputRoom .d-flex span,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .checkinDate.promocode,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .add-aroom .guest-count-input,
[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .mbs-arrow,
[data-theme="contrast"] .Configure-quickBook-Widget .input-date-pkr .datepkr {
    color: var(--color-text-desc) !important;
    border-color: var(--color-text-desc) !important;
    background: transparent !important;
}

[data-theme="contrast"] .Configure-quickBook-Widget .MbsSearchWidget .checkinDate.promocode::placeholder {
    color: var(--color-text-desc) !important;
    opacity: 0.75;
}

[data-theme="contrast"] .Configure-quickBook-Widget .va-whitewrap,
[data-theme="contrast"] .Configure-quickBook-Widget .va-carrousel-section,
[data-theme="contrast"] .Configure-quickBook-Widget .va-carrousel-flexbox {
    background: transparent !important;
}

[data-theme="contrast"] .Configure-quickBook-Widget .va-card {
    background: var(--color-menu-secondary) !important;
    border: 1px solid var(--color-border) !important;
    color: var(--color-text-desc) !important;
}

[data-theme="contrast"] .Configure-quickBook-Widget .va-card .va-days,
[data-theme="contrast"] .Configure-quickBook-Widget .va-card .va-title,
[data-theme="contrast"] .Configure-quickBook-Widget .va-card .va-date,
[data-theme="contrast"] .Configure-quickBook-Widget .va-card .va-start-from,
[data-theme="contrast"] .Configure-quickBook-Widget .va-card button.link-plain {
    color: var(--color-text-desc) !important;
}

[data-theme="contrast"] .Configure-quickBook-Widget .dayUseCheckBox {
    accent-color: var(--color-brand-primary);
}

.highlight-link a {
    color: var(--color-highlight) !important;
}

 .accessibility-toggle {
    font-size: 0.85em;
     background: transparent;
     border: none;
     padding: 0;
     padding-right: 20px;
     margin-right: 20px;
     border-right: 1px solid rgba(255, 255, 255, 0.3);
     cursor: pointer;
     color: var(--color-link);
     -webkit-transition: all 0.3s ease-in-out;
     transition: all 0.3s ease-in-out;
 }

 .accessibility-toggle:hover{
    color: var(--color-brand-primary);
 }

 [data-theme="contrast"] .accommodation-card::before {
    background: linear-gradient(to top, rgb(28 28 28 / 90%) 0%, rgb(23 23 23 / 70%) 30%, rgb(30 30 30 / 0%) 60%);
 }

 /* Same click/open effect as language dropdown: plus when closed, minus when open */
 .accessibility-toggle .plus-icon {
     display: inline-block;
 }

 .accessibility-toggle .minus-icon {
     display: none;
 }

 .accessibility-toggle[aria-expanded="true"] .plus-icon {
     display: none;
 }

 .accessibility-toggle[aria-expanded="true"] .minus-icon {
     display: inline-block;
 }

 .accessibility-toggle img {
     width: 30px;
 }

 /* Accessibility panel - same transition as .dropdown-menu.dropdown-content */
 .accessibility-panel {
     position: absolute;
     top: 100%;
     right: 0;
     background: var(--color-bg);
     width: 300px;
     z-index: 4;
     margin-top: 5px;
     -webkit-box-shadow: 0px 20px 35px rgb(131 131 131 / 20%);
     box-shadow: 0px 20px 35px rgb(131 131 131 / 20%);
     opacity: 0;
     visibility: hidden;
     transform: translateY(-10px);
     pointer-events: none;
     transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, transform 0.3s ease-in-out;
 }

 .accessibility-panel.show {
     opacity: 1;
     visibility: visible;
     transform: translateY(0);
     pointer-events: auto;
 }

 /* Keep the panel stacking context above the main nav row */
 .top-right > .position-relative:has(.accessibility-panel.show),
 .top-right > .position-relative:has(.accessibility-toggle[aria-expanded="true"]) {
     z-index: 10000;
     position: relative;
 }

 .accessibility-btn {
     display: flex;
     flex-wrap: wrap;
     gap: 15px;
     padding: 15px;
 }

 .accessibility-btn button {
     padding: 12px;
     height: 100px;
     flex: calc(50% - 8px);
     cursor: pointer;
     border: 1px solid var(--color-border);
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     font-size: 0.85em;
     line-height: 18px;
     letter-spacing: 0.2px;
     background: transparent;
     gap: 10px;
     color: var(--color-text-heading);
 }

 .accessibility-btn button:hover {
     border-color: var(--color-text-heading);
 }

 .accessibility-btn button i {
     font-size: 1.6em;
 }

 .accessibility-btn button.active {
     border-color: var(--color-text-heading);
 }


 .accessibility-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     background-color: var(--color-top-header);
     color: var(--color-link);
     padding: 15px;
 }

 .accessibility-header h5 {
     color: var(--color-link);
     font-size: 1.2em;
     margin-bottom: 0;
 }

 .accessibility-header .close-btn,
 .accessibility-header button.close-btn {
     background: transparent !important;
     height: 30px;
     width: 30px;
     min-width: 30px;
     padding: 0 !important;
     margin: 0;
     border: none !important;
     outline: none;
     box-shadow: none !important;
     border-radius: 50%;
     display: inline-flex;
     justify-content: center;
     align-items: center;
     color: var(--color-link) !important;
     cursor: pointer;
     line-height: 1;
     font-size: 1rem;
     appearance: none;
     -webkit-appearance: none;
 }

 .accessibility-header .close-btn:hover,
 .accessibility-header .close-btn:focus {
     background: rgba(255, 255, 255, 0.12) !important;
     color: var(--color-link) !important;
     transform: scale(1.05);
 }

 .accessibility-header .close-btn i {
     color: inherit;
     font-size: 1rem;
     line-height: 1;
 }

 .accessibility-footer {
     padding: 0 15px 15px;
 }

 .accessibility-footer button {
     width: 100%;
     background-color: var(--color-bg);
     padding: 12px 15px;
     border: 1px solid var(--color-text-heading);
     font-size: 13px;
     letter-spacing: 0.4px;
     outline: none;
     color: var(--color-text-heading);
 }

 /* Accessibility styles (to be toggled) */
 /* .high-contrast {
     background-color: var(--black-color);
     color: var(--white-color);
 } */

 /* if black logo otherwise remove filter */
 /* .high-contrast .nav-divider-lines span {
     background-color: var(--white-color);
 } */

 .large-font {
     font-size: 1.1em;
 }

 .large-cursor body {
     cursor: url("../img/cursor-dark.svg") 4 4, auto;
 }

[data-theme="contrast"].large-cursor body {
     cursor: url("../img/cursor-white.svg") 4 4, auto;
 }
/* Google Translate toolbar hard-hide so it does not push header layout */
iframe.goog-te-banner-frame,
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover,
.goog-text-highlight {
  display: none !important;
  visibility: hidden !important;
}

body {
  top: 0 !important;
}

html {
  margin-top: 0 !important;
}
