/* =========================================================
   PVM RESPONSIVE MASTER SYSTEM - PHAN VĂN MƯỜI
   Tối ưu hiển thị thích ứng toàn diện trên mọi thiết bị
   Mobile (<480px) | Phablet (480-767px) | Tablet (768-1023px) | Laptop (1024-1279px) | Desktop (>=1280px)
   ========================================================= */

/* 1. NỀN TẢNG CHỐNG TRÀN TOÀN HỆ THỐNG */
html, body {
    overflow-x: clip !important;
    max-width: 100vw !important;
    width: 100% !important;
    -webkit-text-size-adjust: 100%;
}

#wrapper {
    overflow: visible !important;
    max-width: 100% !important;
    width: 100% !important;
}

#main, .content-area, .page-wrapper {
    overflow-x: clip !important;
    max-width: 100% !important;
    width: 100% !important;
}

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

img, video, iframe, embed, object {
    max-width: 100%;
    height: auto;
}

table {
    max-width: 100%;
}

/* Fluid Typography */
.pvm-intro-name, .pvm-hero-name {
    font-size: clamp(26px, 4vw + 1rem, 42px) !important;
}
.pvm-section-title, .pvm-lv-hero-title, .pvm-media-hero-title {
    font-size: clamp(22px, 3vw + 0.8rem, 34px) !important;
}

/* 2. HEADER RESPONSIVE */
@media (max-width: 1100px) {
    .pvm-hdr-nav-list {
        gap: 16px !important;
    }
    .pvm-hdr-nav-item > a {
        font-size: 13.5px !important;
    }
    .pvm-action-text {
        display: none !important;
    }
    .pvm-hdr-divider {
        display: none !important;
    }
    .pvm-hdr-actions {
        gap: 12px !important;
    }
}

@media (max-width: 860px) {
    .pvm-header-nav-bar {
        display: none !important;
    }
    .pvm-hdr-dots-toggle {
        display: inline-flex !important;
    }
    .pvm-topbar {
        display: none !important;
    }
    .pvm-hdr-main-row {
        padding: 10px 0 !important;
        gap: 12px !important;
    }
    .pvm-hdr-logo img {
        max-height: 48px !important;
        width: auto !important;
    }
    .pvm-hdr-search {
        max-width: none !important;
        flex: 1 1 auto !important;
    }
    .pvm-hdr-search-input {
        height: 40px !important;
        font-size: 13px !important;
        padding-left: 14px !important;
    }
    .pvm-hdr-search-btn {
        width: 40px !important;
        height: 40px !important;
    }
}

@media (max-width: 520px) {
    .pvm-hdr-main-row {
        flex-wrap: wrap !important;
        gap: 8px 10px !important;
    }
    .pvm-hdr-logo {
        flex: 0 0 auto !important;
    }
    .pvm-hdr-logo img {
        max-height: 42px !important;
    }
    .pvm-hdr-actions {
        margin-left: auto !important;
        gap: 8px !important;
    }
    .pvm-hdr-search {
        order: 3 !important;
        width: 100% !important;
        flex: 0 0 100% !important;
        margin-top: 4px !important;
    }
    .pvm-hdr-hotline-item {
        display: none !important;
    }
}

