/**
 * Frontend styles for DHR Hotel Management
 */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

body {
    font-family: "Open Sans", sans-serif !important;
}

.dhr-marker-pulse {
    position: absolute;
    pointer-events: none;
    transform-origin: center center;
    z-index: 0;
    overflow: visible;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.dhr-marker-pulse svg {
    display: block;
    overflow: visible;
    border: none !important;
    outline: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dhr-marker-pulse .pulse-outer-circle {
    transform-origin: center;
    animation: pulse-outer 2s ease-in-out infinite;
}

.dhr-marker-pulse .pulse-middle-circle {
    transform-origin: center;
    animation: pulse-middle 2s ease-in-out infinite;
}

.dhr-marker-pulse.dhr-marker-pulse-active .pulse-outer-circle {
    animation: pulse-outer-active 2s ease-in-out infinite;
}

.dhr-marker-pulse.dhr-marker-pulse-active .pulse-middle-circle {
    animation: pulse-middle-active 2s ease-in-out infinite;
}

@keyframes pulse-outer {
    0% {
        transform: scale(1);
        opacity: 0.15;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.35;
    }

    100% {
        transform: scale(1);
        opacity: 0.15;
    }
}

@keyframes pulse-middle {
    0% {
        transform: scale(1);
        opacity: 0.35;
    }

    50% {
        transform: scale(1.45);
        opacity: 0.55;
    }

    100% {
        transform: scale(1);
        opacity: 0.35;
    }
}

@keyframes pulse-outer-active {
    0% {
        transform: scale(1);
        opacity: 0.20;
    }

    50% {
        transform: scale(1.15);
        opacity: 0.40;
    }

    100% {
        transform: scale(1);
        opacity: 0.20;
    }
}


@keyframes pulse-middle-active {
    0% {
        transform: scale(1);
        opacity: 0.45;
    }

    50% {
        transform: scale(1);
        opacity: 0.75;
    }

    100% {
        transform: scale(1);
        opacity: 0.45;
    }
}

button:focus-visible,
a:focus-visible,
div:focus-visible {
    outline: none !important;
}

.gm-style-iw {
    max-width: 200px !important;
    width: 100% !important;
    background-color: #FFFFFF !important;
    box-shadow: 0px 3.48px 5.23px -1.74px #04286F08 !important;
    box-shadow: 0px 10.45px 13.94px -3.48px #04286F14 !important;
    padding: 20px !important;
    border-radius: 6.97px !important;
}

.gm-style .gm-style-iw-d {
    overflow: unset !important;
    padding: 0 !important;
}

.gm-style-iw-ch {
    display: none !important;
}

.gm-ui-hover-effect {
    position: absolute !important;
    right: 3px;
    top: 3px;
    width: 18px !important;
    height: 18px !important;
    outline: none;
}

.gm-ui-hover-effect>span {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
}

.all-maps {
    font-family: "Open Sans", sans-serif !important;
}

/*  */
/* Info Window Styles */
/*  */
.info-window {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.info-window .info-window-image {
    width: 100%;
    height: 109px;
    overflow: hidden;
    background-color: transparent;
}

.info-window .info-window-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.info-window .info-window-content {
    font-family: "Open Sans", sans-serif !important;
    font-size: 11px;
    font-weight: 400;
    padding: 4px 0 0;
    text-align: center;
    color: #676B6D;
}

.info-window .info-window-title {
    font-family: "Open Sans", sans-serif !important;
    font-size: 10.45px;
    font-weight: 400;
    line-height: 140%;
    text-transform: uppercase;
    color: #062943;
    margin: 0 0 2px 0;
}

.info-window .info-window-subtitle {
    font-family: "Open Sans", sans-serif !important;
    font-size: 10px;
    font-weight: 400;
    line-height: 140%;
    color: #676B6D;
    margin: 0 0 4px 0;
    text-align: center;
}

.info-window .info-window-location {
    font-family: "Open Sans", sans-serif !important;
    font-size: 10.45px;
    font-weight: 400;
    line-height: 140%;
    color: #676B6D;
    margin: 0 0 8px 0;
}

.info-window .info-window-actions {
    display: flex;
    gap: 12px;
    padding: 0 10px;
}

.info-window .btn-info,
.info-window .btn-book {
    font-family: "Open Sans", sans-serif !important;
    width: auto;
    flex: 1;
    height: 42px;
    padding: 10px 10px;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    font-size: 12.2px;
    font-weight: 400;
    line-height: inherit;
    transition: all 0.25s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.info-window .btn-book {
    min-width: 96px;
}

.info-window .btn-info {
    background-color: #DFEFF9;
    color: #fff;
}

.info-window .btn-info:hover {
    /* background-color: #afd3e9;
    color: #fff; */
}

.info-window .btn-book {
    background-color: #062943;
    color: #fff;
}

.info-window .btn-book:hover {
    background-color: #031725;
    color: #fff;
}

.all-maps .map-label {
    font-family: "Open Sans", sans-serif !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 140%;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin: 0 0 15px 0;
}

.all-maps .map-title {
    font-family: "Open Sans", sans-serif !important;
    font-size: 40px;
    font-weight: 300;
    margin: 0 0 20px 0;
    line-height: 110.00000000000001%;
}

@media (max-width: 1280px) {
    .all-maps .map-title {
        font-size: 38px;
    }
}

@media (max-width: 1199px) {
    .all-maps .map-title {
        font-size: 36px;
    }
}

@media (max-width: 991px) {
    .all-maps .map-title {
        font-size: 34px;
    }
}

@media (max-width: 767px) {
    .all-maps .map-title {
        font-size: 30px;
    }
}

.all-maps .map-description {
    font-family: "Open Sans", sans-serif !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 140%;
    margin: 0 0 40px 0;
    max-width: 414px;
}

@media (max-width:991px) {
    .all-maps .map-description {
        max-width: 100%;
        margin-bottom: 35px;
        /* font-size: 18px; */
    }
}

@media (max-width:420px) {
    .all-maps .map-description {
        /* font-size: 16px; */
    }
}

@media (max-width:380px) {
    .all-maps .map-description {
        font-size: 14px;
    }
}

.all-maps .hotel-reservation-info {
    display: block;
}

.all-maps .hotel-phone-section {
    display: flex;
    align-items: center;
    gap: 12px;
}

.all-maps .hotel-phone-icon {
    display: inline-flex;
    color: currentColor;
}

.all-maps .hotel-reservation-label {
    font-family: "Open Sans", sans-serif !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 140%;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin: 0 0 5px 0;
}

.all-maps .hotel-phone-number {
    font-family: "Open Sans", sans-serif !important;
    font-size: 18px;
    font-weight: 400;
    line-height: 120%;
    margin: 0;
    text-decoration: none;
}

.all-maps .hotel-phone-number:hover {
    text-decoration: underline;
}

.all-maps .hotel-dropdown {
    display: none;
    width: 100%;
    max-width: 400px;
    height: 48px;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    background-color: #fff;
    color: #9EA1A3;
    border: 1px solid #CDD2D4;
    border-radius: 4px;
    padding: 10px 20px;
    padding-right: 40px;
    margin-bottom: 25px;
    appearance: none;
    background-image: url("../images/icons/angle-down.svg");
    background-repeat: no-repeat;
    background-position: right 16px center;
    cursor: pointer;
    outline: none;
}

@media (max-width: 991px) {
    .all-maps .hotel-dropdown {
        display: block;
    }
}

/*  */
/*  */
/*  */

.hotel-map-container {
    position: relative;
    width: 100%;
    background-color: #C1C0BB;
}

@media (max-width: 991px) {
    .hotel-map-container {
        height: 100% !important;
    }
}

.hotel-map-container .hotel-map {
    width: 100%;
    height: 100%;
}

@media (max-width: 991px) {
    .hotel-map-container .hotel-map {
        height: 431px !important;
    }
}

.hotel-map-container .hotel-info-content {
    position: absolute;
    /* width: 460px; */
    height: auto;
    left: calc(10% - 20px);
    bottom: 15%;
    z-index: 1;
    padding: 30px 20px;
    background-color: #c1c0bbde;
    border-radius: 10px;
}

@media (max-width: 1280px) {
    .hotel-map-container .hotel-info-content {
        width: 410px;
        left: calc(6% - 20px);
    }
}

@media (max-width: 1199px) {
    .hotel-map-container .hotel-info-content {
        left: 10px;
        width: 400px;
    }
}

@media (max-width: 991px) {
    .hotel-map-container .hotel-info-content {
        position: unset;
        width: 100%;
        padding: 70px 35px 40px;
        background-color: #FAFAFA;
        border-radius: 0;
    }
}

.hotel-map-container .map-label {
    color: #462801;
}

@media (max-width:991px) {
    .hotel-map-container .map-label {
        color: #D3AA74;
        margin-bottom: 18px;
    }
}

.hotel-map-container .map-title {
    color: #FAFAFA;
}

@media (max-width:991px) {
    .hotel-map-container .map-title {
        color: #462801;
    }
}

.hotel-map-container .map-description {
    max-width: 360px;
    color: #FAFAFA;
}

@media (max-width:991px) {
    .hotel-map-container .map-description {
        max-width: 100%;
        color: #676B6D;
    }
}

.hotel-map-container .hotels-list {
    margin: 30px 0;
}

.hotel-map-container .hotel-item {
    padding: 15px;
    margin-bottom: 10px;
    background-color: #fff;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
}

.hotel-map-container .hotel-item:hover {
    background-color: #f0f0f0;
    border-left-color: #8B4513;
}

.hotel-map-container .hotel-item.active {
    background-color: #fff3e0;
    border-left-color: #8B4513;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.hotel-map-container .hotel-item h4 {
    font-family: "Open Sans", sans-serif !important;
    margin: 0 0 5px 0;
    font-size: 16px;
    color: #333;
    font-weight: 600;
}

.hotel-map-container .hotel-item p {
    font-family: "Open Sans", sans-serif !important;
    margin: 0;
    font-size: 13px;
    color: #666;
}

.hotel-map-container .hotel-phone-icon {
    color: #462801;
}

.hotel-map-container .hotel-reservation-label {
    color: #462801;
}

.hotel-map-container .hotel-phone-number {
    color: #FAFAFA;
}

@media (max-width:991px) {
    .hotel-map-container .hotel-phone-number {
        color: #434648;
    }
}

.gmnoprint {
    display: none !important;
}

.elementor-element.elementor-element-43318e2 {
    padding: 0 !important;
}

.hotel-map-container .map-btn {
    margin-bottom: 25px;
}

.hotel-map-container .map-btn__link {
    min-width: 260px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    background-color: #EBDBCA;
    color: #1C1E1F;
    padding: 10px 20px;
    transition: all .25s ease-in-out;
    border-radius: 4px;
    text-decoration: none;
}

@media (max-width:480px) {
    .hotel-map-container .map-btn__link {
        display: flex;
    }
}

.hotel-map-container .map-btn__link:hover {
    background-color: #e1cfbc;
}

/* ============================================
   Map 2: Head Office Map Styles
   ============================================ */
.head-office-map-container {
    position: relative;
    width: 100%;
}

@media (max-width: 767px) {
    .head-office-map-container {
        height: 800px !important;
    }
}

.head-office-map-container .head-office-map-area {
    width: 100%;
    height: 100%;
    min-height: 600px;
}

.head-office-map-container .head-office-map {
    width: 100%;
    height: 100%;
}

/* ============================================
   Map 3: Partner Portfolio Map Styles
   ============================================ */
.partner-portfolio-map-container {
    position: relative;
    width: 100%;
    min-height: 1000px;
    background-color: #E2EFF7;
}

@media (max-width: 991px) {
    .partner-portfolio-map-container {
        height: 100% !important;
        min-height: 100%;
    }
}

.partner-portfolio-map-container .partner-portfolio-map {
    width: 100%;
    height: 100%;
    min-height: 1000px;
}

@media (max-width: 991px) {
    .partner-portfolio-map-container .partner-portfolio-map {
        height: 530px !important;
        min-height: 100%;
    }
}

.partner-portfolio-map-container .partner-info-content {
    position: absolute;
    width: 665px;
    height: auto;
    left: calc(10% - 20px);
    bottom: 20%;
    z-index: 1;
    padding: 30px 20px;
    background-color: #e2eff7e8;
    border-radius: 10px;
}

@media (max-width: 1280px) {
    .partner-portfolio-map-container .partner-info-content {
        width: 500px;
        left: calc(6% - 20px);
    }
}

@media (max-width: 1199px) {
    .partner-portfolio-map-container .partner-info-content {
        left: 10px;
        width: 400px;
    }
}

@media (max-width: 991px) {
    .partner-portfolio-map-container .partner-info-content {
        position: unset;
        width: 100%;
        padding: 5px 35px 35px;
        background-color: #E2EFF7;
    }
}

.partner-portfolio-map-container .map-label {
    color: #0B5991;
}

.partner-portfolio-map-container .map-title {
    color: #062943;
}

@media (max-width: 767px) {
    .partner-portfolio-map-container .map-title {
        font-weight: 400;
    }
}

.partner-portfolio-map-container .map-description {
    color: #676B6D;
    margin: 0;
    max-width: 535px;
}

@media (max-width: 991px) {
    .partner-portfolio-map-container .map-description {
        max-width: 100%;
    }
}

.partner-portfolio-map-container .partner-portfolio-legend {
    width: 100%;
    max-width: 496px;
    padding: 25px 40px;
    background-color: #FAFAFA;
    border-radius: 4px;
    margin-top: 65px;
    display: inline-block;
}

@media (max-width: 1280px) {
    .partner-portfolio-map-container .partner-portfolio-legend {
        padding: 25px 30px;
        margin-top: 60px;
    }
}

@media (max-width: 1199px) {
    .partner-portfolio-map-container .partner-portfolio-legend {
        padding: 30px 30px;
    }
}

@media (max-width: 991px) {
    .partner-portfolio-map-container .partner-portfolio-legend {
        padding: 35px 35px;
        margin-top: 50px;
    }
}

.partner-portfolio-map-container .partner-portfolio-legend ul {
    margin: 0px;
    padding: 0px;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 50px;
}


@media (max-width: 1280px) {
    .partner-portfolio-map-container .partner-portfolio-legend ul {
        gap: 40px;
    }
}

@media (max-width: 1199px) {
    .partner-portfolio-map-container .partner-portfolio-legend ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }
}

@media (min-width: 575px) and (max-width: 991px) {
    .partner-portfolio-map-container .partner-portfolio-legend ul {
        flex-direction: row;
    }
}

@media (max-width: 575px) {
    .partner-portfolio-map-container .partner-portfolio-legend ul {
        gap: 15px;
    }
}

.partner-portfolio-map-container .partner-portfolio-legend ul li {
    position: relative;
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
    padding-left: 30px;
    color: #0B5991;
}

.partner-portfolio-map-container .partner-portfolio-legend ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-color: #0B5991;
    border-radius: 50%;
}

.partner-portfolio-map-container .partner-portfolio-legend ul li:last-child::before {
    background-color: #86CEFF;
}

/* ============================================
   Map 4: Dining Venue Map Styles
   ============================================ */
.dining-venue-map-container {
    position: relative;
    width: 100%;
    background: #b1c2a8;
    border: none !important;
}

@media (max-width: 991px) {
    .dining-venue-map-container {
        height: 100% !important;
    }
}

.dining-venue-map-container .dining-venue-map {
    width: 100%;
    height: 100%;
    border: none !important;
}

.dining-venue-map-container .dining-venue-map>div {
    border: none !important;
}

@media (max-width: 991px) {
    .dining-venue-map-container .dining-venue-map {
        height: 500px;
    }
}

.dining-venue-map-container .dining-venue-info-content {
    position: absolute;
    width: 450px;
    height: auto;
    left: calc(10% - 20px);
    bottom: 10%;
    z-index: 1;
    padding: 30px 20px;
    background-color: #b1c2a8e3;
    border-radius: 10px;
}

@media (max-width: 1280px) {
    .dining-venue-map-container .dining-venue-info-content {
        width: 410px;
        left: calc(6% - 20px);
    }
}

@media (max-width: 1199px) {
    .dining-venue-map-container .dining-venue-info-content {
        left: 10px;
    }
}

@media (max-width: 991px) {
    .dining-venue-map-container .dining-venue-info-content {
        position: unset;
        width: 100%;
        padding: 20px 35px 50px;
        background-color: #b1c2a8;
    }
}

.dining-venue-map-container .map-label {
    color: #ffffff;
}

.dining-venue-map-container .map-title {
    color: #ffffff;
}

@media (max-width: 767px) {
    .dining-venue-map-container .map-title {
        font-weight: 400;
    }
}

.dining-venue-map-container .map-description {
    color: #ffffff;
    margin: 0;
    max-width: 375px;
    margin-bottom: 25px;
}

@media (max-width: 991px) {
    .dining-venue-map-container .map-description {
        max-width: 100%;
    }
}

.dining-venue-map-container .hotel-phone-icon {
    color: #0B5991;
}

.dining-venue-map-container .hotel-reservation-label {
    color: #0B5991;
}

.dining-venue-map-container .hotel-phone-number {
    color: #ffffff;
}

/* ============================================
   Map 5: Wedding Venue Map Styles
   ============================================ */
.wedding-venue-map-container {
    position: relative;
    width: 100%;
    background: #A0B6CB;
}

@media (max-width: 991px) {
    .wedding-venue-map-container {
        height: 100% !important;
    }
}

.wedding-venue-map-container .wedding-venue-map {
    width: 100%;
    height: 100%;
}

@media (max-width: 991px) {
    .wedding-venue-map-container .wedding-venue-map {
        height: 500px;
    }
}

.wedding-venue-map-container .wedding-venue-info-content {
    position: absolute;
    width: 440px;
    height: auto;
    left: calc(10% - 20px);
    bottom: 6%;
    z-index: 1;
    padding: 30px 20px;
    background-color: #a0b6cbe3;
    border-radius: 10px;
}

@media (max-width: 1280px) {
    .wedding-venue-map-container .wedding-venue-info-content {
        width: 410px;
        left: calc(6% - 20px);
    }
}

@media (max-width: 1199px) {
    .wedding-venue-map-container .wedding-venue-info-content {
        left: 10px;
    }
}

@media (max-width: 991px) {
    .wedding-venue-map-container .wedding-venue-info-content {
        position: unset;
        width: 100%;
        padding: 20px 35px 40px;
        background-color: #A0B6CB;
    }
}

.wedding-venue-map-container .map-label {
    color: #ffffff;
}

.wedding-venue-map-container .map-title {
    color: #ffffff;
}

@media (max-width: 767px) {
    .wedding-venue-map-container .map-title {
        font-weight: 400;
    }
}

.wedding-venue-map-container .map-description {
    color: #ffffff;
    margin: 0;
    margin-bottom: 25px;
}

@media (max-width: 991px) {
    .wedding-venue-map-container .map-description {
        max-width: 100%;
    }
}

.wedding-venue-map-container .hotel-phone-icon {
    color: #0B5991;
}

.wedding-venue-map-container .hotel-reservation-label {
    color: #0B5991;
}

.wedding-venue-map-container .hotel-phone-number {
    color: #ffffff;
}

/* ============================================
   Map 6: Property Portfolio Map Styles
   ============================================ */
.property-map-container {
    position: relative;
    width: 100%;
}

@media (max-width: 991px) {
    .property-map-container {
        height: 750px !important;
    }
}

.property-map-container .property-map {
    width: 100%;
    height: 100%;
}

.property-map-container .property-panel {
    position: absolute;
    width: 360px;
    bottom: 5px;
    right: 30px;
    background-color: rgba(4, 35, 57, 0.5);
    padding: 0 40px;
    border-radius: 5px;
    max-height: 100%;
    overflow-y: auto;
}

@media (max-width: 480px) {
    .property-map-container .property-panel {
        width: auto;
        bottom: 15px;
        left: 35px;
        right: 35px;
        padding: 0 30px;
    }
}

.property-map-container .property-panel .property-panel__icon {
    text-align: center;
    padding: 15px 0;
}

.property-map-container .property-panel__content {
    border-top: 1px solid rgba(6, 41, 67, 0.50);
    padding-top: 22px;
    padding-bottom: 50px;
}

@media (max-width: 480px) {
    .property-map-container .property-panel__content {
        padding-top: 20px;
        padding-bottom: 35px;
    }
}

.property-map-container .property-panel h4 {
    font-family: "Open Sans", sans-serif !important;
    font-size: 20px;
    font-weight: 400;
    line-height: 120%;
    color: #fff;
    margin: 0px 0px 20px;
}

.property-map-container .property-panel ul {
    margin: 0px;
    padding: 0px 0px 0px 18px;
    list-style-type: decimal-leading-zero;
    max-height: 100%;
    overflow-y: auto;
    scrollbar-width: thin;
}

.property-map-container .property-panel ul li {
    font-size: 10px;
    line-height: 20px;
    font-weight: 400;
    color: #fff;
    margin: 0px 0px 5px;
    padding-left: 10px;
}

.property-map-container .property-panel ul li.active {
    color: #b9e1ff;
    font-weight: 500;
}

.property-map-container .property-panel ul li:last-child {
    margin-bottom: 0px;
}

.property-map-container .btn-book {
    min-width: 130px;
}

.property-map-container .gm-style-iw {
    max-width: 225px !important;
}

/* ============================================
   Map 7: Lodges & Camps Map Styles
   ============================================ */
.lodges-camps-map-container {
    width: 100%;
    min-height: 615px;
    position: relative;
}

@media (max-width: 991px) {
    .lodges-camps-map-container {
        height: 750px !important;
    }
}

.lodges-camps-map-container .lodges-camps-map {
    width: 100%;
    height: 100%;
}

.lodges-camps-map-container .lodges-camps-panel {
    position: absolute;
    width: 251px;
    bottom: 25px;
    left: 30px;
    background-color: rgba(4, 35, 57, 0.3);
    backdrop-filter: blur(20px);
    padding: 30px;
    border-radius: 5px;
    max-height: 100%;
    overflow-y: auto;
}

@media (max-width: 991px) {
    .lodges-camps-map-container .lodges-camps-panel {
        padding: 0 30px;
    }
}

@media (max-width: 480px) {
    .lodges-camps-map-container .lodges-camps-panel {
        width: auto;
        bottom: 15px;
        left: 35px;
        right: 35px;
        padding: 0 30px;
    }
}

.lodges-camps-map-container .lodges-camps-panel__icon {
    display: none;
    text-align: center;
    /* padding: 15px 0; */
}

@media (max-width: 991px) {
    .lodges-camps-map-container .lodges-camps-panel__icon {
        display: block;
        padding: 15px 0;
    }

    .lodges-camps-map-container .lodges-camps-panel__content {
        padding-bottom: 30px;
    }
}

.lodges-camps-map-container .lodges-camps-panel ul {
    margin: 0px;
    padding: 0px 0px 0px 18px;
    list-style-type: decimal-leading-zero;
    max-height: 510px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.lodges-camps-map-container .lodges-camps-panel ul li {
    font-size: 10px;
    line-height: 20px;
    font-weight: 400;
    color: #fff;
    margin: 0px 0px 5px;
    padding-left: 10px;
}

.lodges-camps-map-container .lodges-camps-panel ul li:last-child {
    margin-bottom: 0px;
}

.lodges-camps-map-container .lodges-legend {
    margin: 30px 0px 0px;
}

.lodges-camps-map-container .lodges-legend ul {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

.lodges-camps-map-container .lodges-legend ul li {
    font-size: 8px !important;
    font-weight: 400;
    line-height: 16.8px;
    color: #fff;
    margin: 0px 0px 0px;
    position: relative;
    padding-left: 30px;
}

.lodges-camps-map-container .lodges-legend ul li::before {
    content: '';
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 11.04px;
    height: 11.04px;
    border-radius: 50%;
    background-color: #44B9F8;
    border: 1px solid #fff;
}

.lodges-camps-map-container .lodges-legend ul li:last-child::before {
    background-color: #D3AA74;
}

.lodges-camps-map-container .lodges-legend ul li:last-child {
    margin-bottom: 0px;
}

.lodges-camps-map-container .btn-book {
    min-width: 130px;
}

.lodges-camps-map-container .gm-style-iw {
    max-width: 225px !important;
}


/* ============================================
   Map 8: Conference Map Styles (same layout as Wedding Venue Map)
   ============================================ */
.conference-map-container {
    position: relative;
    width: 100%;
    background: #A0B6CB;
}

@media (max-width: 991px) {
    .conference-map-container {
        height: 100% !important;
    }
}

.conference-map-container .conference-map {
    width: 100%;
    height: 100%;
}

@media (max-width: 991px) {
    .conference-map-container .conference-map {
        height: 500px;
    }
}

.conference-map-container .conference-info-content {
    position: absolute;
    width: 440px;
    height: auto;
    left: calc(10% - 20px);
    bottom: 6%;
    z-index: 1;
    padding: 30px 20px;
    background-color: #a0b6cbe3;
    border-radius: 10px;
}

@media (max-width: 1280px) {
    .conference-map-container .conference-info-content {
        width: 410px;
        left: calc(6% - 20px);
    }
}

@media (max-width: 1199px) {
    .conference-map-container .conference-info-content {
        left: 10px;
    }
}

@media (max-width: 991px) {
    .conference-map-container .conference-info-content {
        position: unset;
        width: 100%;
        padding: 20px 35px 40px;
        background-color: #A0B6CB;
    }
}

.conference-map-container .map-label {
    color: #ffffff;
}

.conference-map-container .map-title {
    color: #ffffff;
}

@media (max-width: 767px) {
    .conference-map-container .map-title {
        font-weight: 400;
    }
}

.conference-map-container .map-description {
    color: #ffffff;
    margin: 0;
    margin-bottom: 25px;
}

@media (max-width: 991px) {
    .conference-map-container .map-description {
        max-width: 100%;
    }
}

.conference-map-container .hotel-phone-icon {
    color: #0B5991;
}

.conference-map-container .hotel-reservation-label {
    color: #0B5991;
}

.conference-map-container .hotel-phone-number {
    color: #ffffff;
}

/* ============================================
   Map 9: Where To Find Us Map Styles
   ============================================ */

.wtfu-map-container {
    position: relative;
    width: 100%;
    background: #93ADC3;
}

@media (max-width: 991px) {
    .wtfu-map-container {
        height: 100% !important;
        padding-bottom: 40px;
        background-color: #ffffff;
    }
}

.wtfu-map-container .wtfu-map {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 991px) {
    .wtfu-map-container .wtfu-map {
        position: relative;
        overflow: hidden;
        height: 530px;
    }
}

@media (max-width: 575px) {
    .wtfu-map-container .wtfu-map {
        height: 550px;
    }
}

.wtfu-map-container .wtfu-info-content {
    position: absolute;
    width: 879px;
    height: auto;
    right: calc(10% - 20px);
    top: 50%;
    z-index: 1;
    background-color: #fafafa;
    border-radius: 10px;
    display: grid;
    grid-template-columns: 372px 1fr;
    align-items: center;
    box-shadow: 10px 10px 40px 0px #041C4133;
    transform: translateY(-50%);
    overflow: hidden;
}

@media (max-width: 1550px) {
    .wtfu-map-container .wtfu-info-content {
        width: 780px;
    }
}

@media (max-width: 1280px) {
    .wtfu-map-container .wtfu-info-content {
        width: 720px;
        right: calc(6% - 20px);
        grid-template-columns: 340px 1fr;
    }
}

@media (max-width: 1199px) {
    .wtfu-map-container .wtfu-info-content {
        right: 10px;
        width: 700px;
    }
}

@media (max-width: 991px) {
    .wtfu-map-container .wtfu-info-content {
        position: relative !important;
        right: 0;
        width: calc(100% - 70px);
        margin-left: auto;
        margin-right: auto;
        margin-top: 20px;
        position: relative;
        margin-top: -190px;
        z-index: 1;
        top: unset;
        transform: unset;
    }
}

@media (max-width: 767px) {
    .wtfu-map-container .wtfu-info-content {
        grid-template-columns: 1fr;
        margin-top: -230px;
    }
}

.wtfu-map-container .wtfu-info-content__right {
    padding: 40px 80px;
}

@media (max-width: 1550px) {
    .wtfu-map-container .wtfu-info-content__right {
        padding: 40px 40px;
    }
}

@media (max-width: 991px) {
    .wtfu-map-container .wtfu-info-content__right {
        background-color: #fff;
    }
}

@media (max-width: 575px) {
    .wtfu-map-container .wtfu-info-content__right {
        padding: 25px 30px 30px;
    }
}

@media (max-width: 480px) {
    .wtfu-map-container .wtfu-info-content__right {
        padding: 20px 25px 30px;
    }
}

.wtfu-map-container .map-title {
    color: #0B5991;
}

@media (max-width: 767px) {
    .wtfu-map-container .map-title {
        color: #062943;
        font-weight: 400;
        margin-bottom: 15px;
    }
}

.wtfu-map-container .map-description {
    color: #676B6D;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
}

@media (max-width: 991px) {
    .wtfu-map-container .map-description {
        max-width: 100%;
    }
}

@media (max-width: 380px) {
    .wtfu-map-container .map-description {
        font-size: 14px;
    }
}

.wtfu-map-container .map-description a {
    color: #676B6D;
    text-decoration: none;
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
}

@media (max-width: 420px) {
    .wtfu-map-container .map-description a {
        font-size: 16px;
    }
}

@media (max-width: 380px) {
    .wtfu-map-container .map-description a {
        font-size: 14px;
    }
}

.wtfu-map-container .map-description a:hover {
    color: #0B5991;
}

.wtfu-map-container .map-phone {
    margin-bottom: 10px;
}

.wtfu-map-container .map-phone,
.wtfu-map-container .map-phone span,
.wtfu-map-container .map-phone a {
    font-size: 20px;
    font-weight: 400;
    line-height: 140%;
    color: #1473B7;
    text-decoration: none;
}

@media (max-width: 767px) {

    .wtfu-map-container .map-phone,
    .wtfu-map-container .map-phone span,
    .wtfu-map-container .map-phone a {
        font-size: 18px;
    }
}

.wtfu-map-container .map-phone span {
    color: #9EA1A3;
}

.wtfu-map-container .map-btn {
    margin-top: 20px;
}

.wtfu-map-container .map-btn__link {
    min-width: 194px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    background-color: transparent;
    border: 1px solid #0B5991;
    color: #0B5991;
    padding: 10px 20px;
    transition: all .25s ease-in-out;
    border-radius: 4px;
    text-decoration: none;
}

@media (max-width: 768px) {
    .wtfu-map-container .map-btn__link {
        width: 100%;
    }
}

@media (max-width:480px) {
    .wtfu-map-container .map-btn__link {
        display: flex;
    }
}

.wtfu-map-container .map-btn__link:hover {
    background-color: transparent;
    color: #1473B7;
    border-color: #1473B7;
}

.wtfu-map-container .wtfu-info-content__left {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: flex-end;
    gap: 20px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 40px 80px;
}

@media (max-width: 1550px) {
    .wtfu-map-container .wtfu-info-content__left {
        padding: 40px 40px;
    }
}

@media (max-width: 991px) {
    .wtfu-map-container .wtfu-info-content__left {
        justify-content: center;
    }
}

@media (max-width: 575px) {
    .wtfu-map-container .wtfu-info-content__left {
        padding: 25px 30px 30px;
    }
}

@media (max-width: 480px) {
    .wtfu-map-container .wtfu-info-content__left {
        padding: 20px 25px 30px;
    }
}

.wtfu-map-container .wtfu-info-content__left::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: 0;
}

@media (max-width: 767px) {
    .wtfu-map-container .wtfu-info-content__left {
        height: 250px;
    }
}

.wtfu-map-container .wtfu-info__logo {
    width: 227px;
    height: auto;
    max-height: 164px;
    object-fit: contain;
    object-position: center;
    z-index: 1;
}

@media (max-width: 480px) {
    .wtfu-map-container .wtfu-info__logo {
        width: 190px;
    }
}

.wtfu-map-container .wtfu-info__enq-btn {
    min-width: 160px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    background-color: #CEDEE9;
    color: #062943;
    padding: 10px 20px;
    transition: all .25s ease-in-out;
    border-radius: 4px;
    text-decoration: none;
    z-index: 1;
}

.wtfu-map-container .wtfu-info__enq-btn:hover {
    background-color: #E6EEF3;
    color: #462801;
}

@media (max-width: 767px) {
    .wtfu-map-container .wtfu-info__enq-btn {
        width: 100%;
        margin-top: 20px;
    }
}

.wtfu-info__enq-btn--desktop {
    display: inline-flex !important;
}

.wtfu-info__enq-btn--mobile {
    display: none !important;
}

@media (max-width: 767px) {
    .wtfu-info__enq-btn--desktop {
        display: none !important;
    }

    .wtfu-info__enq-btn--mobile {
        display: inline-flex !important;
    }
}

.wtfu-google-coords {
    font-size: 0.95em;
}

/*  */
/* Hotel Rooms List Styles - Matching Live Site Design */
.bys-hotel-rooms {
    position: relative;
    font-family: "Open Sans", sans-serif;
    max-width: 100%;
    padding: 0;
    background-color: #F5F8F9;
    padding: 0;
}

@media (max-width: 767px) {
    .bys-hotel-rooms {
        padding: 0 20px;
    }
}

.bys-hotel-rooms .bys-rooms-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 70px;
    max-width: 1140px;
    margin: 0 auto;
}

@media (max-width: 991px) {
    .bys-hotel-rooms .bys-rooms-grid {
        gap: 40px 30px;
    }
}

@media (max-width: 767px) {
    .bys-hotel-rooms .bys-rooms-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

.bys-hotel-rooms .bys-rooms-two {
    max-width: 1240px;
    margin: 0 auto;
}

.bys-hotel-rooms .bys-room-card {
    position: relative;
    background: transparent;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
    transition: none;
    display: flex;
    flex-direction: column;
    border: none;
}

.bys-hotel-rooms .bys-room-card:hover {
    transform: none;
    box-shadow: none;
}

.bys-hotel-rooms .bys-room-card-fallback {
    border: 2px dashed #8B4513;
    background: linear-gradient(135deg, #fff9f0 0%, #ffffff 100%);
}

.bys-hotel-rooms .bys-room-card-fallback:hover {
    border-color: #6B3410;
    background: linear-gradient(135deg, #fff5e6 0%, #ffffff 100%);
}

.bys-hotel-rooms .bys-room-image-placeholder {
    background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.bys-hotel-rooms .bys-room-image {
    position: relative;
    width: 100%;
    height: 100%;
    max-height: 360px;
    margin-bottom: 15px;
}

.bys-hotel-rooms .bys-room-image img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center;
    transition: none;
    display: block;
    border-radius: 6px;
}

@media (max-width: 1024px) {
    .bys-hotel-rooms .bys-room-image img {
        height: 320px;
    }
}

.bys-hotel-rooms .bys-room-card:hover .bys-room-image img {
    transform: none;
}

.bys-hotel-rooms .bys-room-price-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    font-size: 12px;
    font-weight: 400;
    line-height: 19.92px;
    text-transform: uppercase;
    background-color: #fafafa;
    color: #000000;
    padding: 8px 16px 8px 16px;
    min-width: auto;
    text-align: center;
    z-index: 2;
}

.bys-hotel-rooms .bys-room-price-badge span {
    display: inline-block;
}

/* .bys-hotel-rooms .bys-price-label {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #333333;
    margin-bottom: 2px;
    line-height: 1.2;
}

.bys-hotel-rooms .bys-price-amount {
    font-size: 20px;
    font-weight: 700;
    color: #000000;
    line-height: 1;
    font-family: serif;
}

.bys-hotel-rooms .bys-price-period {
    font-size: 9px;
    color: #666666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 1px;
    line-height: 1.2;
    font-family: "Open Sans", sans-serif;
} */

.bys-hotel-rooms .bys-room-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    column-gap: 15px;
    row-gap: 15px;
}

@media (max-width: 767px) {
    .bys-hotel-rooms .bys-room-content {
        row-gap: 13px;
    }
}

.bys-hotel-rooms .bys-room-content>div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    column-gap: 15px;
    row-gap: 15px;
}

@media (max-width: 767px) {
    .bys-hotel-rooms .bys-room-content>div {
        row-gap: 13px;
    }
}

.bys-hotel-rooms .bys-room-title {
    font-family: "Playfair", serif !important;
    font-size: 30px;
    font-weight: 300;
    line-height: 40px;
    color: #462801;
    margin: 0;
}

@media (max-width: 767px) {
    .bys-hotel-rooms .bys-room-title {
        margin-bottom: -5px;
    }
}

.bys-hotel-rooms .bys-room-specs-line {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #676B6D;
}

.bys-hotel-rooms .bys-room-amenities {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    list-style: none;
    row-gap: 5px;
    column-gap: 15px;
    justify-content: start;
    max-height: 70px;
    overflow: hidden;
    position: relative;
    transition: height 0.4s ease-in-out;
}

.bys-hotel-rooms .bys-room-amenities:hover {
    max-height: none;
}

.bys-hotel-rooms .bys-room-amenity-item {
    display: flex;
    align-items: center;
    column-gap: 5px;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #333632;
    min-width: 50px;
}

.bys-hotel-rooms .bys-amenity-icon {
    font-size: 30px;
    color: #D3AA74;
}

.bys-hotel-rooms .bys-amenity-icon img {
    max-height: 20px;
    height: auto;
    max-width: 20px;
    width: auto;
    display: flex;
}

.bys-hotel-rooms .bys-amenity-icon [class^="fa-dhr-"]:before,
.bys-hotel-rooms .bys-amenity-icon [class*=" fa-dhr-"]:before {
    margin: 0;
}

.bys-hotel-rooms .bys-amenity-text {
    line-height: 30px;
}

.bys-hotel-rooms .bys-room-description {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #676B6D;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.bys-hotel-rooms .bys-room-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.bys-hotel-rooms .bys-room-actions.bys-packages {
    padding: 0 !important;
}

.bys-hotel-rooms .bys-room-actions.bys-packages .bys-package-button {
    background: #D3AA74;
    color: #ffffff;
    text-decoration: none;
}

.bys-hotel-rooms .bys-room-actions.bys-packages .bys-package-button:hover {
    color: #462801;
}

.bys-hotel-rooms .bys-room-actions.bys-packages .bys-book-now-link:after {
    display: none;
}

.bys-hotel-rooms .bys-book-now-link {
    position: relative;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.03em;
    text-align: center;
    vertical-align: middle;
    color: #462801;
    text-decoration: underline;
    text-underline-offset: 5px;
}

.bys-hotel-rooms .bys-book-now-link:after {
    content: "";
    position: absolute;
    right: -20px;
    top: 50%;
    width: 8px;
    height: 10px;
    background: url(https://dhr.4shaw-development.co/le-franschhoek-hotel-spa/wp-content/uploads/sites/2/2025/02/chevr.svg) no-repeat center / cover;
    transform: translateY(-50%);
}

.bys-hotel-rooms .bys-book-now-link:hover {
    color: #6B3410;
    text-decoration: underline;
}

.bys-hotel-rooms .bys-book-now-link:disabled {
    color: #999;
    cursor: not-allowed;
    text-decoration: underline;
}

.dhr-hotel-rooms-shortcode .bys-book-now-link.dhr-book-now-loading,
.bys-hotel-rooms .bys-book-now-link.dhr-book-now-loading {
    pointer-events: none;
    opacity: 0.7;
    cursor: wait;
}

/* ------------------------------------------------------------------
   bys-room-cta — duplicate of .bys-book-now-link styling.
   Use this class on buttons that need the same appearance but must
   NOT be picked up by external JS that binds to .bys-book-now-link.
   ------------------------------------------------------------------ */
.bys-hotel-rooms .bys-room-actions.bys-packages .bys-room-cta:after {
    display: none;
}

.bys-hotel-rooms .bys-room-cta {
    position: relative;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.03em;
    text-align: center;
    vertical-align: middle;
    color: #462801;
    text-decoration: underline;
    text-underline-offset: 5px;
}

.bys-hotel-rooms .bys-room-cta:after {
    content: "";
    position: absolute;
    right: -20px;
    top: 50%;
    width: 8px;
    height: 10px;
    background: url(https://dhr.4shaw-development.co/le-franschhoek-hotel-spa/wp-content/uploads/sites/2/2025/02/chevr.svg) no-repeat center / cover;
    transform: translateY(-50%);
}

.bys-hotel-rooms .bys-room-cta:hover {
    color: #6B3410;
    text-decoration: underline;
}

.bys-hotel-rooms .bys-room-cta:disabled {
    color: #999;
    cursor: not-allowed;
    text-decoration: underline;
}

.dhr-hotel-rooms-shortcode .bys-room-cta.dhr-book-now-loading,
.bys-hotel-rooms .bys-room-cta.dhr-book-now-loading {
    pointer-events: none;
    opacity: 0.7;
    cursor: wait;
}

.bys-hotel-rooms .bys-book-now-button {
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    padding: 8px 24px;
    line-height: 24px;
    letter-spacing: 0.03em;
    background: #D3AA74;
    color: #fff;
    text-decoration: unset;
    border-radius: 4px;
    transition: all .25s ease-in-out;
}

.bys-hotel-rooms .bys-book-now-button:hover {
    background-color: #c59e6c;
}

.bys-hotel-rooms .bys-book-now-button:active {
    background-color: #c59e6c;
}

.bys-hotel-rooms .bys-book-now-button:disabled {
    background: #ccc;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/*  */
.bys-packages {
    font-family: "Open Sans", sans-serif !important;
    max-width: 100%;
    /* padding: 60px 20px; */
    background-color: #F5F8F9;
}

@media (max-width: 767px) {
    .bys-packages {
        padding-left: 20px;
        padding-right: 20px;
    }
}

.bys-packages h1,
.bys-packages h2,
.bys-packages h3,
.bys-packages h4,
.bys-packages h5,
.bys-packages h6,
.bys-packages p,
.bys-packages span {
    font-family: "Open Sans", sans-serif !important;
}

.bys-packages .bys-packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 1140px;
    margin: 0 auto;
    align-items: stretch;
}

@media (max-width: 1280px) {
    .bys-packages .bys-packages-grid {
        gap: 25px;
    }
}

@media (max-width: 1024px) {
    .bys-packages .bys-packages-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .bys-packages .bys-packages-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

.bys-packages .first-packages__design,
.bys-packages .second-packages__design,
.bys-packages .kids-packages__design,
.bys-packages .bird-packages__design {
    max-width: 1140px;
    margin: 0 auto;
}

.bys-packages .first-packages__design .swiper-slide,
.bys-packages .second-packages__design .swiper-slide,
.bys-packages .kids-packages__design .swiper-slide,
.bys-packages .bird-packages__design .swiper-slide {
    display: flex;
    height: auto;
}

.bys-packages .first-packages__featured {
    max-width: 1140px;
    margin: 0 auto 60px;
}

@media (max-width: 1280px) {
    .bys-packages .first-packages__featured {
        margin-bottom: 40px;
    }
}

@media (max-width: 767px) {
    .bys-packages .first-packages__featured {
        margin-bottom: 25px;
    }
}

.bys-packages .first-packages__featured .bys-packages-card {
    display: grid;
    grid-template-columns: 1.92fr 1fr;
}

@media (max-width: 991px) {
    .bys-packages .first-packages__featured .bys-packages-card {
        grid-template-columns: 1.5fr 1fr;
    }
}

@media (max-width: 767px) {
    .bys-packages .first-packages__featured .bys-packages-card {
        grid-template-columns: 1fr;
    }

    .bys-packages .first-packages__featured .bys-package-content {
        display: none;
    }
}

.bys-packages .first-packages__featured .bys-packages-card__top {
    border-radius: 4px;
    min-height: 100%;
}

@media (max-width: 767px) {
    .bys-packages .first-packages__featured .bys-packages-card__top {
        min-height: auto;
        height: 480px;
    }
}

.bys-packages .first-packages__featured .package-overlay__label,
.bys-packages .first-packages__featured .package-overlay__location,
.bys-packages .first-packages__featured .package-overlay__divider {
    display: none !important;
}

.bys-packages .first-packages__featured .package-overlay__title {
    max-width: 48%;
}

@media (max-width: 1280px) {
    .bys-packages .first-packages__featured .package-overlay__title {
        max-width: 55%;
    }
}

@media (max-width: 1024px) {
    .bys-packages .first-packages__featured .package-overlay__title {
        max-width: 60%;
    }
}

@media (max-width: 767px) {
    .bys-packages .first-packages__featured .package-overlay__title {
        max-width: 100%;
    }
}

.bys-packages .first-packages__featured .bys-package-content {
    justify-content: center;
}

.bys-packages .first-packages__featured .featured-experience__label {
    position: absolute;
    right: 25px;
    top: 25px;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    text-transform: uppercase;
    background-color: #D3AA74;
    color: #fafafa;
    padding: 9px 12px;
    letter-spacing: 0;
}

@media (max-width: 767px) {
    .bys-packages .first-packages__featured .featured-experience__label {
        position: unset;
        display: inline-block;
        margin-bottom: 20px;
    }
}

.package-design-grid .bys-packages {
    background-color: #FFFFFF;
}

.package-design-grid .bys-packages--grid .swiper-wrapper {
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1280px) {
    .package-design-grid .bys-packages--grid .swiper-wrapper {
        gap: 25px;
    }
}

@media (max-width: 1024px) {
    .package-design-grid .bys-packages--grid .swiper-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .package-design-grid .bys-packages--grid .swiper-wrapper {
        grid-template-columns: repeat(1, 1fr);
        width: calc(100% - 40px);
        margin: auto;
    }
}

.package-design-grid .bys-packages--grid .swiper-slide {
    min-width: 0;
}

.package-design-grid .bys-packages--grid .package-swiper-pagination {
    display: none;
}

.bys-packages .bys-packages-card {
    display: flex;
    flex-direction: column;
    background-color: rgba(244, 243, 241, 1);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: none;
    height: 100%;
}

.bys-packages .bys-packages-card__top {
    position: relative;
    height: 500px;
    overflow: hidden;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 1;
    transition: all .25s ease-in-out;
}

@media (max-width: 767px) {
    .bys-packages .bys-packages-card__top {
        height: 480px;
        padding: 30px;
    }
}

.bys-packages .top-left__icon {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.bys-packages .top-left__icon--svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.bys-packages .top-left__icon--svg svg {
    width: 64px;
    height: 64px;
}

.bys-packages .bys-packages-card__frature-img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: transform 0.8s;
    z-index: -1;
}

.bys-packages .bys-packages-card:hover .bys-packages-card__frature-img {
    transform: scale(1.1);
}

.bys-packages .bys-packages-card__top:after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 15.52%, rgba(0, 0, 0, 0.67) 65.04%);
    transition: all .25s ease-in-out;
    z-index: -1;
}

.bys-packages .bys-packages-card:hover .bys-packages-card__top:after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.67) 85%);
}

