/*
 Theme Name:   Govilas Child
 Theme URI:    https://govilas.com
 Description:  Govilas Child Theme
 Author:       Govilas team
 Author URI:   https://govilas.com
 Template:     govilas
 Version:      2.5.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  govilaschild
*/

/* ==========================================================================
   Responsive & Fluid Layout Fixes
   ========================================================================== */

*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

/* Media Elements Responsiveness */
img, video, iframe, embed, object, canvas {
    max-width: 100% !important;
    height: auto;
}

/* Table Responsiveness */
table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}

@media screen and (max-width: 767px) {
    .entry-content table,
    .elementor-widget-container table,
    table:not(.elementor-table) {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
}

/* Elementor & General Grid Layout Fixes */
.elementor-container,
.site-main,
.header-inner,
.footer-inner {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

/* Mobile & Touch Target Accessibility */
@media screen and (max-width: 768px) {
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    .site-navigation-toggle,
    .menu-item a {
        min-height: 44px;
        line-height: 1.5;
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/* Responsive Navigation & Mobile Sticky Header Fixes (Standard Header & Elementor Header 727) */
@media screen and (max-width: 991px) {
    /* Fixed Sticky Header Bar on Scroll (Height 60px & Side Padding 18px) */
    .site-header,
    #site-header,
    header.site-header,
    .site-header.header-stacked,
    .elementor-727,
    .elementor-location-header,
    .elementor-727 .elementor-section-wrap > .elementor-section,
    .elementor-element-5f14f40 {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        padding: 6px 18px !important;
        min-height: 60px !important;
        height: auto !important;
        background-color: #004dc1 !important;
        background: #004dc1 !important;
        box-sizing: border-box !important;
        z-index: 999999 !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
        margin: 0 !important;
    }

    /* Body top padding matched to 60px header height */
    body {
        padding-top: 65px !important;
    }

    /* Remove white space gap above top banner / first section */
    #content,
    .site-content,
    #main,
    .page-id-63 #content,
    .entry-content,
    .elementor-63,
    .elementor-63 > .elementor-section:first-child,
    .elementor-location-header + #content,
    .elementor-location-header + div,
    .elementor-top-section:first-child {
        margin-top: 0 !important;
        //padding-top: 0 !important;
    }


    /* Container & Inner Flex Row (Logo on Left, Nav Toggle on Right) */
    .site-header .header-inner,
    header .header-inner,
    .site-header.header-stacked .header-inner,
    .elementor-727 .elementor-container,
    .elementor-727 .elementor-row,
    .elementor-element-5f14f40 .elementor-container,
    .elementor-element-5f14f40 .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
    }

    /* Left Column (Logo - Larger & Vertically Centered Top & Bottom) */
    .site-header .site-branding,
    #site-header .site-branding,
    .site-branding,
    .site-header.header-stacked .site-branding,
    .elementor-727 .elementor-element-e433aac,
    .elementor-727 .elementor-col-33 {
        width: auto !important;
        max-width: 72% !important;
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        padding: 0 !important;
        float: left !important;
        text-align: left !important;
        flex-grow: 0 !important;
        align-self: center !important;
    }

    .site-header .site-branding img,
    #site-header .site-branding img,
    .site-header .site-logo img,
    .site-header .custom-logo-link img,
    .custom-logo-link img,
    .elementor-727 .elementor-widget-theme-site-logo img,
    .elementor-727 .elementor-image img {
        max-height: 48px !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        display: block !important;
        padding-top: 3px !important;
        padding-bottom: 2px !important;
        margin-top: auto !important;
        margin-bottom: auto !important;
        align-self: center !important;
    }


    /* Hide desktop-only title heading inside header bar on mobile */
    .elementor-727 .ha-gradient-heading,
    .elementor-727 .elementor-element-f6f1c10 {
        display: none !important;
    }

    /* Right Column (Menu Toggle & Dual Button) */
    .site-header .site-navigation-toggle-holder,
    #site-header .site-navigation-toggle-holder,
    .site-header.header-stacked .site-navigation-toggle-holder,
    .site-navigation-toggle-holder,
    .site-header .site-navigation-toggle,
    .site-header .menu-toggle,
    .elementor-727 .elementor-element-32e9f5b,
    .elementor-727 .elementor-col-66 {
        width: auto !important;
        max-width: 30% !important;
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        margin-left: auto !important;
        padding: 0 !important;
        float: right !important;
        flex-grow: 0 !important;
    }

    /* Compact Square Bronze Gold Color (#d4a340) for Mobile Menu Toggle (36px x 36px) */
    .site-navigation-toggle-holder .site-navigation-toggle,
    .site-navigation-toggle,
    .menu-toggle,
    #site-header .site-navigation-toggle,
    .elementor-727 .elementor-menu-toggle,
    .elementor-727 .elementor-widget-nav-menu .elementor-menu-toggle,
    .elementor-menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: rgba(212, 163, 64, 0.18) !important;
        border: 1.5px solid #d4a340 !important;
        color: #d4a340 !important;
        fill: #d4a340 !important;
        border-radius: 4px !important;
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
        padding: 0 !important;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
        cursor: pointer !important;
        margin-left: auto !important;
        box-sizing: border-box !important;
    }

    /* 3 Compact Bronze Gold Horizontal Bars for Mobile Hamburger Icon */
    .elementor-menu-toggle i,
    .site-navigation-toggle-icon {
        display: inline-block !important;
        width: 15px !important;
        height: 2px !important;
        background-color: #d4a340 !important;
        position: relative !important;
        margin: 0 !important;
    }

    .elementor-menu-toggle i::before,
    .elementor-menu-toggle i::after,
    .site-navigation-toggle-icon::before,
    .site-navigation-toggle-icon::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        width: 15px !important;
        height: 2px !important;
        background-color: #d4a340 !important;
    }

    .elementor-menu-toggle i::before,
    .site-navigation-toggle-icon::before {
        top: -5.5px !important;
    }

    .elementor-menu-toggle i::after,
    .site-navigation-toggle-icon::after {
        top: 5.5px !important;
    }


    /* Make parent column & widget wrappers position static so dropdown expands full header width */
    .elementor-727 .elementor-element-32e9f5b,
    .elementor-727 .elementor-col-66,
    .elementor-727 .elementor-column-wrap,
    .elementor-727 .elementor-widget-wrap,
    .elementor-widget-nav-menu,
    .elementor-nav-menu__container {
        position: static !important;
    }

    /* Submenu HIDDEN by default when closed (No gold border, 0px height) */
    .elementor-727 .elementor-nav-menu--dropdown,
    .elementor-nav-menu--dropdown,
    .elementor-nav-menu__container.elementor-nav-menu--dropdown,
    .elementor-widget-nav-menu .elementor-nav-menu--dropdown,
    .site-navigation,
    #site-header .site-navigation {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    /* Submenu SHOWN when toggled open: Solid Opaque Background (#004dc1) & Flush Left 0px Edge-to-Edge */
    .elementor-menu-toggle[aria-expanded="true"] ~ .elementor-nav-menu--dropdown,
    .elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown,
    .elementor-menu-toggle[aria-expanded="true"] + .elementor-nav-menu--dropdown,
    .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
    .site-navigation-toggle[aria-expanded="true"] ~ .site-navigation,
    .site-navigation-toggle.elementor-active ~ .site-navigation,
    .elementor-nav-menu--dropdown.elementor-active,
    .elementor-nav-menu--dropdown.show,
    .site-navigation.elementor-active {
        display: flex !important;
        flex-direction: column !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        overflow: visible !important;
        pointer-events: auto !important;
        position: fixed !important;
        top: 65px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: #004dc1 !important;
        background: #004dc1 !important;
        z-index: 999999 !important;
        box-shadow: 0 12px 35px rgba(0, 0, 0, 0.6) !important;
        border-top: 2px solid #d4a340 !important;
        clear: both !important;
        box-sizing: border-box !important;
        transform: none !important;
    }



    /* Menu Items & Links Full Width Horizontal Lines with Solid Background */
    .elementor-nav-menu--dropdown ul,
    .elementor-nav-menu--dropdown ol,
    .elementor-nav-menu--dropdown .elementor-nav-menu,
    .site-navigation ul.menu {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        box-sizing: border-box !important;
        background-color: #004dc1 !important;
        background: #004dc1 !important;
    }

    .elementor-nav-menu--dropdown li,
    .elementor-nav-menu--dropdown .elementor-nav-menu li,
    .elementor-nav-menu--dropdown .menu-item,
    .site-navigation ul.menu li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        clear: both !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
        background-color: #004dc1 !important;
        background: #004dc1 !important;
    }

    .elementor-nav-menu--dropdown a,
    .elementor-nav-menu--dropdown .elementor-item,
    .elementor-nav-menu--dropdown .elementor-sub-item,
    .elementor-nav-menu--dropdown .menu-item a,
    .site-navigation ul.menu li a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 14px 20px !important;
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        text-decoration: none !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        writing-mode: horizontal-tb !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
        background-color: #004dc1 !important;
        background: #004dc1 !important;
    }

    .elementor-nav-menu--dropdown a:hover,
    .elementor-nav-menu--dropdown a:focus,
    .elementor-nav-menu--dropdown .elementor-item:hover,
    .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
        background-color: #123773 !important;
        background: #123773 !important;
        color: #d4a340 !important;
    }





    /* Menu Items & Links Full Width Horizontal Lines */
    .elementor-nav-menu--dropdown ul,
    .elementor-nav-menu--dropdown ol,
    .elementor-nav-menu--dropdown .elementor-nav-menu,
    .site-navigation ul.menu {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        //padding: 6px 0 !important;
        margin: 0 !important;
        list-style: none !important;
        box-sizing: border-box !important;
    }

    .elementor-nav-menu--dropdown li,
    .elementor-nav-menu--dropdown .elementor-nav-menu li,
    .elementor-nav-menu--dropdown .menu-item,
    .site-navigation ul.menu li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        clear: both !important;
        float: none !important;
        margin: 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }


    .elementor-nav-menu--dropdown a,
    .elementor-nav-menu--dropdown .elementor-item,
    .elementor-nav-menu--dropdown .elementor-sub-item,
    .elementor-nav-menu--dropdown .menu-item a,
    .site-navigation ul.menu li a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 20px !important;
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        text-decoration: none !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        writing-mode: horizontal-tb !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    }

    .elementor-nav-menu--dropdown a:hover,
    .elementor-nav-menu--dropdown a:focus,
    .elementor-nav-menu--dropdown .elementor-item:hover,
    .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
        background-color: rgba(212, 163, 64, 0.25) !important;
        color: #d4a340 !important;
    }
}



