﻿/*======================================
    PRODUCT LAYOUT
======================================*/

.product-details {
    padding-top: 80px;
}

.product-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 50px;
}


/*======================================
    LEFT
======================================*/

.product-info {
    width: 52%;
}


/*======================================
    RIGHT
======================================*/

.product-gallery {
    width: 48%;
    position: sticky;
    top: 20px;
}


/*======================================
    PRODUCT TITLE
======================================*/

.product-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6;
    color: #f58634;
    margin-bottom: 15px;
}


/*======================================
    TABS
======================================*/

.product-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 25px;
}

.tab-btn {
    background: #ffffff;
    border: 1px solid #dddddd;
    padding: 10px 24px;
    font-size: 18px;
    font-weight: 500;
    transition: .3s;
}

    .tab-btn:hover {
        background: #f5f5f5;
    }

    .tab-btn.active {
        background: #f3f5f7;
        border-color: #d8d8d8;
    }


/*======================================
    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;
    margin-top: 30px;
    margin-bottom: 30px;
}

.price-label {
    font-size: 20px;
    font-weight: 600;
}

.old-price {
    font-size: 20px;
    color: #888;
    font-weight: 500;
    text-decoration: line-through;
}

.new-price {
    font-size: 20px;
    color: #888;
    font-weight: 500;
}

.offer {
    font-size: 20px;
    color: #7d98b4;
    font-weight: 400;
}


/*=========================================
        QUANTITY
=========================================*/

.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: 45px;
}

.cart-btn {
    width: 100%;
    height: 50px;
    border: 2px solid #f58634;
    background: #fff;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 5px;
    transition: .3s;
}

    .cart-btn:hover {
        background: #f58634;
        color: #fff;
    }

.buy-btn {
    width: 100%;
    height: 50px;
    margin-top: 18px;
    border: none;
    background: #f58634;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 5px;
}

    .buy-btn:hover {
        background: #222;
    }


/*=========================================
        MAIN IMAGE
=========================================*/

.main-image {
    position: relative;
    border: 1px solid #f58634;
    overflow: hidden;
}

    .main-image img {
        width: 100%;
        display: block;
    }


/*=========================================
            ARROWS
=========================================*/

.gallery-prev,
.gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    border: none;
    background: rgba(255,255,255,.8);
    border-radius: 50%;
    font-size: 18px;
    transition: .3s;
}

.gallery-prev {
    left: 15px;
}

.gallery-next {
    right: 15px;
}

    .gallery-prev:hover,
    .gallery-next:hover {
        background: #f58634;
        color: #fff;
    }


/*==========================
Thumbnail Wrapper
===========================*/

.thumbnail-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    margin-top: 15px;
}


/*==========================
Thumbnail Slider
===========================*/

.thumbnail-slider {
    display: flex;
    gap: 10px;
    overflow: hidden;
    scroll-behavior: smooth;
    width: 100%;
}


/*==========================
Thumb
===========================*/

.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%;
        object-fit: cover;
    }

    .thumb.active {
        border: 2px solid #f58634;
    }


/*==========================
Thumb Arrow
===========================*/

.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;
    z-index: 10;
}

.thumb-prev {
    left: -15px;
}

.thumb-next {
    right: -15px;
}

    .thumb-prev:hover,
    .thumb-next:hover {
        background: #f58634;
        color: #fff;
    }


/*==========================
Mobile
===========================*/

@media(max-width:768px) {

    .thumb {
        flex: 0 0 75px;
        width: 75px;
        height: 75px;
    }

    .thumb-prev {
        left: -5px;
    }

    .thumb-next {
        right: -5px;
    }
}


/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:1200px) {

    .product-title {
        font-size: 24px;
    }

    .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 {
        height: 50px;
        font-size: 18px;
        letter-spacing: 3px;
    }

    .thumb {
        width: 70px;
        height: 70px;
    }

    .gallery-prev,
    .gallery-next {
        width: 35px;
        height: 35px;
    }
}






/*=========================================
            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: #f58634;
        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: #f58634;
    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: #f58634;
}


/*=========================================
            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;
    }
}