.bys-packages span {
    display: block;
}

.bys-packages .package-overlay {
    width: 100%;
}

.bys-packages .package-overlay__label {
    font-size: 12px;
    font-weight: 600;
    line-height: 20px;
    color: #FFFFFF;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    .bys-packages .package-overlay__label {
        margin-bottom: 5px;
    }
}

.bys-packages .package-overlay__main-title {
    font-size: 28px;
    font-weight: 300;
    line-height: 125%;
    color: #FFFFFF;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
}

@media (max-width: 991px) {
    .bys-packages .package-overlay__main-title {
        font-size: 26px;
    }
}

@media (max-width: 767px) {
    .bys-packages .package-overlay__main-title {
        font-size: 24px;
    }
}

@media (max-width: 380px) {
    .bys-packages .package-overlay__main-title {
        font-size: 22px;
    }
}

.bys-packages .package-overlay__title {
    font-size: 23px;
    font-weight: 300;
    line-height: 32px;
    color: #FFFFFF;
    margin: 0;
}

.bys-packages .package-overlay__description {
    font-size: 12px;
    font-weight: 400;
    line-height: 140%;
    color: #FFFFFF;
    margin-bottom: 10px;
}

@media (max-width: 767px) {

    .bys-packages .first-packages__featured .package-overlay__title,
    .bys-packages .first-packages__design .package-overlay__title {
        font-size: 32px;
        line-height: 100%;
        font-family: "Playfair", Sans-serif !important;
    }

    .bys-packages .bird-packages__design .package-overlay__main-title,
    .bys-packages .bird-packages__design .package-overlay__title {
        font-size: 38px;
        line-height: 100%;
        font-family: "Playfair", Sans-serif !important;
    }

    .bys-packages .kids-packages__design .package-overlay__title {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        word-break: break-word;
    }

    .bys-packages .second-packages__design .package-overlay__title {
        font-size: 32px;
        line-height: 100%;
        font-family: "Playfair", Sans-serif !important;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        word-break: break-word;
    }

    .bys-packages .second-packages__design .package-overlay__title {
        font-size: 32px;
        line-height: 100%;
        font-family: "Playfair", Sans-serif !important;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        word-break: break-word;
    }

    .bys-packages .second-packages__design .package-overlay__divider {
        padding: 7px 0;
    }

    .bys-packages .second-packages__design .package-overlay__divider span {
        display: none;
    }

    .package-overlay__content__inner .package-overlay__description {
        margin-bottom: 15px;
    }
}

