/* MayTrip Public overrides. Keep template files in layout/assets untouched. */
.tour-item .favorite {
    display: none !important;
}

.tour-transport-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    object-fit: contain;
}

.tour-fact-grid .feature .icon .tour-transport-icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}

p {
    color: #353535;
}

/* Public about page: adapted from the local about template. */
.maytrip-about-page {
    position: relative;
    overflow: hidden;
}

    .maytrip-about-page .about-experience h4 {
        font-size: 32px;
    }

        .maytrip-about-page .about-experience h4 span {
            margin-left: 2px;
            font-size: 22px;
        }

    .maytrip-about-page .about-text {
        color: #625750;
        line-height: 1.8;
    }

        .maytrip-about-page .about-text p {
            margin-bottom: 12px;
        }

    .maytrip-about-page .about-item h3,
    .maytrip-about-values .choose-item h3 {
        font-size: 19px;
    }

.maytrip-about-counter .counter-wrap {
    padding-left: 35px;
    padding-right: 35px;
}

.maytrip-about-counter .counter-box .icon i {
    color: var(--theme-color);
    font-size: 42px;
}

.maytrip-about-values {
    padding-top: 100px !important;
}

    .maytrip-about-values .choose-item {
        height: 100%;
    }

.maytrip-partner-area {
    border-top: 1px solid #f1e7df;
    background: #fff;
}

#tourInformationAccordion h1, .maytrip-rich-content h1 {
    font-size: 23px;
    margin-top: 0;
    margin-bottom: .5rem;
}

#tourInformationAccordion h2, .maytrip-rich-content h2 {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: .5rem;
}

#tourInformationAccordion h3, .maytrip-rich-content h3 {
    font-size: 18px;
    margin-top: 0;
    margin-bottom: .5rem;
}

#tourInformationAccordion h4, .maytrip-rich-content h4 {
    font-size: 16px;
    margin-top: 0;
    margin-bottom: .5rem;
}

#tourInformationAccordion h5, .maytrip-rich-content h5 {
    font-size: 14px;
    margin-top: 0;
    margin-bottom: .5rem;
}

#tourInformationAccordion h6, .maytrip-rich-content h6 {
    font-size: 12px;
    margin-top: 0;
    margin-bottom: .5rem;
}

.maytrip-partner-item {
    display: flex;
    height: 105px;
    padding: 18px 24px;
    align-items: center;
    justify-content: center;
    border: 1px solid #f1e7df;
    border-radius: 12px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

    .maytrip-partner-item:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 28px rgba(48, 39, 34, .08);
    }

    .maytrip-partner-item img {
        width: 100%;
        max-width: 190px;
        max-height: 68px;
        object-fit: contain;
    }

.partner-thumbnail {
    width: 92px;
    height: 48px;
    padding: 4px;
    object-fit: contain;
    border: 1px solid #e8e1dc;
    border-radius: 6px;
    background: #fff;
}

.partner-logo-preview {
    max-width: 260px;
    max-height: 120px;
    object-fit: contain;
}

.feature-area .feature-item {
    height: 100%;
}

.feature-area .feature-icon {
    display: grid;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    place-items: center;
    line-height: 1;
    aspect-ratio: 1 / 1;
}

.feature-area .feature-icon img {
    display: block;
    width: 28px;
    height: 28px;
    margin: 0;
    object-fit: contain;
}

.feature-area .feature-content {
    height: 100%;
}

.feature-area .feature-head h3 {
    margin: 3px 0 0;
    font-size: 20px;
}

@media (min-width: 992px) and (max-width: 1399.98px) {
    .feature-area .feature-head {
        min-height: 76px;
        align-items: flex-start;
    }

        .feature-area .feature-head > div:last-child {
            min-width: 0;
        }

    .feature-area .feature-info {
        margin-top: 28px;
        padding-top: 28px;
    }
}

.home-about-dynamic .about-content {
    max-width: 680px;
}

.home-about-dynamic .about-text {
    margin-bottom: 30px;
    font-size: 17px;
    line-height: 1.8;
}

.legacy-home-section {
    display: none !important;
}

.home-partner-item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 74px;
    padding: 4px 14px;
}

.partner-area .home-journey-caption {
    display: flex;
    min-height: 154px;
    align-items: center;
    justify-content: center;
}

    .partner-area .home-journey-caption p {
        position: relative;
        z-index: 2;
        margin: 0;
        color: #fff;
        font-family: var(--heading-font);
        font-size: clamp(24px, 2.7vw, 42px);
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: .035em;
        text-align: center;
        text-shadow: 0 3px 12px rgba(89, 42, 10, .22);
    }

        .partner-area .home-journey-caption p span {
            display: inline-block;
            margin: 0 .2em;
        }

@media (max-width: 575.98px) {
    .partner-area .home-journey-caption {
        min-height: 118px;
        padding: 26px 18px;
    }

        .partner-area .home-journey-caption p {
            font-size: 21px;
            line-height: 1.35;
        }
}

.home-partner-item img {
    width: 100%;
    max-width: 190px;
    max-height: 66px;
    object-fit: contain;
}

.home-banner-dynamic .hero-single {
    position: relative;
    min-height: 720px;
    overflow: hidden;
}

.home-banner-dynamic .home-hero-picture {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 0;
}

    .home-banner-dynamic .home-hero-picture::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0,0,0,.46);
    }

    .home-banner-dynamic .home-hero-picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.home-banner-dynamic .hero-single > .container {
    position: relative;
    z-index: 1;
}

.home-banner-dynamic .hero-single .hero-content .hero-title {
    color: #fff;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .55);
}

    .home-banner-dynamic .hero-single .hero-content .hero-title span,
    .home-banner-dynamic .hero-single .hero-content .hero-sub-title {
        color: var(--theme-color);
        text-shadow: 0 2px 10px rgba(0, 0, 0, .48);
    }

.home-banner-dynamic .hero-single .hero-content p,
.home-banner-dynamic .hero-single .hero-content .hero-info li {
    color: #fff;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .7);
}

.home-gallery-dynamic .banner-wrap {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    min-width: 0;
    height: 400px;
}

.home-gallery-dynamic .home-album-card {
    display: block;
    flex: 1 1 0;
    min-width: 0;
    color: var(--body-text-color);
    text-decoration: none;
    transition: flex .45s ease;
}

    .home-gallery-dynamic .home-album-card:first-child {
        flex: 3 1 0;
    }

.home-gallery-dynamic .banner-wrap:hover .home-album-card:first-child {
    flex: 1 1 0;
}

.home-gallery-dynamic .banner-wrap .home-album-card:hover {
    flex: 3 1 0;
}

.home-gallery-dynamic .home-album-count-1 .home-album-card,
.home-gallery-dynamic .home-album-count-2 .home-album-card,
.home-gallery-dynamic .home-album-count-1 .home-album-card:first-child,
.home-gallery-dynamic .home-album-count-2 .home-album-card:first-child,
.home-gallery-dynamic .home-album-count-1:hover .home-album-card:first-child,
.home-gallery-dynamic .home-album-count-2:hover .home-album-card:first-child,
.home-gallery-dynamic .home-album-count-1 .home-album-card:hover,
.home-gallery-dynamic .home-album-count-2 .home-album-card:hover {
    flex: 1 1 0;
}

.home-gallery-dynamic .home-album-image {
    position: relative;
    display: block;
    height: 400px;
    overflow: hidden;
    border-radius: 48px;
}

    .home-gallery-dynamic .home-album-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.home-gallery-dynamic .home-album-hover-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    color: #fff;
    background: var(--theme-color2);
    font-size: 30px;
    opacity: 0;
    transform: translate(-50%, -50%) scale(.75);
    transition: opacity .3s ease, transform .3s ease;
}

.home-gallery-dynamic .home-album-card:hover .home-album-hover-icon {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}


.home-city-dynamic .destination-img img, .home-attractions-dynamic .activity-img img {
    object-fit: cover;
}

.home-city-dynamic .destination-img img {
    width: 100%;
    aspect-ratio: 4 / 5;
}

.home-city-dynamic .destination-content h4 {
    margin-top: 12px;
    color: var(--color-dark);
}

.home-attractions-dynamic .activity-img,
.home-attractions-dynamic .activity-img .ani-img {
    height: 390px;
}

    .home-attractions-dynamic .activity-img .ani-img img {
        width: 100%;
        height: 100%;
        border-radius: 20px;
        object-fit: cover;
    }

.home-attractions-dynamic .activity-content {
    min-height: 76px;
    padding: 10px 14px;
}

    .home-attractions-dynamic .activity-content .icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 56px;
        width: 56px;
        height: 56px;
        border: 1px solid var(--border-info-color);
        border-radius: 10px;
        color: var(--theme-color2);
        font-size: 23px;
    }

    .home-attractions-dynamic .activity-content h4 {
        display: -webkit-box;
        margin: 0;
        overflow: hidden;
        color: var(--color-dark);
        font-size: 20px;
        line-height: 1.25;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

.home-attractions-dynamic .home-attraction-link {
    display: block;
    color: inherit;
}

@media (max-width: 767.98px) {
    .home-attractions-dynamic .activity-img,
    .home-attractions-dynamic .activity-img .ani-img {
        height: 360px;
    }
}

@media (max-width: 767.98px) {
    .maytrip-about-page {
        padding-top: 55px !important;
        padding-bottom: 65px !important;
    }

    .maytrip-about-counter .counter-wrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .maytrip-about-values {
        padding-top: 65px !important;
        padding-bottom: 65px !important;
    }
}

.public-office-network {
    margin-top: 20px;
    padding: 20px 0 0;
    color: var(--color-white);
}

    .public-office-network h4 {
        position: relative;
        margin-bottom: 25px;
        padding-bottom: 13px;
        color: var(--color-white);
        font-size: 25px;
    }

        .public-office-network h4::after {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 25px;
            height: 3px;
            background: var(--theme-color);
            content: "";
        }

.public-office-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 42px;
}

.public-office-item h5 {
    margin: 0 0 7px;
    color: var(--color-white);
    font-size: 18px;
    font-weight: 700;
}

.public-office-item p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    line-height: 1.65;
}