/* 3. TRANG CHỦ (HOME) RESPONSIVE */
@media (max-width: 992px) {
    .pvm-hero-section, .pvm-home-hero {
        flex-direction: column !important;
        text-align: center !important;
        gap: 28px !important;
        padding: 40px 16px !important;
    }
    .pvm-hero-content {
        max-width: 100% !important;
    }
    .pvm-hero-image-wrap {
        max-width: 380px !important;
        margin: 0 auto !important;
    }
    .pvm-fields-grid, .pvm-home-fields {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

@media (max-width: 580px) {
    .pvm-fields-grid, .pvm-home-fields {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .pvm-hero-title {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }
    .pvm-hero-subtitle {
        font-size: 14.5px !important;
    }
    .pvm-hero-btns {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .pvm-hero-btns a {
        width: 100% !important;
        justify-content: center !important;
        min-height: 44px !important;
    }
}

/* Lưới sản phẩm trang chủ & trang danh mục */
@media (max-width: 1024px) {
    .pvm-products-grid, .products.row {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 16px !important;
    }
}

@media (max-width: 767px) {
    .pvm-products-grid, .products.row {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
}

@media (max-width: 350px) {
    .pvm-products-grid, .products.row {
        grid-template-columns: 1fr !important;
    }
}

/* Card Brand Pill & Mobile Card Refinement */
.pvm-card-brand-pill {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    background: #FAF5EA !important;
    color: #9B7018 !important;
    border: 1px solid #EADDC7 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    padding: 2px 8px !important;
    border-radius: 12px !important;
    letter-spacing: 0.5px !important;
    z-index: 3 !important;
    pointer-events: none !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04) !important;
}

@media (max-width: 768px) {
    .pvm-card-specs-list,
    .pvm-home-card .pvm-card-specs-list {
        display: none !important;
    }
    .pvm-home-card .box-image {
        padding: 8px !important;
        height: 140px !important;
    }
    .pvm-home-card .box-image img {
        max-height: 120px !important;
    }
    .pvm-home-card .box-text {
        padding: 8px 8px 12px !important;
    }
    .pvm-home-card .title-wrapper {
        min-height: 48px !important;
        height: auto !important;
        margin-bottom: 4px !important;
    }
    .pvm-home-card .product-title,
    .pvm-home-card .product-title a {
        font-size: 12px !important;
        line-height: 1.35 !important;
        min-height: 34px !important;
    }
    .pvm-home-card .product-cat {
        font-size: 10px !important;
        margin-bottom: 2px !important;
    }
    .pvm-btn-add-cart,
    .pvm-btn-add-cart.pvm-btn-centered {
        padding: 8px 2px !important;
        font-size: 10.5px !important;
        letter-spacing: -0.3px !important;
        gap: 3px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .pvm-btn-add-cart i {
        font-size: 12px !important;
        flex-shrink: 0 !important;
    }
    .pvm-btn-add-cart span {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
    }
    .pvm-home-price-wrap {
        margin-bottom: 8px !important;
        min-height: 20px !important;
    }
    .pvm-card-price-quote {
        font-size: 13px !important;
    }
}

/* 4. TRANG CHI TIẾT SẢN PHẨM (PDP) RESPONSIVE */
@media (max-width: 992px) {
    .pvm-pdp-hero {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
    .pvm-gallery-card {
        max-width: 520px !important;
        margin: 0 auto !important;
        width: 100% !important;
    }
}

@media (max-width: 580px) {
    .pvm-pdp-container {
        padding: 0 14px !important;
    }
    .pvm-pdp-title {
        font-size: 20px !important;
        line-height: 1.35 !important;
    }
    .pvm-contact-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
    .pvm-trust-strip {
        flex-direction: column !important;
        gap: 8px !important;
        align-items: flex-start !important;
    }
    .pvm-specs-card-header, .pvm-specs-card-body {
        padding: 14px !important;
    }
    .pvm-clean-table td {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
    .pvm-btn-add-quote, .pvm-btn-call-fast {
        min-height: 44px !important;
    }
}

/* 5. TRANG CỬA HÀNG (SHOP) RESPONSIVE */
@media (max-width: 992px) {
    .pvm-shop-layout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .pvm-shop-sidebar {
        margin-bottom: 20px !important;
    }
    .pvm-shop-filter-box {
        border-radius: 12px !important;
    }
}

@media (max-width: 849px) {
    .category-page-row .col.large-9 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
    .pvm-mob-cat-chips-bar {
        display: flex !important;
    }
}

/* 6. TRANG LIÊN HỆ (CONTACT) RESPONSIVE */
@media (max-width: 992px) {
    .pvm-cinfo-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .pvm-cpage-main-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .pvm-map-frame-box {
        min-height: 320px !important;
    }
}

@media (max-width: 580px) {
    .pvm-form-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .pvm-cinfo-actions {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .pvm-cinfo-btn {
        width: 100% !important;
        min-height: 44px !important;
    }
}

/* 7. FOOTER RESPONSIVE */
@media (max-width: 1024px) {
    .pvm-footer-grid, .mbws_footer-main .row:not(.pvm-footer-bottom-row):not(#row-857326431) {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 28px 20px !important;
    }
}

@media (max-width: 600px) {
    .pvm-footer-grid, .mbws_footer-main .row:not(.pvm-footer-bottom-row):not(#row-857326431) {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .pvm-footer-brand-title {
        font-size: 20px !important;
    }
    .pvm-footer-social-row {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .pvm-footer-bottom {
        flex-direction: column !important;
        text-align: center !important;
        gap: 12px !important;
    }
}

/* 8. GIỎ HÀNG / DRAWER MOBILE */
@media (max-width: 480px) {
    .pvm-cart-drawer {
        width: 100% !important;
        max-width: 100vw !important;
    }
    .pvm-cart-item {
        gap: 10px !important;
    }
    .pvm-cart-item-img {
        width: 54px !important;
        height: 54px !important;
    }
    .pvm-cart-drawer-checkout {
        min-height: 46px !important;
    }
}

/* 9. SAFE AREA INSETS (Dành cho iPhone có tai thỏ / Dynamic Island) */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .pvm-bottom-mobile-bar {
        padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    }
    .pvm-cart-drawer-foot {
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
}

/* ========================================================
   10. STICKY HEADER & SMOOTH SCROLL TRANSITION
   ======================================================== */
.pvm-header-spacer {
    display: none;
    width: 100%;
}

header.pvm-custom-header,
.pvm-custom-header,
#wrapper header.pvm-custom-header,
body header.pvm-custom-header {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    z-index: 99999 !important;
    transition: box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

header.pvm-custom-header.pvm-header-sticky,
#wrapper header.pvm-custom-header.pvm-header-sticky,
body header.pvm-custom-header.pvm-header-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    box-shadow: 0 8px 30px rgba(45, 39, 33, 0.12) !important;
    animation: pvmStickySlideDown 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

#wrapper header.pvm-custom-header.pvm-header-sticky .pvm-hdr-main-card,
body header.pvm-custom-header.pvm-header-sticky .pvm-hdr-main-card,
header.pvm-custom-header.pvm-header-sticky .pvm-hdr-main-card {
    min-height: 66px !important;
    height: 66px !important;
    background-color: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
}

#wrapper header.pvm-custom-header.pvm-header-sticky img.pvm-hdr-logo-img,
body header.pvm-custom-header.pvm-header-sticky img.pvm-hdr-logo-img,
header.pvm-custom-header.pvm-header-sticky img.pvm-hdr-logo-img {
    height: 52px !important;
    max-height: 52px !important;
}

#wrapper header.pvm-custom-header.pvm-header-sticky .pvm-hdr-search-form,
body header.pvm-custom-header.pvm-header-sticky .pvm-hdr-search-form,
header.pvm-custom-header.pvm-header-sticky .pvm-hdr-search-form {
    height: 38px !important;
}

#wrapper header.pvm-custom-header.pvm-header-sticky .pvm-hdr-bottom-bar,
body header.pvm-custom-header.pvm-header-sticky .pvm-hdr-bottom-bar,
header.pvm-custom-header.pvm-header-sticky .pvm-hdr-bottom-bar {
    min-height: 42px !important;
    height: 42px !important;
    background-color: rgba(247, 243, 235, 0.96) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 4px 16px rgba(45, 39, 33, 0.06) !important;
}

#wrapper header.pvm-custom-header.pvm-header-sticky ul.pvm-hdr-menu > li > a,
body header.pvm-custom-header.pvm-header-sticky ul.pvm-hdr-menu > li > a,
header.pvm-custom-header.pvm-header-sticky ul.pvm-hdr-menu > li > a {
    padding: 10px 6px !important;
}

#wrapper ul.pvm-hdr-menu, body ul.pvm-hdr-menu, .pvm-hdr-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}

/* Accordion Danh mục Mobile - Đồng bộ ngang hàng với các mục menu khác */
.pvm-mob-cat-group {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pvm-mob-cat-toggle {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #2D2721 !important;
    cursor: pointer !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

.pvm-mob-cat-toggle:hover,
.pvm-mob-cat-group.active > .pvm-mob-cat-toggle {
    background: #FAF5EA !important;
    color: #C49A3E !important;
}

.pvm-mob-cat-toggle a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    color: inherit !important;
    flex-grow: 1 !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.pvm-mob-cat-toggle a i {
    font-size: 20px !important;
    color: #C49A3E !important;
    width: 20px !important;
    text-align: center !important;
}

@media (max-width: 768px) {
    #wrapper header.pvm-custom-header.pvm-header-sticky .pvm-hdr-main-card,
    body header.pvm-custom-header.pvm-header-sticky .pvm-hdr-main-card,
    header.pvm-custom-header.pvm-header-sticky .pvm-hdr-main-card {
        min-height: 54px !important;
        height: auto !important;
        padding: 6px 0 !important;
    }
    #wrapper header.pvm-custom-header.pvm-header-sticky img.pvm-hdr-logo-img,
    body header.pvm-custom-header.pvm-header-sticky img.pvm-hdr-logo-img,
    header.pvm-custom-header.pvm-header-sticky img.pvm-hdr-logo-img {
        height: 38px !important;
        max-height: 38px !important;
    }
}