.bys-packages .package-overlay__subtitle {
    font-size: 18px;
    font-weight: 400;
    color: #ffffff;
    line-height: 140%;
    margin-bottom: 12px;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
    word-break: break-word;
    -webkit-box-orient: vertical;
}

@media (max-width: 991px) {
    .bys-packages .package-overlay__subtitle {
        margin-bottom: 10px;
    }
}

@media (max-width: 420px) {
    .bys-packages .package-overlay__subtitle {
        margin-bottom: 8px;
    }
}

.bys-packages .bys-package-overlay-label {
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 5px 0;
}

.bys-packages .package-overlay__valid {
    display: block;
    font-size: 12px;
    font-weight: 600;
    line-height: 140%;
    color: #FFFFFF;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.bys-packages .package-overlay__divider {
    padding: 20px 0;
    width: 100%;
    transition: padding 0.3s ease-in-out;
}

.bys-packages .bys-packages-card:hover .package-overlay__divider {
    padding: 40px 0;
}

.bys-packages .package-overlay__divider span {
    display: block;
    border-block-start: 1px solid #e0c8a9;
}

.bys-packages .package-overlay__location {
    display: flex;
    gap: 6px;
}

.bys-packages .package-overlay__location i,
.bys-packages .package-overlay__location svg {
    position: relative;
    display: block;
    min-width: 24px;
    width: 24px;
    height: 24px;
    font-size: 24px;
    color: #ffffff;
    fill: #ffffff;
}