.footer-social li a img {
    display: block;
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.header-top-social a img {
    display: block;
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.header-top-lang .top-lang {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.header-language-flag {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    object-fit: cover;
}

.header-language-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
}

/* Keep the full desktop navigation readable in Bootstrap's narrow 1200-1399px container range. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .header-2 .main-navigation .navbar > .container {
        width: calc(100% - 40px);
        max-width: none;
    }

    .header-2 .navbar .navbar-brand {
        flex: 0 0 auto;
    }

        .header-2 .navbar .navbar-brand img {
            width: 138px;
        }

    .header-2 .navbar .nav-item .nav-link {
        margin-right: 0;
        font-size: 15px;
        white-space: nowrap;
    }

    .header-2 .navbar .nav-right {
        flex: 0 0 auto;
        gap: 20px;
        margin-left: 0;
    }

    .header-2 .navbar .nav-btn,
    .header-2 .navbar .nav-btn .theme-btn {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

@media (min-width: 1200px) {
    .header-2 .navbar .offcanvas {
        flex: 1 1 auto;
        min-width: 0;
    }

    .header-2 .navbar .offcanvas-body {
        display: flex;
        align-items: center;
        min-width: 0;
        width: 100%;
    }

    .header-2 .navbar .navbar-nav {
        display: flex;
        flex: 1 1 auto;
        flex-wrap: nowrap;
        justify-content: center !important;
        gap: clamp(14px, 1.5vw, 26px);
        min-width: 0;
    }

        .header-2 .navbar .navbar-nav > .nav-item {
            flex: 0 0 auto;
            min-width: 0;
        }

            .header-2 .navbar .navbar-nav > .nav-item > .nav-link {
                margin-right: 0;
                white-space: nowrap;
            }

    .header-2 .navbar .nav-right {
        flex: 0 0 auto;
        margin-left: 0;
        white-space: nowrap;
    }
}

@media (max-width: 767.98px) {
    .header-top-left .header-top-list li:first-child {
        display: none;
    }

    .header-top-left .header-top-list li:last-child {
        display: list-item;
        margin-right: 0;
    }

    .header-top-social {
        display: none !important;
    }

    .header-top-lang .top-lang {
        display: inline-flex;
        height: 28px;
        align-items: center;
        gap: 7px;
        line-height: 1;
    }

        .header-top-lang .top-lang .header-language-flag {
            width: 32px;
            height: 32px;
            flex: 0 0 32px;
        }

    .header-top-lang .dropdown-toggle::after {
        align-self: center;
        margin: 0;
        vertical-align: middle;
    }

    .header-2 .main-navigation .navbar {
        padding-right: 12px;
        padding-left: 12px;
    }

    .header-2 .navbar > .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .home-banner-dynamic .hero-single {
        padding-top: 155px;
        padding-bottom: 75px;
    }

        .home-banner-dynamic .hero-single .hero-content .hero-sub-title {
            margin-bottom: 12px;
            font-size: 24px;
            line-height: 1.3;
            letter-spacing: 2px;
        }

        .home-banner-dynamic .hero-single .hero-content .hero-title {
            font-size: 40px;
            line-height: 1.15;
        }

        .home-banner-dynamic .hero-single .hero-content p {
            font-size: 15px;
            line-height: 1.65;
        }

    .tour-category > .container {
        padding-right: 24px;
        padding-left: 24px;
    }

    .tour-category .category-slider .category-img {
        width: 100%;
        max-width: 170px;
        height: auto;
        flex: 0 0 auto;
        aspect-ratio: .82;
    }

    .category-slider.owl-theme .owl-nav .owl-prev {
        left: 2px;
    }

    .category-slider.owl-theme .owl-nav .owl-next {
        right: 2px;
    }
}

#google_translate_element {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.mobile-menu-contact { display: none; }

@media (max-width: 991.98px) {
    .header-2 .navbar .offcanvas {
        width: min(340px, calc(100vw - 38px));
        border: 0;
        background: #fffaf6;
        box-shadow: 18px 0 55px rgba(54, 34, 21, .2);
    }

    .header-2 .navbar .offcanvas-header {
        min-height: 112px;
        padding: 20px 20px 16px;
        border-bottom: 1px solid #f0dfd2;
        background: #fff;
    }

    .header-2 .navbar .offcanvas-header .offcanvas-brand img {
        width: 140px;
        max-height: 72px;
        object-fit: contain;
    }

    .header-2 .navbar .offcanvas-header .btn-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        padding: 0;
        background: #eb716a;
        font-size: 17px;
    }

    .header-2 .navbar .offcanvas-body {
        display: flex;
        flex-direction: column;
        padding: 12px 16px 18px;
    }

    .header-2 .navbar .offcanvas-body > .navbar-nav {
        flex: 0 0 auto;
        gap: 3px;
        margin-bottom: 24px;
    }

    .header-2 .navbar .offcanvas-body > .navbar-nav > .nav-item > .nav-link {
        min-height: 45px;
        padding: 12px 10px;
        border-radius: 10px;
        line-height: 1.35;
        text-transform: uppercase;
    }

    .header-2 .navbar .offcanvas-body > .navbar-nav > .nav-item > .nav-link.active {
        background: #fff0e4;
        color: #e76625;
    }

    .mobile-menu-contact {
        display: block;
        margin-top: auto;
        padding: 17px;
        border: 1px solid #efdcd0;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 12px 30px rgba(88, 52, 29, .08);
    }

    .mobile-menu-contact-label {
        display: block;
        margin-bottom: 12px;
        color: #70421f;
        font-size: 17px;
        font-weight: 800;
    }

    .mobile-menu-hotline,
    .mobile-menu-contact-row {
        display: flex;
        align-items: flex-start;
        gap: 11px;
        padding: 10px 0;
        border-bottom: 1px solid #f2e7df;
        color: #70421f;
    }

    .mobile-menu-hotline > i,
    .mobile-menu-contact-row > i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 34px;
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background: #fff0e4;
        color: #eb6c27;
    }

    .mobile-menu-contact span:not(.mobile-menu-contact-label) { min-width: 0; }
    .mobile-menu-contact small { display: block; margin-bottom: 2px; color: #8b776a; font-size: 11px; font-weight: 600; text-transform: uppercase; }
    .mobile-menu-contact strong { display: block; overflow-wrap: anywhere; color: #70421f; font-size: 14px; line-height: 1.4; }
    .mobile-menu-hotline strong { color: #e76625; font-size: 18px; }
    .mobile-menu-contact-button { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding: 12px 15px; border-radius: 24px; background: #eb6c27; color: #fff; font-size: 14px; font-weight: 800; }
    .mobile-menu-contact-button:hover { background: #70421f; color: #fff; }
}

.main-navigation .dropdown-submenu {
    position: relative;
}

.main-navigation .dropdown-submenu > .dropdown-item { padding-right: 52px; }
.main-navigation .dropdown-submenu > .submenu-toggle {
    position: absolute;
    z-index: 4;
    top: 0;
    right: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 46px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
}
.main-navigation .dropdown-submenu > .submenu-toggle i { transition: transform .2s ease; }

@media (max-width: 991.98px) {
    .main-navigation .dropdown-submenu > .submenu-toggle { color: #70421f; }
    .main-navigation .dropdown-submenu > .dropdown-menu { display: none !important; }
    .main-navigation .dropdown-submenu.submenu-open > .dropdown-menu { display: block !important; }
    .main-navigation .dropdown-submenu.submenu-open > .submenu-toggle i { transform: rotate(90deg); }
    .main-navigation .navbar .dropdown-submenu > .dropdown-menu,
    .main-navigation .navbar .dropdown-submenu:hover > .dropdown-menu,
    .main-navigation .navbar .dropdown-submenu:focus-within > .dropdown-menu {
        position: static;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0 !important;
        padding: 4px 0 6px 14px;
        border: 0;
        border-left: 2px solid #f2c66b;
        border-radius: 0;
        background: #fffaf6;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none !important;
    }
    .main-navigation .navbar .dropdown-submenu > .dropdown-menu .dropdown-item {
        min-height: 42px;
        padding: 10px 13px;
        border-radius: 8px;
        color: #704727;
        line-height: 1.4;
    }
    .main-navigation .navbar .dropdown-submenu > .dropdown-menu li { border-bottom: 0; }
    .main-navigation .navbar .dropdown-submenu > .dropdown-item.active,
    .main-navigation .navbar .dropdown-submenu > .dropdown-item:active {
        background: #fff0e4;
        color: #d95f22;
        box-shadow: inset 3px 0 0 #efb94f;
    }
}

.main-navigation .tour-program-menu > .dropdown-menu,
.main-navigation .tour-program-menu .dropdown-submenu > .dropdown-menu {
    width: max-content;
    min-width: 280px;
    max-width: 360px;
}

.main-navigation .tour-program-menu .dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 46px;
    padding-right: 18px;
    overflow: visible;
    white-space: normal;
    line-height: 1.35;
}

.main-navigation .tour-program-menu .dropdown-item > span {
    min-width: 0;
}

@media (min-width: 992px) {
    .main-navigation .navbar .tour-program-menu .dropdown-submenu:hover > .dropdown-menu,
    .main-navigation .navbar .tour-program-menu .dropdown-submenu:focus-within > .dropdown-menu {
        top: 50%;
        transform: translateY(-50%);
    }
}

.main-navigation .tour-program-menu .tour-submenu-arrow {
    position: static;
    flex: 0 0 auto;
    color: #fff;
    font-size: 15px;
    line-height: 1;
}

.main-navigation .dropdown-submenu > .dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-right: 18px;
}

.main-navigation .dropdown-submenu > .dropdown-item > span {
    min-width: 0;
}

.main-navigation .dropdown-submenu > .dropdown-item > .menu-submenu-arrow {
    position: static;
    display: inline-block;
    flex: 0 0 auto;
    color: #fff;
    font-size: 15px;
    line-height: 1;
    opacity: 1;
    visibility: visible;
    transform: none;
}

.main-navigation .navbar .nav-item .dropdown-menu .dropdown-item.active,
.main-navigation .navbar .nav-item .dropdown-menu .dropdown-item:active {
    padding-left: 25px;
    background: rgba(112, 66, 31, .28);
    color: #fff;
    box-shadow: inset 4px 0 0 #f8c65e;
}

.main-navigation .navbar .nav-item .dropdown-menu .dropdown-item.active::before,
.main-navigation .navbar .nav-item .dropdown-menu .dropdown-item:active::before {
    opacity: 0;
    visibility: hidden;
}

    .main-navigation .dropdown-submenu > .dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: -1px;
    }

    .main-navigation .dropdown-submenu:hover > .dropdown-menu,
    .main-navigation .dropdown-submenu:focus-within > .dropdown-menu {
        display: block;
    }

.main-navigation .tour-mega-menu {
    position: static;
}

.main-navigation .navbar .nav-item .dropdown-menu.tour-mega-dropdown {
    left: 50%;
    width: min(760px, calc(100vw - 32px));
    padding: 18px;
    border: 0;
    border-radius: 14px;
    background: var(--theme-color);
    box-shadow: 0 18px 45px rgba(61, 42, 29, .16);
    transform: translateX(-50%) rotateX(-75deg);
}

    .main-navigation .navbar .nav-item:hover .dropdown-menu.tour-mega-dropdown,
    .main-navigation .navbar .nav-item .dropdown-menu.tour-mega-dropdown.show {
        transform: translateX(-50%) rotateX(0);
    }

.main-navigation .tour-mega-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 12px;
}

.main-navigation .tour-mega-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

    .main-navigation .tour-mega-link:hover,
    .main-navigation .tour-mega-link:focus-visible,
    .main-navigation .tour-mega-link.active {
        border-color: rgba(255, 255, 255, .48);
        background: rgba(255, 255, 255, .16);
        color: #fff;
    }

    .main-navigation .tour-mega-link.is-child {
        padding-left: 24px;
        font-weight: 600;
    }

.tour-category .category-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.tour-category .category-img {
    width: 220px;
    height: 250px;
    flex: 0 0 250px;
    overflow: visible;
}

    .tour-category .category-img .ani-img {
        width: 100%;
        height: 100%;
        overflow: hidden;
        border-radius: 10% 10% 10% 12%;
    }

        .tour-category .category-img .ani-img img {
            width: 100%;
            height: 100%;
        }

    .tour-category .category-img .category-arrow {
        z-index: 2;
    }

    .tour-category .category-img .ani-img img {
        object-fit: cover;
    }

.tour-category .category-content {
    min-height: 82px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

    .tour-category .category-content h4 {
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 25px;
        font-size: 30px;
    }

/* Public tour filters: compact accordion, matching the catalog navigation pattern. */
.tour-area .sidebar.public-tour-sidebar {
    padding: 0;
    border: 1px solid #e9e4df;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

/* Tour category listing: reduce the template's oversized vertical gap and refine its heading. */
.tour-area.py-120 {
    padding-top: 68px;
    padding-bottom: 88px;
}

.tour-area .site-heading {
    position: relative;
    margin-bottom: 25px;
    padding-bottom: 15px;
}

.home-tour-mobile-action {
    display: none;
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .home-featured-tours .tour-slider .owl-stage {
        display: flex;
    }

    .home-featured-tours .tour-slider .owl-item,
    .home-featured-tours .tour-slider .owl-item > .item {
        display: flex;
        height: auto;
    }

        .home-featured-tours .tour-slider .owl-item > .item,
        .home-featured-tours .tour-card-clean {
            width: 100%;
        }

            .home-featured-tours .tour-card-clean .tour-title {
                display: -webkit-box;
                overflow: hidden;
                height: 51px;
                min-height: 51px;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
            }

            .home-featured-tours .tour-card-clean .tour-departure-place,
            .home-featured-tours .tour-card-clean .tour-route {
                min-height: 0;
                align-items: flex-start;
            }

            .home-featured-tours .tour-card-clean .tour-facts {
                min-height: 20px;
            }
}

@media (max-width: 767.98px) {
    .home-featured-tours .home-tour-heading-action {
        display: none;
    }

    .home-featured-tours .home-tour-mobile-action {
        display: flex;
        margin-top: 28px;
        justify-content: center;
    }
}

.tour-area .site-heading::after {
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 54px;
    height: 3px;
    border-radius: 99px;
    background: var(--theme-color2);
    content: "";
}

.tour-area .site-heading .site-title-tagline {
    display: inline-flex;
    align-items: center;
    /* min-height: 28px; */
    padding: 4px 12px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .055em;
    margin-bottom: 0;
}

.tour-area .site-heading .site-title {
    /* max-width: 760px; */
    margin: 12px 0 0;
    color: #5b3a24;
    font-size: clamp(28px, 3vw, 28px);
    line-height: 1.22;
    /* letter-spacing: -.02em; */
    text-transform: uppercase;
}

.public-tour-sidebar .tour-filter-form {
    margin: 0;
}

/* Compact selling card for public tour lists. */
.tour-area .tour-card-clean .tour-img {
    position: relative;
}

    .tour-area .tour-card-clean .tour-img > a {
        display: block;
        overflow: hidden;
        border-radius: 18px;
    }

        .tour-area .tour-card-clean .tour-img > a > img {
            display: block;
            width: 100%;
            aspect-ratio: 4 / 3;
            object-fit: cover;
            object-position: top;
        }

.feature-icon img,
.home-partner-item img {
    object-fit: contain;
}

.home-blog-dynamic .blog-item-img,
.home-blog-dynamic .blog-item-img img {
    aspect-ratio: 16 / 10;
}

.home-blog-dynamic .blog-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.tour-area .tour-card-clean .tour-discount {
    position: absolute;
    z-index: 2;
    top: 18px;
    left: 0;
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 12px;
    border-radius: 0 18px 18px 0;
    background: var(--theme-color);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 3px 8px rgba(76, 49, 8, .14);
}

    .tour-area .tour-card-clean .tour-discount.is-hidden {
        display: none;
    }

.tour-area .tour-card-clean .tour-content {
    padding: 0px 5px 10px;
    display: flex;
    flex: 1;
    flex-direction: column;
}

.tour-area .tour-card-clean {
    display: flex;
    height: 100%;
    flex-direction: column;
}

    .tour-area .tour-card-clean .tour-title {
        display: -webkit-box;
        overflow: hidden;
        height: 51px;
        min-height: 51px;
        margin: 0 0 12px;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 19px;
        line-height: 1.28;
    }

        .tour-area .tour-card-clean .tour-title a {
            color: var(--color-dark);
        }

    .tour-area .tour-card-clean .tour-route {
        display: flex;
        gap: 9px; /* min-height: 42px; */
        margin: 0 0 12px;
        color: #353535;
        font-size: 13px;
        line-height: 1.45;
    }

        .tour-area .tour-card-clean .tour-route i {
            flex: 0 0 auto;
            margin-top: 3px;
            color: var(--theme-color2);
        }

    .tour-area .tour-card-clean .tour-departure-place {
        display: flex;
        align-items: baseline;
        gap: 7px;
        margin: 0 0 7px;
        color: #353535;
        font-size: 13px;
        line-height: 1.45;
    }

        .tour-area .tour-card-clean .tour-departure-place i {
            flex: 0 0 auto;
            color: var(--theme-color2);
        }

        .tour-area .tour-card-clean .tour-departure-place strong {
            font-weight: 700;
        }

    .tour-area .tour-card-clean .tour-departure-options {
        display: none;
        flex-wrap: wrap;
        align-content: flex-start;
        gap: 6px;
        margin: -1px 0 9px 24px;
        visibility: hidden;
    }

        .tour-area .tour-card-clean .tour-departure-options.has-multiple,
        .tour-area .tour-card-clean .tour-departure-options.is-row-reserved {
            display: flex;
        }

        .tour-area .tour-card-clean .tour-departure-options.has-multiple {
            visibility: visible;
        }

        .tour-area .tour-card-clean .tour-departure-options button {
            padding: 4px 9px;
            border: 1px solid #e5ddd7;
            border-radius: 14px;
            background: #f7f5f3;
            color: #5c514a;
            font-size: 11px;
            font-weight: 700;
            line-height: 1.2;
        }

            .tour-area .tour-card-clean .tour-departure-options button.is-selected,
            .tour-area .tour-card-clean .tour-departure-options button:hover,
            .tour-area .tour-card-clean .tour-departure-options button:focus-visible {
                border-color: var(--theme-color);
                background: #fff0e3;
                color: var(--theme-color);
            }

    .tour-area .tour-card-clean .tour-facts {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 14px;
        margin-bottom: 16px;
        color: #4c4c4c;
        font-size: 13px;
    }

        .tour-area .tour-card-clean .tour-facts span {
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .tour-area .tour-card-clean .tour-facts i {
            color: #6389a1;
        }

    .tour-area .tour-card-clean .tour-departures {
        margin: 0 0 0px;
        padding: 0px 0 1px;
        border-top: none;
    }

    .tour-area .tour-card-clean .is-hidden {
        display: none !important;
    }

    .tour-area .tour-card-clean .tour-departure-label {
        display: block;
        margin-bottom: 9px;
        color: #3c3c3c;
        font-size: 13px;
        font-weight: 700;
    }

    .tour-area .tour-card-clean .tour-departure-dates {
        display: flex;
        align-items: center;
        gap: 4px;
        min-width: 0;
        overflow: hidden;
        white-space: nowrap;
    }

    .tour-area .tour-card-clean .tour-date-track {
        display: flex;
        flex: 1;
        gap: 5px;
        min-width: 0;
        overflow: hidden;
    }

        .tour-area .tour-card-clean .tour-date-track .tour-date-option {
            display: none;
            align-items: center;
            justify-content: center;
            min-width: 43px;
            height: 27px;
            padding: 0 6px;
            border: 1px solid transparent;
            border-radius: 4px;
            background: #f1f2f4;
            color: #4d5961;
            font-size: 11px;
            font-weight: 700;
        }

            .tour-area .tour-card-clean .tour-date-track .tour-date-option.is-visible {
                display: inline-flex;
            }

            .tour-area .tour-card-clean .tour-date-track .tour-date-option.is-first-visible {
                background: #fff0e3;
                color: var(--theme-color2);
            }

            .tour-area .tour-card-clean .tour-date-track .tour-date-option.is-selected {
                border-color: var(--theme-color);
                background: #fff0e3;
                color: var(--theme-color);
            }

.tour-selected-departure {
    margin-top: 24px;
    padding: 18px 20px;
    border: 1px solid #f0ded2;
    border-radius: 14px;
    background: #fff8f3;
}

    .tour-selected-departure strong {
        color: var(--theme-color);
    }

.tour-area .tour-card-clean .tour-date-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 21px;
    width: 21px;
    height: 27px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #6b8798;
    font-size: 16px;
}

    .tour-area .tour-card-clean .tour-date-nav:disabled {
        visibility: hidden;
    }

.tour-area .tour-card-clean .tour-departure-dates.is-at-start .tour-date-nav.is-prev {
    display: none;
}

.tour-area .tour-card-clean .tour-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 59px;
    margin-top: auto;
    padding-top: 13px;
    border-top: none;
}

.tour-area .tour-card-clean .tour-price {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: #816c5d;
    font-size: 14px;
}

    .tour-area .tour-card-clean .tour-price .original-price {
        color: #929292;
        font-size: 12px;
        font-weight: 400;
        text-decoration: line-through;
    }

        .tour-area .tour-card-clean .tour-price .original-price:empty {
            display: none;
        }

    .tour-area .tour-card-clean .tour-price span {
        color: var(--theme-color);
        font-size: 20px;
        font-weight: 700;
        line-height: 1.15;
    }

.tour-area .tour-card-clean .tour-view-detail {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    padding: 0;
    border: 4px solid var(--theme-color);
    border-radius: 50%;
    background: #fff;
    color: #4c423b;
    font-size: 17px;
    line-height: 1;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

    .tour-area .tour-card-clean .tour-view-detail:hover,
    .tour-area .tour-card-clean .tour-view-detail:focus-visible {
        background: var(--theme-color);
        color: #fff;
        transform: translateY(-2px);
    }

.public-tour-pagination {
    display: flex;
    justify-content: center;
    margin-top: 42px;
}

    .public-tour-pagination .pagination {
        display: flex;
        gap: 0px;
        margin: 0;
    }

    .public-tour-pagination .page-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 42px;
        height: 42px;
        padding: 0 12px;
        border: 1px solid #eadfd7;
        border-radius: 50% !important;
        background: #fff;
        color: #5d4a3d;
        font-weight: 700;
        box-shadow: none;
    }

        .public-tour-pagination .page-item.active .page-link,
        .public-tour-pagination .page-link:hover,
        .public-tour-pagination .page-link:focus {
            border-color: var(--theme-color);
            background: var(--theme-color);
            color: #fff;
        }

    .public-tour-pagination .page-item.disabled .page-link {
        border-color: #eee8e3;
        background: #f7f5f3;
        color: #b9ada4;
        pointer-events: none;
    }

.tour-area .sidebar.public-tour-sidebar .widget,
.tour-area .sidebar.public-tour-sidebar .widget:last-child {
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #e9e4df;
    border-radius: 0;
    box-shadow: none;
}

.tour-area .sidebar.public-tour-sidebar .filter-actions {
    border-bottom: 0;
}

.public-tour-sidebar .filter-widget {
    padding: 0;
    overflow: hidden;
}

    .public-tour-sidebar .filter-widget summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px; /* min-height: 61px; */
        padding: 10px 18px;
        color: var(--color-dark);
        background: #fbfbfc;
        font-size: 15px;
        font-weight: 700;
        text-transform: uppercase;
        cursor: pointer;
        list-style: none;
    }

        .public-tour-sidebar .filter-widget summary::-webkit-details-marker {
            display: none;
        }

        .public-tour-sidebar .filter-widget summary i {
            color: var(--theme-color2);
            font-size: 17px;
            transition: transform .2s ease;
        }

    .public-tour-sidebar .filter-widget[open] summary i {
        transform: rotate(180deg);
    }

    .public-tour-sidebar .filter-widget .tour-category {
        max-height: 330px;
        padding: 12px 8px 14px;
        overflow-y: auto;
        border-top: 1px solid #eee9e5;
        padding-top: 0;
        padding-bottom: 0;
    }

.tour-area .sidebar.public-tour-sidebar .filter-widget .form-check {
    min-height: 35px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 -8px;
    padding: 4px 8px;
    border-radius: 0px;
    border-bottom: 1px solid #eee9e5;
}

    .tour-area .sidebar.public-tour-sidebar .filter-widget .form-check:last-child {
        border-bottom: none;
    }

    .tour-area .sidebar.public-tour-sidebar .filter-widget .form-check:nth-child(even) {
        background: #faf7f4;
    }

    /* The selected option must read as one clear state, not compete with zebra rows. */
    .tour-area .sidebar.public-tour-sidebar .filter-widget .form-check:has(.form-check-input:checked) {
        background: #fff0e6;
        /* box-shadow: inset 3px 0 0 var(--theme-color2); */
    }

        .tour-area .sidebar.public-tour-sidebar .filter-widget .form-check:has(.form-check-input:checked) .form-check-label {
            color: var(--theme-color);
            font-weight: normal;
        }

.tour-area .sidebar.public-tour-sidebar .filter-widget .form-check-input {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    margin: 0;
    border-color: #ede2db;
    border-radius: 10px;
    cursor: pointer;
}

.public-tour-sidebar .filter-widget .form-check-input:checked {
    background-color: var(--theme-color);
    border-color: var(--theme-color);
}

.public-tour-sidebar .filter-widget .form-check-label {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #5b4637;
    font-size: 14px;
    line-height: 1.45;
    cursor: pointer;
    font-weight: 500;
}

    .public-tour-sidebar .filter-widget .form-check-label span {
        margin-left: auto;
        flex: 0 0 auto;
        float: none;
        font-variant-numeric: tabular-nums;
    }

.tour-area .sidebar.public-tour-sidebar .filter-search {
    padding: 20px 18px 18px;
    background: #fff;
}

    .tour-area .sidebar.public-tour-sidebar .filter-search .title {
        margin: 0 0 12px;
        padding: 0;
        border: 0;
        color: var(--color-dark);
        font-size: 15px;
        font-weight: 700;
        text-transform: uppercase;
    }

.filter-search-input {
    position: relative;
    display: flex;
    align-items: center;
    border: 1px solid #ded7d1;
    border-radius: 3px;
    overflow: hidden;
}

    .filter-search-input > i {
        margin-left: 13px;
        color: var(--theme-color2);
    }

    .filter-search-input input {
        border: 0;
        width: 100%;
        height: 44px;
        padding: 0 8px;
        outline: 0;
        background: transparent;
    }

    .filter-search-input button {
        width: 42px;
        height: 44px;
        border: 0;
        background: transparent;
        color: var(--theme-color2);
    }

.filter-month {
    padding: 0 18px 16px;
    border-top: 1px solid #eee9e5;
}

    .filter-month input {
        width: 100%;
        height: 44px;
        margin-top: 16px;
        padding: 0 10px;
        border: 1px solid var(--border-color);
        border-radius: 6px;
    }

.tour-area .sidebar.public-tour-sidebar .filter-actions {
    padding: 14px 18px;
    text-align: center;
}

.site-breadcrumb .breadcrumb-menu li {
    position: relative;
    display: inline-block;
    margin-left: 25px;
    color: var(--color-white);
    font-weight: 500;
    text-transform: none;
}

.filter-actions a {
    color: var(--theme-color2);
    font-size: 14px;
    font-weight: 600;
}

/* Child-page breadcrumb when the pill header is absolute. */
.site-breadcrumb {
    min-height: 430px;
    padding: 245px 0 105px;
    background-position: center;
    background-size: cover;
}

    .site-breadcrumb::before {
        background: rgba(8, 23, 39, 0.68);
    }

    .site-breadcrumb .breadcrumb-title {
        margin-top: 20px;
    }

/* Public tour detail: adapted from the local tour-single template. */
.maytrip-tour-single {
    padding-top: 55px !important;
}

    .maytrip-tour-single .tour-single-slider img {
        height: 480px;
        object-fit: cover;
    }

    .maytrip-tour-single .tour-single-top {
        align-items: flex-start;
    }

        .maytrip-tour-single .tour-single-top .site-title-tagline {
            margin-bottom: 15px;
            padding: 6px 12px;
            border-radius: 20px;
            background: #fff2e8;
            /* letter-spacing: .04em; */
            background: var(--maytrip-yellow);
            border-color: var(--maytrip-yellow);
            color: var(--maytrip-brown);
            font-weight: bold;
        }

        .maytrip-tour-single .tour-single-top .top-info .title {
            /* max-width: 820px; */
            margin: 10px 0 0;
            font-size: 25px;
            line-height: 33px;
            text-transform: uppercase;
            font-weight: 500;
        }

.tour-destination-lines {
    display: grid;
    grid-template-columns: minmax(180px, .65fr) minmax(280px, 1.35fr);
    gap: 12px;
    margin-top: 20px;
}

    .tour-destination-lines > div {
        display: flex;
        min-height: 64px;
        padding: 12px 15px;
        align-items: flex-start;
        gap: 11px;
        border: 1px solid #eee5de;
        border-radius: 10px;
        background: #fcfaf8;
    }

    .tour-destination-lines i {
        margin-top: 5px;
        color: var(--theme-color2);
        font-size: 19px;
    }

    .tour-destination-lines span {
        display: grid;
    }

    .tour-destination-lines small {
        color: #8a8078;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
    }

    .tour-destination-lines strong {
        margin-top: 2px;
        color: var(--color-dark);
        line-height: 1.45;
    }

.tour-fact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.maytrip-tour-single .tour-single-info .feature {
    /* height: 100%; */
    /* min-width: 0; */
    /* padding: 13px; */
    /* border: 1px solid rgba(255, 255, 255, .25); */
    /* border-radius: 10px; */
    /* background: rgba(255, 255, 255, .09); */
}

    .maytrip-tour-single .tour-single-info .feature .icon {
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
    }

    .maytrip-tour-single .tour-single-info .feature .content {
        min-width: 0;
    }

        .maytrip-tour-single .tour-single-info .feature .content span {
            display: block;
            line-height: 1.45;
            overflow-wrap: anywhere;
        }

.maytrip-tour-single .tour-summary {
    color: #353535;
    font-size: 16px;
    line-height: 1.8;
}

.maytrip-rich-content {
    color: var(--body-text-color);
    line-height: 1.8;
}

    .maytrip-rich-content > :last-child {
        margin-bottom: 0;
    }

    .maytrip-rich-content ul,
    .maytrip-rich-content ol {
        margin: 14px 0 20px;
        padding-left: 30px;
        list-style: none !important;
    }

    .maytrip-rich-content ol {
        counter-reset: maytrip-rich-list;
    }

    .maytrip-rich-content li {
        position: relative;
        display: list-item;
        margin-bottom: 8px;
        padding-left: 4px;
        color: #353535;
    }

    .maytrip-rich-content ul > li::before {
        content: "";
        position: absolute;
        top: .72em;
        left: -18px;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--theme-color);
        transform: translateY(-50%);
    }

    .maytrip-rich-content ol > li {
        counter-increment: maytrip-rich-list;
    }

        .maytrip-rich-content ol > li::before {
            content: counter(maytrip-rich-list) ".";
            position: absolute;
            top: 0;
            right: calc(100% + 8px);
            min-width: 18px;
            color: var(--theme-color);
            font-weight: 700;
            text-align: right;
        }

    .maytrip-rich-content ul ul > li::before {
        border: 2px solid var(--theme-color);
        background: transparent;
    }

