@import url('https://fonts.cdnfonts.com/css/kristen-itc');
@import url('https://api.fontshare.com/v2/css?f[]=clash-grotesk@1&display=swap');

:root {
    --black: #101010;
    --white: #FFFFFF;
    --orange-main: #F3954A;
    --font-kristen: 'Kristen ITC', sans-serif;
    --font-clashGrostesk: 'Clash Grotesk', sans-serif;
}

html{
    scroll-behavior: smooth;
}

.container{
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    @media (min-width: 576px){
        max-width: 540px;
    }
    @media (min-width: 768px){
        max-width: 720px;
    }
    @media (min-width: 992px){
        max-width: 960px;
    }
    @media (min-width: 1200px){
        max-width: calc(100% - 200px);
    }
    @media (min-width: 2100px){
        max-width: calc(100% - 450px);
    }
}

body{
    font-family: var(--font-clashGrostesk);
}

a{
    color: var(--orange-main);
}

.btn{
    color: var(--black);
    padding: 0.755rem 1.65rem;
    border: 2px solid transparent;
    background-color: transparent;
    text-transform: none;
    border-radius: 3rem;
    font-size: 1rem;
    transition: all .4s;
    &.btn-primary{
        border-color: var(--orange-main);
        &:hover{
            background-color: var(--orange-main);
        }
    }
}

.title-section{
    position: relative;
    display: inline-block;
    .vaisseau{
        position: absolute;
        top: -40px;
        left: -15px;
    }
    .star{
        position: absolute;
        right: -23px;
        top: 16px;
    }
    h1, h2{
        text-align: left !important;
        text-transform: none;
        font-size: 4rem;
        font-weight: 500;
        font-family: var(--font-kristen);
    }
}

#header{
    box-shadow: none;
    background: transparent !important;
    .header-nav {
        .cart-preview.active{
            background: #FEF4ED;
            .cart-products-count{
                color: var(--black);
            }
        }
    }
    .header-top{
        background: transparent !important;
        .header-top-right{
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
        }
        a[data-depth="0"]{
            text-transform: none;
            color: var(--black);
            &:hover{
                color: var(--orange-main);
            }
        }
    }
    a{
        &:hover{
            color: var(--orange-main);
        }
    }
    .top-menu a:not([data-depth="0"]){
        padding: 3px 1.5rem;
    }
    .top-menu a[data-depth="1"], .top-menu a[data-depth="2"] {
        padding: 0 .625rem .625rem 0;
    }
    #search_widget {
        width: fit-content;
        min-width: unset;
        float: none;
        form{
            img{
                position: absolute;
                top: 8px;
                left: 0;
            }
            input{
                width: 0;
                transition: all .4s;
                padding: 10px 20px 10px 30px;
                background-color: var(--white);
                border: 1px solid transparent;
            }
            &:hover, &:focus{
                input{
                    width: 100%;
                    padding: 10px 20px 10px 40px;
                    border-color: var(--orange-main);
                }
            }
        }
    }
    #_desktop_user_info{
        margin-right: 1rem;
        margin-left: auto;
        &.login{
            position: relative;
            .user-info{
                position: absolute;
                left: 0;
                top: 55px;
                padding: 0.5rem 0;
                display: flex;
                flex-direction: column;
                row-gap: 0.5rem;
                opacity: 0;
                visibility: hidden;
                transition: .3s ease-in-out;
                .logout, .account{
                    display: flex;
                    flex-direction: row;
                    column-gap: 0.5rem;
                }
            }
            &:hover{
                .user-info{
                    top: 43px;
                    opacity: 1;
                    visibility: visible;
                }
            }
        }
    }
    #_desktop_cart, #_desktop_user_info{
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

#wrapper{
    background-color: var(--white);
    overflow: hidden;
}

/* HERO */
.hero__wrapper{
    display: flex;
    align-items: center;
    margin-top: -19rem;
    position: relative;
}
.hero__wrapper__text{
    width: 49%;
    .title{
        position: relative;
        margin-bottom: 5rem;
        .vaisseau{
            position: absolute;
            top: -65px;
            left: -8px;
        }
        .planete{
            position: absolute;
            bottom: -45px;
            left: 40%;
        }
    }
    h1{
        font-family: var(--font-kristen);
        font-size: 8.5rem;
        font-weight: 500;
    }
}
.hero__wrapper__img{
    width: 51%;
    img{
        max-width: 150%;
    }
}

