/*
Theme Name: Hello Biz Child Theme
Author: Fam Digitale
Description: Theme enfant Wash Nicely
Version: 1.0
Template: hello-biz

This is the child theme for Hello Biz theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/

/* =========================================================
   WASH NICELY — REFONTE PAGE PRODUIT WOOCOMMERCE
   ========================================================= */

body.single-product {
    --wn-navy: #082b4c;
    --wn-blue: #0862b8;
    --wn-blue-hover: #064f96;
    --wn-light-blue: #edf6ff;
    --wn-bg: #f6f8fb;
    --wn-border: #e3e8ef;
    --wn-text: #243447;
    --wn-muted: #667085;
    --wn-white: #ffffff;

    background: var(--wn-bg);
}

/* =========================================================
   CONTENEUR PRINCIPAL
   ========================================================= */

body.single-product .site-main,
body.single-product main {
    background: var(--wn-bg);
}

body.single-product div.product {
    max-width: 1180px;
    margin: 45px auto 70px;
    padding: 0 20px;
}

/* Produit : 2 colonnes */
body.single-product div.product::after {
    content: "";
    display: table;
    clear: both;
}

/* =========================================================
   GALERIE PRODUIT
   ========================================================= */

body.single-product div.product .woocommerce-product-gallery {
    width: 48%;
    margin: 0;
    float: left;
}

body.single-product .woocommerce-product-gallery__wrapper {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(8, 43, 76, 0.10);
}

body.single-product .woocommerce-product-gallery__image img {
    width: 100%;
    display: block;
    border-radius: 18px;
}

/* Miniatures */
body.single-product .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 14px !important;
}

body.single-product .flex-control-thumbs li {
    width: 100% !important;
    float: none !important;
}

body.single-product .flex-control-thumbs img {
    width: 100%;
    height: 90px;
    object-fit: cover;
    border: 2px solid transparent;
    border-radius: 10px;
    opacity: .65;
    transition: all .25s ease;
}

body.single-product .flex-control-thumbs img:hover,
body.single-product .flex-control-thumbs img.flex-active {
    opacity: 1;
    border-color: var(--wn-blue);
}

/* Loupe */
body.single-product .woocommerce-product-gallery__trigger {
    background: #fff !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 18px rgba(0,0,0,.12);
    top: 18px !important;
    right: 18px !important;
}

/* =========================================================
   CARTE INFORMATIONS PRODUIT
   ========================================================= */

body.single-product div.product .summary {
    width: 47%;
    float: right;
    margin: 0;

    background: var(--wn-white);
    border: 1px solid var(--wn-border);
    border-radius: 22px;
    padding: 38px 42px;

    box-shadow:
        0 15px 45px rgba(8, 43, 76, .08);
}

/* Titre */
body.single-product .product_title {
    color: var(--wn-navy);
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -.8px;
    margin: 0 0 15px;
}

/* Prix */
body.single-product .summary .price {
    display: inline-flex;
    align-items: center;
    margin: 0 0 28px !important;

    padding: 8px 16px;
    background: var(--wn-light-blue);
    color: var(--wn-blue) !important;
    border-radius: 999px;

    font-size: 22px !important;
    font-weight: 700;
}

body.single-product .summary .price * {
    color: inherit !important;
}

/* Description courte */
body.single-product .woocommerce-product-details__short-description {
    color: var(--wn-muted);
    font-size: 16px;
    line-height: 1.7;

    padding-bottom: 25px;
    margin-bottom: 26px;

    border-bottom: 1px solid var(--wn-border);
}

body.single-product .woocommerce-product-details__short-description p {
    margin-bottom: 0;
}

/* =========================================================
   FORMULAIRE / BOOKING
   ========================================================= */

body.single-product .summary form.cart {
    margin-top: 24px !important;
}

body.single-product .summary form.cart label {
    display: block;
    color: var(--wn-navy);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 7px;
}

