/* 
Theme Name: Labvantage Custom
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Keep the complete navigation visible while the page scrolls. */
.elementor-location-header,
#site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #fff;
}
body.admin-bar .elementor-location-header,
body.admin-bar #site-header {
    top: 32px;
}
@media (max-width: 782px) {
    body.admin-bar .elementor-location-header,
    body.admin-bar #site-header { top: 46px; }
}

/* Footer layout based on the LabVantage Chinese site. */
.lv-footer { background:#003e5f; color:#fff; padding:55px 20px 25px; }
.lv-footer-inner { max-width:1140px; margin:auto; }
.lv-footer-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; }
.lv-footer-heading p { max-width:560px; margin:0; font-size:23px; font-weight:600; line-height:1.35; }
.lv-footer-heading img { width:300px; max-width:100%; height:auto; }
.lv-footer a { color:#fff; }
.lv-footer-nav { display:flex; flex-wrap:wrap; margin:38px 0 30px; gap:10px 0; }
.lv-footer-nav a { font-size:14px; font-weight:600; padding:0 15px; border-right:1px solid #fff; line-height:24px; }
.lv-footer-nav a:first-child { padding-left:0; }
.lv-footer-nav a:last-child { border:0; }
.lv-footer-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; }
.lv-awards { display:flex; align-items:center; gap:15px; min-width:0; }
.lv-awards img { width:146px; height:auto; }
.lv-awards strong { font-size:19px; line-height:1.5; max-width:210px; }
.lv-footer-meta { flex:0 0 255px; text-align:right; font-size:12px; }
.lv-footer-meta p { margin:15px 0 0; }
.lv-footer-meta p a { text-decoration:underline; }
.lv-social { display:flex; justify-content:flex-end; gap:5px; }
.lv-social a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:4px; background:white; color:#003e5f; font-size:25px; font-weight:700; text-decoration:none; }
@media(max-width:1000px) { .lv-footer-bottom { flex-wrap:wrap; } .lv-awards { flex-wrap:wrap; } .lv-footer-meta { flex-basis:100%; } }
@media(max-width:767px) { .lv-footer { padding:40px 20px; } .lv-footer-heading { flex-direction:column; align-items:center; text-align:center; } .lv-footer-heading p { font-size:20px; } .lv-footer-nav { justify-content:center; } .lv-footer-nav a:first-child { padding-left:15px; } .lv-awards { justify-content:center; } .lv-awards img { width:calc(25% - 12px); min-width:65px; max-width:146px; } .lv-awards strong { text-align:center; max-width:none; width:100%; } .lv-footer-meta { text-align:center; } .lv-social { justify-content:center; } }

/* The Turbo footer builder hides theme footer elements and injects its own footer. */
body.tahefobu-hide-theme-footer footer.lv-footer { display: block !important; }
body.tahefobu-hide-theme-footer .turbo-footer-template { display: none !important; }

.lv-social-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:4px; background:#fff; }

/* Keep the Turbo header visible and opaque throughout scrolling. */
body #tahefobu-header.turbo-header-template {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999;
    width: 100%;
    background: #fff;
}
body #tahefobu-header .she-header-yes {
    position: relative !important;
    top: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #fff !important;
}
body.admin-bar #tahefobu-header.turbo-header-template { top: 32px !important; }
@media (max-width: 782px) {
    body.admin-bar #tahefobu-header.turbo-header-template { top: 46px !important; }
}

/* Draw submenu carets without relying on an unloaded icon font. */
#tahefobu-header .tahefobu-sub-icon::before {
    content: "" !important;
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    vertical-align: middle;
}

/* Allow long submenu labels to wrap within the dropdown. */
#tahefobu-header .tahefobu-sub-menu .tahefobu-sub-menu-item {
    white-space: normal !important;
    overflow-wrap: anywhere;
    height: auto;
    line-height: 1.5;
}

/* Header utility links, aligned above the main navigation. */
#tahefobu-header .e-con-inner { position: relative; }
.lv-header-utilities[hidden] { display:none; }
#tahefobu-header .lv-header-utilities { position:absolute; top:12px; right:10px; display:flex; align-items:center; gap:20px; z-index:10; font-size:14px; }
.lv-header-utilities a, .lv-header-utilities summary { color:#777; text-decoration:none; cursor:pointer; }
.lv-header-utilities .lv-header-demo { padding:8px 20px; border:2px solid #004061; border-radius:24px; background:#00baf2; color:#003e5f; font-weight:600; }
.lv-header-utilities details { position:relative; }
.lv-header-utilities summary { list-style:none; }
.lv-header-utilities summary::-webkit-details-marker { display:none; }
.lv-header-language div, .lv-header-search form { position:absolute; top:calc(100% + 10px); right:0; background:#fff; padding:12px; box-shadow:0 3px 12px #0003; z-index:20; }
.lv-header-language div a { display:block; padding:6px 12px; white-space:nowrap; }
.lv-header-search { border-left:1px solid #888; padding-left:12px; }
.lv-header-search svg { display:block; width:21px; height:21px; stroke:#00b6ee; stroke-width:2.5; fill:none; }
.lv-header-search form { display:flex; gap:6px; width:280px; }
.lv-header-search form label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.lv-header-search input { min-width:0; width:100%; }
.lv-header-search button { padding:6px 10px; white-space:nowrap; }
@media(max-width:767px) {
    #tahefobu-header .lv-header-utilities { position:relative; top:auto; right:auto; flex-wrap:wrap; justify-content:center; gap:12px; padding:8px 0; }
}

/* The news page contains a legacy footer inside its Elementor content. */
body.page-id-419 .elementor-element-6c54d558 { display: none; }

body.page-id-418 .elementor-element-3798106a { display: none; }

/* Footer links stay white in all normal and visited states. */
body .lv-footer a, body .lv-footer a:visited, body .lv-footer a:hover, body .lv-footer a:focus { color: #fff !important; }

.lv-social-qr { position:relative; }
.lv-social-qr summary { cursor:pointer; list-style:none; }
.lv-social-qr summary::-webkit-details-marker { display:none; }
.lv-qr-panel { position:absolute; bottom:calc(100% + 10px); right:0; width:180px; padding:8px; background:#fff; box-shadow:0 3px 15px #0004; z-index:20; }
.lv-qr-panel img { display:block; width:100%; height:auto; }

/* Desktop dropdowns use two columns; long labels can wrap. */
@media (min-width: 768px) {
    #tahefobu-header .tahefobu-nav-menu-horizontal .tahefobu-nav-menu > li > .tahefobu-sub-menu {
        width: 420px;
        max-width: calc(100vw - 30px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #tahefobu-header .tahefobu-nav-menu-horizontal .tahefobu-nav-menu > li:hover > .tahefobu-sub-menu,
    #tahefobu-header .tahefobu-nav-menu-horizontal .tahefobu-nav-menu > li:focus-within > .tahefobu-sub-menu {
        display: grid;
    }
    #tahefobu-header .tahefobu-nav-menu-horizontal .tahefobu-sub-menu > li { min-width: 0; }
}
@media (min-width: 768px) {
    #tahefobu-header .tahefobu-nav-menu-horizontal .tahefobu-nav-menu > li:nth-last-child(-n+2) > .tahefobu-sub-menu { left: auto; right: 0; }
}