.bys-packages .package-overlay__location>div {
    flex-grow: 1;
    width: 100%;
}

.bys-packages .package-overlay__location h6 {
    font-size: 13px;
    font-weight: 400;
    line-height: 19px;
    margin-top: 0;
    margin-block-end: 1px;
    color: #FFFFFF;
}

.bys-packages .package-overlay__location p {
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    color: #ebdbca;
    margin: 0;
}

.bys-packages .package-overlay__btn-grp {
    margin-top: 35px;
}

.bys-packages .package-overlay__btn-grp .bys-package-button {
    width: 100%;
}

.kids-packages__design .package-overlay__btn-grp .bys-package-button:hover {
    background-color: #4f6574;
    color: #c7a272;
}

@media (max-width: 767px) {
    .kids-packages__design .package-overlay__btn-grp .bys-package-button {
        height: 36px;
    }
}

.bys-packages .bys-package-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 40px;
    gap: 20px;
}

@media (max-width: 767px) {
    .bys-packages .bys-package-content {
        padding: 30px;
    }
}

.bys-packages .package-content__title {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 16px;
    color: #d3aa74;
    margin: 0;
}

.bys-packages .package-content__description {
    font-size: 14px;
    font-weight: 400;
    line-height: 140%;
    color: #676B6D;
    margin: 0 0 15px 0;
}