/* Inputs */
body.single-product .summary input[type="text"],
body.single-product .summary input[type="number"],
body.single-product .summary input[type="date"],
body.single-product .summary input[type="time"],
body.single-product .summary select,
body.single-product .summary textarea {
    width: 100%;
    min-height: 48px;

    border: 1px solid #d7dee7;
    border-radius: 10px;

    background: #fff;
    color: var(--wn-text);

    padding: 10px 14px;

    font-size: 15px;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

body.single-product .summary input:focus,
body.single-product .summary select:focus,
body.single-product .summary textarea:focus {
    outline: none;
    border-color: var(--wn-blue);
    box-shadow: 0 0 0 3px rgba(8, 98, 184, .10);
}

/* Bouton Choose Date et autres boutons secondaires */
body.single-product .summary button:not(.single_add_to_cart_button),
body.single-product .summary input[type="button"],
body.single-product .summary input[type="submit"] {
    min-height: 46px;

    border: 1px solid var(--wn-border);
    border-radius: 10px;

    padding: 10px 18px;

    background: #fff;
    color: var(--wn-navy);

    font-weight: 600;
    cursor: pointer;

    transition: all .2s ease;
}

body.single-product .summary button:not(.single_add_to_cart_button):hover {
    border-color: var(--wn-blue);
    color: var(--wn-blue);
    background: var(--wn-light-blue);
}

/* =========================================================
   OPTIONS / SERVICES SUPPLÉMENTAIRES
   ========================================================= */

/*
 * Couvre plusieurs plugins WooCommerce Add-ons / Bookings.
 */
body.single-product .wc-pao-addon-container,
body.single-product .product-addon,
body.single-product .wc-bookings-booking-form,
body.single-product .booking-form {
    background: #f8fafc;
    border: 1px solid var(--wn-border);
    border-radius: 14px;
    padding: 18px 20px;
    margin: 16px 0;
}

body.single-product .wc-pao-addon-heading,
body.single-product .product-addon h3,
body.single-product .wc-bookings-booking-form legend {
    color: var(--wn-navy);
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 14px;
}

/* Titres comme "Additional services" */
body.single-product .summary h3,
body.single-product .summary h4 {
    color: var(--wn-navy);
    font-weight: 700;
}

/* =========================================================
   QUANTITÉ
   ========================================================= */

body.single-product .quantity {
    display: inline-flex !important;
    align-items: center;
}

body.single-product .quantity .qty {
    width: 75px !important;
    height: 48px;
    text-align: center;

    border: 1px solid var(--wn-border);
    border-radius: 10px;

    font-size: 16px;
    font-weight: 600;
}

/* =========================================================
   BOUTON AJOUTER AU PANIER
   ========================================================= */

body.single-product .single_add_to_cart_button {
    min-height: 54px !important;

    padding: 0 28px !important;

    background: var(--wn-blue) !important;
    color: #fff !important;

    border: none !important;
    border-radius: 12px !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    box-shadow: 0 8px 22px rgba(8, 98, 184, .22);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease !important;
}

body.single-product .single_add_to_cart_button:hover {
    background: var(--wn-blue-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(8, 98, 184, .30);
}

body.single-product .single_add_to_cart_button:active {
    transform: translateY(0);
}

/* =========================================================
   MÉTA PRODUIT
   ========================================================= */

body.single-product .product_meta {
    margin-top: 25px;
    padding-top: 20px;

    border-top: 1px solid var(--wn-border);

    color: var(--wn-muted);
    font-size: 13px;
}

body.single-product .product_meta a {
    color: var(--wn-blue);
}

/* =========================================================
   ONGLETS WOOCOMMERCE
   ========================================================= */

body.single-product .woocommerce-tabs {
    clear: both;
    padding-top: 60px;
}

body.single-product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 10px;

    padding: 0 !important;
    margin-bottom: 0 !important;

    border: none !important;
}

body.single-product .woocommerce-tabs ul.tabs::before {
    display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 12px 18px !important;

    color: var(--wn-muted) !important;
    background: #fff;

    border: 1px solid var(--wn-border);
    border-radius: 10px 10px 0 0;

    font-weight: 600 !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
    background: var(--wn-navy);
    border-color: var(--wn-navy);
    color: #fff !important;
}

body.single-product .woocommerce-Tabs-panel {
    background: #fff;
    padding: 30px;

    border: 1px solid var(--wn-border);
    border-radius: 0 14px 14px 14px;

    box-shadow: 0 10px 30px rgba(8,43,76,.05);
}

/* =========================================================
   PRODUITS SIMILAIRES
   ========================================================= */

body.single-product .related.products {
    clear: both;
    padding-top: 60px;
}

body.single-product .related.products > h2 {
    color: var(--wn-navy);
    font-size: 30px;
    margin-bottom: 30px;
}

body.single-product .related ul.products li.product {
    background: #fff;
    border: 1px solid var(--wn-border);
    border-radius: 16px;

    padding: 14px;

    overflow: hidden;

    box-shadow: 0 8px 25px rgba(8,43,76,.06);

    transition: all .25s ease;
}

body.single-product .related ul.products li.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(8,43,76,.12);
}

body.single-product .related ul.products li.product img {
    border-radius: 11px;
}

body.single-product .related ul.products li.product .woocommerce-loop-product__title {
    color: var(--wn-navy);
    font-size: 17px;
}

/* =========================================================
   FIL D'ARIANE
   ========================================================= */

body.single-product .woocommerce-breadcrumb {
    max-width: 1180px;
    margin: 0 auto !important;
    padding: 18px 20px !important;

    color: #6b7280;
    font-size: 13px;
}

body.single-product .woocommerce-breadcrumb a {
    color: var(--wn-navy);
    font-weight: 600;
}

/* =========================================================
   RESPONSIVE TABLETTE
   ========================================================= */