.maytrip-tour-single .tour-details > .maytrip-rich-content,
.maytrip-tour-single .tour-details > .list-included,
.maytrip-tour-single .tour-details > .list-notincluded {
    margin-top: 28px;
}

.maytrip-tour-single .tour-content-block {
    margin-top: 14px;
    padding: 18px 20px;
    border: 1px solid #eee9e5;
    border-radius: 12px;
    background: #fff;
}

.maytrip-tour-attractions {
    /* padding: 24px; */
    /* border: 1px solid #eee4dc; */
    /* border-radius: 16px; */
    /* background: #fffaf6; */
}

    .maytrip-tour-attractions .tour-section-heading {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 18px;
    }

        .maytrip-tour-attractions .tour-section-heading h4 {
            margin: 3px 0 0;
        }

    .maytrip-tour-attractions .section-eyebrow {
        color: var(--theme-color);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .08em;
    }

    .maytrip-tour-attractions .attraction-count {
        color: #78685e;
        font-size: 14px;
        white-space: nowrap;
    }

.tour-attraction-card {
    display: block;
    color: var(--color-dark);
}

    .tour-attraction-card:hover {
        color: var(--color-dark);
    }

.tour-attraction-slider .activity-item,
.tour-attraction-slider .activity-img,
.tour-attraction-slider .activity-img .ani-img {
    height: 360px;
    overflow: hidden;
    border-radius: 18px;
}

    .tour-attraction-slider .activity-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .3s ease;
    }