.bys-packages .bys-package-features {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
}

.bys-packages .bys-package-content .bys-package-button {
    margin-top: auto;
}

.bys-packages .bys-package-features li {
    position: relative;
    font-size: 13px;
    font-weight: 400;
    line-height: 140%;
    color: #676B6D;
    margin: 0 0 5px 0;
    padding-left: 15px;
}

.bys-packages .bys-package-features li:before {
    content: "•";
    position: absolute;
    left: 0;
    color: #D3AA74;
    font-weight: bold;
}

.bys-packages .bys-package-features li:last-child {
    margin-bottom: 0;
}

.bys-packages .package-content__bottom {
    margin-top: auto;
}

.bys-packages .package-content__divider {
    width: 100%;
    border-bottom: 1px solid #CDD2D4;
}

.bys-packages .package-content__bottom .package-content__divider {
    margin-bottom: 20px;
}

.bys-packages .bys-package-button {
    width: calc(100% - 16px);
    height: 40px;
    padding: 10px 20px;
    background-color: #E0C8A9;
    color: #062943;
    font-size: 14px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0.03em;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease-in-out;
    margin-left: auto;
    margin-right: auto;
}

.first-packages__design .swiper-slide {
    display: flex;
    height: auto;
}

@media (min-width: 1024px) {
    .mobile-view-package-button {
        display: none;
    }
}