/* Feature products */
.featured-products{
    position: relative;
    .shape-product{
        position: absolute;
        left: -30%;
        top: 0;
    }
    .shape-product-new{
        position: absolute;
        right: -30%;
        top: 0;
    }
}
/* Listing product */
.block-category{
    min-height: unset;
}
.product-miniature .thumbnail-top{
    border-radius: 1.563rem;
    width: 100%;
}
.product-miniature{
    .thumbnail-container{
        width: 80%;
        background: transparent;
        .product-thumbnail {
            img{
                max-width: unset;
                width: 100%;
                height: auto;
            }
        }
    }
    .product-description{
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        background: transparent;
        .title-addtocart{
            width: 75%;
        }
    }
    .product-price-and-shipping{
        font-weight: 500;
        font-size: 1.3rem;
        color: var(--orange-main);
        position: relative;
        .vaisseau-price{
            position: absolute;
            top: -105px;
            right: 5px;
            z-index: 10;
        }
        .content-price{
            display: flex;
            flex-direction: column;
            row-gap: 0.3rem;
            transition: all .4s;
        }
    }
    .thumbnail-container:focus .highlighted-informations, .thumbnail-container:hover .highlighted-informations{
        top: 100%;
    }
    .thumbnail-container:focus .highlighted-informations.no-variants, .thumbnail-container:hover .highlighted-informations.no-variants{
        top: 100%;
    }
    .thumbnail-container:focus form .btn-primary, .thumbnail-container:hover form .btn-primary{
        transform: rotate(-8deg);
    }
    .thumbnail-container:focus .product-price-and-shipping .content-price, .thumbnail-container:hover .product-price-and-shipping .content-price{
        transform: rotate(-8deg) translateY(-20px);
    }
}
.product-miniature .product-title{
    text-align: left;
    a{
        font-size: 1.4rem;
        font-weight: 600;
        color: var(--black);
    }
}
#content{
    .products, .featured-products .products, .product-accessories .products {
        .product:nth-child(2) {
            margin-top: 5rem;
        }

        .product:nth-child(3) {
            margin-top: 10rem;
        }

        .product:nth-child(5) {
            margin-top: 5rem;
        }

        .product:nth-child(6) {
            margin-top: 10rem;
        }
    }
}
#product{
    #content{
        max-width: unset;
    }
}
#products {
    .products, .featured-products .products, .product-accessories .products {
        .product:nth-child(2) {
            margin-top: 5rem;
        }

        .product:nth-child(3) {
            margin-top: 10rem;
        }

        .product:nth-child(5) {
            margin-top: 5rem;
        }

        .product:nth-child(6) {
            margin-top: 10rem;
        }
    }
    .select-title{
        border-radius: 0.5rem;
    }
    .dropdown-menu{
        box-shadow: none;
    }
}
.product-cover{
    width: fit-content;
    border-radius: 2rem;
    overflow: hidden;
}
.product-container{
    .ship-product{
        position: absolute;
        right: -220px;
        top: 0;
        width: 47%;
        opacity: 0.2;
    }
    .h1{
        text-transform: none;
        font-size: 2rem;
        position: relative;
    }
    .product-price{
        color: var(--orange-main);
        font-size: 1.4rem;
        margin-bottom: 0;
        position: relative;
        .current-price{
            margin-bottom: 0;
        }
    }
    .product-quantity{
        #quantity_wanted {
            border-radius: 0.5rem 0 0 0.5rem;
        }
        .input-group-btn-vertical {
            .btn{
                &:first-of-type{
                    border-radius: 0 0.5rem 0 0;
                }
                &:last-of-type{
                    border-radius: 0 0 0.5rem 0;
                }
            }
        }
    }
    .product-information{
        position: relative;
    }
    .tabs{
        padding: 1.25rem 0;
        background: transparent;
        .nav-tabs{
            .nav-link{
                transition: .4s;
                &.active{
                    color: var(--orange-main);
                }
            }
            .nav-link.active, .nav-link:hover{
                border-bottom: var(--orange-main) 3px solid;
            }
        }
    }
    .product-description{
        font-family: var(--font-clashGrostesk) !important;
        p{
            font-family: var(--font-clashGrostesk) !important;
            color: var(--black);
        }
    }
    .product-features{
        margin-left: 0;
    }
}
.product-images>li.thumb-container .thumb.selected, .product-images>li.thumb-container .thumb:hover{
    border: var(--orange-main) 3px solid;
}
.product-flags li.product-flag {
    background-color: var(--orange-main);
    border-radius: 2rem;
    margin-left: 0.6rem;
    padding: .3125rem 0.8375rem;
}
.brands-sort .select-list:hover, .products-sort-order .select-list:hover, .suppliers-sort .select-list:hover{
    background: var(--orange-main);
}