.tour-attraction-card:hover .activity-img img {
    transform: scale(1.05);
}

.tour-attraction-slider .activity-img.is-no-image {
    background: linear-gradient(145deg, #eaf3f6, #d7e7ed);
}

.tour-attraction-slider .activity-content {
    position: absolute;
    right: 14px;
    bottom: 14px;
    left: 14px;
    display: flex;
    min-height: 76px;
    padding: 10px 12px;
    align-items: center;
    gap: 10px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 22px rgba(44, 32, 24, .12);
}

    .tour-attraction-slider .activity-content .icon {
        display: grid;
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        place-items: center;
        border: 1px solid #e8dacf;
        border-radius: 10px;
        color: #6495ad;
        background: #fff8ef;
        font-size: 22px;
    }

    .tour-attraction-slider .activity-content > div:last-child {
        min-width: 0;
    }

    .tour-attraction-slider .activity-content small {
        display: block;
        overflow: hidden;
        color: #78909c;
        font-size: 11px;
        line-height: 15px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tour-attraction-slider .activity-content h4 {
        display: -webkit-box;
        overflow: hidden;
        margin: 1px 0 0;
        color: var(--maytrip-brown);
        font-size: 17px;
        line-height: 21px;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

.tour-attraction-slider .owl-nav button {
    position: absolute;
    top: 50%;
    width: 42px;
    height: 42px;
    border-radius: 50% !important;
    color: var(--theme-color) !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(48, 35, 27, .15);
    transform: translateY(-50%);
}

.tour-attraction-slider .owl-nav .owl-prev {
    left: -14px;
}

.tour-attraction-slider .owl-nav .owl-next {
    right: -14px;
}

.tour-recommended-section {
    margin-top: 70px;
    padding-top: 45px;
    border-top: 1px solid #eadfd6;
}

.recommended-tour-heading {
    align-items: end;
    margin-bottom: 28px;
}

.recommended-tour-heading h2 {
    margin: 6px 0 0;
    color: #6f421f;
    font-size: 34px;
}

.recommended-tour-heading > a {
    color: #ea6724;
    font-weight: 700;
    white-space: nowrap;
}

.recommended-tour-slider .owl-stage { display: flex; }
.recommended-tour-slider .owl-item,
.recommended-tour-slider .owl-item > .item { display: flex; height: 100%; }
.recommended-tour-slider .tour-card-clean { width: 100%; }
.recommended-tour-slider .owl-nav button { position: absolute; top: 34%; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50% !important; background: #fff !important; color: #ec681f !important; box-shadow: 0 8px 25px rgba(82,55,36,.14); }
.recommended-tour-slider .owl-nav .owl-prev { left: -18px; }
.recommended-tour-slider .owl-nav .owl-next { right: -18px; }

@media (max-width: 767.98px) {
    .tour-recommended-section { margin-top: 42px; padding-top: 32px; }
    .recommended-tour-heading { align-items: flex-start; }
    .recommended-tour-heading h2 { font-size: 27px; }
    .recommended-tour-heading > a { display: none; }
    .recommended-tour-slider .owl-nav .owl-prev { left: -8px; }
    .recommended-tour-slider .owl-nav .owl-next { right: -8px; }
}

@media (max-width: 767.98px) {
    .maytrip-tour-attractions {
        padding: 10px;
    }

    .tour-attraction-slider .activity-item,
    .tour-attraction-slider .activity-img,
    .tour-attraction-slider .activity-img .ani-img {
        height: 340px;
    }
}

@media (max-width: 420px) {
    .maytrip-tour-attractions .tour-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

.maytrip-tour-single .tour-content-block h6 {
    margin-bottom: 8px;
}

.maytrip-tour-single .itinerary-single-box .maytrip-rich-content span {
    position: static;
    display: inline;
    width: auto;
    height: auto;
    line-height: inherit;
    color: inherit;
    background: transparent;
    font-size: inherit;
    font-weight: inherit;
    border-radius: 0;
}

.itinerary-section-header {
    display: flex;
    margin: 16px 0;
    align-items: center;
    justify-content: space-between;
}

    .itinerary-section-header h4 {
        margin: 0;
    }

.itinerary-all-toggle,
.itinerary-day-mobile {
    display: none;
}

@media (max-width: 575.98px) {
    .itinerary-section-header {
        margin: 8px 0 4px;
    }

        .itinerary-section-header h4 {
            font-size: 20px;
        }

    .itinerary-all-toggle {
        display: inline-flex;
        gap: 5px;
        padding: 6px 9px;
        align-items: center;
        border: 1px solid #86b7fe;
        border-radius: 4px;
        color: #4f86c6;
        background: #fff;
        font-size: 11px;
        line-height: 1;
    }

        .itinerary-all-toggle i,
        .itinerary-day-toggle .day-arrow {
            transition: transform .25s ease;
        }

        .itinerary-all-toggle[aria-expanded="true"] i,
        .itinerary-day-toggle[aria-expanded="true"] .day-arrow {
            transform: rotate(180deg);
        }

    .itinerary-content-box {
        margin-top: 8px !important;
    }

    .itinerary-day-desktop {
        display: none;
    }

    .itinerary-day-mobile {
        position: relative;
        display: block;
        margin-left: 7px;
        padding-left: 20px;
        border-left: 1px dashed #d9b18f;
    }

        .itinerary-day-mobile:last-child {
            border-left-color: transparent;
        }

    .itinerary-day-toggle {
        position: relative;
        display: grid;
        width: 100%;
        min-height: 50px;
        padding: 12px 2px 12px 0;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        align-items: center;
        border: 0;
        border-bottom: 1px solid #e4e4e4;
        color: #4c4c4c;
        background: transparent;
        text-align: left;
    }

        .itinerary-day-toggle .day-dot {
            position: absolute;
            left: -28px;
            top: 18px;
            width: 15px;
            height: 15px;
            border: 4px solid #cf7638;
            border-radius: 50%;
            background: #fff;
        }

        .itinerary-day-toggle strong {
            overflow: hidden;
            font-size: 14px;
            line-height: 1.45;
        }

        .itinerary-day-toggle .day-arrow {
            font-size: 14px;
        }

    .itinerary-day-body {
        padding: 12px 2px 14px 0;
        border-bottom: 1px solid #e4e4e4;
    }

        .itinerary-day-body[hidden] {
            display: none !important;
        }

        .itinerary-day-body > img {
            width: 100%;
            max-height: 210px;
            margin-bottom: 12px;
            object-fit: cover;
            border-radius: 14px;
        }

        .itinerary-day-body .maytrip-rich-content {
            font-size: 14px;
            line-height: 1.7;
        }

        .itinerary-day-body .maytrip-rich-content > h2:not(:first-child),
        .itinerary-day-body .maytrip-rich-content > h3:not(:first-child),
        .itinerary-day-body .maytrip-rich-content > h4:not(:first-child) {
            margin-top: 16px;
            margin-bottom: 8px;
        }

        .itinerary-day-body .maytrip-rich-content h3 strong {
            display: inline-block;
            line-height: 1.4;
        }
}

.maytrip-tour-single .itinerary-single-box .maytrip-rich-content span::before {
    display: none;
}

.itinerary-day-gallery {
    position: relative;
    width: min(100%, 390px);
    margin: 0 0 18px;
}

.tour-single .itinerary-single-box .itinerary-day-gallery img,
.itinerary-day-body .itinerary-day-gallery img {
    width: 100%;
    height: 220px;
    margin: 0;
    border-radius: 24px 24px 24px 0;
    object-fit: cover;
}

.itinerary-day-gallery .owl-nav {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0 12px;
    pointer-events: none;
    transform: translateY(-50%);
}

.itinerary-day-gallery .owl-nav button {
    width: 36px;
    height: 36px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(233, 108, 37, .22) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .94) !important;
    color: var(--theme-color) !important;
    box-shadow: 0 6px 18px rgba(82, 39, 14, .18);
    pointer-events: auto;
}

.itinerary-day-gallery .owl-nav button:hover {
    background: var(--theme-color) !important;
    color: #fff !important;
}

@media (max-width: 575.98px) {
    .itinerary-day-gallery { width: 100%; }
    .tour-single .itinerary-single-box .itinerary-day-gallery img,
    .itinerary-day-body .itinerary-day-gallery img { height: 210px; border-radius: 18px; }
}

.maytrip-tour-information {
    padding: 0px;
    border: 1px solid var(--border-color);
    border-radius: 15px;
    padding-top: 28px;
}

    .maytrip-tour-information .accordion-button {
        gap: 10px;
        color: var(--color-dark);
        font-weight: 600;
    }

.maytrip-tour-sidebar {
    position: sticky;
    top: 105px;
}

.tour-mobile-actions {
    display: none;
}

.maytrip-tour-sidebar .price {
    padding: 5px 5px 5px;
    border: 0;
    background: #fff;
    margin-bottom: 0 !important;
}

.maytrip-tour-sidebar .price-label {
    margin: 22px 0 5px;
    color: var(--body-text-color);
    font-size: 14px;
}

.maytrip-tour-sidebar .price-amount {
    display: grid;
    gap: 10px;
}

.passenger-price {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 9px;
    border-bottom: 1px dashed #e2dbd5;
}

    .passenger-price:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

.maytrip-tour-sidebar .price-amount .passenger-label {
    color: var(--body-text-color);
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #353535 !important;
}

.passenger-values {
    display: grid;
    justify-items: end;
}

.maytrip-tour-sidebar .price-amount .passenger-values strong {
    color: var(--theme-color);
    font-size: 19px;
    line-height: 1.25;
    font-weight: 500;
}

.maytrip-tour-sidebar .price-amount .passenger-values small {
    margin-top: 2px;
    color: #e17a18;
    font-size: 11px;
}

.maytrip-tour-sidebar .booking-form-wrap .title {
    margin-bottom: 18px;
    font-size: 20px;
}

.maytrip-sidebar-facts {
    display: grid;
    gap: 5px;
    margin-top: 10px;
}

    .maytrip-sidebar-facts > div {
        display: flex;
        align-items: flex-start;
        gap: 11px;
        color: #353535;
    }

    .maytrip-sidebar-facts i {
        width: 18px;
        margin-top: 3px;
        color: #7a8894;
        text-align: center;
    }

    .maytrip-sidebar-facts strong {
        display: block;
        color: var(--color-dark);
        font-weight: 600;
    }

    .maytrip-sidebar-facts small,
    .maytrip-sidebar-route small {
        display: block;
        margin-bottom: 1px;
        color: #7a7a7a;
        font-size: 13px;
        line-height: 1.35;
    }

.maytrip-tour-sidebar .booking-form-wrap {
    padding-top: 10px;
}

.maytrip-schedule-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
    color: var(--color-dark);
    text-decoration: none;
    text-underline-offset: 3px;
}

    .maytrip-schedule-label:hover {
        color: var(--theme-color);
    }

.tour-departure-options {
    display: grid;
    gap: 9px;
    max-height: 390px;
    overflow-y: auto;
    padding-right: 4px;
}

    .tour-departure-options.compact {
        display: flex;
        gap: 7px;
        max-height: none;
        overflow-x: auto;
        padding: 0 0 5px;
        scrollbar-width: thin;
    }

.maytrip-schedule-strip {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 5px;
}

.schedule-scroll {
    width: 24px;
    height: 38px;
    padding: 0;
    border: 0;
    color: #8e969c;
    background: transparent;
    font-size: 20px;
}

    .schedule-scroll:hover {
        color: var(--theme-color);
    }

.tour-departure-options.compact .tour-departure-option {
    display: inline-flex;
    min-width: 54px;
    padding: 7px 9px;
    justify-content: center;
    border-color: #8c8c8c;
    border-radius: 6px;
    color: var(--color-dark);
    font-size: 14px;
    font-weight: 600;
    border: 1px solid transparent;
    border-radius: 4px;
    background: #f1f2f4;
    color: #4d5961;
    min-width: 43px;
    /* height: 27px; */
    padding: 0 6px;
}

    .tour-departure-options.compact .tour-departure-option.active {
        border-color: var(--theme-color);
        color: #fff;
        background: var(--theme-color);
    }

.maytrip-sidebar-route {
    display: flex;
    gap: 10px;
    margin-top: 17px;
    color: #353535;
    line-height: 1.55;
}

    .maytrip-sidebar-route i {
        margin-top: 4px;
        color: #8494a1;
    }

    .maytrip-sidebar-route strong {
        display: block;
        color: var(--color-dark);
        font-weight: 600;
    }

.tour-departure-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 13px;
    border: 1px solid #e8e1db;
    border-radius: 9px;
    color: var(--color-dark);
    background: #fff;
}

    .tour-departure-option:hover,
    .tour-departure-option.active {
        border-color: var(--theme-color);
        color: var(--color-dark);
        background: #fff5ed;
    }

    .tour-departure-option .date {
        display: grid;
    }

        .tour-departure-option .date strong {
            color: var(--theme-color);
            font-size: 16px;
        }

        .tour-departure-option .date small {
            margin-top: 2px;
            color: var(--body-text-color);
        }

    .tour-departure-option .option-price {
        white-space: nowrap;
        font-weight: 700;
    }

.tour-selected-schedule {
    display: grid;
    gap: 13px;
    margin-top: 20px;
    padding: 16px;
    border-radius: 10px;
    background: #f8f6f4;
}

    .tour-selected-schedule > div {
        display: flex;
        align-items: flex-start;
        gap: 11px;
    }

    .tour-selected-schedule i {
        width: 18px;
        margin-top: 4px;
        color: var(--theme-color2);
        text-align: center;
    }

    .tour-selected-schedule span {
        display: grid;
    }

    .tour-selected-schedule small {
        color: var(--body-text-color);
    }

    .tour-selected-schedule strong {
        color: var(--color-dark);
        font-size: 14px;
    }

.maytrip-tour-sidebar .maytrip-contact-tour {
    display: flex;
    width: 100%;
    margin-top: 20px;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.maytrip-outline-btn {
    display: flex;
    width: 100%;
    min-height: 42px;
    margin-top: 12px;
    align-items: center;
    justify-content: center;
    border: 1px solid #1687d9;
    border-radius: 5px;
    color: #1687d9;
    font-weight: 600;
}

    .maytrip-outline-btn:hover {
        border-color: var(--theme-color);
        color: #fff;
        background: var(--theme-color);
    }

.maytrip-tour-sidebar .price-amount del {
    color: var(--body-text-color);
    font-size: 14px;
    font-weight: 400 !important;
    color: #929292 !important;
    font-size: 12px;
    font-weight: 400;
    text-decoration: line-through;
    text-decoration-thickness: 1px !important;
    text-decoration-color: #929292 !important;
}

.maytrip-tour-pricing {
    margin-top: 65px;
    padding-top: 20px;
}

.pricing-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

    .pricing-heading h2 {
        margin: 0;
        font-size: 25px;
    }

        .pricing-heading h2 small {
            font-size: 15px;
            font-weight: 500;
        }

.maytrip-download-itinerary {
    display: inline-flex;
    min-height: 35px;
    padding: 0 10px;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--theme-color);
    color: var(--theme-color);
    font-weight: 600;
}

    .maytrip-download-itinerary:hover {
        color: #fff;
        background: var(--theme-color);
    }

.pricing-card {
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 3px 14px rgba(30, 39, 46, .14);
}

.pricing-month-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 8px 12px 0;
}

    .pricing-month-tabs button {
        /* min-width: 76px; */
        padding: 5px 14px;
        border: 0;
        border-radius: 12px;
        color: var(--color-dark);
        background: transparent;
        font-weight: 500;
        white-space: nowrap;
        margin-bottom: 7px;
    }

        .pricing-month-tabs button.active,
        .pricing-month-tabs button:hover {
            color: #fff;
            background: var(--theme-color);
        }

.maytrip-pricing-table {
    min-width: 850px;
    margin: 0;
}

    .maytrip-pricing-table thead th {
        padding: 12px 16px;
        border: 0;
        color: #353535;
        background: #f1f1f1;
        font-size: 12px;
        text-transform: uppercase;
    }

    .maytrip-pricing-table tbody td {
        padding: 14px 16px;
        vertical-align: middle;
    }

    .maytrip-pricing-table td > small,
    .maytrip-pricing-table td > strong {
        display: block;
    }

    .maytrip-pricing-table td > i {
        margin-right: 7px;
        color: var(--theme-color2);
    }

.airline-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .airline-cell img {
        width: 150px;
        height: auto;
        /* padding: 3px; */
        /* object-fit: contain; */
        /* border: 1px solid #eee7e1; */
        /* border-radius: 5px; */
        background: #fff;
    }

.airline-fallback {
    display: inline-flex;
    width: 48px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    color: var(--theme-color2);
    background: #f3f6f8;
}

.maytrip-pricing-table .price-cell strong {
    color: var(--theme-color);
    font-size: 17px;
}

.maytrip-pricing-table .price-cell del {
    display: block;
    color: #777;
    font-size: 13px;
}

.maytrip-pricing-table .discount-note {
    color: #e17a18;
}

.pricing-book-btn {
    display: inline-flex;
    min-height: 36px;
    padding: 0 13px;
    align-items: center;
    border-radius: 5px;
    color: var(--theme-color);
    background: #fff0e4;
    font-weight: 700;
    white-space: nowrap;
    border: 0;
}

    .pricing-book-btn:hover {
        color: #fff;
        background: var(--theme-color);
    }

.maytrip-booking-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(26, 35, 42, .22);
}

