/* Launch QA fixes: keep visual states readable and lightboxes isolated. */
.main-btn,
.carissa-outline-btn,
.more-property-cta,
.book-now,
button[type="submit"],
input[type="submit"],
.checkout-card button,
.summary-card button {
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.main-btn:hover,
.main-btn:active,
.main-btn:focus,
.main-btn:focus-visible,
.carissa-outline-btn:hover,
.carissa-outline-btn:active,
.carissa-outline-btn:focus,
.carissa-outline-btn:focus-visible,
.more-property-cta:hover,
.more-property-cta:active,
.more-property-cta:focus,
.more-property-cta:focus-visible,
.book-now:hover,
.book-now:active,
.book-now:focus,
.book-now:focus-visible {
    background-color: #5f3b1f !important;
    border-color: #5f3b1f !important;
    color: #fff !important;
    text-decoration: none !important;
}

.main-btn:focus,
.main-btn:focus-visible,
.carissa-outline-btn:focus,
.carissa-outline-btn:focus-visible,
.more-property-cta:focus,
.more-property-cta:focus-visible,
.book-now:focus,
.book-now:focus-visible,
button[type="submit"]:focus,
button[type="submit"]:focus-visible,
input[type="submit"]:focus,
input[type="submit"]:focus-visible {
    outline: 3px solid #1f5954 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 6px rgba(255, 255, 255, .95) !important;
}

.desk-nav a:hover,
.desk-nav a:focus,
.desk-nav a:focus-visible,
.page-header.mob a:hover,
.page-header.mob a:focus,
.page-header.mob a:focus-visible,
footer a:hover,
footer a:focus,
footer a:focus-visible {
    color: #5f3b1f !important;
    text-decoration: underline !important;
}

body.client-theme-carissa .page-title h1,
body.client-theme-carissa .page-title .checklist,
body.client-theme-carissa .page-title .checklist a,
body.client-theme-carissa .page-title .checklist span {
    display: revert !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.client-theme-carissa .page-title h1 {
    width: auto !important;
    height: auto !important;
    color: #fff !important;
}

.property-management .manage-form .submit-btn .main-btn,
.property-management .manage-form .submit-btn .main-btn:hover,
.property-management .manage-form .submit-btn .main-btn:active,
.property-management .manage-form .submit-btn .main-btn:focus,
.property-management .manage-form .submit-btn .main-btn:focus-visible {
    background-color: #5f3b1f !important;
    border-color: #5f3b1f !important;
    color: #fff !important;
    opacity: 1 !important;
}

.property-management .manage-form .submit-btn .main-btn:focus,
.property-management .manage-form .submit-btn .main-btn:focus-visible {
    outline: 3px solid #1f5954 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 6px rgba(255, 255, 255, .95) !important;
}

.hidden-gallery {
    display: none !important;
}

.hidden-gallery img {
    display: none !important;
}

.fancybox-container,
.fancybox-is-open {
    z-index: 2147483600 !important;
}

.fancybox-container .fancybox-image,
.fancybox-container img {
    object-fit: contain;
}

body.fancybox-active,
html.fancybox-enabled {
    overflow: hidden;
}

body.fancybox-active .mobile-booking-sticky,
body.fancybox-active .mobile-booking-sheet,
body.fancybox-active [data-mobile-booking-duplicate],
body.fancybox-active .sticky.book-now {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (max-width: 767px) {
    .fancybox-container .fancybox-stage {
        top: 44px;
        bottom: 44px;
    }

    .fancybox-button {
        min-width: 44px;
        min-height: 44px;
    }
}