@media (max-width: 992px) {

    body.single-product div.product {
        margin-top: 30px;
    }

    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary {
        width: 100%;
        float: none;
    }

    body.single-product div.product .summary {
        margin-top: 30px;
    }
}

/* =========================================================
   RESPONSIVE MOBILE
   ========================================================= */

@media (max-width: 600px) {

    body.single-product div.product {
        padding: 0 14px;
        margin-top: 20px;
    }

    body.single-product div.product .summary {
        padding: 25px 20px;
        border-radius: 16px;
    }

    body.single-product .product_title {
        font-size: 29px;
    }

    body.single-product .summary .price {
        font-size: 19px !important;
    }

    body.single-product .woocommerce-product-details__short-description {
        font-size: 15px;
    }

    body.single-product .flex-control-thumbs img {
        height: 65px;
    }

    body.single-product .single_add_to_cart_button {
        width: 100% !important;
        margin-top: 12px !important;
    }

    body.single-product .quantity {
        width: 100%;
        margin-bottom: 10px !important;
    }

    body.single-product .quantity .qty {
        width: 100% !important;
    }

    body.single-product .woocommerce-tabs ul.tabs {
        flex-direction: column;
    }

    body.single-product .woocommerce-tabs ul.tabs li a {
        border-radius: 9px !important;
    }

    body.single-product .woocommerce-Tabs-panel {
        border-radius: 12px;
        padding: 22px 18px;
    }
}

/************. Page boutique *********/
/* =========================================================
   WASH NICELY — REFONTE PAGE BOUTIQUE
   URL : /boutique/
   ========================================================= */

body.post-type-archive-product,
body.woocommerce-shop{
    --wn-navy:#06233f;
    --wn-blue:#0298b7;
    --wn-blue-dark:#047e9d;
    --wn-turquoise:#16a8b9;
    --wn-light:#f5fafc;
    --wn-light-blue:#edf8fb;
    --wn-border:#e2edf1;
    --wn-text:#526472;
    --wn-muted:#7c8a94;
    --wn-white:#ffffff;

    background:#fff;
}

/* =========================================================
   CONTENEUR GLOBAL
   ========================================================= */

body.post-type-archive-product main,
body.woocommerce-shop main{
    background:#fff;
}

body.post-type-archive-product .site-main,
body.woocommerce-shop .site-main{
    max-width:1380px;
    width:calc(100% - 60px);
    margin:0 auto;
    padding-top:45px;
    padding-bottom:90px;
}


/* =========================================================
   TITRE BOUTIQUE
   ========================================================= */

body.post-type-archive-product .woocommerce-products-header,
body.woocommerce-shop .woocommerce-products-header{
    position:relative;
    margin-bottom:40px;
    padding:55px 60px;
    border-radius:24px;

    background:
        radial-gradient(circle at 85% 30%,rgba(0,166,193,.16),transparent 35%),
        linear-gradient(110deg,#f4fbfd,#eaf7fa);

    overflow:hidden;
}

body.post-type-archive-product .woocommerce-products-header:after,
body.woocommerce-shop .woocommerce-products-header:after{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    border-radius:50%;
    right:-70px;
    top:-130px;
    background:rgba(0,151,184,.08);
}

body.post-type-archive-product .woocommerce-products-header__title,
body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product h1.page-title,
body.woocommerce-shop h1.page-title{
    position:relative;
    z-index:2;
    margin:0 !important;

    font-size:48px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:-1.8px;

    color:var(--wn-navy);
}

body.post-type-archive-product h1.page-title:before,
body.woocommerce-shop h1.page-title:before{
    content:"NOS PRODUITS";
    display:block;

    margin-bottom:12px;

    color:var(--wn-blue);
    font-size:12px;
    line-height:1;
    letter-spacing:2px;
    font-weight:800;
}


/* =========================================================
   BARRE RÉSULTATS / TRI
   ========================================================= */

body.post-type-archive-product .woocommerce-result-count,
body.woocommerce-shop .woocommerce-result-count{
    color:var(--wn-text);
    font-size:14px;
    font-weight:500;
    margin-top:15px;
}

body.post-type-archive-product .woocommerce-ordering,
body.woocommerce-shop .woocommerce-ordering{
    margin-bottom:30px;
}

body.post-type-archive-product .woocommerce-ordering select,
body.woocommerce-shop .woocommerce-ordering select{
    min-width:210px;
    height:48px;

    padding:0 42px 0 16px;

    border:1px solid var(--wn-border);
    border-radius:10px;

    color:var(--wn-navy);
    background:#fff;

    font-size:13px;
    font-weight:600;

    outline:none;

    transition:.25s ease;
}

body.post-type-archive-product .woocommerce-ordering select:hover,
body.woocommerce-shop .woocommerce-ordering select:hover{
    border-color:var(--wn-blue);
}


/* =========================================================
   GRILLE PRODUITS
   ========================================================= */

body.post-type-archive-product ul.products,
body.woocommerce-shop ul.products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:25px;

    margin:0 !important;
}