.maytrip-booking-modal .modal-header {
    display: flex !important;
    min-height: 72px;
    padding: 12px 20px;
    align-items: center;
    justify-content: space-between !important;
    border-bottom: 1px solid #eee6df;
    background: #fffaf6;
}

.maytrip-booking-modal .modal-eyebrow {
    color: var(--theme-color);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.maytrip-booking-modal .modal-title {
    margin-top: 1px;
    font-size: 21px;
    line-height: 1.25;
}

.booking-modal-close {
    display: inline-flex;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 1px solid #e6d7cc;
    border-radius: 50%;
    color: #73462d;
    background: #fff;
    font-size: 20px;
    margin-left: auto;
}

    .booking-modal-close:hover,
    .booking-modal-close:focus {
        border-color: var(--theme-color);
        color: #fff;
        background: var(--theme-color);
    }

.maytrip-booking-modal .modal-body {
    padding: 24px 26px 28px;
}

.booking-tour-recap {
    margin-bottom: 22px;
    padding: 18px 20px;
    border: 1px solid #f0ded0;
    border-radius: 13px;
    background: #fff8f2;
}

    .booking-tour-recap h4 {
        margin-bottom: 12px;
        font-size: 19px;
        line-height: 1.4;
    }

.booking-recap-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    color: var(--body-text-color);
}

    .booking-recap-meta span {
        display: inline-flex;
        align-items: center;
        gap: 7px;
    }

    .booking-recap-meta i {
        color: var(--theme-color2);
    }

