/* =========================================================
   THE SOFA FURNITURE
   MOBILE HEADER
   ========================================================= */

@media screen and (max-width: 767.98px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }
	/* Legacy theme fixed-width wrapper */
.wraper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}


    /* ==========================================
       HEADER OUTER CONTAINERS
       ========================================== */

    .mobile-only .section-header,
    .mobile-only .section-header .wraper,
    .mobile-only .section-header .container {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        box-sizing: border-box !important;
    }

    .mobile-only .section-header .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* ==========================================
       HEADER
       ========================================== */

    #mobile-header.site-header-inner {
        display: grid !important;

        grid-template-columns:
            52px
            minmax(0, 1fr)
            52px !important;

        align-items: center !important;

        width: 100% !important;
        max-width: 100% !important;

        min-height: 105px !important;

        margin: 0 !important;
        padding: 8px 18px !important;

        box-sizing: border-box !important;

        flex-wrap: nowrap !important;
        justify-content: initial !important;
    }


    /* ==========================================
       HAMBURGER
       ========================================== */

    #mobile-header > .mobile-menu-toggle-btn {
        grid-column: 1 !important;
        grid-row: 1 !important;

        position: static !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
    }


    /* ==========================================
       LOGO
       ========================================== */

    #mobile-header > .mobile-header-logo {
        grid-column: 2 !important;
        grid-row: 1 !important;

        position: static !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 12px !important;

        transform: none !important;

        opacity: 1 !important;
        visibility: visible !important;

        box-sizing: border-box !important;
    }

    #mobile-header > .mobile-header-logo > a {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        opacity: 1 !important;
        visibility: visible !important;
    }

    #mobile-header .mobile-site-logo {
        display: block !important;

        width: auto !important;
        height: auto !important;

        max-width: 190px !important;
        max-height: 80px !important;

        margin: 0 auto !important;
        padding: 0 !important;

        object-fit: contain !important;

        opacity: 1 !important;
        visibility: visible !important;
    }


    /* ==========================================
       SEARCH
       ========================================== */

    #mobile-header > .mobile-header-search {
        grid-column: 3 !important;
        grid-row: 1 !important;

        position: static !important;

        display: block !important;

        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
    }

    /* Search button */

    #mobile-header #mobile-search-submit {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #222 !important;
        background: transparent !important;

        border: 0 !important;
        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;
    }


    #mobile-header #mobile-search-submit svg {
        display: block !important;

        width: 25px !important;
        height: 25px !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #222 !important;
        fill: currentColor !important;

        opacity: 1 !important;
        visibility: visible !important;
    }

	/* ==========================================
   MOBILE SEARCH PANEL
   ========================================== */

#mobile-header > .mobile-search-panel {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;

    position: relative !important;

    display: none;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 8px 0 4px !important;

    box-sizing: border-box !important;
}


/* Khi click icon search */
#mobile-header.mobile-search-open > .mobile-search-panel {
    display: block !important;
}


/* Form */
#mobile-search-panel .search-bar {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: 48px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #f3f3f3 !important;

    border: 1px solid #e2e2e2 !important;
    border-radius: 4px !important;

    overflow: visible !important;

    box-sizing: border-box !important;
}


/* Ô nhập tìm kiếm */
#mobile-search-panel input.search-field {
    display: block !important;

    flex: 1 1 auto !important;

    width: auto !important;
    min-width: 0 !important;
    height: 46px !important;

    margin: 0 !important;
    padding: 0 12px !important;

    font-size: 15px !important;
    line-height: 46px !important;

    color: #333 !important;
    background: transparent !important;

    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}


/* Nút search nằm trong ô search */
#mobile-search-panel .mobile-search-go {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 48px !important;

    width: 48px !important;
    height: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #222 !important;
    background: transparent !important;

    border: 0 !important;
    box-shadow: none !important;

    cursor: pointer !important;
}


/* SVG */
#mobile-search-panel .mobile-search-go svg {
    display: block !important;

    width: 20px !important;
    height: 20px !important;

    margin: 0 !important;

    fill: currentColor !important;
}


/* Dropdown kết quả AJAX */
#mobile-search-panel .dropdown-menu {
    position: absolute !important;

    top: calc(100% + 4px) !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;
    max-height: 320px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow-y: auto !important;

    background: #fff !important;

    border: 1px solid #ddd !important;
    border-radius: 4px !important;

    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.12) !important;

    z-index: 99999 !important;
}


/* Các kết quả search */
#mobile-search-panel .dropdown-menu > li {
    margin: 0 !important;
    padding: 0 !important;

    border-bottom: 1px solid #eee !important;
}


#mobile-search-panel .dropdown-menu > li:last-child {
    border-bottom: 0 !important;
}


