﻿/*======================================
    PRODUCT LAYOUT
======================================*/

.product-details {
    padding-top: 80px;
}

.product-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 50px;
}


/*======================================
     RIGHT
======================================*/

.product-info {
    width: 60%;
}


/*======================================
    LEFT
======================================*/

.product-gallery {
    width: 40%;
    position: sticky;
    top: 20px;
}


/*======================================
    PRODUCT TITLE
======================================*/

.product-title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.6;
    color: #ebaa4c;
    margin-bottom: 15px;
}


/*======================================
    TABS
======================================*/

.product-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0px;
    margin-bottom: 25px;
    border-bottom: 1px solid #dddddd;
    padding-left: 15px;
}

.tab-btn {
    background: #ffffff;
    border: 1px solid #dddddd;
    padding: 10px 15px;
    font-size: 16px;
    font-weight: 500;
    transition: .3s;
}

    .tab-btn:hover {
        background: #ebaa4c2b;
    }

    .tab-btn.active {
        background: #ebaa4c2b;
        border-color: #ebaa4c;
    }


/*======================================
    TAB CONTENT
======================================*/

.tab-content {
    display: none;
    animation: fade .3s linear;
}

    .tab-content.active {
        display: block;
    }

@keyframes fade {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.tab-content h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 18px;
    color: #111;
}

.tab-content h4 {
    font-size: 24px;
    margin-top: 18px;
    margin-bottom: 10px;
}

.tab-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 18px;
}

.tab-content ul {
    padding-left: 22px;
    list-style: disc;
}

    .tab-content ul li {
        font-size: 24px;
        line-height: 2;
    }


/*======================================
    HORIZONTAL LINE
======================================*/

.product-info hr {
    margin: 35px 0;
    border: none;
    border-top: 1px solid #ececec;
}


/*=========================================
        PRICE SECTION
=========================================*/

.price-box {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    padding-top: 20px;
    padding-bottom: 5px;
    border-top: 2px solid #dddddd;
}

.price-label {
    font-size: 20px;
    font-weight: 600;
}

.old-price {
    font-size: 20px;
    color: #333;
    font-weight: 500;
    text-decoration: line-through;
}

.new-price {
    font-size: 20px;
    color: #333;
    font-weight: 500;
}

.offer {
    font-size: 20px;
    color: #333;
    font-weight: 400;
}


/*=========================================
        QUANTITY
=========================================*/

.qty-box {
    display: block;
}


.quantity-wrapper h4 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
}

.quantity-row {
    display: flex;
    align-items: center;
    gap: 20px;
}

    .quantity-row .quantity-size {
        width: auto;
        height: 54px;
        border: 1px solid #ddd;
        background: #f7f7f7;
        padding: 13px 15px;
        font-size: 20px;
        outline: none;
        margin-right: 10px;
    }

.quantity-box {
    display: flex;
    align-items: center;
    width: 170px;
    height: 54px;
    border: 2px solid #111;
    border-radius: 40px;
    overflow: hidden;
}

    .quantity-box button {
        width: 55px;
        height: 54px;
        border: none;
        background: #fff;
        font-size: 18px;
        color: #111;
    }

        .quantity-box button:hover {
            background: #f5f5f5;
        }

    .quantity-box input {
        width: 60px;
        border: none;
        outline: none;
        text-align: center;
        font-size: 22px;
        font-weight: 600;
    }


/*=========================================
            BUTTONS
=========================================*/

.product-buttons {
    margin-top: 0px;
    margin-bottom: 25px;
    padding-bottom: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #dddddd;
}

.cart-btn {
    width: auto;
    margin-top: 18px;
    margin-left: 10px;
    margin-right: 10px;
    padding: 12px;
    border: none;
    background: #ebaa4c;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    border-radius: 5px;
    text-align: center;
    height: unset;
    line-height: unset;
}

    .cart-btn:hover {
        background: #222;
        color: #fff;
    }

/*=========================================
        MAIN IMAGE SLIDER
=========================================*/

.main-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    border: 2px solid #ebaa4c;
    border-radius: 5px;
    box-shadow: 2px 2px 10px #cac2bc;
    padding: 10px;
}


/* Slider */

.big-image-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}


/* By default all big images hidden */