body.post-type-archive-product ul.products:before,
body.post-type-archive-product ul.products:after,
body.woocommerce-shop ul.products:before,
body.woocommerce-shop ul.products:after{
    display:none !important;
}


/* =========================================================
   CARTE PRODUIT
   ========================================================= */

body.post-type-archive-product ul.products li.product,
body.woocommerce-shop ul.products li.product{
    position:relative;

    width:100% !important;
    float:none !important;

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

    border:1px solid var(--wn-border);
    border-radius:18px;

    background:#fff;

    overflow:hidden;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

body.post-type-archive-product ul.products li.product:hover,
body.woocommerce-shop ul.products li.product:hover{
    transform:translateY(-6px);

    border-color:#d1e6ed;

    box-shadow:
        0 18px 45px rgba(2,38,60,.08),
        0 4px 12px rgba(2,38,60,.04);
}


/* =========================================================
   IMAGE PRODUIT
   ========================================================= */

body.post-type-archive-product ul.products li.product a img,
body.woocommerce-shop ul.products li.product a img{
    width:100% !important;
    height:280px !important;

    margin:0 0 18px !important;

    object-fit:contain;

    padding:12px;

    background:#f7f9fa;

    border-radius:12px;

    transition:transform .4s ease;
}

body.post-type-archive-product ul.products li.product:hover img,
body.woocommerce-shop ul.products li.product:hover img{
    transform:scale(1.035);
}


/* =========================================================
   NOM PRODUIT
   ========================================================= */

body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title{
    padding:0 8px !important;
    margin:0 0 10px !important;

    min-height:44px;

    color:var(--wn-navy);

    font-size:15px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
}


/* =========================================================
   PRIX
   ========================================================= */

body.post-type-archive-product ul.products li.product .price,
body.woocommerce-shop ul.products li.product .price{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;

    min-height:30px;

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

    color:var(--wn-blue) !important;

    font-size:18px !important;
    line-height:1.2;
    font-weight:800 !important;
}

body.post-type-archive-product ul.products li.product .price del,
body.woocommerce-shop ul.products li.product .price del{
    color:#9aa7af !important;

    font-size:13px;
    font-weight:500;

    opacity:1 !important;
}

body.post-type-archive-product ul.products li.product .price ins,
body.woocommerce-shop ul.products li.product .price ins{
    text-decoration:none !important;

    color:var(--wn-blue);
    font-weight:800;
}


/* =========================================================
   BOUTON AJOUTER AU PANIER
   ========================================================= */

body.post-type-archive-product ul.products li.product .button,
body.woocommerce-shop ul.products li.product .button{
    width:calc(100% - 16px);

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

    min-height:46px;

    margin:5px 8px 0 !important;
    padding:12px 15px !important;

    border:1.5px solid var(--wn-blue) !important;
    border-radius:9px !important;

    background:#fff !important;

    color:var(--wn-blue) !important;

    font-size:13px !important;
    line-height:1.2;
    font-weight:700 !important;

    text-align:center;

    transition:.25s ease;
}

body.post-type-archive-product ul.products li.product .button:hover,
body.woocommerce-shop ul.products li.product .button:hover{
    background:var(--wn-blue) !important;

    color:#fff !important;

    transform:none !important;
}

body.post-type-archive-product ul.products li.product .added_to_cart,
body.woocommerce-shop ul.products li.product .added_to_cart{
    display:block;

    margin:10px 8px 0;

    text-align:center;

    color:var(--wn-blue);

    font-size:12px;
    font-weight:700;
}


/* =========================================================
   BADGE PROMO
   ========================================================= */

body.post-type-archive-product ul.products li.product .onsale,
body.woocommerce-shop ul.products li.product .onsale{
    position:absolute;

    top:20px !important;
    left:20px !important;
    right:auto !important;

    min-width:auto !important;
    min-height:auto !important;

    margin:0 !important;
    padding:7px 11px !important;

    border-radius:30px !important;

    background:var(--wn-blue) !important;

    color:#fff !important;

    font-size:11px !important;
    line-height:1 !important;
    font-weight:700 !important;

    z-index:5;
}


/* =========================================================
   FILTRES
   ========================================================= */

/*
 Compatible avec plusieurs plugins de filtres WooCommerce.
 Les sélecteurs supplémentaires permettent d'habiller
 le filtre existant sans modifier son fonctionnement.
*/

body.woocommerce-shop .widget,
body.woocommerce-shop .wpc-filters-widget-content,
body.woocommerce-shop .woof,
body.woocommerce-shop .filter-content,
body.post-type-archive-product .widget,
body.post-type-archive-product .wpc-filters-widget-content,
body.post-type-archive-product .woof{
    color:var(--wn-navy);
}


/* bouton filtre */

body.woocommerce-shop button,
body.post-type-archive-product button{
    font-family:inherit;
}


/* titres filtres */

body.woocommerce-shop .widget-title,
body.woocommerce-shop .wpc-filter-title,
body.woocommerce-shop .woof_container_inner h4,
body.post-type-archive-product .widget-title,
body.post-type-archive-product .wpc-filter-title,
body.post-type-archive-product .woof_container_inner h4{
    color:var(--wn-navy);

    font-size:15px;
    line-height:1.3;
    font-weight:750;
}


/* blocs */

body.woocommerce-shop .wpc-filter-content,
body.woocommerce-shop .woof_container,
body.post-type-archive-product .wpc-filter-content,
body.post-type-archive-product .woof_container{
    margin-bottom:23px;
}


/* checkbox */

body.woocommerce-shop input[type="checkbox"],
body.post-type-archive-product input[type="checkbox"]{
    accent-color:var(--wn-blue);
}


/* liens catégories */

body.woocommerce-shop .widget_product_categories a,
body.woocommerce-shop .wpc-filter-content a,
body.woocommerce-shop .woof_list label,
body.post-type-archive-product .widget_product_categories a,
body.post-type-archive-product .wpc-filter-content a,
body.post-type-archive-product .woof_list label{
    color:var(--wn-text);

    font-size:13px;

    transition:.2s ease;
}

body.woocommerce-shop .widget_product_categories a:hover,
body.woocommerce-shop .wpc-filter-content a:hover,
body.post-type-archive-product .widget_product_categories a:hover,
body.post-type-archive-product .wpc-filter-content a:hover{
    color:var(--wn-blue);
}


/* =========================================================
   INPUT RECHERCHE FILTRE
   ========================================================= */

body.woocommerce-shop input[type="search"],
body.woocommerce-shop input[type="text"],
body.post-type-archive-product input[type="search"],
body.post-type-archive-product input[type="text"]{
    min-height:45px;

    padding:10px 14px;

    border:1px solid var(--wn-border);
    border-radius:8px;

    background:#fff;

    color:var(--wn-navy);

    outline:none;

    transition:.2s ease;
}

body.woocommerce-shop input[type="search"]:focus,
body.woocommerce-shop input[type="text"]:focus,
body.post-type-archive-product input[type="search"]:focus,
body.post-type-archive-product input[type="text"]:focus{
    border-color:var(--wn-blue);

    box-shadow:0 0 0 3px rgba(0,151,184,.08);
}


/* =========================================================
   BOUTON AFFICHER FILTRES
   ========================================================= */

body.woocommerce-shop .wpc-filters-submit-button,
body.woocommerce-shop .woof_submit_search_form,
body.post-type-archive-product .wpc-filters-submit-button,
body.post-type-archive-product .woof_submit_search_form{
    min-height:45px;

    padding:10px 25px !important;

    border:0 !important;
    border-radius:8px !important;

    background:var(--wn-blue) !important;

    color:#fff !important;

    font-size:13px;
    font-weight:700;

    transition:.2s ease;
}

body.woocommerce-shop .wpc-filters-submit-button:hover,
body.woocommerce-shop .woof_submit_search_form:hover,
body.post-type-archive-product .wpc-filters-submit-button:hover,
body.post-type-archive-product .woof_submit_search_form:hover{
    background:var(--wn-navy) !important;
}


/* =========================================================
   PAGINATION
   ========================================================= */

body.woocommerce-shop nav.woocommerce-pagination,
body.post-type-archive-product nav.woocommerce-pagination{
    margin-top:55px;
}

body.woocommerce-shop nav.woocommerce-pagination ul,
body.post-type-archive-product nav.woocommerce-pagination ul{
    display:flex;

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

    gap:7px;

    border:0 !important;
}

body.woocommerce-shop nav.woocommerce-pagination ul li,
body.post-type-archive-product nav.woocommerce-pagination ul li{
    border:0 !important;
}

body.woocommerce-shop nav.woocommerce-pagination ul li a,
body.woocommerce-shop nav.woocommerce-pagination ul li span,
body.post-type-archive-product nav.woocommerce-pagination ul li a,
body.post-type-archive-product nav.woocommerce-pagination ul li span{
    display:flex;

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

    width:42px;
    height:42px;

    padding:0 !important;

    border:1px solid var(--wn-border);
    border-radius:9px;

    background:#fff;

    color:var(--wn-navy);

    font-size:13px;
    font-weight:700;

    transition:.2s ease;
}

body.woocommerce-shop nav.woocommerce-pagination ul li span.current,
body.post-type-archive-product nav.woocommerce-pagination ul li span.current{
    border-color:var(--wn-blue);

    background:var(--wn-blue);

    color:#fff;
}

body.woocommerce-shop nav.woocommerce-pagination ul li a:hover,
body.post-type-archive-product nav.woocommerce-pagination ul li a:hover{
    border-color:var(--wn-blue);

    color:var(--wn-blue);

    background:var(--wn-light-blue);
}


/* =========================================================
   MESSAGE WOOCOMMERCE
   ========================================================= */

body.woocommerce-shop .woocommerce-message,
body.woocommerce-shop .woocommerce-info,
body.post-type-archive-product .woocommerce-message,
body.post-type-archive-product .woocommerce-info{
    border:0;
    border-left:4px solid var(--wn-blue);

    border-radius:10px;

    background:var(--wn-light-blue);

    color:var(--wn-navy);
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media(max-width:1200px){

    body.post-type-archive-product ul.products,
    body.woocommerce-shop ul.products{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    body.post-type-archive-product ul.products li.product a img,
    body.woocommerce-shop ul.products li.product a img{
        height:250px !important;
    }

}


/* =========================================================
   TABLETTE PORTRAIT
   ========================================================= */

@media(max-width:900px){

    body.post-type-archive-product .site-main,
    body.woocommerce-shop .site-main{
        width:calc(100% - 35px);
        padding-top:30px;
    }

    body.post-type-archive-product .woocommerce-products-header,
    body.woocommerce-shop .woocommerce-products-header{
        padding:40px 30px;
        border-radius:18px;
    }

    body.post-type-archive-product .woocommerce-products-header__title,
    body.woocommerce-shop .woocommerce-products-header__title,
    body.post-type-archive-product h1.page-title,
    body.woocommerce-shop h1.page-title{
        font-size:40px;
    }

    body.post-type-archive-product ul.products,
    body.woocommerce-shop ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:600px){

    body.post-type-archive-product .site-main,
    body.woocommerce-shop .site-main{
        width:calc(100% - 24px);
        padding-top:20px;
        padding-bottom:60px;
    }

    body.post-type-archive-product .woocommerce-products-header,
    body.woocommerce-shop .woocommerce-products-header{
        padding:35px 22px;
        margin-bottom:25px;

        border-radius:15px;
    }

    body.post-type-archive-product .woocommerce-products-header__title,
    body.woocommerce-shop .woocommerce-products-header__title,
    body.post-type-archive-product h1.page-title,
    body.woocommerce-shop h1.page-title{
        font-size:34px;
        letter-spacing:-1px;
    }


    /* résultats */

    body.post-type-archive-product .woocommerce-result-count,
    body.woocommerce-shop .woocommerce-result-count{
        float:none;
        width:100%;

        margin-bottom:14px;

        font-size:12px;
    }


    /* tri */

    body.post-type-archive-product .woocommerce-ordering,
    body.woocommerce-shop .woocommerce-ordering{
        float:none;
        width:100%;

        margin-bottom:25px;
    }

    body.post-type-archive-product .woocommerce-ordering select,
    body.woocommerce-shop .woocommerce-ordering select{
        width:100%;
    }


    /* 2 produits par ligne */

    body.post-type-archive-product ul.products,
    body.woocommerce-shop ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:10px;
    }

    body.post-type-archive-product ul.products li.product,
    body.woocommerce-shop ul.products li.product{
        padding:6px 6px 12px !important;

        border-radius:12px;
    }


    /* image */

    body.post-type-archive-product ul.products li.product a img,
    body.woocommerce-shop ul.products li.product a img{
        height:165px !important;

        margin-bottom:11px !important;

        padding:5px;

        border-radius:9px;
    }


    /* titre */

    body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title{
        min-height:46px;

        padding:0 5px !important;

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


    /* prix */

    body.post-type-archive-product ul.products li.product .price,
    body.woocommerce-shop ul.products li.product .price{
        padding:0 5px !important;

        font-size:14px !important;
    }

    body.post-type-archive-product ul.products li.product .price del,
    body.woocommerce-shop ul.products li.product .price del{
        font-size:10px;
    }


    /* bouton */

    body.post-type-archive-product ul.products li.product .button,
    body.woocommerce-shop ul.products li.product .button{
        width:calc(100% - 10px);

        min-height:39px;

        margin:4px 5px 0 !important;

        padding:9px 5px !important;

        font-size:10px !important;
    }


    /* promo */

    body.post-type-archive-product ul.products li.product .onsale,
    body.woocommerce-shop ul.products li.product .onsale{
        top:12px !important;
        left:12px !important;

        padding:5px 7px !important;

        font-size:9px !important;
    }

}

/********** page categories *********/
/* =========================================================
   WASH NICELY
   PAGE CATÉGORIE
   ========================================================= */

body.tax-product_cat {
    --wn-navy:#06233f;
    --wn-blue:#0298b7;
    --wn-blue-dark:#047e9d;
    --wn-turquoise:#14a7b9;
    --wn-soft:#f4fafc;
    --wn-soft2:#edf8fb;
    --wn-border:#e1ebef;
    --wn-text:#566873;
    --wn-muted:#87939b;
    background:#fff;
}

/* =========================================================
   CONTENEUR
   ========================================================= */
body.tax-product_cat .site-main{
    max-width:1320px;
    width:calc(100% - 50px);
    margin:0 auto;
    padding:45px 0 90px;
}

/* =========================================================
   HEADER CATÉGORIE
   ========================================================= */
body.tax-product_cat .woocommerce-products-header{
    position:relative;
    overflow:hidden;
    margin-bottom:45px;
    padding:60px 60px;
    border-radius:24px;
    background: radial-gradient(circle at 90% 20%,rgba(0,151,184,.15),transparent 33%), linear-gradient(115deg,#f7fcfd 0%,#edf8fb 55%,#e8f6fa 100%);
}

body.tax-product_cat .woocommerce-products-header:before{
    display:inline-flex;
    position:relative;
    z-index:2;
    margin-bottom:13px;
    color:var(--wn-blue);
    font-size:11px;
    font-weight:800;
    line-height:1;
    letter-spacing:2px;
}

body.tax-product_cat .woocommerce-products-header:after{
    content:"";
    position:absolute;
    right:-100px;
    top:-150px;
    width:370px;
    height:370px;
    border-radius:50%;
    background:rgba(0,151,184,.07);
}

body.tax-product_cat .woocommerce-products-header__title{
    position:relative;
    z-index:2;
    max-width:700px;
    margin:0 !important;
    color:var(--wn-navy);
    font-size:52px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:-1.8px;
}

/* texte catégorie WooCommerce */
body.tax-product_cat .term-description{
    position:relative;
    z-index:2;

    max-width:690px;

    margin-top:18px;

    color:var(--wn-text);

    font-size:16px;
    line-height:1.7;
}

body.tax-product_cat .term-description p{
    margin:0;
}

/* =========================================================
   COMPTE PRODUITS + TRI
   ========================================================= */
body.tax-product_cat .woocommerce-result-count{
    margin:12px 0 28px;

    color:var(--wn-text);

    font-size:13px;
    font-weight:500;
}

body.tax-product_cat .woocommerce-ordering{
    margin:0 0 28px;
}

body.tax-product_cat .woocommerce-ordering select{
    min-width:220px;
    height:48px;
    padding:0 42px 0 16px;
    border:1px solid var(--wn-border);
    border-radius:10px;
    background:#fff;
    color:var(--wn-navy);
    font-size:13px;
    font-weight:600;
    outline:none;
    transition:.25s ease;
}

body.tax-product_cat .woocommerce-ordering select:hover,
body.tax-product_cat .woocommerce-ordering select:focus{
    border-color:var(--wn-blue);
    box-shadow:0 0 0 3px rgba(0,151,184,.07);
}

/* =========================================================
   GRILLE PRODUITS
   ========================================================= */
body.tax-product_cat ul.products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
    margin:0 !important;
}

body.tax-product_cat ul.products:before,
body.tax-product_cat ul.products:after{
    display:none !important;
}


/* =========================================================
   CARTE PRODUIT
   ========================================================= */

body.tax-product_cat ul.products li.product{
    position:relative;

    width:100% !important;
    float:none !important;

    display:flex;
    flex-direction:column;

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

    border:1px solid var(--wn-border);
    border-radius:18px;

    background:#fff;

    overflow:hidden;

    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

body.tax-product_cat ul.products li.product:hover{
    transform:translateY(-6px);

    border-color:#cfe4eb;

    box-shadow:
        0 20px 45px rgba(6,35,63,.09),
        0 4px 12px rgba(6,35,63,.04);
}


/* =========================================================
   IMAGE
   ========================================================= */

body.tax-product_cat ul.products li.product a img{
    width:100% !important;
    height:270px !important;

    margin:0 0 18px !important;

    padding:16px;

    object-fit:contain;

    border-radius:13px;

    background:#f8fafb;

    transition:transform .35s ease;
}

body.tax-product_cat ul.products li.product:hover a img{
    transform:scale(1.035);
}


/* =========================================================
   NOM PRODUIT
   ========================================================= */

body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{
    min-height:48px;

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

    color:var(--wn-navy);

    font-size:15px !important;
    line-height:1.45 !important;
    font-weight:750 !important;
}


/* =========================================================
   PRIX
   ========================================================= */

body.tax-product_cat ul.products li.product .price{
    display:flex;
    flex-wrap:wrap;
    align-items:center;

    gap:7px;

    min-height:30px;

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

    color:var(--wn-blue) !important;

    font-size:18px !important;
    line-height:1.2;
    font-weight:800 !important;
}

body.tax-product_cat ul.products li.product .price del{
    color:#9ba7ae !important;

    font-size:12px;

    opacity:1 !important;
}

body.tax-product_cat ul.products li.product .price ins{
    color:var(--wn-blue) !important;

    text-decoration:none !important;

    font-weight:800 !important;
}


/* =========================================================
   BOUTON
   ========================================================= */

body.tax-product_cat ul.products li.product .button{
    display:flex !important;

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

    width:calc(100% - 16px);

    min-height:46px;

    margin:auto 8px 0 !important;
    padding:12px 10px !important;

    border:1.5px solid var(--wn-blue) !important;
    border-radius:9px !important;

    background:#fff !important;

    color:var(--wn-blue) !important;

    font-size:12px !important;
    font-weight:750 !important;

    text-align:center;

    transition:.25s ease;
}

body.tax-product_cat ul.products li.product .button:hover{
    background:var(--wn-blue) !important;

    color:#fff !important;
}


/* =========================================================
   PRODUIT EN PROMO
   ========================================================= */

body.tax-product_cat ul.products li.product .onsale{
    position:absolute;

    top:20px !important;
    left:20px !important;
    right:auto !important;

    min-width:auto !important;
    min-height:auto !important;

    padding:7px 11px !important;
    margin:0 !important;

    border-radius:30px !important;

    background:var(--wn-blue) !important;

    color:#fff !important;

    font-size:10px !important;
    line-height:1 !important;
    font-weight:800 !important;

    z-index:5;
}


/* =========================================================
   AJOUTÉ AU PANIER
   ========================================================= */

body.tax-product_cat ul.products li.product .added_to_cart{
    display:block;

    margin:10px 8px 0;

    color:var(--wn-blue);

    text-align:center;

    font-size:11px;
    font-weight:700;
}


/* =========================================================
   MESSAGE WOOCOMMERCE
   ========================================================= */

body.tax-product_cat .woocommerce-message,
body.tax-product_cat .woocommerce-info{
    margin-bottom:30px;

    border:0;
    border-left:4px solid var(--wn-blue);

    border-radius:10px;

    background:var(--wn-soft2);

    color:var(--wn-navy);
}


/* =========================================================
   PAGINATION
   ========================================================= */

body.tax-product_cat nav.woocommerce-pagination{
    margin-top:55px;
}

body.tax-product_cat nav.woocommerce-pagination ul{
    display:flex;

    justify-content:center;

    gap:7px;

    border:0 !important;
}

body.tax-product_cat nav.woocommerce-pagination ul li{
    border:0 !important;
}

body.tax-product_cat nav.woocommerce-pagination ul li a,
body.tax-product_cat nav.woocommerce-pagination ul li span{
    display:flex;

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

    width:42px;
    height:42px;

    padding:0 !important;

    border:1px solid var(--wn-border);
    border-radius:9px;

    background:#fff;

    color:var(--wn-navy);

    font-size:13px;
    font-weight:700;
}

body.tax-product_cat nav.woocommerce-pagination ul li span.current{
    border-color:var(--wn-blue);

    background:var(--wn-blue);

    color:#fff;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media(max-width:1150px){

    body.tax-product_cat ul.products{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    body.tax-product_cat ul.products li.product a img{
        height:240px !important;
    }

}


/* =========================================================
   TABLETTE PORTRAIT
   ========================================================= */

@media(max-width:850px){

    body.tax-product_cat .site-main{
        width:calc(100% - 32px);
        padding-top:30px;
    }

    body.tax-product_cat .woocommerce-products-header{
        padding:42px 30px;

        border-radius:18px;
    }

    body.tax-product_cat .woocommerce-products-header__title{
        font-size:40px;
    }

    body.tax-product_cat ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:16px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:600px){

    body.tax-product_cat .site-main{
        width:calc(100% - 24px);

        padding:20px 0 60px;
    }

    body.tax-product_cat .woocommerce-products-header{
        padding:34px 22px;

        margin-bottom:25px;

        border-radius:15px;
    }

    body.tax-product_cat .woocommerce-products-header__title{
        font-size:33px;

        letter-spacing:-1px;
    }

    body.tax-product_cat .term-description{
        font-size:14px;
        line-height:1.6;
    }


    body.tax-product_cat .woocommerce-result-count{
        float:none;

        width:100%;

        margin-bottom:12px;

        font-size:12px;
    }


    body.tax-product_cat .woocommerce-ordering{
        float:none;

        width:100%;

        margin-bottom:22px;
    }

    body.tax-product_cat .woocommerce-ordering select{
        width:100%;
    }


    body.tax-product_cat ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:10px;
    }


    body.tax-product_cat ul.products li.product{
        padding:6px 6px 12px !important;

        border-radius:12px;
    }


    body.tax-product_cat ul.products li.product a img{
        height:160px !important;

        margin-bottom:10px !important;

        padding:7px;

        border-radius:9px;
    }


    body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{
        min-height:48px;

        padding:0 5px !important;

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


    body.tax-product_cat ul.products li.product .price{
        padding:0 5px !important;

        font-size:14px !important;
    }


    body.tax-product_cat ul.products li.product .button{
        width:calc(100% - 10px);

        min-height:38px;

        margin:3px 5px 0 !important;
        padding:8px 5px !important;

        font-size:9.5px !important;
    }


    body.tax-product_cat ul.products li.product .onsale{
        top:12px !important;
        left:12px !important;

        padding:5px 7px !important;

        font-size:9px !important;
    }

}