#mobile-search-panel .dropdown-menu > li > a {
    display: flex !important;

    align-items: center !important;

    width: 100% !important;

    padding: 10px 12px !important;

    color: #333 !important;

    background: #fff !important;

    white-space: normal !important;

    box-sizing: border-box !important;
}


#mobile-search-panel .dropdown-menu > li > a:hover {
    background: #f7f7f7 !important;
}


/* Ảnh sản phẩm trong kết quả */
#mobile-search-panel .dropdown-menu img {
    flex: 0 0 50px !important;

    width: 50px !important;
    height: 50px !important;

    margin-right: 10px !important;

    object-fit: cover !important;
}

    /* ==========================================
       CART
       ========================================== */

    #mobile-header > #mobile-cart-products {
        display: none !important;
    }


    /* ==========================================
       ABOUT US TEXT
       ========================================== */

    .about-content,
    .about-content p {
        text-align: left !important;

        word-spacing: normal !important;
        letter-spacing: normal !important;
    }


    /* ==========================================
       ABOUT LETTER
       ========================================== */

    .about-message,
    .about-message .wraper,
    .about-message .container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    .about-message {
        padding: 35px 0 !important;
        overflow: hidden !important;
    }

    .about-message .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .about-message .about-letter {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 auto !important;
        padding: 42px 24px 38px !important;

        transform: none !important;

        box-sizing: border-box !important;
    }

    .about-letter-top,
    .about-letter-content,
    .about-letter-footer {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    .about-letter-content {
        font-size: 16px !important;
        line-height: 1.7 !important;

        overflow-wrap: break-word !important;
    }
	/* ==========================================
   FOOTER MOBILE FIX
   ========================================== */

/* Chặn footer làm trang rộng hơn màn hình */
#footer,
#footer .section-footer-top,
#footer .section-footer-top .wraper,
#footer .section-footer-top .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}

#footer {
    overflow-x: hidden !important;
}


/* Container footer */
#footer .section-footer-top .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
}


/* ==========================================
   LOGO + SOCIAL + DESCRIPTION
   ========================================== */

#footer .footer-brand {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 0 35px !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Logo */
#footer .footer-brand .logo-footer {
    width: 100% !important;
    margin: 0 0 18px !important;
    text-align: center !important;
}

#footer .footer-brand .logo-footer img {
    display: block !important;

    width: auto !important;
    max-width: 160px !important;
    height: auto !important;

    margin: 0 auto !important;
}


/* Social */
#footer .footer-brand .block-simple {
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

#footer .footer-brand .socialList {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Description */
#footer .footer-description {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 15px auto 0 !important;
    padding: 0 !important;

    text-align: center !important;

    box-sizing: border-box !important;
}

#footer .footer-description p {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 15px !important;
    line-height: 1.65 !important;

    text-align: center !important;

    white-space: normal !important;
    word-spacing: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}


/* ==========================================
   FOOTER MAIN
   ========================================== */

#footer .footer-main-content {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* ==========================================
   FOOTER LINKS
   ========================================== */

#footer .footer-useful-links {
    display: block !important;

    float: none !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Từng nhóm */
#footer .footer-link-column {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 32px !important;
    padding: 0 !important;
}


/* Heading */
#footer .footer-link-column h3 {
    width: 100% !important;

    margin: 0 0 15px !important;
    padding: 0 !important;

    font-size: 18px !important;
    line-height: 1.35 !important;

    text-align: left !important;

    white-space: normal !important;
}


/* List */
#footer .footer-link-column ul {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

#footer .footer-link-column li {
    width: 100% !important;

    margin: 0 0 10px !important;
    padding: 0 !important;
}


/* Link */
#footer .footer-link-column li a {
    display: inline-block !important;

    max-width: 100% !important;

    font-size: 16px !important;
    line-height: 1.5 !important;

    white-space: normal !important;
    overflow-wrap: break-word !important;
}


/* ==========================================
   CONTACT FORM
   ========================================== */

#footer .footer-contact-form {
    display: block !important;

    float: none !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 10px 0 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

#footer .footer-contact-form h3 {
    margin: 0 0 18px !important;

    font-size: 18px !important;
    line-height: 1.35 !important;
}


/* Form phải nằm hoàn toàn trong màn hình */
#footer .footer-contact-form .wpcf7,
#footer .footer-contact-form form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    box-sizing: border-box !important;
}


/* Input mobile full width */
#footer .footer-contact-form .form-group {
    width: 100% !important;
    max-width: 100% !important;

    box-sizing: border-box !important;
}

#footer .footer-contact-form input[type="text"],
#footer .footer-contact-form input[type="email"],
#footer .footer-contact-form input[type="tel"],
#footer .footer-contact-form textarea {
    width: 100% !important;
    max-width: 100% !important;

    box-sizing: border-box !important;
}