@media (max-width: 1023px) {
    .second-packages__design .desktop-view-package {
        display: none;
    }

    .mobile-view-package-button {
        margin-top: 20px;
    }
}

@media (max-width: 767px) {
    .bys-packages .bys-package-button {
        width: 100%;
    }
}

/* Package Swiper Pagination Styles - Mobile Only */
.package-swiper-pagination {
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    margin-top: 40px;
    z-index: 10;
    display: flex;
    justify-content: center;
}

@media (min-width: 768px) {
    .package-swiper-pagination {
        display: none !important;
    }
}

.package-swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    background-color: #CDD2D4;
    opacity: 1;
    margin: 0 3.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    outline: none;
}

.package-swiper-pagination-bullet-active {
    background-color: #062943;
    width: 10px;
    height: 10px;
    transform: scale(1);
}

.bys-packages .button--theme-1 {
    background-color: #E0C8A9;
    color: #062943;
}

.bys-packages .button--theme-2 {
    background-color: #062943;
    color: #ffffff;
}

.bys-packages .button--theme-3 {
    background-color: #FFC25B;
    color: #371B0B;
}

.bys-packages .bys-package-button:hover {
    background-color: #D3AA74;
    color: #062943;
}

.bys-packages .button--theme-1:hover {
    background-color: #D3AA74;
    color: #062943;
}

.bys-packages .button--theme-2:hover {
    background-color: #4F6574;
    color: #e0c8a9;
}

.bys-packages .button--theme-3:hover {
    background-color: #E0C8A9;
}

/* First Package Design */
@media (max-width: 767px) {

    .first-packages__design .package-overlay__divider,
    .first-packages__design .package-content__divider,
    .first-packages__design .package-overlay__location {
        display: none;
    }

    .bys-packages__second-main .bys-packages-card {
        height: 464px;
    }

    .bys-packages__second-main .second-packages__design .swiper-slide {
        width: 350px;
        height: 464px;
    }

    .bys-packages__second-main .second-packages__design {
        width: 100%;
    }
}

@media (max-width: 400px) {
    .bys-packages .second-packages__design .swiper-slide {
        width: 100%;
    }
}

/* Kids Package */
@media (max-width: 767px) {
    .kids-packages__design .bys-packages-card {
        height: 377px;
    }

    .kids-packages__design .package-overlay__location {
        display: none;
    }

    .kids-packages__design .package-overlay__btn-grp {
        margin-top: 5px;
    }

    .kids-packages__design .package-overlay__divider {
        padding: 30px 0 !important;
    }
}

.bys-packages .early-bird-packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    max-width: 1140px;
    margin: 0 auto;
    align-items: stretch;
}

@media (max-width: 1024px) {
    .bys-packages .early-bird-packages-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .bys-packages .early-bird-packages-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

.bys-packages .bird-packages-card {
    position: relative;
    height: 600px;
    padding: 20px 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    border-radius: 4px;
    overflow: hidden;
    z-index: 1;
    transition: all .25s ease-in-out;
}

@media (max-width: 767px) {
    .bys-packages .bird-packages-card {
        height: 504px;
    }
}

@media (max-width: 767px) {
    .bys-packages .bird-packages__design .swiper-slide {
        width: 332px;
        height: 504px;
    }

    .bys-packages .bird-packages-card {
        width: 100%;
    }
}

@media (max-width: 400px) {
    .bys-packages .bird-packages__design .swiper-slide {
        width: 100%;
    }
}

.bys-packages .bird-packages-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background-color: #062943e6;
    transition: all .25s ease-in-out;
    z-index: -1;
}