.booking-recap-prices {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 16px;
}

    .booking-recap-prices > div {
        display: grid;
        padding: 10px 12px;
        border-radius: 8px;
        background: #fff;
    }

    .booking-recap-prices small {
        color: #81766e;
    }

    .booking-recap-prices strong {
        color: var(--theme-color);
        font-size: 16px;
    }

.maytrip-booking-modal .form-label {
    color: var(--color-dark);
    font-weight: 650;
}

    .maytrip-booking-modal .form-label span {
        color: #d92727;
    }

.maytrip-booking-modal .form-control {
    min-height: 46px;
    border-color: #ddd5ce;
    border-radius: 7px;
}

.maytrip-booking-modal .invalid-feedback {
    margin-top: 5px;
    color: #c62828;
    font-size: 12px;
    font-weight: 600;
}

.maytrip-booking-modal .was-validated .form-control:invalid {
    border-color: #d83a3a;
    background-image: none;
}

.maytrip-booking-modal .was-validated .form-control:valid {
    border-color: #4aaa78;
    background-image: none;
}

.maytrip-booking-modal textarea.form-control {
    min-height: 92px;
}

.booking-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.booking-estimate {
    display: flex;
    margin: 20px 0 14px;
    padding-top: 16px;
    align-items: center;
    justify-content: space-between;
    border-top: 1px dashed #d8cec6;
}

    .booking-estimate span {
        font-weight: 700;
    }

    .booking-estimate strong {
        color: var(--theme-color);
        font-size: 23px;
    }

.booking-submit {
    width: 100%;
    border: 0;
    justify-content: center;
}

.tour-no-departure {
    margin: 0;
    padding: 14px;
    border-radius: 8px;
    background: #f8f6f4;
}

