/*
===============================================================
 #CUSTOM CSS
- Please do not edit this file. This file is generated from admin area.
- Every changes here will be overwritten by theme
===============================================================*/
    /* body-typography 
=========================*/
body{ font-family:'Be Vietnam Pro'; } 
/* header-logo-width 
=========================*/
.aux-logo-header .aux-logo-anchor{ max-width:80px; }
/* header-logo-max-height-type 
=========================*/
.aux-logo-header .aux-logo-anchor > img { max-height:85px; }
/* site-frame-background-color 
=========================*/
@media screen and (min-width: 700px) { .aux-framed .aux-side-frames, body.aux-framed:after, .aux-framed .aux-side-frames:before, .aux-framed .aux-side-frames:after {background-color:#111111;}}
/* sticky-header-color 
=========================*/
.aux-elementor-header.aux-sticky .elementor-section-wrap > .elementor-section, .aux-elementor-header.aux-sticky [data-elementor-type="header"] > .elementor-section { background-color:#FFFFFF !important; }
/* site-header-container-scaled-height 
=========================*/
.aux-top-sticky .site-header-section.aux-sticky .aux-fill .aux-menu-depth-0 > .aux-item-content, .aux-top-sticky .site-header-section.aux-sticky .aux-header-elements,.aux-elementor-header.aux-sticky [data-elementor-type="header"] > .elementor-section > .elementor-container,.aux-elementor-header.aux-sticky .elementor-section-wrap > .elementor-section > .elementor-container { min-height:80px; }
/* site-header-container-height 
=========================*/
.site-header-section .aux-header-elements:not(.aux-vertical-menu-elements), .site-header-section .aux-fill .aux-menu-depth-0 > .aux-item-content { height:85px; }
/* site-transparent-header-bgcolor 
=========================*/
.site-header-section { background-color:#FFFFFF; }
/* site-vertical-menu-background-color 
=========================*/
.aux-vertical-menu-side { background-color:#FFF; }
/* site-header-navigation-item-height 
=========================*/
.site-header-section .aux-middle .aux-menu-depth-0 > .aux-item-content { height:60px; }
/* site-mobile-header-toggle-button-color 
=========================*/
.site-header-section .aux-header .aux-burger:before, .site-header-section .aux-header .aux-burger:after, .site-header-section .aux-header .aux-burger .mid-line { border-color:#3d3d3d; }
/* site-menu-full-screen-background-color 
=========================*/
#fs-menu-search:before { background-color:rgba(255, 255, 255, 0.95); }
/* site-top-header-background-color 
=========================*/
#top-header {background-color:#FFFFFF;}
/* blog-post-like-icon-size 
=========================*/
.single-post .wp_ulike_general_class .wp_ulike_btn:before { font-size:25px; }
/* blog-post-share-button-icon-size 
=========================*/
.single-post .aux-single-post-share span::before { font-size:25px; }
/* post-title-bar-overlay-pattern-opacity 
=========================*/
.single-post .aux-overlay-bg-hash::before { opacity:0.15; }
/* page-title-bar-overlay-pattern-opacity 
=========================*/
.page .aux-overlay-bg-hash::before { opacity:0.5; }
/* subfooter-bar-layout-bg-color 
=========================*/
.aux-subfooter-bar { background-color:#fafafa; }
/* subfooter-bar-top-border-color 
=========================*/
.aux-subfooter-bar { border-top:1px solid #EAEAEA; }
/* subfooter-layout-bg-image-position 
=========================*/
.aux-subfooter {background-position:center center;}
/* subfooter-layout-bg-image-size 
=========================*/
.aux-subfooter {background-size:cover;}
/* subfooter-layout-bg-image-repeat 
=========================*/
.aux-subfooter {background-repeat:no-repeat;}
/* subfooter-top-border-color 
=========================*/
.aux-subfooter { border-top:1px solid #EAEAEA; }
/* site-footer-bg-color 
=========================*/
.aux-site-footer {background-color:#1A1A1A;}
/* footer-top-border-color 
=========================*/
.aux-site-footer {border-top:1px solid #EAEAEA;}
/* footer-top-border-width 
=========================*/
.aux-site-footer { border-top-width:1px; }
/* site-secondary-logo-max-height 
=========================*/
.aux-logo-footer .aux-logo-anchor img { max-height:50px; }
/* portfolio-single-share-button-icon-size 
=========================*/
.single-portfolio .aux-single-portfolio-share span::before { font-size:10px; }
/* portfolio-single-like-icon-size 
=========================*/
.single-portfolio .wp_ulike_general_class button::before { font-size:10px; }
/* portfolio-title-bar-overlay-pattern-opacity 
=========================*/
.single-portfolio .aux-overlay-bg-hash::before { opacity:0.5; }
/* portfolio-classic-entry-box-background-color 
=========================*/
.post-type-archive-portfolio .aux-entry-boxed .entry-main { background-color:#FFFFFF; }
/* portfolio-classic-entry-box-border-color 
=========================*/
.post-type-archive-portfolio .aux-entry-boxed .entry-main { border-color:#EAEAEA !important; }
/* portfolio-land-side-background-color 
=========================*/
.post-type-archive-portfolio .aux-item-land .aux-land-side { background-color:#FFFFFF; }
/* portfolio-land-side-border-color 
=========================*/
.post-type-archive-portfolio .aux-item-land .aux-land-side { border-color:#EAEAEA !important; }
/* general-heading-h1 
=========================*/
body h1, body .aux-h1{ font-family:'Be Vietnam Pro', sans-serif; } 
/* general-heading-h2 
=========================*/
body h2, body .aux-h2{ font-family:'Be Vietnam Pro', sans-serif; } 
/* general-heading-h3 
=========================*/
body h3, body .aux-h3{ font-family:'Be Vietnam Pro', sans-serif; } 
/* general-heading-h4 
=========================*/
body h4, body .aux-h4{ font-family:'Be Vietnam Pro', sans-serif; } 
/* general-heading-h5 
=========================*/
body h5, body .aux-h5{ font-family:'Be Vietnam Pro', sans-serif; } 
/* site-featured-color-1 
=========================*/
:root {--auxin-featured-color-1: #3d3d3d;}
/* site-featured-color-2 
=========================*/
:root {--auxin-featured-color-2: #01a4bc;}
/* site-featured-color-3 
=========================*/
:root {--auxin-featured-color-3: #f8c53e;}
/* site-featured-color-4 
=========================*/
:root {--auxin-featured-color-4: #ffffff;}
/* site-featured-color-5 
=========================*/
:root {--auxin-featured-color-5: #014e8d;}
/* site-featured-color-6 
=========================*/
:root {--auxin-featured-color-6: #ffe9af;}
/* site-featured-color-7 
=========================*/
:root {--auxin-featured-color-7: #363535;}
/* single-post-title-typography 
=========================*/
.single-post .aux-primary .hentry .entry-title{ color:rgb(62, 113, 114); font-size:38px; font-weight:900; line-height:51px; } 
/* single-post-info-typography 
=========================*/
.single-post .hentry .entry-info{ color:rgb(62, 113, 114); font-size:22px; font-weight:400; } 
/* comment-forms-response-title-typo 
=========================*/
.comments-title, .comment-reply-title{ color:rgb(62, 113, 114); font-size:38px; font-weight:bold; } 
/* comment-forms-placeholder-typo 
=========================*/
#commentform input::placeholder, #commentform textarea::placeholder{ font-family:'Be Vietnam Pro', sans-serif; color:rgb(141, 141, 141); font-size:18px; text-transform:none; font-style:normal; } 
/* comment-content-typo 
=========================*/
.aux-commentlist .comment .comment-body{ font-family:'Be Vietnam Pro', sans-serif; color:rgb(61, 61, 61); font-size:18px; font-style:normal; } 
/* comment-author-typo 
=========================*/
.aux-commentlist .comment-author .fn, .aux-commentlist .comment-author .fn a{ color:rgb(61, 61, 61); font-size:20px; text-transform:none; font-style:normal; } 
/* comment-info-typo 
=========================*/
.aux-commentlist .comment .comment-author time a{ color:rgb(141, 141, 141); font-size:16px; } 
@media(max-width: 768px){ .aux-commentlist .comment .comment-author time a{ font-size:14px; }  } 
/* elementor-color-primary 
=========================*/
.aux-customize-preview.elementor-kit-93 {--e-global-color-primary: #014e8d;}
/* elementor-color-secondary 
=========================*/
.aux-customize-preview.elementor-kit-93 {--e-global-color-secondary: #01a4bc;}
/* elementor-color-text 
=========================*/
.aux-customize-preview.elementor-kit-93 {--e-global-color-text: #3D3D3D;}
/* elementor-color-accent 
=========================*/
.aux-customize-preview.elementor-kit-93 {--e-global-color-accent: #F8C53E;}
/* single-post-meta-typography 
=========================*/
.single-post .hentry footer.entry-meta .entry-tax{ color:var(--e-global-color-text); font-size:20px; font-weight:500; text-transform:capitalize; font-style:normal; } 
@media(max-width: 768px){ .single-post .hentry footer.entry-meta .entry-tax{ font-size:17px; }  } 
/* single-post-meta-terms-typography 
=========================*/
.single-post .hentry footer.entry-meta .entry-tax a, .single-post .hentry footer.entry-meta .entry-tax i{ color:var(--e-global-color-text); font-size:20px; font-weight:500; text-transform:capitalize; font-style:normal; text-decoration:none; } 
@media(max-width: 768px){ .single-post .hentry footer.entry-meta .entry-tax a, .single-post .hentry footer.entry-meta .entry-tax i{ font-size:17px; }  } 
/* blog-post-share-button-icon-color 
=========================*/
.single-post .aux-single-post-share span::before { color:var(--e-global-color-primary); }
/* blog-post-like-icon-hover-color 
=========================*/
.single-post .wp_ulike_general_class .wp_ulike_btn:hover:before { color:var(--e-global-color-accent); }
/* blog-post-share-button-icon-hover-color 
=========================*/
.single-post .aux-single-post-share span:hover::before { color:var(--e-global-color-accent); }

/* ===============================================================
   THM Travel Header Logo Animation & Layout
   - Logo mark rotates in as before
   - Brand name 'thmtravel' smoothly fades in at the side
   =============================================================== */
.elementor-element-6eb1c2d {
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
}

.aux-widget-logo {
    opacity: 1 !important;
    visibility: visible !important;
}

.aux-widget-logo .thm-header-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    vertical-align: middle !important;
}

.aux-widget-logo .thm-logo-wrap {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.aux-widget-logo .thm-logo-mark-anim {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform-origin: center center !important;
    animation: thmMarkRotateIn 1.1s cubic-bezier(0.19, 1, 0.22, 1) both !important;
}

.aux-widget-logo .thm-logo-mark-anim img {
    height: 50px !important;
    width: auto !important;
    max-height: 50px !important;
    display: block !important;
}

.aux-widget-logo .thm-logo-text-anim {
    display: inline-flex !important;
    align-items: center !important;
    animation: thmTextFadeIn 1.3s cubic-bezier(0.19, 1, 0.22, 1) 0.3s both !important;
}

.aux-widget-logo .thm-logo-text-anim img {
    height: 28px !important;
    width: auto !important;
    max-height: 28px !important;
    display: block !important;
}

@keyframes thmMarkRotateIn {
    0% {
        opacity: 0;
        transform: rotate3d(0, 0, 1, -200deg) scale(0.65);
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes thmTextFadeIn {
    0% {
        opacity: 0;
        transform: translateX(-15px);
        filter: blur(4px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
        filter: blur(0);
    }
}

/* Mobile header alignment */
@media (max-width: 768px) {
    .aux-widget-logo .thm-logo-mark-anim img {
        height: 38px !important;
        max-height: 38px !important;
    }
    .aux-widget-logo .thm-logo-text-anim img {
        height: 22px !important;
        max-height: 22px !important;
    }
    .aux-widget-logo .thm-logo-wrap {
        gap: 6px !important;
    }
    .elementor-element-b4ab352 > .elementor-widget-wrap {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
    }
    .elementor-element-4bec15f .aux-modern-button {
        padding: 6px 14px !important;
        font-size: 13px !important;
    }
}

/* Ensure footer logo displays cleanly and prevent duplicate logos */
.aux-logo-sticky,
.aux-widget-logo .aux-logo-sticky,
.aux-widget-logo .aux-logo-anchor:not(:first-child) {
    display: none !important;
}

.aux-logo-footer .aux-logo-anchor img,
.elementor-element-8e937df .aux-widget-logo img {
    max-height: 55px !important;
    width: auto !important;
    display: block !important;
}

/* ===============================================================
   Typography: Hạn chế rớt chữ đơn (Prevent orphan/widow words)
   =============================================================== */
h1, h2, h3, h4, h5, h6,
.aux-modern-heading-primary,
.aux-modern-heading-secondary,
.aux-modern-heading-description,
.elementor-heading-title,
.entry-title,
.site-title {
    text-wrap: balance !important;
}

p,
.entry-content p,
.aux-widget-modern-heading p,
.elementor-text-editor p,
.aux-modern-heading-description p {
    text-wrap: pretty !important;
}

/* Tối ưu riêng Hero Heading & Description */
.elementor-element-48c9b19 .aux-modern-heading-primary {
    text-wrap: balance !important;
}

.elementor-element-48c9b19 .aux-modern-heading-description {
    max-width: 1080px !important;
    text-wrap: balance !important;
}

@media (min-width: 1024px) {
    .elementor-element-48c9b19 .aux-modern-heading-description {
        letter-spacing: 2px !important;
        font-size: 32px !important;
        line-height: 52px !important;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    .elementor-element-48c9b19 .aux-modern-heading-description {
        letter-spacing: 1.5px !important;
        font-size: 26px !important;
        line-height: 42px !important;
    }
}

@media (max-width: 767px) {
    .elementor-element-48c9b19 .aux-modern-heading-description {
        letter-spacing: 0.8px !important;
        font-size: 19px !important;
        line-height: 32px !important;
    }
}

/* --- ENFORCE UNIFORM SQUARE ASPECT RATIO & PREVENT STRETCHING --- */
.carousel-destinations .aux-media-hint-frame,
.carousel-destinations .aux-media-image {
    width: 100% !important;
    height: 280px !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
}

.carousel-destinations .aux-media-image img,
.carousel-destinations img.aux-attachment {
    width: 100% !important;
    height: 100% !important;
    max-height: 280px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 14px !important;
    display: block !important;
}

.carousel-destinations .aux-col.aux-mc-item {
    height: auto !important;
}

/* ===============================================================
   THM Travel Tour Cards: Tall Immersive Image + Sleek Compact Info
   =============================================================== */
.elementor-element-17e183e .elementor-widget-wrap.elementor-element-populated,
.elementor-element-8032af8 .elementor-widget-wrap.elementor-element-populated,
.elementor-element-9f8757c .elementor-widget-wrap.elementor-element-populated,
.elementor-element-3c31021 .elementor-widget-wrap.elementor-element-populated {
    padding: 0 0 16px 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background-color: #1291a7 !important;
    box-shadow: 0 10px 25px rgba(18, 145, 167, 0.25) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.elementor-element-17e183e .elementor-widget-wrap:after,
.elementor-element-8032af8 .elementor-widget-wrap:after,
.elementor-element-9f8757c .elementor-widget-wrap:after,
.elementor-element-3c31021 .elementor-widget-wrap:after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* 1. TOUR HERO IMAGE: Taller, takes up the dominant space (65-70% of card) */
.elementor-element-17e183e .elementor-widget-aux_image,
.elementor-element-8032af8 .elementor-widget-aux_image,
.elementor-element-9f8757c .elementor-widget-aux_image,
.elementor-element-3c31021 .elementor-widget-aux_image {
    margin-bottom: 0 !important;
    width: 100% !important;
}

.elementor-element-17e183e .aux-media-image,
.elementor-element-17e183e .aux-media-hint-frame,
.elementor-element-8032af8 .aux-media-image,
.elementor-element-8032af8 .aux-media-hint-frame,
.elementor-element-9f8757c .aux-media-image,
.elementor-element-9f8757c .aux-media-hint-frame,
.elementor-element-3c31021 .aux-media-image,
.elementor-element-3c31021 .aux-media-hint-frame {
    height: 310px !important;
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 14px 14px 0 0 !important;
}

.elementor-element-17e183e .aux-media-image a,
.elementor-element-8032af8 .aux-media-image a,
.elementor-element-9f8757c .aux-media-image a,
.elementor-element-3c31021 .aux-media-image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.elementor-element-17e183e .aux-media-image img,
.elementor-element-8032af8 .aux-media-image img,
.elementor-element-9f8757c .aux-media-image img,
.elementor-element-3c31021 .aux-media-image img {
    height: 310px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 14px 14px 0 0 !important;
    display: block !important;
    transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1) !important;
}

.elementor-column:hover .aux-media-image img {
    transform: scale(1.06) !important;
}

/* 2. HEADING (Title): Remove excess empty padding and margins */
.elementor-element-17e183e .elementor-widget-heading,
.elementor-element-8032af8 .elementor-widget-heading,
.elementor-element-9f8757c .elementor-widget-heading,
.elementor-element-3c31021 .elementor-widget-heading {
    margin-bottom: 4px !important;
}

.elementor-element-17e183e .elementor-widget-heading > .elementor-widget-container,
.elementor-element-8032af8 .elementor-widget-heading > .elementor-widget-container,
.elementor-element-9f8757c .elementor-widget-heading > .elementor-widget-container,
.elementor-element-3c31021 .elementor-widget-heading > .elementor-widget-container {
    padding: 14px 20px 0px 20px !important;
}

.elementor-element-17e183e .elementor-heading-title,
.elementor-element-8032af8 .elementor-heading-title,
.elementor-element-9f8757c .elementor-heading-title,
.elementor-element-3c31021 .elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    min-height: 54px !important;
    margin: 0 !important;
    color: #ffffff !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* 3. STAR RATING: Snug right under title */
.elementor-element-17e183e .elementor-widget-star-rating,
.elementor-element-8032af8 .elementor-widget-star-rating,
.elementor-element-9f8757c .elementor-widget-star-rating,
.elementor-element-3c31021 .elementor-widget-star-rating {
    margin-bottom: 10px !important;
}

.elementor-element-17e183e .elementor-widget-star-rating > .elementor-widget-container,
.elementor-element-8032af8 .elementor-widget-star-rating > .elementor-widget-container,
.elementor-element-9f8757c .elementor-widget-star-rating > .elementor-widget-container,
.elementor-element-3c31021 .elementor-widget-star-rating > .elementor-widget-container {
    padding: 0 20px !important;
}

.elementor-element-17e183e .elementor-star-rating,
.elementor-element-8032af8 .elementor-star-rating,
.elementor-element-9f8757c .elementor-star-rating,
.elementor-element-3c31021 .elementor-star-rating {
    font-size: 13.5px !important;
}

/* 4. PRICE & BUTTON ROW: Compact, elegant, balanced */
.elementor-element-17e183e .elementor-widget-aux_modern_heading,
.elementor-element-8032af8 .elementor-widget-aux_modern_heading,
.elementor-element-9f8757c .elementor-widget-aux_modern_heading,
.elementor-element-3c31021 .elementor-widget-aux_modern_heading {
    margin-bottom: 0 !important;
    float: left !important;
    width: auto !important;
}

.elementor-element-17e183e .elementor-widget-aux_modern_heading > .elementor-widget-container,
.elementor-element-8032af8 .elementor-widget-aux_modern_heading > .elementor-widget-container,
.elementor-element-9f8757c .elementor-widget-aux_modern_heading > .elementor-widget-container,
.elementor-element-3c31021 .elementor-widget-aux_modern_heading > .elementor-widget-container {
    padding: 0 0 0 20px !important;
    margin: 0 !important;
}

.elementor-element-17e183e .aux-modern-heading-secondary,
.elementor-element-8032af8 .aux-modern-heading-secondary,
.elementor-element-9f8757c .aux-modern-heading-secondary,
.elementor-element-3c31021 .aux-modern-heading-secondary {
    font-size: 14px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    line-height: 38px !important;
}

.elementor-element-17e183e .aux-head-before,
.elementor-element-8032af8 .aux-head-before,
.elementor-element-9f8757c .aux-head-before,
.elementor-element-3c31021 .aux-head-before {
    font-size: 13px !important;
    color: #e0f2fe !important;
    font-weight: 500 !important;
}

.elementor-element-17e183e .aux-head-highlight,
.elementor-element-8032af8 .aux-head-highlight,
.elementor-element-9f8757c .aux-head-highlight,
.elementor-element-3c31021 .aux-head-highlight {
    font-size: 18.5px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
}

.elementor-element-17e183e .elementor-widget-aux_modern_button,
.elementor-element-8032af8 .elementor-widget-aux_modern_button,
.elementor-element-9f8757c .elementor-widget-aux_modern_button,
.elementor-element-3c31021 .elementor-widget-aux_modern_button {
    margin-bottom: 0 !important;
    float: right !important;
    width: auto !important;
}

.elementor-element-17e183e .elementor-widget-aux_modern_button > .elementor-widget-container,
.elementor-element-8032af8 .elementor-widget-aux_modern_button > .elementor-widget-container,
.elementor-element-9f8757c .elementor-widget-aux_modern_button > .elementor-widget-container,
.elementor-element-3c31021 .elementor-widget-aux_modern_button > .elementor-widget-container {
    padding: 0 20px 0 0 !important;
    margin: 0 !important;
}

.elementor-element-17e183e .aux-modern-button-wrapper,
.elementor-element-8032af8 .aux-modern-button-wrapper,
.elementor-element-9f8757c .aux-modern-button-wrapper,
.elementor-element-3c31021 .aux-modern-button-wrapper {
    margin: 0 !important;
}

.elementor-element-17e183e .aux-modern-button,
.elementor-element-8032af8 .aux-modern-button,
.elementor-element-9f8757c .aux-modern-button,
.elementor-element-3c31021 .aux-modern-button {
    padding: 8px 24px !important;
    border-radius: 8px !important;
    background-color: #f5b027 !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.elementor-element-17e183e .aux-modern-button .aux-overlay:before,
.elementor-element-8032af8 .aux-modern-button .aux-overlay:before,
.elementor-element-9f8757c .aux-modern-button .aux-overlay:before,
.elementor-element-3c31021 .aux-modern-button .aux-overlay:before {
    background-color: #f5b027 !important;
    border-radius: 8px !important;
}

.elementor-element-17e183e .aux-modern-button:hover,
.elementor-element-8032af8 .aux-modern-button:hover,
.elementor-element-9f8757c .aux-modern-button:hover,
.elementor-element-3c31021 .aux-modern-button:hover,
.elementor-element-17e183e .aux-modern-button:hover .aux-overlay:before,
.elementor-element-8032af8 .aux-modern-button:hover .aux-overlay:before,
.elementor-element-9f8757c .aux-modern-button:hover .aux-overlay:before,
.elementor-element-3c31021 .aux-modern-button:hover .aux-overlay:before {
    background-color: #e09b15 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,0.2) !important;
}

.elementor-element-17e183e .aux-modern-button .aux-text,
.elementor-element-8032af8 .aux-modern-button .aux-text,
.elementor-element-9f8757c .aux-modern-button .aux-text,
.elementor-element-3c31021 .aux-modern-button .aux-text {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    font-family: inherit !important;
}

@media (max-width: 768px) {
    .elementor-element-17e183e .aux-media-image,
    .elementor-element-17e183e .aux-media-hint-frame,
    .elementor-element-17e183e .aux-media-image img,
    .elementor-element-8032af8 .aux-media-image,
    .elementor-element-8032af8 .aux-media-hint-frame,
    .elementor-element-8032af8 .aux-media-image img,
    .elementor-element-9f8757c .aux-media-image,
    .elementor-element-9f8757c .aux-media-hint-frame,
    .elementor-element-9f8757c .aux-media-image img,
    .elementor-element-3c31021 .aux-media-image,
    .elementor-element-3c31021 .aux-media-hint-frame,
    .elementor-element-3c31021 .aux-media-image img {
        height: 250px !important;
    }
}

/* Photo Gallery uniform square images */
.elementor-widget-image-carousel .swiper-slide-inner,
.elementor-widget-image-carousel .swiper-slide-image {
    height: 220px !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
}

/* ===============================================================
   THM Travel 4-Column Balanced Footer
   =============================================================== */
.thm-unified-footer {
    width: 100% !important;
    clear: both !important;
}
.thm-unified-footer a {
    transition: all 0.2s ease !important;
}
.thm-unified-footer a:hover {
    color: #f6c131 !important;
    padding-left: 2px !important;
}
.thm-unified-footer .thm-footer-subscribe button:hover {
    background-color: #e0ac22 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(246, 193, 49, 0.45) !important;
}

@media (max-width: 1024px) {
    .thm-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 30px !important;
    }
}
@media (max-width: 640px) {
    .thm-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
    }
    .thm-footer-grid .thm-footer-col {
        width: 100% !important;
    }
}


/* ==========================================================================
   FLOATING CONTACT BUTTONS (HOTLINE, ZALO, MESSENGER) - SUBTLE WATER RIPPLE
   ========================================================================== */
.thm-contact-widget {
    position: fixed;
    right: 20px;
    bottom: 84px;
    z-index: 999999;
    display: flex;
    flex-direction: column-reverse;
    gap: 14px;
    align-items: center;
}

.aux-goto-top-btn {
    bottom: 18px !important;
    right: 20px !important;
    z-index: 999990 !important;
}

.aux-goto-top-btn .aux-arrow-nav.aux-outline {
    width: 52px !important;
    height: 52px !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 1.5px #64748b inset, 0 4px 12px rgba(15, 23, 42, 0.12) !important;
}

.thm-contact-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    color: #ffffff !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: transform 0.25s ease;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.thm-contact-btn:hover {
    transform: translateY(-2px) scale(1.05);
}

/* Gentle water drop ripple - filled translucent wave behind the solid icon circle (no white ring) */
.thm-water-ripple {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: none !important;
    outline: none !important;
    pointer-events: none;
    z-index: 1;
    transform: translate(-50%, -50%) scale(1);
    opacity: 0;
}

.thm-water-ripple-1 {
    animation: thmWaterDrop 2.8s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}

.thm-water-ripple-2 {
    animation: thmWaterDrop 2.8s cubic-bezier(0.22, 0.61, 0.36, 1) infinite 1.4s;
}

@keyframes thmWaterDrop {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.5;
    }
    70% {
        opacity: 0.18;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.45);
        opacity: 0;
    }
}

/* Specific button styles */
.thm-btn-hotline .thm-contact-icon {
    background: #0072bc;
    box-shadow: 0 4px 12px rgba(0, 114, 188, 0.35);
}
.thm-btn-hotline .thm-water-ripple {
    background: rgba(0, 114, 188, 0.45) !important;
}

.thm-btn-zalo .thm-contact-icon {
    background: #0068ff;
    box-shadow: 0 4px 12px rgba(0, 104, 255, 0.35);
}
.thm-btn-zalo .thm-water-ripple {
    background: rgba(0, 104, 255, 0.45) !important;
}

.thm-btn-mess .thm-contact-icon {
    background: linear-gradient(135deg, #00B2FE 0%, #006AFF 55%, #833ab4 100%);
    box-shadow: 0 4px 12px rgba(0, 106, 255, 0.35);
}
.thm-btn-mess .thm-water-ripple {
    background: rgba(0, 132, 255, 0.45) !important;
}

.thm-contact-icon {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: none !important;
}

.thm-contact-icon svg {
    display: block;
    fill: #ffffff;
    width: 26px !important;
    height: 26px !important;
}

.thm-btn-zalo .thm-contact-icon span {
    font-size: 16px !important;
}

/* Subtle phone ringing notice */
.thm-btn-hotline .thm-contact-icon {
    animation: thmPhoneGentle 4.5s ease-in-out infinite;
}

@keyframes thmPhoneGentle {
    0%, 86%, 100% {
        transform: rotate(0deg);
    }
    88%, 92% {
        transform: rotate(-7deg);
    }
    90%, 94% {
        transform: rotate(7deg);
    }
    96% {
        transform: rotate(0deg);
    }
}

/* Tooltip label on hover */
.thm-contact-label {
    position: absolute;
    right: 62px;
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(6px);
    color: #ffffff;
    font-size: 13px;
    font-weight: 500;
    padding: 5px 12px;
    border-radius: 18px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(8px);
    transition: all 0.2s ease-out;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    pointer-events: none;
    font-family: inherit;
}

.thm-contact-label::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -4px;
    transform: translateY(-50%);
    border-width: 4px 0 4px 4px;
    border-style: solid;
    border-color: transparent transparent transparent rgba(15, 23, 42, 0.9);
}

.thm-contact-btn:hover .thm-contact-label {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

@media (max-width: 768px) {
    .thm-contact-widget {
        right: 14px !important;
        bottom: 82px !important;
        gap: 14px !important;
        transform: none !important;
    }
    .aux-goto-top-btn {
        bottom: 16px !important;
        right: 14px !important;
    }
    .aux-goto-top-btn .aux-arrow-nav.aux-outline {
        width: 52px !important;
        height: 52px !important;
    }
    .thm-contact-btn {
        width: 52px !important;
        height: 52px !important;
    }
    .thm-contact-label {
        display: none;
    }
}
/* ==========================================================================
   ABOUT IMAGE TILT ANIMATION (THAY THẾ ANIMATION PHÓNG TO THÀNH NGHIÊNG ĐỐI LẬP)
   ========================================================================== */
.elementor-87 .elementor-element.elementor-element-21b71ac:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap,
.elementor-87 .elementor-element.elementor-element-21b71ac > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-image: none !important;
}

.elementor-element-21b71ac .elementor-widget-wrap {
    overflow: visible !important;
}

.about-img,
.about-img .elementor-widget-container,
.about-img .widget-container {
    overflow: visible !important;
}

.about-img .aux-media-hint-frame {
    position: relative !important;
    display: block !important;
    max-width: 100% !important;
    overflow: visible !important;
    cursor: pointer;
}

/* Box màu dưới: ban đầu nghiêng sang trái -7deg */
.about-img .aux-media-hint-frame::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #5f988f 0%, #3e7172 100%) !important;
    border-radius: 12px !important;
    z-index: 1 !important;
    transform: rotate(-7deg) !important;
    transform-origin: center center !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.6s ease !important;
    box-shadow: 0 10px 30px rgba(62, 113, 114, 0.28) !important;
    pointer-events: none !important;
}

/* Ảnh trên: ban đầu thẳng 0deg */
.about-img .aux-media-image {
    position: relative !important;
    z-index: 2 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.16) !important;
    transform: rotate(0deg) !important;
    transform-origin: center center !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.6s ease !important;
}

.about-img .aux-media-image img {
    border-radius: 12px !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    /* Bỏ hoàn toàn scale phóng to */
    transform: none !important;
    transition: none !important;
}

/* Override mọi rule scale từ theme hoặc custom */
.elementor-column:hover .about-img .aux-media-image img,
.elementor-element-21b71ac:hover .aux-media-image img,
.about-img:hover .aux-media-image img {
    transform: none !important;
}

/* HOVER STATE: Box màu dưới và ảnh trên nghiêng lại ngược chiều nhau */
.about-img:hover .aux-media-hint-frame::before,
.elementor-element-21b71ac:hover .about-img .aux-media-hint-frame::before {
    transform: rotate(5deg) !important;
    box-shadow: 0 16px 36px rgba(62, 113, 114, 0.38) !important;
}

.about-img:hover .aux-media-image,
.elementor-element-21b71ac:hover .about-img .aux-media-image {
    transform: rotate(-4deg) !important;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.22) !important;
}

/* Hide Read More links globally */
.readmore,
.aux-read-more,
.aux-read-more-text {
    display: none !important;
}

/* Prevent text wrapping on carousel destination/gallery cards */
.thm-dest-card-content {
    left: 12px !important;
    right: 12px !important;
}
.thm-dest-card-badge {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    letter-spacing: -0.15px !important;
}
.thm-dest-card-title {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* ==========================================================================
   STICKY NAVIGATION HEADER (THANH NAV TỒN TẠI CẢ KHI CUỘN - DESKTOP & MOBILE)
   ========================================================================== */
#inner-body,
.aux-full-width #inner-body {
    padding-top: 92px !important;
}

#site-elementor-header,
header.aux-elementor-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    z-index: 99990 !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    transition: box-shadow 0.3s ease, background-color 0.3s ease !important;
    transform: none !important;
}

#site-elementor-header .aux-wrapper,
#site-elementor-header .aux-header,
#site-elementor-header .elementor-element-36b714d,
header.aux-elementor-header [data-elementor-type="header"] > .elementor-section {
    background-color: #ffffff !important;
    width: 100% !important;
}

/* Đảm bảo logo, menu/nút burger và nút Đăng ký luôn hiển thị ngay lập tức trên cả Desktop & Mobile */
#site-elementor-header .elementor-element-6eb1c2d,
#site-elementor-header .elementor-element-5ce17ee,
#site-elementor-header .elementor-element-4bec15f {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
}

#site-elementor-header.thm-is-scrolled,
header.aux-elementor-header.thm-is-scrolled {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1) !important;
}

@media (max-width: 1025px) {
    #inner-body,
    .aux-full-width #inner-body {
        padding-top: 78px !important;
    }
    #site-elementor-header .elementor-element-36b714d,
    header.aux-elementor-header [data-elementor-type="header"] > .elementor-section {
        padding: 12px 20px !important;
    }
    #site-elementor-header .elementor-element-b4ab352 > .elementor-widget-wrap {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
    }
    #site-elementor-header .elementor-element-5ce17ee .aux-burger-box {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 6px !important;
    }
}

@media (max-width: 768px) {
    #inner-body,
    .aux-full-width #inner-body {
        padding-top: 66px !important;
    }
    #site-elementor-header .elementor-element-36b714d,
    header.aux-elementor-header [data-elementor-type="header"] > .elementor-section {
        padding: 10px 14px !important;
    }
    #site-elementor-header .elementor-element-4bec15f > .elementor-widget-container {
        margin: 0 8px 0 0 !important;
    }
}