.bys-packages .bird-packages-card:hover::after {
    height: 55%;
}

.bys-packages .bird-packages-card>* {
    position: relative;
    z-index: 2;
}

.bys-packages .bird-packages-card__top {}

@media (max-width: 767px) {
    .bys-packages .bys-packages-card__top {
        height: 480px;
        padding: 30px;
    }
}

.bys-packages .top-left__icon {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

@media (max-width: 767px) {
    .bys-packages .top-left__icon {
        width: 52px;
        height: 52px;
    }
}

.bys-packages .top-left__icon--svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.bys-packages .top-left__icon--svg svg {
    width: 64px;
    height: 64px;
}

.bys-packages .bird-packages-card__frature-img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: transform 0.8s;
    z-index: -1;
}

.bys-packages .bird-packages-card__premium-img {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    z-index: 5;
    background-size: contain;
    background-repeat: no-repeat;
}

@media (max-width: 767px) {
    .bys-packages .bird-packages-card__premium-img {
        width: 70px;
        height: 70px;
    }
}

@media (max-width: 420px) {
    .bys-packages .bird-packages-card__premium-img {
        width: 60px;
        height: 60px;
    }
}

.bys-packages .bird-packages-card:hover .bys-packages-card__frature-img {
    transform: scale(1.1);
}


.bys-packages .card__bottom-content {
    padding: 16px 22px 40px;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: relative;
}

@media (max-width: 767px) {
    .bys-packages .card__bottom-content {
        padding: 16px;
    }
}

.bys-packages .card__bottom-content::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid #B99D75;
    border-radius: 2px;
    transform: scaleX(1);
    transform-origin: center;
    opacity: 1;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    pointer-events: none;
}

.bys-packages .bird-packages-card:hover .card__bottom-content::before {
    transform: scaleX(0.95);
    opacity: 0;
}


.bird-packages-card .card__top-badge {
    padding: 10px;
    border-radius: 4px;
    background-color: #FAFAFA;
    width: fit-content;
    z-index: 3;
}

.bird-packages-card .card__top-badge .package-overlay__tag {
    font-family: "Jost", Sans-serif !important;
    font-size: 12px !important;
    font-weight: 500;
    line-height: 20px;
    margin: 0;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    /* .bird-packages-card .card__top-badge {
        position: relative;
        left: -40px;
        top: -37px;
    } */

    .bird-packages-card .card__top-badge .package-overlay__tag {
        font-size: 10px !important;
        line-height: 17px;
    }

}

.bys-packages .bird-packages-card .package-overlay__content__inner {
    transition: transform 0.3s ease-in-out;
    transform: translateY(-5px);
}

.bys-packages .bird-packages-card:hover .package-overlay__content__inner {
    transform: translateY(-30px);
}

.bys-packages .bird-packages-card::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 10.14%, rgba(0, 0, 0, 0.67) 65.57%);
    transition: all .25s ease-in-out;
    z-index: 0;
}

.bys-packages .package-overlay__link {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 14px;
    line-height: 24px;
    font-weight: 400;
    color: #EFF8FD;
    height: 24px;
    position: relative;
    width: fit-content;
    text-decoration: none;
}

.bys-packages .package-overlay__link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 89px;
    height: 1px;
    background-color: #EFF8FD;
}

/* _____________________________________ */

/* Five Package Design */
.bird-packages__experinces {
    display: grid;
    gap: 65px;
}

.bird-packages__experinces__container {
    max-width: 1172px;
    margin: 0 auto;
}

.bird-packages__experinces .bys-packages {
    background-color: transparent;
}

.bird-packages__experinces .bys-packages .bys-package-button {
    height: 48px;
    font-size: 16px;
    padding: 10px 33px;
}

@media (max-width: 600px) {
    .bird-packages__experinces .bys-packages .bys-package-button {
        width: 100%;
    }
}

.bird-packages__first {
    padding-top: 40px;
    display: grid;
    gap: 40px;
    background: linear-gradient(180deg, #EAEFF1 9.7%, #F5F8F9 100%);
}

.bird-packages__content__label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    line-height: 14.4px;
    letter-spacing: 0.02em;
    color: #D3AA74;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.bird-packages__content__title__tag .bird-packages__content__title {
    font-family: inherit;
    font-size: 40px;
    font-weight: 300;
    line-height: 110%;
    color: #062943;
    max-width: 580px;
}

@media (max-width: 1023px) {
    .bird-packages__content__label {
        margin-bottom: 10px;
    }

    .bird-packages__content__title__tag .bird-packages__content__title {
        font-size: 30px;
        line-height: 120%;
    }
}

@media (min-width: 1024px) {

    .bird-packages__content__label,
    .bird-packages__content__description,
    .bird-packages__content__title {
        text-align: center !important;
    }

    .bird-packages__content__title__tag img {
        display: none !important;
    }

    .bird-packages__content__title__tag .bird-packages__content__title {
        margin: 0 auto 20px;
    }

    .bird-packages__content__description-wrapper {
        height: auto !important;
    }

    .bird-packages__content__title__tag {
        cursor: default;
    }

    .bird-packages__content__title__tag svg {
        display: none;
    }
}

@media (max-width: 767px) {
    .bird-packages-grid__card {
        grid-template-columns: 1fr;
    }

    .bird-packages-grid__card__info {
        padding: 24px;
    }

    .bird-packages__content__title {
        font-size: 24px;
    }

    .bird-packages-grid__card__image {
        min-height: 300px;
    }
}

@media (max-width: 1023px) {
    .bird-packages__content__title__tag {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 20px;
    }

    .bird-packages__content__title {
        margin-bottom: 0 !important;
    }

    .bird-packages__content__description-wrapper {
        height: 0;
    }

    .bird-packages__content__title__tag {
        cursor: pointer;
    }

    .bird-packages__content__description {
        padding-bottom: 20px;
        padding-top: 20px;
        border-top: 1px solid #9EA1A3;
    }

    .bird-packages__content__description p {
        margin: 0;
    }
}

@media (max-width: 575px) {
    .bird-packages__content__title__tag {
        margin-bottom: 15px;
    }
}

.bird-packages__content__description-wrapper {
    overflow: hidden;
    transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.bird-packages__content__title__tag svg {
    transition: transform 0.3s ease;
    flex-shrink: 0;
    margin-left: 16px;
    transform: rotate(-180deg);
}

.bird-packages__content__title__tag.active svg {
    transform: rotate(0deg);
}

.bird-packages__content__title {
    font-size: 40px;
    font-weight: 300;
    line-height: 110%;
    color: #062943;
    max-width: 580px;
}

.bird-packages__content__description,
.bird-packages__content__description>p {
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
    color: #676B6D;
    max-width: 1112px;
    margin: 0 auto;

}

.bird-packages__tags {
    width: 100%;
    max-width: 646px;
    margin: 0 auto;
    padding: 10px 20px;
    background-color: #FAFAFA;
    box-shadow: 0px 15px 30px 0px #00173A26;
    box-shadow: 0px 15px 30px 0px #00173A26;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.bird-packages__tag__card {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
}

.bird-packages__tag__card span {
    font-size: 8px;
    font-weight: 600;
    color: #9EA1A3;
}

.bird-packages__two {
    background-color: white;
}

.bird-packages-grid__card {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    max-height: 690px;
    height: 690px;
}

@media (max-width: 1370px) {
    .bird-packages-grid__card {
        max-height: 600px;
        height: 600px;
    }
}

@media (max-width: 1280px) {
    .bird-packages-grid__card {
        max-height: 500px;
        height: 500px;
    }
}

.bird-packages-grid__card__info {
    max-width: 740px;
    margin: 0 auto;
    padding: 0 10px;
    text-align: center;
}

@media (max-width: 1370px) {
    .bird-packages-grid__card__info {
        padding: 30px 40px 40px;
    }
}

@media (max-width: 1023px) {
    .bird-packages-grid__card__info {
        text-align: left;
    }
}

@media (max-width: 420px) {
    .bird-packages-grid__card__info {
        padding: 25px 30px 30px;
    }
}

.bird-packages__two .bird-packages__content__title,
.bird-packages__two .bird-packages__content__description {
    margin-bottom: 20px;
}

.bird-packages__two .button--theme-2 {
    width: fit-content;
    margin: 0 auto;
}

.bird-packages__two .bird-packages-grid__card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background-position: center;
}

.bird-packages__two .bird-packages-grid__card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 1023px) {
    .bird-packages__content__title {
        font-size: 30px;
        line-height: 120%;
    }

    .bird-packages-grid__card {
        grid-template-columns: repeat(1, 1fr);
        max-height: none;
        height: auto;
    }

    .bird-packages-grid__card:nth-child(odd) .bird-packages-grid__card__info {
        order: 2;
    }

    .bird-packages-grid__card:nth-child(odd) .bird-packages-grid__card__image {
        order: 1;
    }

    .bird-packages__two__content {
        display: grid;
        gap: 40px;
    }

    .bird-packages__two .bird-packages-grid__card__image {
        height: 450px;
        background-position: right;
        background-size: cover;
    }
}

@media (max-width: 767px) {
    .bird-packages__two .bird-packages-grid__card__image {
        height: auto;
    }
}

@media (max-width: 575px) {
    .bird-packages__two .bird-packages-grid__card__image {
        height: 100%;
    }
}