/* Screen Breakpoint Specific Tweaks */
@media screen and (max-width: 576px) {
    h1 { font-size: 1.6rem; }
    h2 { font-size: 1.4rem; }
    h3 { font-size: 1.25rem; }
    h4 { font-size: 1.1rem; }
    h5 { font-size: 1rem; }
    h6 { font-size: 0.9rem; }

    body {
        font-size: 0.95rem;
        line-height: 1.6;
    }
    .page-id-27181 > header, .page-id-27181 > footer{display:none;}
}

/* ==========================================================================
   Full Page Responsive Layout Fixes for Mobile (< 767px)
   ========================================================================== */

@media screen and (max-width: 767px) {
    /* 1. Global Viewport & Full-Width Section Reset (2px Ultra-Narrow Side Margins like Homepage) */
    html, body, #page, #content, #primary, #main,
    .site, .site-content, .site-main, .entry-content, .page-content, .post-content,
    article, .type-page, .type-post, .single, .single-post, .page, .container, .container-fluid,
    .elementor-page, .elementor-section:not(.elementor-727), .elementor-top-section:not(.elementor-727),
    .elementor-inner-section, .elementor-container, .elementor-row,
    .elementor-column, .elementor-column-wrap, .elementor-widget-wrap,
    .elementor-widget, .elementor-widget-container,
    .elementor-widget-text-editor, .elementor-text-editor {
        width: 100% !important;
        max-width: 100% !important;
        //padding-left: 2px !important;
        //padding-right: 2px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Paragraphs, Headings, Lists inside detail pages expand 100% full width */
    .entry-content p,
    .page-content p,
    .elementor-text-editor p,
    .elementor-widget-text-editor p,
    .entry-content div,
    .page-content div,
    .elementor-text-editor div,
    .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6,
    .elementor-widget-heading,
    .elementor-widget-heading .elementor-heading-title {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    /* Stack main top-level sections 100% full width */
    .elementor-top-section:not(.elementor-727),
    .elementor-element-f3baac5,
    .elementor-element-66e4dc01,
    .elementor-element-ed52e1e,
    .elementor-element-daa07da {
        width: 100% !important;
        max-width: 100% !important;
        //display: block !important;
        float: none !important;
        clear: both !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }

    .elementor-top-column,
    .elementor-element-84539bf,
    .elementor-element-0cb3969,
    .elementor-element-adb98d0 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        display: block !important;
        float: none !important;
        clear: both !important;
        margin-top: 0 !important;
        margin-bottom: 15px !important;
        padding: 0 !important;
    }

    /* 2. Responsive Headings */
    .elementor-heading-title {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
        line-height: 1.3 !important;
    }

    .elementor-63 .elementor-element.elementor-element-2e31b05 .elementor-heading-title,
    .elementor-63 .elementor-element.elementor-element-4fe5e4c .elementor-heading-title,
    .elementor-63 .elementor-element.elementor-element-150ce6d .elementor-heading-title {
        font-size: 1.3rem !important;
        padding: 0 8px !important;
        margin-bottom: 10px !important;
    }

    /* 3. Quick Access 12 Flip Box Grid (2 Per Row on Mobile) */
    .elementor-element-f3baac5 > .elementor-container,
    .elementor-element-f3baac5 .elementor-container,
    .elementor-element-66e4dc01 > .elementor-container,
    .elementor-element-66e4dc01 .elementor-container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 4px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* Flatten column wrappers on mobile so all 12 flip box items flex together seamlessly */
    .elementor-element-f3baac5 .elementor-column,
    .elementor-element-f3baac5 .elementor-widget-wrap,
    .elementor-element-66e4dc01 .elementor-column,
    .elementor-element-66e4dc01 .elementor-widget-wrap {
        display: contents !important;
    }

    /* Sizing each flip box card to exactly 50% width minus margin with exact 600:307 aspect ratio */
    .elementor-element-f3baac5 .elementor-widget-ha-flip-box,
    .elementor-element-66e4dc01 .elementor-widget-ha-flip-box,
    .elementor-element-84539bf .elementor-widget-ha-flip-box,
    .elementor-widget-ha-flip-box {
        width: calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
        flex: 0 0 calc(50% - 8px) !important;
        display: block !important;
        float: none !important;
        clear: none !important;
        margin: 4px 4px 10px 4px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        vertical-align: top !important;
        aspect-ratio: 600 / 307 !important;
        height: auto !important;
        position: relative !important;
        overflow: hidden !important;
    }

    /* Inner 3D Flip wrappers strictly fill 100% width and height of container */
    .elementor-widget-ha-flip-box .elementor-widget-container,
    .ha-flip-box-container,
    .ha-flip-box-container .ha-flip-box-inner,
    .ha-flip-box-container .ha-flip-box-inner .ha-flip-box-inner-wrapper,
    .ha-flip-box-wrap,
    .ha-flip-box {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    /* Front and Back card faces styling */
    .ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front,
    .ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,
    .ha-flip-box-front,
    .ha-flip-box-back {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-sizing: border-box !important;
        background-size: 100% 100% !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        border-radius: 6px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
        overflow: hidden !important;
    }

    .ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back,
    .ha-flip-box-back {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
    }

    /* Ordering for Mobile Layout (Matching New Desktop Order Left-to-Right, Top-to-Bottom) */
    /* Row 1 */
    .elementor-element-9e32090 { order: 1 !important; }  /* Thông tin nhập học */
    .elementor-element-6faa879 { order: 2 !important; }  /* Lịch sinh hoạt đầu Khóa */
    .elementor-element-accfe05 { order: 3 !important; }  /* Hướng dẫn MS Teams */

    /* Row 2 */
    .elementor-element-f48d3e0 { order: 4 !important; }  /* Bảo hiểm y tế */
    .elementor-element-ef3bba6 { order: 5 !important; }  /* Cổng thông tin sinh viên – Portal */
    .elementor-element-5e7b0ed { order: 6 !important; }  /* Hướng dẫn tạo tài khoản myU */

    /* Row 3 */
    .elementor-element-cf765b5 { order: 7 !important; }  /* Học bổng */
    .elementor-element-d995f08 { order: 8 !important; }  /* Hướng dẫn tải hình ảnh Thẻ SV */
    .elementor-element-1fbad33 { order: 9 !important; }  /* Hướng dẫn Sử dụng email */

    /* Row 4 */
    .elementor-element-5c1c5d1 { order: 10 !important; } /* Những điều Tân sinh viên cần biết */
    .elementor-element-c3286bd { order: 11 !important; } /* Giấy tờ hành chính */
    .elementor-element-bb071b6 { order: 12 !important; } /* Điểm rèn luyện */

    /* Row 5 */
    .elementor-element-7cb52b3 { order: 13 !important; } /* Nhà trọ Xe buýt */
    .elementor-element-0e7c05c { order: 14 !important; } /* Trung tâm Chăm sóc Người học */

    .ha-flip-box-front-inner,
    .ha-flip-box-back-inner,
    .ha-flip-box-front-inner *,
    .ha-flip-box-back-inner *,
    .ha-flip-icon,
    .ha-flip-box-heading {
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .ha-flip-box-front-inner .ha-flip-box-heading,
    .ha-flip-box-back-inner .ha-flip-box-heading-back {
        font-size: 12px !important;
        margin-bottom: 2px !important;
        line-height: 1.2 !important;
    }

    .ha-flip-box-front-inner .ha-text p,
    .ha-flip-box-back-inner .ha-text p {
        font-size: 10px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        line-height: 1.15 !important;
    }

    /* 4. Section "CÁC ĐƠN VỊ HỖ TRỢ" (Maximize Full Screen Content Width & Zero Out Side Margins) */
    .elementor-element-ed52e1e,
    .elementor-element-ed52e1e > .elementor-container,
    .elementor-element-ed52e1e .elementor-container,
    .elementor-element-ed52e1e .elementor-row,
    .elementor-element-ed52e1e .elementor-column,
    .elementor-element-ed52e1e .elementor-column-wrap,
    .elementor-element-ed52e1e .elementor-widget-wrap,
    .elementor-element-ed52e1e .elementor-widget,
    .elementor-element-ed52e1e .elementor-widget-container,
    .elementor-element-ed52e1e .elementor-widget-text-editor,
    .elementor-element-ed52e1e .elementor-text-editor,
    .elementor-element-ed52e1e p,
    .elementor-element-ed52e1e div,
    .elementor-element-0cb3969,
    .elementor-element-adb98d0 {
        width: 100% !important;
        max-width: 100% !important;
        clear: both !important;
        float: none !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
    }

    .elementor-widget-text-editor a,
    .elementor-text-editor a,
    a {
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
        display: inline-block !important;
        max-width: 100% !important;
    }

    .elementor-widget-text-editor ol,
    .elementor-widget-text-editor ul,
    .elementor-text-editor ol,
    .elementor-text-editor ul {
        padding-left: 18px !important;
        margin-left: 0 !important;
        max-width: 100% !important;
    }

    .elementor-widget-text-editor li,
    .elementor-text-editor li {
        margin-bottom: 6px !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    /* 5. 360 Tour & Embed Media Fix */
    iframe,
    embed,
    object,
    video,
    .elementor-widget-html,
    .elementor-widget-video {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 260px !important;
        border: none !important;
    }

    /* 6. Form Fields & Footer Fix */
    form,
    .elementor-form,
    .wpcf7-form,
    select,
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    textarea,
    button,
    input[type="submit"],
    .elementor-field-group {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 6px !important;
        font-size: 13px !important;
    }

    .site-footer,
    .footer-inner,
    .site-footer .copyright {
        padding: 15px 10px !important;
        text-align: center !important;
        word-wrap: break-word !important;
    }
}

.page-id-27181 > header, .page-id-27181 > footer{display:none;}
.elementor-section .elementor-container {position: sticky;}

/* ==========================================================================
   Fix Khoảng Cách Trên Dưới Giữa Các Box Đồng Nhất (Uniform Box Spacing)
   ========================================================================== */

/* Reset margin/padding trên dưới cho các section chứa box */
.elementor-63 .elementor-element.elementor-element-66e4dc01,
.elementor-element-66e4dc01 {
    padding-top: 1.5em !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.elementor-63 .elementor-element.elementor-element-f3baac5,
.elementor-element-f3baac5 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.elementor-element-66e4dc01 .elementor-column,
.elementor-element-66e4dc01 .elementor-column-wrap,
.elementor-element-66e4dc01 .elementor-widget-wrap,
.elementor-element-f3baac5 .elementor-column,
.elementor-element-f3baac5 .elementor-column-wrap,
.elementor-element-f3baac5 .elementor-widget-wrap {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Khoảng cách trên dưới đồng nhất giữa tất cả các box (Desktop >= 768px: 20px) */
@media screen and (min-width: 768px) {
    .elementor-widget-ha-flip-box,
    .elementor-element-66e4dc01 .elementor-widget-ha-flip-box,
    .elementor-element-f3baac5 .elementor-widget-ha-flip-box,
    .tieuchi .elementor-widget-ha-flip-box {
        margin-top: 0 !important;
        margin-bottom: 20px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Khoảng cách trên dưới đồng nhất giữa tất cả các box (Mobile <= 767px: 10px) */
@media screen and (max-width: 767px) {
    .elementor-widget-ha-flip-box,
    .elementor-element-66e4dc01 .elementor-widget-ha-flip-box,
    .elementor-element-f3baac5 .elementor-widget-ha-flip-box,
    .tieuchi .elementor-widget-ha-flip-box {
        margin-top: 0 !important;
        margin-bottom: 10px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

.ha-flip-box-container .ha-flip-box-inner .ha-flip-box-back, .ha-flip-box-container .ha-flip-box-inner .ha-flip-box-front {height: 200px !important;}