.js-footer{
    .footer-container{
        .h3, .h4{
            font-weight: 500;
            text-transform: none !important;
            font-size: 1.2rem;
        }
        li a{
            font-size: 0.95rem;
            &:hover{
                color: var(--orange-main);
            }
        }
        .flex-row{
            display: flex;
            flex-direction: row;
            .logo{
                width: 20%;
            }
            .links{
                width: 60%;
                .row{
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    .links__item{
                        width: 33%;
                    }
                }
            }
            .block-contact{
                width: 20% !important;
            }
        }
    }
}

.contact-infos{
    font-size: 0.95rem;
}

/* Order and cart */
#blockcart-modal .product-name{
    color: var(--orange-main);
}
.product-price{
    color: var(--orange-main);
}
.custom-radio input[type=radio]:checked+span{
    background-color: var(--orange-main);
}
.form-control:focus, .input-group.focus{
    border-color: var(--orange-main);
    outline: .1875rem solid var(--orange-main);
}
body#checkout section.checkout-step .address-item.selected{
    border-color: var(--orange-main);
}

/* Account */
.page-my-account #content .links a span.link-item{
    background-color: #FEF4ED;
    border-radius: 0.8rem;
}
.page-my-account #content .links a i{
    transition: .4s ease-out;
}
.carousel .carousel-control .icon-next:hover i, .carousel .carousel-control .icon-prev:hover i, .dropdown:hover .expand-more, .page-my-account #content .links a:hover i, .search-widget form button[type=submit] .search:hover, .top-menu .sub-menu a:hover{
    color: var(--orange-main);
}

/* Page Petit Bazar ATS */

.page-header{
    display: none;
}

/* Section titre */

.title-section-second .vaisseau{
    top: -58px;
    left: -68px;
}

.title-section-second .star{
    top: -28px;
    right: -42px;
}

/* Cartes images */
.about-ats-p{
    font-size: 18px;
    line-height: 24px;
}

.title-h2 {
    font-size: 32px;
    font-weight: 500;
    color: var(--orange-main);
    margin-bottom: 35px;
}

.cards-image{
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 60px;
    margin-top: 30px;
    z-index: 10;
}

.img-container{
    width: 20%;
    height: 100%;
    aspect-ratio: 3/5;
    display: flex;
    justify-content: center;
    overflow: hidden;
    border-radius: 20px;
}

.card{
    width: 100%;
    margin: 0;
    object-fit: cover;
}

.img-container:nth-child(2){
    margin-top: 90px;
}
.img-container:nth-child(3) {
    margin-top: 230px;
}
.img-container:nth-child(4) {
    margin-top: 170px;
}
.img-container:nth-child(5) {
    margin-top: 0px;
}
.img-container:nth-child(6) {
    margin-top: 90px;
}

.dotted-line-absolute{
    position: absolute;
    width: 100vw;
    left: -260px;
    top: -40px;
}

/* Texte et image */
.bloc-text-img{
    position: relative;
    display: grid;
    grid-template-columns: 60% 1fr;
    grid-template-rows: auto;
    align-items: center;
    column-gap: 80px;
    justify-items: center;
    margin-top: 30PX;
}

.bloc-text-img>p{
    text-align: left;
    z-index: 10;
}

.text-img{
    height: 550px;
    z-index: 10;
}

.shape-planet{
    position: absolute;
    width: 600px;
    /* top: 450px; */
    bottom: 200px;
    right: -260px;
    z-index: 0;
}

/* Bloc présentation de la création d'une piece */
.pres-process{
    margin: 50px 0 120px;
    position: relative;
}

.pres-process .about-ats-p{
    position: relative;
    margin-bottom: 35px;
    z-index: 10;
}

.bloc-process{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 22px;
    z-index: 10;
}

.bloc-process-img{
    width: 100%;
    display: grid;
    grid-template-columns: 3fr 1fr 3fr 1fr 3fr 1fr 3fr 1fr 3fr;
    grid-column-gap: 15px;
    place-items: center;
}

.bloc-process-text{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}

.process-title-h3{
    color: var(--orange-main);
    font-size: 20px;
    font-weight: 600;
}

.process-text-element{
    text-align: center;
    width: 18%;
}

.process-img{
    width: 45%;
    margin-bottom: 22px;
}