@media (max-width: 991.98px) {
    .maytrip-tour-single {
        padding-top: 45px !important;
    }

        .maytrip-tour-single .tour-single-slider img {
            height: 390px;
        }

    .maytrip-tour-sidebar {
        position: static;
    }

    .tour-fact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .maytrip-tour-single {
        padding-top: 35px !important;
        padding-bottom: 105px !important;
    }

        .maytrip-tour-single .maytrip-tour-sidebar {
            margin-bottom: 24px;
        }

    .tour-mobile-actions {
        position: fixed;
        z-index: 1040;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: 1.15fr 1fr 1fr;
        gap: 6px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        border-top: 1px solid #eadfd7;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -8px 24px rgba(39, 47, 53, .12);
        backdrop-filter: blur(8px);
    }

    .tour-mobile-action {
        display: inline-flex;
        min-width: 0;
        min-height: 48px;
        padding: 6px 5px;
        flex-direction: column;
        gap: 3px;
        align-items: center;
        justify-content: center;
        border: 1px solid #eadfd7;
        border-radius: 9px;
        color: var(--maytrip-brown);
        background: #fff;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.15;
        text-align: center;
    }

    button.tour-mobile-action {
        font-family: inherit;
    }

    .tour-mobile-action i {
        font-size: 16px;
    }

    .tour-mobile-action.primary {
        border-color: var(--theme-color);
        color: #fff;
        background: var(--theme-color);
    }

    .tour-mobile-action.is-consultation {
        grid-column: 1 / -1;
        min-height: 52px;
        flex-direction: row;
        gap: 9px;
        border-radius: 999px;
        font-size: 15px;
        box-shadow: 0 8px 22px rgba(126, 65, 25, .22);
    }

    .maytrip-tour-single .tour-single-slider img {
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: contain;
    }

    .maytrip-tour-single .tour-single-top .top-info .title {
        font-size: 25px;
    }

    .tour-destination-lines {
        grid-template-columns: 1fr;
    }

    .tour-fact-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .maytrip-tour-single .tour-single-info .feature {
        min-height: 48px;
        align-items: center;
        gap: 13px;
    }

        .maytrip-tour-single .tour-single-info .feature .content h6 {
            margin-bottom: 3px;
            line-height: 1.25;
        }

        .maytrip-tour-single .tour-single-info .feature .content span {
            line-height: 1.5;
        }

    .maytrip-tour-information {
        padding: 0px;
    }

    .pricing-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .maytrip-download-itinerary {
        width: 100%;
        justify-content: center;
    }

    .passenger-price {
        gap: 8px;
    }

    .maytrip-booking-modal .modal-header,
    .maytrip-booking-modal .modal-body {
        padding-right: 18px;
        padding-left: 18px;
    }

    .booking-recap-prices {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .home-gallery-dynamic .banner-wrap {
        height: auto;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 12px;
    }

        .home-gallery-dynamic .home-album-card,
        .home-gallery-dynamic .home-album-card:first-child,
        .home-gallery-dynamic .banner-wrap:hover .home-album-card:first-child,
        .home-gallery-dynamic .banner-wrap .home-album-card:hover {
            flex: 0 0 78%;
            scroll-snap-align: start;
        }

    .home-gallery-dynamic .home-album-count-1 .home-album-card {
        flex-basis: 100%;
    }

    .home-gallery-dynamic .home-album-image {
        height: 340px;
        border-radius: 38px;
    }
}

/* Public Blog listing: adapted from the local blog template. */
.maytrip-blog-page {
    padding-top: 75px !important;
}

.blog-page-heading {
    display: flex;
    margin-bottom: 28px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

    .blog-page-heading h2 {
        margin: 10px 0 0;
        font-size: 38px;
    }

    .blog-page-heading > p {
        max-width: 600px;
        margin: 0;
        line-height: 1.7;
    }

.blog-category-filter {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    margin-bottom: 32px;
    padding-bottom: 5px;
}

    .blog-category-filter a {
        display: inline-flex;
        min-height: 40px;
        padding: 0 16px;
        align-items: center;
        border: 1px solid #eadfd7;
        border-radius: 22px;
        color: var(--color-dark);
        background: #fff;
        font-weight: 700;
        white-space: nowrap;
    }

        .blog-category-filter a:hover,
        .blog-category-filter a.active {
            border-color: var(--theme-color);
            color: #fff;
            background: var(--theme-color);
        }

.maytrip-blog-card {
    display: flex;
    height: 100%;
    flex-direction: column;
}

.home-blog-dynamic .row.g-4 > [class*="col-"] {
    display: flex;
}

.maytrip-blog-card .blog-img {
    display: block;
    overflow: hidden;
}

    .maytrip-blog-card .blog-img img {
        width: 100%;
        height: 255px;
        object-fit: cover;
        transition: transform .35s ease;
    }

.maytrip-blog-card:hover .blog-img img {
    transform: scale(1.04);
}

.maytrip-blog-card .blog-info {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.maytrip-blog-card .blog-title {
    overflow: hidden;
    height: 54px;
    min-height: 54px;
    margin-bottom: 12px;
    border: none;
}

    .maytrip-blog-card .blog-title a {
        display: -webkit-box;
        overflow: hidden;
        line-height: 29px;
        max-height: 54px;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 20px;
    }

.maytrip-blog-card .blog-info .border-top {
    width: 100%;
    margin-top: auto;
    border: none;
    border-top: none !IMPORTANT;
}

.maytrip-blog-card .blog-info p {
    display: -webkit-box;
    overflow: hidden;
    min-height: 78px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.maytrip-blog-card .blog-info .theme-btn {
    align-self: flex-start;
    margin-top: auto;
}

.maytrip-blog-card .blog-meta ul {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.maytrip-blog-card .blog-meta span {
    color: var(--body-text-color);
}

.blog-empty-state {
    padding: 70px 20px;
    border: 1px dashed #ddcfc4;
    border-radius: 16px;
    text-align: center;
    background: #fffaf6;
}

    .blog-empty-state > i {
        color: var(--theme-color2);
        font-size: 48px;
    }

    .blog-empty-state h3 {
        margin: 16px 0 6px;
    }

.maytrip-blog-page .pagination-area {
    margin-top: 45px;
}

@media (max-width: 767.98px) {
    .maytrip-blog-page {
        padding-top: 45px !important;
    }

    .blog-page-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

        .blog-page-heading h2 {
            font-size: 31px;
        }
}

/* Public contact page: adapted from the local contact template. */
.maytrip-contact-page {
    padding-top: 75px !important;
}

    .maytrip-contact-page .contact-content {
        height: 100%;
    }

    .maytrip-contact-page .site-title {
        font-size: 30px !important;
        line-height: 1.25;
    }

    .maytrip-contact-page .site-heading .site-title-tagline i {
        color: #fff;
        background: var(--theme-color);
        box-shadow: 0 3px 9px rgba(233, 108, 37, .28);
    }

    .maytrip-contact-page .contact-info {
        /* border: 1px solid #eee5de; */
        border-radius: 12px;
        background: #fff;
    }

        .maytrip-contact-page .contact-info .icon {
            display: grid;
            place-items: center;
            line-height: 1;
        }

            .maytrip-contact-page .contact-info .icon > i,
            .maytrip-contact-page .contact-info .icon > img {
                display: block;
                margin: 0;
            }

.maytrip-contact-form {
    height: 100%;
    border-radius: 18px;
    box-shadow: 0 12px 40px rgba(39, 47, 53, .1);
}

    .maytrip-contact-form .invalid-feedback {
        margin: 5px 0 0 5px;
        color: #c62828;
        font-size: 12px;
        font-weight: 600;
    }

    .maytrip-contact-form .was-validated .form-control:invalid {
        border-color: #d83a3a;
        background-image: none;
    }

    .maytrip-contact-form .was-validated .form-control:valid {
        border-color: #4aaa78;
        background-image: none;
    }

    .maytrip-contact-form .contact-submit {
        width: 100%;
        border: 0;
        justify-content: center;
    }

.contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.maytrip-office-section .site-heading {
    max-width: 720px;
    margin: 0 auto 35px;
}

.maytrip-office-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.maytrip-office-card {
    position: relative;
    display: flex;
    min-height: 230px;
    padding: 26px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(235, 112, 38, .18);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(94, 59, 35, .08);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

    .maytrip-office-card::before {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 4px;
        background: linear-gradient(90deg, var(--theme-color), #f5a524);
        content: "";
    }

    .maytrip-office-card:hover {
        border-color: rgba(235, 112, 38, .38);
        box-shadow: 0 18px 42px rgba(94, 59, 35, .13);
        transform: translateY(-4px);
    }

    .maytrip-office-card .office-card-top {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 18px;
    }

    .maytrip-office-card .office-icon {
        display: inline-flex;
        flex: 0 0 52px;
        width: 52px;
        height: 52px;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(235, 112, 38, .2);
        border-radius: 14px;
        color: var(--theme-color);
        background: rgba(235, 112, 38, .09);
        font-size: 21px;
    }

    .maytrip-office-card .office-name span {
        display: block;
        margin-bottom: 3px;
        color: var(--theme-color);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .6px;
        text-transform: uppercase;
    }

    .maytrip-office-card h3 {
        margin: 0;
        color: var(--maytrip-brown);
        font-size: 19px;
        line-height: 1.35;
    }

    .maytrip-office-card .office-address {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding: 15px;
        border-radius: 12px;
        background: #fff9f4;
    }

    .maytrip-office-card .office-address > i {
        margin-top: 4px;
        color: var(--theme-color);
    }

    .maytrip-office-card .office-address p {
        margin: 0;
        color: #5f5147;
        line-height: 1.6;
    }

    .maytrip-office-card .office-actions {
        display: flex;
        gap: 10px;
        margin-top: auto;
        padding-top: 18px;
    }

    .maytrip-office-card .office-actions a {
        display: inline-flex;
        min-height: 42px;
        margin: 0;
        padding: 9px 14px;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: 1px solid rgba(235, 112, 38, .22);
        border-radius: 50px;
        color: var(--maytrip-brown);
        background: #fff;
        font-size: 14px;
        font-weight: 700;
    }

    .maytrip-office-card .office-actions a i {
        margin: 0;
        color: var(--theme-color);
    }

    .maytrip-office-card .office-actions .office-phone {
        color: #fff;
        background: var(--theme-color);
    }

    .maytrip-office-card .office-actions .office-phone i {
        color: #fff;
    }

    .maytrip-office-card .office-actions a:hover {
        border-color: var(--theme-color);
        color: #fff;
        background: var(--theme-color);
    }

    .maytrip-office-card .office-actions a:hover i {
        color: #fff;
    }

.maytrip-office-heading .site-title-tagline {
    line-height: 1;
    text-transform: none;
}

.maytrip-office-heading .site-title-tagline i {
    color: #fff !important;
    background: var(--theme-color) !important;
}

.maytrip-office-heading .site-title {
    margin-bottom: 14px;
}

.maytrip-office-heading > p {
    max-width: 820px;
    margin: 0 auto;
    color: #6d625b;
    line-height: 1.7;
    white-space: nowrap;
}

.maytrip-contact-map {
    margin-top: 35px;
}

    .maytrip-contact-map iframe {
        width: 100%;
        height: 460px;
        border: 0;
        border-radius: 16px;
    }

@media (max-width: 991.98px) {
    .maytrip-office-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .maytrip-contact-page {
        padding-top: 45px !important;
    }

        .maytrip-contact-page .site-title {
            font-size: 30px;
        }

    .maytrip-office-grid {
        grid-template-columns: 1fr;
    }

    .maytrip-office-card {
        min-height: 0;
        padding: 22px 20px;
    }

    .maytrip-office-card .office-actions {
        flex-wrap: wrap;
    }

    .maytrip-office-card .office-actions a {
        flex: 1 1 145px;
    }

    .maytrip-office-heading > p {
        white-space: normal;
    }

    .maytrip-contact-map iframe {
        height: 340px;
    }
}

/* Public blog detail: based on the local blog-single template. */
.maytrip-blog-detail {
    padding-top: 75px !important;
}

    .maytrip-blog-detail .blog-single-content {
        overflow: hidden;
        /* border: 1px solid #eee5de; */
        /* border-radius: 18px; */
        /* background: #fff; */
        /* box-shadow: 0 12px 40px rgba(39, 47, 53, .07); */
    }

    .maytrip-blog-detail .blog-thumb-img {
        overflow: hidden;
        width: 100%;
        border-radius: 18px;
        background: #f3eee9;
        text-align: center;
    }

    .maytrip-blog-detail .blog-thumb-img img {
        display: block;
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 620px;
        margin: 0 auto;
        object-fit: contain;
        object-position: center;
    }

    .maytrip-blog-detail .blog-info {
        /* padding: 28px 32px 34px; */
    }

    .maytrip-blog-detail .blog-meta {
        gap: 18px;
        margin-bottom: 22px;
        padding-bottom: 18px;
        border-bottom: 1px solid #eee5de;
    }

    .maytrip-blog-detail .blog-meta-left ul {
        gap: 9px 20px;
    }

    .maytrip-blog-detail .share-link {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 0;
        border: 0;
        color: var(--theme-color);
        background: transparent;
        font-weight: 700;
    }

    .maytrip-blog-detail .blog-details-title {
        margin-bottom: 16px;
        color: #63391f;
        font-size: 28px;
        line-height: 1.3;
    }

.destination-item:hover {
    box-shadow: none;
}

.maytrip-blog-detail .blog-lead {
    margin-bottom: 26px;
    color: #6e625b;
    font-size: 18px;
    line-height: 1.75;
}

.maytrip-blog-detail .blog-post-content {
    color: #534a45;
    font-family: "Roboto", sans-serif !important;
    font-size: 16px;
    line-height: 1.85;
}

/* Nội dung từ trình soạn thảo có thể mang font-family inline khi được dán từ
   Word/website khác. Ép toàn bộ cây nội dung về font chuẩn của website. */
.maytrip-blog-detail .blog-post-content *,
.maytrip-blog-detail .blog-post-content *::before,
.maytrip-blog-detail .blog-post-content *::after {
    font-family: "Roboto", sans-serif !important;
}

    .maytrip-blog-detail .blog-post-content h2,
    .maytrip-blog-detail .blog-post-content h3,
    .maytrip-blog-detail .blog-post-content h4 {
        margin: 30px 0 14px;
        color: #63391f;
        line-height: 1.4;
    }

    .maytrip-blog-detail .blog-post-content p,
    .maytrip-blog-detail .blog-post-content ul,
    .maytrip-blog-detail .blog-post-content ol {
        margin-bottom: 17px;
    }

    .maytrip-blog-detail .blog-post-content ul,
    .maytrip-blog-detail .blog-post-content ol {
        padding-left: 26px;
    }

    .maytrip-blog-detail .blog-post-content ul {
        list-style: disc;
    }

    .maytrip-blog-detail .blog-post-content ol {
        list-style: decimal;
    }

    .maytrip-blog-detail .blog-post-content img {
        display: block;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 620px;
        margin: 12px auto 22px;
        border-radius: 12px;
        object-fit: contain;
        object-position: center;
    }

.maytrip-blog-detail .blog-details-tag {
    display: flex;
    align-items: flex-start;
    gap: 12px 20px;
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid #eee5de;
}

    .maytrip-blog-detail .blog-details-tag h4 {
        flex: 0 0 auto;
        margin: 6px 0 0;
        line-height: 1.4;
    }

    .maytrip-blog-detail .blog-details-tag ul {
        display: flex;
        flex: 1 1 auto;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        min-width: 0;
        margin: 0;
    }

    .maytrip-blog-detail .blog-details-tag li {
        flex: 0 0 auto;
    }

    .maytrip-blog-detail .blog-details-tag a {
        display: inline-block;
        white-space: nowrap;
    }

.maytrip-blog-sidebar {
    position: sticky;
    top: 118px;
}

    .maytrip-blog-sidebar .widget {
        border: 1px solid #eee5de;
        box-shadow: 0 10px 32px rgba(39, 47, 53, .06);
    }

    .maytrip-blog-sidebar .category-list a.active {
        color: var(--theme-color);
        font-weight: 700;
    }

    .maytrip-blog-sidebar .recent-post-img {
        flex: 0 0 85px;
    }

        .maytrip-blog-sidebar .recent-post-img img {
            width: 85px;
            height: 72px;
            object-fit: cover;
        }

    .maytrip-blog-sidebar .recent-post-info h5 a {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        line-height: 1.25;
    }

@media (max-width: 991.98px) {
    .maytrip-blog-sidebar {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .maytrip-blog-detail {
        padding-top: 45px !important;
    }

        .maytrip-blog-detail .blog-info {
            padding: 22px 20px 28px;
        }

        .maytrip-blog-detail .blog-thumb-img {
            border-radius: 12px;
        }

        .maytrip-blog-detail .blog-thumb-img img,
        .maytrip-blog-detail .blog-post-content img {
            max-height: 460px;
        }

        .maytrip-blog-detail .blog-meta {
            align-items: flex-start;
            flex-direction: column;
        }

        .maytrip-service-detail .blog-meta-left,
        .maytrip-service-detail .blog-meta-right {
            width: 100%;
        }

        .maytrip-service-detail .blog-meta-left ul {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: start;
            gap: 12px 20px;
            width: 100%;
        }

        .maytrip-service-detail .blog-meta-left ul li {
            display: flex;
            align-items: flex-start;
            min-width: 0;
            line-height: 1.5;
        }

        .maytrip-service-detail .blog-meta-left ul li:nth-child(3) {
            grid-column: 1 / -1;
        }

        .maytrip-service-detail .blog-meta-left ul li a {
            display: inline;
            overflow-wrap: normal;
            word-break: normal;
        }

        .maytrip-service-detail .blog-meta-left .service-inline-price {
            white-space: nowrap;
        }

        .maytrip-blog-detail .blog-details-title {
            font-size: 27px;
        }

        .maytrip-blog-detail .blog-details-tag {
            gap: 10px;
        }

        .maytrip-blog-detail .blog-details-tag h4 {
            width: 100%;
            margin-top: 0;
        }
}

.reference-price-note {
    display: block;
    margin-top: 8px;
    color: #75665e;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
}
/* Public service catalog */
.service-catalog-area,.service-detail-area{background:#fffaf3}.service-breadcrumb:before{background:rgba(42,27,18,.58)}.service-page-heading{max-width:780px;margin:0 auto 42px;text-align:center}.service-page-heading h2{font-size:42px;color:#643d24;margin:10px 0 14px}.service-page-heading p{font-size:17px;line-height:1.75;color:#6f625a}.service-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:55px}.service-category-card{position:relative;display:block;overflow:hidden;min-height:300px;border-radius:22px;background:#422718;box-shadow:0 18px 45px rgba(75,47,29,.13)}.service-category-image,.service-category-image:after{position:absolute;inset:0}.service-category-image:after{content:"";background:linear-gradient(180deg,rgba(25,14,8,.03),rgba(25,14,8,.86))}.service-category-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.service-category-card:hover img{transform:scale(1.06)}.service-category-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}.service-category-copy small{display:block;color:#ffb36b;text-transform:uppercase;font-weight:700;letter-spacing:.08em}.service-category-copy strong{display:block;font-size:25px;margin:4px 0}.service-category-copy em{display:block;max-width:90%;font-style:normal;line-height:1.5;color:rgba(255,255,255,.84)}.service-category-copy>i{position:absolute;right:0;bottom:2px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#ef7427;color:#fff}.service-section-title{display:flex;justify-content:space-between;align-items:end;margin:15px 0 25px;border-bottom:1px solid #eadfd5;padding-bottom:14px}.service-section-title h2{margin:0;color:#643d24}.service-section-title span{color:#8a6c59}.service-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-article-card{overflow:hidden;border:1px solid #eee1d6;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(73,48,31,.07)}.service-article-image{display:block;height:220px;overflow:hidden}.service-article-image img{width:100%;height:100%;object-fit:cover;transition:.4s}.service-article-card:hover .service-article-image img{transform:scale(1.05)}.service-article-card>div{padding:22px}.service-article-category{font-size:13px;text-transform:uppercase;color:#eb6f26;font-weight:700;letter-spacing:.05em}.service-article-card h3{font-size:21px;line-height:1.35;margin:8px 0}.service-article-card h3 a{color:#653f28}.service-article-card p{color:#74665d;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:79px}.service-article-card footer{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid #eee4dc}.service-article-card footer strong{color:#ea6c22;font-size:18px}.service-article-card footer a{font-weight:700;color:#68422a}.service-empty{text-align:center;padding:60px;border:1px dashed #dbc8b9;border-radius:20px}.service-empty i{font-size:42px;color:#ed742a}.service-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:42px;align-items:start}.service-detail-main{background:#fff;border:1px solid #eee1d6;border-radius:24px;padding:24px}.service-detail-hero{width:100%;height:480px;object-fit:cover;border-radius:18px;margin-bottom:28px}.service-detail-category{color:#ed7128;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.service-detail-main>h1{font-size:40px;color:#603a23;line-height:1.22;margin:10px 0 15px}.service-detail-lead{font-size:19px;color:#716158;line-height:1.7}.service-detail-content{border-top:1px solid #eee2d9;margin-top:25px;padding-top:25px;line-height:1.8;color:#554b45}.service-detail-content h2,.service-detail-content h3{color:#653f28;margin-top:22px}.service-detail-content ul{padding-left:22px}.service-detail-sidebar{position:sticky;top:110px}.service-price-box{padding:30px;border-radius:22px;background:#6b4329;color:#fff;box-shadow:0 18px 45px rgba(73,45,27,.18)}.service-price-box small{color:#ffbd7f;font-weight:700;letter-spacing:.08em}.service-price-box>strong{display:block;font-size:30px;margin:8px 0 12px}.service-price-box p{color:rgba(255,255,255,.8);line-height:1.6}.service-price-box .theme-btn{display:flex;justify-content:center;margin-top:20px}.service-help-box{display:flex;gap:15px;align-items:center;padding:22px;margin-top:18px;border:1px solid #eadccf;border-radius:18px;background:#fff}.service-help-box>i{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#f4e4d5;color:#e96f27;font-size:23px}.service-help-box span,.service-help-box strong{display:block}.service-help-box span{font-size:13px;color:#8c786b}.service-help-box strong{color:#654129}
@media(max-width:991px){.service-category-grid,.service-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail-layout{grid-template-columns:1fr}.service-detail-sidebar{position:static}.service-detail-hero{height:auto;max-height:480px}.service-page-heading h2{font-size:34px}}
@media(max-width:575px){.service-category-grid,.service-article-grid{grid-template-columns:1fr}.service-category-card{min-height:270px}.service-detail-main{padding:14px}.service-detail-main>h1{font-size:29px}.service-section-title{align-items:center}.service-article-image{height:auto;aspect-ratio:16/10}}

/* Service listing/detail intentionally follows the Blog presentation system. */
.maytrip-service-page .service-category-filter{margin-bottom:30px}.maytrip-service-page .service-listing-count{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid #eadfd5;color:#71472d}.maytrip-service-page .service-listing-count strong{font-size:24px}.maytrip-service-page .service-listing-count span{color:#877268}.service-blog-card{height:100%;display:flex;flex-direction:column}.service-blog-card .blog-meta{margin-bottom:0}.service-blog-card .blog-meta ul{justify-content:space-between;width:100%}.service-blog-card .service-card-price{color:#eb6f26!important;font-weight:800}.service-blog-card .blog-info{display:flex;flex:1;flex-direction:column}.service-blog-card .blog-info p{flex:1}.service-blog-card .theme-btn{align-self:flex-start}.maytrip-service-detail .service-price-widget{background:#fff8f1;border:1px solid #f0ded0}.maytrip-service-detail .service-sidebar-price{display:block;color:#e96e27;font-size:23px;line-height:1.25;margin:0 0 12px}.maytrip-service-detail .service-price-widget p{color:#706158;line-height:1.65}.maytrip-service-detail .service-price-widget .theme-btn{display:flex;justify-content:center;margin-top:18px}.maytrip-service-detail .blog-meta-left li:last-child{color:#e96e27;font-weight:700}.main-navigation .dropdown-submenu>a.dropdown-item{cursor:pointer}
.maytrip-service-page .service-page-heading{display:block;max-width:none;margin:0 0 30px;text-align:left}
.service-price-widget .service-request-trigger{width:100%;border:0}
.service-list-actions{display:flex;align-items:center;gap:24px;margin-top:46px;padding:30px 32px;border:1px solid #f0d9c8;border-radius:22px;background:linear-gradient(135deg,#fff8f1 0%,#fff 72%);box-shadow:0 14px 38px rgba(89,54,31,.07)}.service-list-actions-icon{display:grid;flex:0 0 64px;width:64px;height:64px;place-items:center;border-radius:50%;background:#ed7028;color:#fff;font-size:27px;box-shadow:0 10px 24px rgba(237,112,40,.24)}.service-list-actions-copy{flex:1;min-width:0}.service-list-actions-copy>span{display:block;margin-bottom:4px;color:#eb6f26;font-size:12px;font-weight:800;letter-spacing:.12em}.service-list-actions-copy h3{margin:0 0 7px;color:#643d24;font-size:25px;line-height:1.3}.service-list-actions-copy p{margin:0;color:#75675f;line-height:1.6}.service-list-actions-buttons{display:flex;flex:0 0 245px;flex-direction:column;gap:9px}.service-list-actions-buttons .theme-btn{width:100%;text-align:center}.service-list-action-secondary{display:flex;min-height:44px;align-items:center;justify-content:center;color:#765b49;font-size:14px;font-weight:750}.service-list-action-secondary:hover{color:#e86f2a}
.service-request-recap{margin-bottom:22px;padding:18px 20px;border:1px solid #f0ded0;border-radius:16px;background:#fff8f1}
.service-request-recap small{display:block;margin-bottom:5px;color:#887268;font-weight:600}
.service-request-recap h4{margin:0 0 7px;color:#643d24;font-size:20px;line-height:1.35}
.service-request-recap strong{color:#eb6f26;font-size:19px}
.maytrip-service-request-modal .booking-submit{width:100%;margin-top:20px;border:0}
.service-mobile-request{display:none}
@media(max-width:767.98px){
  .service-list-actions{align-items:flex-start;flex-direction:column;padding:24px 20px}.service-list-actions-icon{width:54px;height:54px;flex-basis:54px;font-size:23px}.service-list-actions-copy h3{font-size:23px}.service-list-actions-buttons{flex-basis:auto;width:100%}
  .service-mobile-request{position:fixed;z-index:998;right:14px;bottom:14px;left:14px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 20px;border:0;border-radius:999px;background:#ef7026;color:#fff;font-weight:800;box-shadow:0 12px 34px rgba(94,49,20,.3)}
  .service-mobile-request i{font-size:17px}
  body:has(.service-mobile-request) .footer-area{padding-bottom:78px}
  .maytrip-service-request-modal .modal-dialog{margin:12px}
  .maytrip-service-request-modal .modal-header,.maytrip-service-request-modal .modal-body{padding:20px}
}
@media(max-width:575px){.maytrip-service-page .service-listing-count{align-items:flex-start;gap:5px;flex-direction:column}.maytrip-service-page .service-listing-count strong{font-size:21px}}

/* About labels: keep Font Awesome marks readable on the orange circle. */
.maytrip-about-page .site-title-tagline i,.maytrip-partner-area .site-title-tagline i,.maytrip-gallery-page .site-title-tagline i,.maytrip-gallery-detail .site-title-tagline i{color:#fff!important;text-shadow:0 1px 1px rgba(82,39,14,.22)}
.maytrip-gallery-page .site-heading .site-title-tagline i,.maytrip-gallery-detail .site-heading .site-title-tagline i{background:#ff6b00!important;color:#fff!important}

/* Public Gallery */
.maytrip-gallery-page{background:#fffaf6}.maytrip-gallery-page .site-heading{max-width:820px;margin-right:auto;margin-left:auto}.maytrip-gallery-page .site-heading>p{font-size:17px;line-height:1.75}.gallery-album-card{height:100%;overflow:hidden;border:1px solid #eee0d5;border-radius:20px;background:#fff;box-shadow:0 13px 36px rgba(80,48,28,.08)}.gallery-album-image{position:relative;display:block;height:280px;overflow:hidden}.gallery-album-image:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 60%,rgba(35,20,12,.55))}.gallery-album-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-album-card:hover .gallery-album-image img{transform:scale(1.055)}.gallery-album-image>span{position:absolute;z-index:2;right:16px;bottom:15px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#684128;font-size:13px;font-weight:800}.gallery-album-image>span i{margin-right:6px;color:#ed7027}.gallery-album-info{display:flex;flex-direction:column;min-height:285px;padding:24px}.gallery-album-meta{color:#7c6c62;font-size:14px}.gallery-album-meta i,.gallery-view-count i{margin-right:6px;color:#ed7027}.gallery-album-info h3{margin:8px 0 10px;font-size:22px;line-height:1.35}.gallery-album-info h3 a{color:#684128}.gallery-album-info p{display:-webkit-box;overflow:hidden;flex:1;color:#75685f;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.gallery-album-info .theme-btn{align-self:flex-start;margin-top:16px}.gallery-empty{text-align:center;padding:60px 20px;border:1px dashed #ddcabe;border-radius:20px;background:#fff}.gallery-empty>i{color:#ed7027;font-size:42px}.gallery-empty h3{margin:14px 0 6px;color:#684128}.maytrip-gallery-detail .gallery-view-count{display:inline-flex;align-items:center;color:#75685f;font-weight:600}.maytrip-gallery-detail .popup-img{overflow:hidden;border-radius:18px;box-shadow:0 10px 28px rgba(64,42,28,.1)}.maytrip-gallery-detail .popup-img img{transition:transform .4s ease}.maytrip-gallery-detail .popup-img:hover img{transform:scale(1.045)}
@media(max-width:767.98px){.gallery-album-image{height:235px}.gallery-album-info{min-height:0}.maytrip-gallery-page{padding-top:70px!important;padding-bottom:70px!important}}
.public-tour-empty {
  padding: 64px 24px;
  border: 1px solid #eadfce;
  border-radius: 16px;
  background: #fffaf2;
  text-align: center;
}

.public-tour-empty > i {
  display: inline-grid;
  width: 64px;
  height: 64px;
  margin-bottom: 20px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--theme-color);
  font-size: 26px;
}

.public-tour-empty h3 { margin-bottom: 8px; }
.public-tour-empty p { margin-bottom: 24px; }
