 /* Accessibility Styles */
.accessibility-toggle {
    background: transparent;
    border: none;
    padding: 0;
    padding-right: 20px;
    margin-right: 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.3);
}

.accessibility-toggle img {
    width: 30px;
}

/* Accessibility panel */
.accessibility-panel {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    width: 300px;
    display: none;
    z-index: 2;
    margin-top: 5px;
    box-shadow: 0px 20px 35px rgb(0 0 0 / 8%);
}

.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 #cad6df;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 0.85em;
    line-height: 18px;
    letter-spacing: 0.2px;
    background: transparent;
}

.accessibility-btn button:hover {
    border-color: #331d2c;
}

.accessibility-btn button img {
    min-height: 30px;
    min-width: 30px;
    margin-bottom: 10px;
    width: 30px;
    object-fit: contain;
}

.accessibility-btn button.active {
    border: 2px solid #333f48;
}

.accessibility-btn button.shrink-img img {
    max-height: 22px;
    max-width: 22px;
}

.accessibility-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #331d2c;
    color: #d8d8d8;
    padding: 15px;
}

.accessibility-header h5 {
    color: #ffffff;
    font-size: 1.2em;
    margin-bottom: 0;
}

.accessibility-header button {
    background-color: #fff;
    height: 30px;
    width: 30px;
    border: none;
    color: #331D2C;
}

.accessibility-footer {
    padding: 0 15px 15px;
}

.accessibility-footer button {
    width: 100%;
    background-color: #fff;
    padding: 12px 15px;
    border: 1px solid #331D2C;
    font-size: 13px;
    letter-spacing: 0.4px;
    outline: none;
    color: #331D2C;
}

/* Accessibility styles (to be toggled) */
.high-contrast {
    background-color: #1a1a1a !important;
    color: #d8d8d8 !important;
}

/* if black logo otherwise remove filter */
.high-contrast .nav-divider-lines span {
    background-color: #d8d8d8;
}

.high-contrast .logo img {
    filter: invert(0);
}

.high-contrast .accessibility-btn button img {
    filter: invert(1);
}

.large-font {
    font-size: 1.1em !important;
}

.large-cursor,
.large-cursor button,
.large-cursor a {
    cursor: url("../img/cursor-dark.svg") 4 4, auto !important;
}

.high-contrast .large-cursor,
.high-contrast .large-cursor button,
.high-contrast .large-cursor a {
    cursor: url("../img/cursor-white.svg") 4 4, auto !important;
}

.high-contrast .header.position-fixed,
.high-contrast .MbsSearchWidget,
.high-contrast .accessibility-panel,
.high-contrast .dropdown-content a:hover,
.high-contrast .btn-secondary,
.high-contrast .navbar,
.high-contrast .offcanvas {
    background: #1a1a1a;
}

.high-contrast .facility-icon-wrapper::before, 
.high-contrast .back-to-top-btn,
.high-contrast .facilities-features-section,
.high-contrast .facility-feature-card:has(.facility-icon-left),
.high-contrast .offcanvas.offcanvas-end .nav-divider-close,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu>ul>li>a:hover {
    background: #292929;
}

.high-contrast .header.position-fixed {
    box-shadow: 0 2px 10px rgb(255 255 255 / 10%);
}

.high-contrast .facilities-features-section .facility-feature-card:has(.facility-icon-left) {
    background: rgb(19 19 19 / 25%);
    border: 1px solid rgb(224 236 245 / 19%);
}

.high-contrast :where(.description, .wedding-description, .dining-title p, .dropdown-content a,
 .modal-content,h1, h2, h3, h4, h5, h6, p, .back-to-top-btn, .facility-feature-title, .form-control) {
    color: #d8d8d8;
}

.high-contrast .accessibility-btn button {
    border-color: #333333;
}

.high-contrast .accessibility-btn button.active {
    border-color: #d8d8d8;
}

.high-contrast .nav-links a,
.high-contrast .nav-links button,
 .high-contrast .accessibility-footer button,
.high-contrast .accessibility-btn button,
.high-contrast .nav-right .book-now-btn,
.high-contrast .modal-header .close,
.high-contrast .dining-text-content>p,
.high-contrast .form-control::placeholder,
.high-contrast .dropdown-content a,
.high-contrast .contact-info-text a,
.high-contrast .breadcrumb-item+.breadcrumb-item::before,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu .dropdown::before,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu .dropdown .dropdown-toggle,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu>ul>li>a,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu .dropdown .dropdown-menu.dropdown-content .dropdown-item {
    color: #d8d8d8;
}

.contact-info-text {
    color: #999999;
}

.high-contrast :where(.accommodation, .booking-engine, .footer, .accessibility-header, .dropdown-content) {
    background-color: #333333;
}

.high-contrast .header .top,
.high-contrast .accessibility-footer button,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu .dropdown,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu .dropdown::before,
.high-contrast .gallery-filter-fixed {
    background-color: #333333;
}

.high-contrast .accommodation-card::before {
    background: linear-gradient(to top, rgb(0 0 0 / 90%) 0%, rgb(0 0 0 / 70%) 30%, rgb(0 0 0 / 0%) 60%);
}

.high-link .nav-links a {
    background-color: #1a1a1a;
    color: yellow;
}

.high-contrast .navbar {
    border-bottom-color: #373737;
}

.high-contrast .dropdown-content a:hover {
    color: #A78295;
}



.high-contrast .contact-info-icon,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu .dropdown .dropdown-menu.dropdown-content .dropdown-item:hover {
    background: #232323;
}

.high-contrast .modal-content {
    background: #333;
}

.high-contrast .modal-header,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu>ul>li>a::before,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu>ul>li>a,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu .dropdown::before,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu .dropdown .dropdown-toggle::before,
.high-contrast .offcanvas.offcanvas-end .nav-links.desktop-menu .dropdown .dropdown-menu.dropdown-content li {
    border-bottom-color: #4c4c4c;
}

.high-contrast .form-control {
    border-color: #4c4c4c;
    background-color: transparent;
}

.highlight-link a,
.highlight-link.nav-links li.active a,
.highlight-link .breadcrumb .breadcrumb-item a,
.highlight-link .top-left .contact-info-item a,
.high-contrast.highlight-link .dropdown-content a,
.high-contrast.highlight-link .nav-links a {
    color: #ffff00 !important;
    background: #111111;
}