.big-slide {
    display: none;
    width: 100%;
}


    /* Only current image show */

    .big-slide.active {
        display: block;
    }


    /* Big Image */

    .big-slide img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: contain;
        border-radius: 5px;
    }


/*=========================================
        Thumbnail Wrapper
=========================================*/

.thumbnail-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 15px;
}


/* Visible thumbnail area */

.thumbnail-slider {
    display: flex;
    gap: 10px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

    .thumbnail-slider::-webkit-scrollbar {
        display: none;
    }


/* Thumbnail */

.thumb {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    border: 2px solid transparent;
    cursor: pointer;
    overflow: hidden;
    transition: .3s;
}

    .thumb img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        border-radius: 5px;
    }

    .thumb.active {
        border: 2px solid #ebaa4c;
        border-radius: 5px;
        padding: 5px;
    }


/* Thumbnail arrows */

.thumb-prev,
.thumb-next {
    width: 35px;
    height: 35px;
    border: none;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 8px rgba(0,0,0,.15);
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
}

.thumb-prev {
    left: -15px;
}

.thumb-next {
    right: -15px;
}

    .thumb-prev:hover,
    .thumb-next:hover {
        background: #ebaa4c;
        color: #fff;
    }


/*==========================
Mobile
===========================*/

@media(max-width:768px) {

    .thumb {
        flex: 0 0 75px;
        width: 75px;
        height: 75px;
    }

    .thumb-prev {
        left: -1px;
    }

    .thumb-next {
        right: 2px;
    }
}




/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:1200px) {

    .product-title {
        font-size: 30px;
    }

    .tab-content p {
        font-size: 16px;
    }

    .price-label,
    .old-price,
    .new-price {
        font-size: 20px;
    }

    .offer {
        font-size: 20px;
    }
}


@media(max-width:991px) {

    .product-wrapper {
        flex-direction: column;
    }

    .product-gallery {
        width: 100%;
        order: 1;
        position: static;
    }

    .product-info {
        width: 100%;
        order: 2;
    }

    .main-image {
        margin-bottom: 10px;
    }
}


@media(max-width:768px) {

    .product-details {
        padding-top: 45px;
    }

    /*.container {
        padding: 15px;
    }*/

    .product-title {
        font-size: 24px;
    }

    .product-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

        .product-tabs::-webkit-scrollbar {
            display: block;
        }

    .tab-btn {
        white-space: nowrap;
        font-size: 16px;
        padding: 10px 18px;
    }

    .tab-content h3 {
        font-size: 16px;
    }

    .tab-content p {
        font-size: 16px;
    }

    .price-box {
        gap: 10px;
    }

    .price-label,
    .old-price,
    .new-price {
        font-size: 18px;
    }

    .offer {
        font-size: 18px;
    }

    .quantity-row {
        flex-wrap: wrap;
    }

    .quantity-box {
        width: 160px;
    }

    .cart-btn,
    .buy-btn {
        font-size: 18px;
    }

    .thumb {
        width: 70px;
        height: 70px;
    }
}




/*=========================================
            FAQ SECTION
=========================================*/

.nv-faq-section {
    width: 100%;
    background: #ffffff;
    padding: 80px 20px;
}

.nv-faq-container {
    max-width: 1180px;
    margin: auto;
}


/*=========================================
            HEADING
=========================================*/

.nv-faq-heading {
    text-align: center;
    margin-bottom: 45px;
}

    .nv-faq-heading h2 {
        font-size: 48px;
        font-weight: 500;
        color: #111;
        letter-spacing: 1px;
    }


/*=========================================
            WRAPPER
=========================================*/

.nv-faq-wrapper {
    width: 100%;
    border-top: 1px dashed #d9d9d9;
}


/*=========================================
            FAQ ITEM
=========================================*/

.nv-faq-item {
    border-bottom: 1px dashed #d9d9d9;
}


/*=========================================
            QUESTION
=========================================*/

.nv-faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 15px 0;
    transition: .3s;
}

    .nv-faq-question:hover {
        color: #000;
    }

    .nv-faq-question h3 {
        font-size: 22px;
        font-weight: 500;
        color: #ebaa4c;
        line-height: 1.5;
        padding-right: 30px;
    }


/*=========================================
            PLUS / MINUS
=========================================*/