.process-dotted-line {
    width: 10%;
    margin: 2.5% -40px 0;
}

.shape-process{
    width: 600px;
    position: absolute;
    left: -260px;
    top: -300px;
    z-index: 0;
    user-drag: none;
    -webkit-user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.bubbles {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 3rem;
    justify-content: space-around;
    position: relative;
    .star {
        position: absolute;
        left: 0;
        bottom: 0;
    }
    .star2 {
        position: absolute;
        left: 31%;
        top: 19%;
    }
    .star3 {
        position: absolute;
        left: 60%;
        top: 0;
    }
    .star4 {
        position: absolute;
        left: 72%;
        bottom: 3%;
    }
    .bubbles__bubble {
        width: 20vw;
        height: 20vw;
        border-radius: 50%;
        border: 2px solid #F3954A;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        position: relative;
        background-color: #ffffff;
        h2 {
            margin-bottom: 1.5rem;
            padding: 0 4rem;
        }
        p{
            padding: 0 5rem;
        }
    }
}

/* Fin - page Petit Bazar ATS */

/* Responsive */
/* Breakpoint 2250px */
@media screen and (max-width: 2250px){
    /* Page Petit Bazar ATS */
    .bubbles {
        .bubbles__bubble {
            width: 22vw;
            height: 22vw;
        }
    }
}
    /* Breakpoint 2100px */
@media screen and (max-width: 2100px){
    /* Page Petit Bazar ATS */
    .dotted-line-absolute{
        left: -135px;
    }
}
/* Breakpoint 2250px */
@media screen and (max-width: 1920px){
    /* Page Petit Bazar ATS */
    .bubbles {
        .bubbles__bubble {
            width: 25vw;
            height: 25vw;
        }
    }
}
    /* Breakpoint 1750px */
@media screen and (max-width: 1750px){
    .hero__wrapper__text{
        h1{
            font-size: 6.5rem;
        }
    }
    .featured-products {
        .shape-product {
            width: 68%;
        }
        .shape-product-new {
            width: 58%;
        }
    }
    .customer-reviews {
        .shape {
            top: -50%;
            width: 60%;
        }
    }
    /* Page Petit Bazar ATS */
    .cards-image{
        gap: 40px;
    }
}
/* Breakpoint 1640px */
@media screen and (max-width: 1640px){
    /* Page Petit Bazar ATS */
    .text-img{
        height: 450px;
    }
    .bubbles {
        .bubbles__bubble {
            width: 28vw;
            height: 28vw;
        }
    }
}
/* Breakpoint 1460px */
@media screen and (max-width: 1460px){
    /* Page Petit Bazar ATS */
    .text-img{
        height: 450px;
    }
    .bubbles {
        .bubbles__bubble {
            width: 31vw;
            height: 31vw;
        }
    }
}
/* Breakpoint 1350px */
@media screen and (max-width: 1350px){
    /* Page Petit Bazar ATS */
    .text-img {
        height: 380px;
    }
    .pres-process{
        margin-bottom: 80px;
    }
    .bubbles {
        .bubbles__bubble {
            width: 35vw;
            height: 35vw;
        }
    }
}
/* Breakpoint 1200px */
@media screen and (max-width: 1200px){
    /* Page Petit Bazar ATS */
    .text-img {
        height: 320px;
    }
    .dotted-line-absolute{
        left: 50%;
        transform: translateX(-50%);
    }
    .bubbles {
        row-gap: 1.5rem;
        .bubbles__bubble {
            width: 41vw;
            height: 41vw;
        }
    }
}
/* Breakpoint 996px */
@media screen and (max-width: 996px){
    #header .header-top{
        padding: 0;
    }
    .hero{
        padding-top: 21rem;
    }
    .hero__wrapper{
        flex-wrap: wrap;
    }
    .hero__wrapper__text{
        width: 100%;
        .title{
            margin-bottom: 0;
            .vaisseau{
                top: -65px;
                left: -8px;
            }
            .planete{
                bottom: -45px;
                left: 65%;
            }
        }
        h1{
            font-size: 2.9rem;
        }
        .btn{
            display: none;
        }
    }
    .hero__wrapper__img{
        width: 100%;
        img{
            max-width: 150%;
            margin-top: -4rem;
        }
    }
    .title-section {
        .star {
            right: 0;
        }
        h2{
            font-size: 3rem;
        }
    }
    #content{
        .products, .featured-products .products, .product-accessories .products {
            .product:nth-child(2) {
                margin-top: 0;
            }

            .product:nth-child(3) {
                margin-top: 0;
            }

            .product:nth-child(5) {
                margin-top: 0;
            }

            .product:nth-child(6) {
                margin-top: 0;
            }
        }
    }
    .product-miniature {
        .thumbnail-container {
            width: 100%;
        }
    }
    .customer-reviews {
        .shape {
            top: 20%;
        }
        .quote {
            position: absolute;
            right: 0;
            bottom: 3%;
        }
        .slider {
            .owl-carousel-testimonial {
                .owl-stage-outer {
                    width: 100%;
                }
            }
        }
    }
    .js-footer{
        .footer-container{
            .h3, .h4{
                font-weight: 500;
                text-transform: none !important;
                font-size: 1.2rem;
            }
            li a{
                font-size: 0.95rem;
                &:hover{
                    color: var(--orange-main);
                }
            }
            .flex-row{
                flex-wrap: wrap;
                .logo{
                    width: 100%;
                    padding: 0 15px;
                    margin-bottom: 1rem;
                }
                .links{
                    width: 100%;
                    padding: 0 15px;
                    .row{
                        .links__item{
                            width: 100%;
                        }
                    }
                }
                .block-contact{
                    width: 20% !important;
                }
            }
        }
    }
    .block-categories{
        padding: 0;
    }
    #search_filters, #search_filters_brands, #search_filters_suppliers{
        padding: 0;
        margin-bottom: 0.5rem;
    }
    /* Page Petit Bazar ATS */
    .bloc-text-img{
        grid-template-columns: 1fr;
        row-gap: 18px;
    }

    .title-section-second h1{
        font-size: 3rem;
    }
    .cards-image{
        gap: 20px;
    }
    .shape-planet{
        width: 500px;
        /* top: 750px; */
        bottom: 0px;
    }
    .bloc-process-text {
        flex-direction: column;
        align-items: center;
    }
    .shape-process {
        top: -150px;
    }
    .process-text-element {
        width: 80%;
        margin-bottom: 30px;
    }
    .process-dotted-line {
        display: none;
    }
    .pres-process {
        margin-bottom: 0;
    }
    .bubbles {
        row-gap: 1.5rem;
        .bubbles__bubble {
            width: 50vw;
            height: 50vw;
        }
    }
}
/* Breakpoint 860px */
@media screen and (max-width: 860px){
    /* Page Petit Bazar ATS */
    .bubbles {
        row-gap: 1.5rem;
        .bubbles__bubble {
            width: auto;
            height: auto;
            border-radius: 30px;
            padding: 35px 20px;
            h2 {
                color: var(--orange-main);
            }
            p, h2 {
                padding: 0;
            }
        }
    }
}
/* Breakpoint 768px */
@media screen and (max-width: 768px){
    /* Page Petit Bazar ATS */
    .dotted-line-absolute {
        width: 200vw;
    }
    .cards-image{
        flex-wrap: wrap;
        justify-content: space-around;
    }
    .img-container{
        width: 30%;
        aspect-ratio: 1/1;
    }
        .img-container:nth-child(2) {
            margin-top: 20px;
        }

        .img-container:nth-child(3) {
            margin-top: 40px;
        }

        .img-container:nth-child(4) {
            margin-top: 10px;
        }

        .img-container:nth-child(5) {
            margin-top: 0px;
        }

        .img-container:nth-child(6) {
            margin-top: 20px;
        }
    .card{
        object-fit: cover;
        overflow-clip-margin: unset;
    }
    .text-img {
        height: 320px;
    }
    .shape-planet{
        width: 400px;
        /* top: 1100px; */
        right: -160px;
    }
    .pres-process .title-h2{
        text-align: start;
    }
}
/* Breakpoint 600px */
@media screen and (max-width: 600px){
    .pres-process {
        margin-bottom: 0px;
    }
    .shape-planet{
        bottom: 100px;
    }
}
@media screen and (max-width: 560px){
    .img-container{
        width: 45%;
        margin-top: 0px !important;
    }
    .shape-planet {
        bottom: 50px;
    }
}
/* Breakpoint 480px */
@media screen and (max-width: 480px){
    .img-container{
        width: 45%;
        margin-top: 0px !important;
    }
    .shape-planet {
        bottom: 50px;
    }
}
/* Breakpoint 350px */
@media screen and (max-width: 360px){
    .text-img{
        height: auto;
        width: 90%;
    }
    .shape-planet {
        bottom: 0px;
    }
}

                