/* ==========================================
   FOOTER BOTTOM
   ========================================== */

#footer .footer-bottom-new {
    width: 100% !important;
    max-width: 100% !important;

    margin: 10px 0 0 !important;
    padding: 0 20px 25px !important;

    box-sizing: border-box !important;
}

#footer .footer-bottom-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    gap: 8px !important;

    text-align: center !important;
}

#footer .footer-privacy,
#footer .footer-copyright {
    width: 100% !important;
    max-width: 100% !important;

    text-align: center !important;

    white-space: normal !important;
}
}
/* =========================================================
   MOBILE CONTENT OVERFLOW FIXES
   Products / Materials / Catalog / Blog /
   Product Detail / Cart
   ========================================================= */

@media screen and (max-width: 767.98px) {

    /* =====================================================
       01. SHARED CONTENT CONTAINERS
       ===================================================== */

    .section-body,
    .section-body > .wraper,
    .section-body > .wraper > .container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .section-body > .wraper > .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }


    /* =====================================================
       02. PRODUCT + MATERIAL ARCHIVE
       ===================================================== */

    .shops-cat-page,
    .shops-main-page,
    .shops-main-page-materials,
    .shops-viewgrid,
    .catalog-grid--materials {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * Flatsome also defines .row with negative margins.
     * These legacy grids must not inherit those margins.
     */
    .shops-viewgrid.row,
    .catalog-grid--materials.row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .shops-viewgrid > [class*="col-"],
    .catalog-grid--materials > [class*="col-"] {
        width: 50% !important;
        max-width: 50% !important;
        min-width: 0 !important;

        padding-left: 5px !important;
        padding-right: 5px !important;

        box-sizing: border-box !important;
    }

    .product-item-inner,
    .material-item-inner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .product-item-thumb {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .product-item-thumb img {
        display: block !important;

        float: none !important;

        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;

        margin: 0 auto !important;

        object-fit: contain !important;
        object-position: center center !important;
    }

/* =====================================================
   03. BLOG
   ===================================================== */

.viewcat-page,
#load_more_posts {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#load_more_posts.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#load_more_posts > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    float: none !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}

#load_more_posts img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
}  
	
    /* =====================================================
       04. PRODUCT DETAIL
       ===================================================== */

    .single-product .product-detail,
    .single-product .product-detail > .row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .single-product .product-detail > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .single-product .product-detail > .row > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        box-sizing: border-box !important;
    }

	/* Product gallery mobile
   Do not force width on #imageGallery or its li elements.
   LightSlider calculates those widths dynamically.
*/

.single-product .imageGallery {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.single-product .imageGallery .lSSlideOuter,
.single-product .imageGallery .lSSlideWrapper {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
	
    .single-product .product-short-description,
    .single-product .content-body,
    .single-product #product-detail {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * Long specification values must be allowed to wrap.
     */
    .single-product .clist-template li {
        width: 100%;
        min-width: 0;
    }

    .single-product .clist-template .cval {
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .single-product .clist-template .csp {
        padding-left: 8px;
        padding-right: 8px;
    }


    /* =====================================================
       05. CART / QUOTE CART
       ===================================================== */

    .quote-cart,
    .quote-cart-box-inner,
    .quote-cart-box-inner form,
    .quote-cart-box-inner .box_form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .quote-cart-box-inner {
        display: block !important;
    }

    /*
     * Cart is genuinely tabular data.
     * Let only the table area scroll if required.
     * Do NOT allow the whole webpage to become wider.
     */
    .quote-cart .table-responsive {
        display: block;

        width: 100% !important;
        max-width: 100% !important;

        overflow-x: auto !important;
        overflow-y: hidden;

        -webkit-overflow-scrolling: touch;
    }

    .quote-cart .table-responsive table {
        margin-bottom: 0;
    }

    .quote-cart td,
    .quote-cart th {
        box-sizing: border-box;
    }

    .quote-cart td img {
        max-width: 70px !important;
        height: auto !important;
        margin-right: 8px !important;
    }

    .quote-cart .quantity-input {
        max-width: 70px !important;
    }

	/* =====================================================
   06. CATALOG
   ===================================================== */

.catalog-box,
.catalog-checkboxes,
.catalog-checkboxes .checkbox {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    box-sizing: border-box !important;
}

.catalog-checkboxes .checkbox {
    display: flex !important;
    flex-wrap: wrap !important;
}

.catalog-checkboxes .wpcf7-list-item {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.catalog-checkboxes label {
    max-width: 100% !important;
    white-space: normal !important;
}

.catalog-checkboxes .wpcf7-list-item-label {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.catalog-box input,
.catalog-box select,
.catalog-box textarea,
.catalog-box .wpcf7-form-control {
    max-width: 100% !important;
    box-sizing: border-box !important;
}
	
}