.nv-faq-icon {
    width: 40px;
    min-width: 40px;
    text-align: center;
    font-size: 42px;
    font-weight: 300;
    color: #ebaa4c;
    transition: .35s ease;
    user-select: none;
}


/*=========================================
            ANSWER
=========================================*/

.nv-faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0 80px 0 0;
    transition: max-height .45s ease, opacity .35s ease, padding .35s ease;
}

    .nv-faq-answer p {
        font-size: 18px;
        line-height: 1.9;
        color: #444;
        margin: 0;
        font-weight: 400;
    }


/*=========================================
            ACTIVE
=========================================*/

.nv-faq-item.active .nv-faq-answer {
    opacity: 1;
    padding-top: 10px;
    padding-bottom: 28px;
}

.nv-faq-item.active .nv-faq-icon {
    transform: rotate(180deg);
}


/*=========================================
            HOVER
=========================================*/

.nv-faq-item:hover .nv-faq-question h3 {
    color: #ebaa4c;
}


/*=========================================
            TABLET
=========================================*/

@media(max-width:991px) {

    .nv-faq-section {
        padding: 60px 20px;
    }

    .nv-faq-heading h2 {
        font-size: 40px;
    }

    .nv-faq-question {
        padding: 15px 0;
    }

        .nv-faq-question h3 {
            font-size: 20px;
        }

    .nv-faq-answer {
        padding: 0 10px 0 0;
    }

    .nv-faq-item.active .nv-faq-answer {
        padding-top: 10px;
        padding-bottom: 20px;
    }

    .nv-faq-answer p {
        font-size: 17px;
    }
}


/*=========================================
            MOBILE
=========================================*/

@media(max-width:767px) {

    .nv-faq-section {
        padding: 45px 15px;
    }

    .nv-faq-heading {
        margin-bottom: 30px;
    }

        .nv-faq-heading h2 {
            font-size: 34px;
        }

    .nv-faq-question {
        padding: 15px 0;
    }

        .nv-faq-question h3 {
            font-size: 18px;
            line-height: 1.6;
            padding-right: 15px;
        }

    .nv-faq-icon {
        width: 28px;
        min-width: 28px;
        font-size: 32px;
    }

    .nv-faq-answer {
        padding: 0 10px 0 0;
    }

    .nv-faq-item.active .nv-faq-answer {
        padding-top: 10px;
        padding-bottom: 20px;
    }

    .nv-faq-answer p {
        font-size: 16px;
        line-height: 1.8;
    }
}


/* ================================
   Product Toolbar
================================ */

.product-toolbar {
    width: 100%;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    box-sizing: border-box;
    margin-bottom: 30px;
}


/* ================================
   Product Count
================================ */

.product-count {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 16px;
    font-weight: 400;
    color: #222222;
}

    .product-count strong {
        color: #34363b;
        font-size: 17px;
        font-weight: 700;
    }


/* ================================
   Filters
================================ */

.product-filters {
    display: flex;
    align-items: center;
    gap: 10px;
}


/* ================================
   Custom Select
================================ */

.custom-select {
    position: relative;
    width: auto;
    height: 44px;
}

    .custom-select.sort-select {
        width: auto;
    }

    .custom-select select {
        width: 100%;
        height: 100%;
        padding: 0 35px 0 15px;
        border: 1px solid #ebaa4c;
        border-radius: 5px;
        background: #ffffff;
        color: #222222;
        font-size: 15px;
        font-family: inherit;
        outline: none;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        box-sizing: border-box;
    }

        .custom-select select:focus {
            border-color: #dcdcdc;
            border: 1px solid #ebaa4c;
        }


/* Dropdown Arrow */

.select-arrow {
    position: absolute;
    right: 13px;
    top: 54%;
    transform: translateY(-55%);
    color: #222222;
    font-size: 21px;
    line-height: 1;
    pointer-events: none;
}


/* ================================
   Mobile Responsive
================================ */

@media (max-width: 767px) {

    .product-toolbar {
        padding: 15px 0px;
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }

    .product-count {
        justify-content: center;
    }

    .product-filters {
        width: 100%;
        gap: 8px;
    }

    .custom-select,
    .custom-select.sort-select {
        width: 50%;
    }

        .custom-select select {
            padding-left: 10px;
            padding-right: 23px;
            font-size: 14px;
        }

    .select-arrow {
        right: 8px;
    }
}
