
/* KCThanhHoa layout polish final 202606022255
   Sửa đúng class thật:
   - .site-header-sticky / .main-menu-wrap
   - main.site-shell.page-with-sidebars
   - .footer-main
*/

/* Giữ nền ảnh toàn trang từ kc-background-fixed.css, không ép body trắng */
html, body {
    min-height:100% !important;
}

/* Header/menu không tạo khoảng hở phía dưới */
.site-header-sticky,
.site-header-sticky .topbar,
.site-header-sticky .topbar-promo-banner-wrap,
.site-header-sticky .main-menu-wrap {
    margin-bottom:0 !important;
}

.site-header-sticky .main-menu-wrap,
.site-header-sticky .main-menu-wrap > .site-shell,
.site-header-sticky .main-menu-wrap .main-menu-shell {
    background:#275b9d !important;
    border-bottom:0 !important;
}

/* Nền trắng thân trang: dóng đúng bằng khung menu/header */
main.site-shell,
main.site-shell.page-with-sidebars {
    width:var(--kc-body-width, 1200px) !important;
    max-width:calc(100vw - var(--kc-body-gutter, 24px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:12px !important;
    padding-bottom:24px !important;
    background:#ffffff !important;
    box-sizing:border-box !important;
    box-shadow:0 0 0 1px #e3e8ef !important;
    overflow:hidden !important;
}

/* Các khối con không được làm trong suốt nền tổng thể nữa */
main.site-shell .content-center,
main.site-shell .home-layout-stage,
main.site-shell .home-zone-rich,
main.site-shell .home-media-section,
main.site-shell .home-ecommerce-section,
main.site-shell .sidebar-left,
main.site-shell .sidebar-right,
main.site-shell .home-sidebar,
main.site-shell .menu-bottom-wrap {
    background:#ffffff !important;
}

/* Footer: cùng màu menu ngang, cùng chiều rộng khung menu, không còn trong suốt */
.footer-main {
    width:var(--kc-body-width, 1200px) !important;
    max-width:calc(100vw - var(--kc-body-gutter, 24px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding:24px 0 !important;
    background:#275b9d !important;
    color:#ffffff !important;
    box-sizing:border-box !important;
    box-shadow:0 0 0 1px #e3e8ef !important;
    overflow:hidden !important;
}

.footer-main,
.footer-main h1,
.footer-main h2,
.footer-main h3,
.footer-main h4,
.footer-main div,
.footer-main p,
.footer-main span,
.footer-main li,
.footer-main a {
    color:#ffffff !important;
}

.footer-main > .site-shell,
.footer-main .footer-cols {
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:14px !important;
    padding-right:14px !important;
    background:transparent !important;
    box-sizing:border-box !important;
}

/* Loader trang chủ: fixed thật sự, không chiếm layout, không kéo dài trang */
.kc-home-loader {
    display:none !important;
}

html.kc-home-is-loading body {
    overflow:hidden !important;
}

html.kc-home-is-loading .kc-home-loader {
    position:fixed !important;
    inset:0 !important;
    z-index:2147483000 !important;
    display:block !important;
    background:rgba(246,247,249,.96) !important;
    padding:18px 12px !important;
    box-sizing:border-box !important;
    min-height:0 !important;
    height:100vh !important;
    max-height:100vh !important;
    overflow:hidden !important;
}

html:not(.kc-home-is-loading) .kc-home-loader,
.kc-home-loader.is-hiding {
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
}

.kc-home-loader__shell {
    width:min(var(--kc-body-width, 1200px), calc(100vw - 24px)) !important;
    height:calc(100vh - 36px) !important;
    margin:0 auto !important;
    background:#ffffff !important;
    border-radius:16px !important;
    box-shadow:0 18px 55px rgba(15,23,42,.16) !important;
    overflow:hidden !important;
}

/* Skeleton động rõ như Facebook */
.kc-skeleton,
.kc-home-loader__topbar span {
    position:relative !important;
    overflow:hidden !important;
    background-color:#e9edf3 !important;
    background-image:linear-gradient(90deg,#e9edf3 0%,#f8fafc 45%,#e9edf3 90%) !important;
    background-size:260% 100% !important;
    animation:kcSkeletonMoveFinal 1.05s ease-in-out infinite !important;
}

.kc-skeleton::after {
    display:none !important;
    content:none !important;
}

@keyframes kcSkeletonMoveFinal {
    0% { background-position:120% 0; }
    100% { background-position:-120% 0; }
}

@media (max-width: 768px) {
    main.site-shell,
    main.site-shell.page-with-sidebars,
    .footer-main {
        max-width:100vw !important;
        width:100vw !important;
    }

    html.kc-home-is-loading .kc-home-loader {
        padding:0 !important;
    }

    .kc-home-loader__shell {
        width:100vw !important;
        height:100vh !important;
        border-radius:0 !important;
    }
}