/* ________________________________________________________ */

/* Hotel Room Second */
.bys-hotel-rooms-second {
    background-color: #F5F8F9;
    padding: 0 50px;
}

@media (max-width: 767px) {
    .bys-hotel-rooms-second {
        padding: 0;
    }
}

.bys-hotel-rooms-second .bys-hotel-room-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    max-width: 1140px;
    margin: 0 auto;
}

.bys-hotel-rooms-second .bys-hotel-room-design {
    max-width: 1140px;
    margin: 0 auto;
}

.bys-hotel-rooms-second .bys-hotel-room-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 6px;
    overflow: hidden;
    background-color: transparent;
    box-shadow: none;
    transition: all .25s ease-in-out;
    height: 450px;
    width: 100%;
    padding: 40px;
}

@media (max-width: 767px) {
    .bys-hotel-rooms-second .bys-hotel-room-card {
        height: 400px;
        padding: 30px;
    }
}

.bys-hotel-rooms-second .bys-hotel-room-card:after {
    content: '';
    position: absolute;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 56.29%, rgba(0, 0, 0, 0.5) 100%);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.bys-hotel-rooms-second .bys-hotel-room-card__frature-img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: transform 0.8s;
    /* z-index: -1; */
}

.bys-hotel-rooms-second .bys-hotel-room-card__frature-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.bys-hotel-rooms-second .bys-hotel-room-card:hover .bys-hotel-room-card__frature-img {
    transform: scale(1.1);
}

.bys-hotel-rooms-second .bys-hotel__content {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

.bys-hotel-rooms-second .bys-hotel__content::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid #B99D75;
    border-radius: 2px;
    transform: scale(1);
    transform-origin: center;
    opacity: 0;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    pointer-events: none;
}

.bys-hotel-rooms-second .bys-hotel-room-card:hover .bys-hotel__content::before {
    transform: scale(1.1);
    opacity: 1;
}

.bys-hotel-overlay__content .bys-hotel-overlay__content__inner h3 {
    font-size: 26px;
    font-weight: 300;
    color: #fff;
    transform: translateY(45px);
    transition: all 0.4s ease;
    line-height: 33px;
    font-family: "Playfair", Sans-serif;
    margin: 0;
}

@media (max-width: 1024px) {
    .bys-hotel-overlay__content .bys-hotel-overlay__content__inner h3 {
        font-size: 23px;
        line-height: 26px;
    }
}

/* Hover effect */
.bys-hotel-rooms-second .bys-hotel-room-card:hover .bys-hotel-overlay__content__inner h3 {
    transform: translateY(-15px);
    opacity: 1;
}

.bys-hotel-rooms-second .bys-hotel-room-card .bys-hotel__content .bys-hotel-btn-grp {
    opacity: 0;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.bys-hotel-rooms-second .bys-hotel-room-card:hover .bys-hotel__content .bys-hotel-btn-grp {
    opacity: 1;
}

.bys-hotel-rooms-second .bys-hotel-room-card:hover .bys-hotel__content .bys-hotel-btn-grp {
    height: auto;
}

.bys-hotel-rooms-second .card__top-badge {
    padding: 8px 14px;
    background-color: #FFFFFF;
    width: fit-content;
}

.bys-hotel-rooms-second .card__top-badge p {
    margin: 0;
    font-size: 12px;
}

.bys-hotel-rooms-second .bys-room-image-pagination {
    display: none !important;
}

.bys-hotel-btn-grp {
    display: flex;
    align-items: center;
    gap: 16px;
}

.bys-hotel-btn {
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    padding: 8px 20px;
    line-height: 24px;
    color: #fff;
    text-decoration: unset;
    border-radius: 4px;
    transition: all .25s ease-in-out;
    width: 100%;
    text-align: center;
}

@media (max-width: 767px) {
    .bys-hotel-btn-grp .bys-hotel-btn {
        padding: 7.5px 20px;
    }
}

.bys-hotel-btn-grp .bys-hotel-btn {
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    text-decoration: unset !important;
}

.bys-hotel-btn-grp .button-dark {
    background-color: #1c1e1f !important;
    color: #ffffff;
}

.bys-hotel-btn-grp .button-light {
    background-color: #D3AA74 !important;
    color: #ffffff;
}

.bys-hotel-btn-grp .button-light:hover {
    color: #062943;
}

.bys-hotel-btn-grp .button-dark:hover {
    color: #D3AA74;
}

/* ------------------------------------------------------------------
   bys-hotel-btnnew — duplicate of .bys-hotel-btn styling.
   Use this class on buttons that need the same appearance but must
   NOT be picked up by external JS that binds to .bys-hotel-btn.
   ------------------------------------------------------------------ */
.bys-hotel-btnnew {
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    padding: 8px 20px;
    line-height: 24px;
    color: #fff;
    text-decoration: unset;
    border-radius: 4px;
    transition: all .25s ease-in-out;
    width: 100%;
    text-align: center;
}

.bys-hotel-btn-grp .bys-hotel-btnnew {
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    text-decoration: unset !important;
}

@media (max-width: 767px) {
    .bys-hotel-btn-grp .bys-hotel-btnnew {
        padding: 7.5px 20px;
    }
}

@media (max-width: 1024px) {
    .bys-hotel-rooms-second .bys-hotel-room-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .bys-hotel-rooms-second .bys-hotel-room-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

.bys-room-image-pagination {
    position: absolute;
    width: 100% !important;
    bottom: 15px !important;
    z-index: 2;
    top: unset;
    display: flex;
    justify-content: center;
}

@media (max-width: 767px) {
    .bys-room-image-pagination {
        bottom: 25px !important;
        padding-left: 25px;
        justify-content: flex-start;
    }
}

.bys-room-image-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    opacity: 0.9;
    background: #fff;
    margin: 0 4px !important;
}

@media (max-width: 767px) {
    .bys-room-image-pagination .swiper-pagination-bullet {
        width: 7.5px;
        height: 7.5px;
        opacity: 1;
    }
}

@media (max-width: 420px) {
    .bys-room-image-pagination .swiper-pagination-bullet {
        margin: 0 3px !important;
    }
}

.bys-room-image-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #D3AA74;
    opacity: 1;
}

.bys-packages__bird-main .bird-package-pagination,
.bys-packages__second-main .bird-package-pagination {
    display: none;
}

@media (max-width: 767px) {
    .elementor-1534 .elementor-element.elementor-element-aaa7507 {
        overflow: hidden;
    }

    .bys-packages__bird-main,
    .bys-packages__second-main {
        padding: 0;
        margin-left: -10px;
        margin-right: -10px;
    }

    .bys-packages .bird-packages__design {
        padding-left: 30px;
    }

    .bys-packages .second-packages__design {
        padding-left: 30px;
    }

    .bys-packages__bird-main .bird-package-pagination {
        display: flex;
    }

    .bys-packages__second-main .bird-package-pagination {
        display: flex;
    }
}

.first-home-packages__design .package-content__title {
    margin-bottom: 20px;
}

.first-home-packages__design .bys-package-button__more {
    display: none;
}

@media (max-width: 767px) {
    .first-home-packages__design .bys-package-content__top {
        display: none;
    }

    .first-home-packages__design .package-content__bottom .bys-book-now-link:hover {
        background-color: #4f6574;
        color: #c7a272;
    }

    .first-home-packages__design .package-content__bottom .bys-room-cta:hover {
        background-color: #4f6574;
        color: #c7a272;
    }

    .first-home-packages__design .bys-package-button__more {
        display: flex;
        background-color: #EDEFF0;
        color: #676B6D;
        margin-bottom: 10px;
    }

    .first-home-packages__design .bys-package-button__more:hover {
        background-color: #4f6574;
        color: #c7a272;
    }
}

.wtfu-map .info-window-actions {
    margin-top: 8px;
}

.wtfu-map .info-window .btn-info {
    color: #0B5991;
}

.wtfu-map .info-window .btn-info:hover {
    background-color: #F5F8F9;
    color: #D3AA74;
}

.wtfu-map .info-window .btn-book:hover {
    background-color: #4F6574;
    color: #E0C8A9;
}

/* ---------------------------------------------------------------------------
   Room card image overlay
   Applies a slight dark tint to the hotel-room card images across all 3
   layouts: [hotel_rooms] (grid), [hotel_rooms_second] (grid_second), and
   [hotel_rooms_cards] (overlay cards). Scoped to the slide/placeholder only
   so the price badge, pagination dots, and overlay text/buttons stay clear.
   Tune the rgba alpha below (0.0 = none, 0.5 = heavy) to taste.
   --------------------------------------------------------------------------- */
.bys-hotel-rooms .bys-room-image-slider .swiper-slide,
.bys-hotel-rooms .bys-room-image-placeholder,
.bys-hotel-rooms-second .bys-hotel-room-card .bys-room-image-slider .swiper-slide {
    position: relative;
}

.bys-hotel-rooms .bys-room-image-slider .swiper-slide::after,
.bys-hotel-rooms .bys-room-image-placeholder::after,
.bys-hotel-rooms-second .bys-hotel-room-card .bys-room-image-slider .swiper-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    pointer-events: none;
    z-index: 1;
}

/* Make sure the overlay text (title, price badge, buttons) on the cards
   layout stays above the tint. */
.bys-hotel-rooms-second .bys-hotel-room-card .bys-hotel__content,
.bys-hotel-rooms-second .bys-hotel-room-card .card__top-badge,
.bys-hotel-rooms-second .bys-hotel-room-card .bys-hotel-overlay__content {
    position: relative;
    z-index: 2;
}