/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --aps-green: #4b6d31; /* Vert APS Choice */
    --aps-dark-green: #3a5426;
    --aps-charcoal: #2c3327;
    --aps-beige: #f4f1ea;
    --aps-grey:#f7f8f6;
    --aps-accent: #8cac1b;
    --aps-orange:#de6c15;
    --aps-brown:#201612;
    --aps-text:#666666;
    --aps-font-base:"Roboto", sans-serif;
    --aps-font-spe:"Roboto Condensed", sans-serif;
}

/* =========================================
    GENERAL
========================================= */

body {
    font-family: var(--aps-font-base) !important;
    color:var(--aps-text) !important;
}

a {
    color:var(--aps-green);
    text-decoration: underline;
}

a:hover {
    color:var(--aps-accent);
}

.btn-primary {
    background-color: var(--aps-green, #4b6d31);
    border-color: var(--aps-green, #4b6d31);
    color:#fff;
    border-radius: 8px;
    padding: 8px 15px;
    font-weight:600;
    font-size:16px;
    line-height:18px;
    font-family:var(--aps-font-spe);
    text-transform:uppercase;
    transition: background-color 0.3s;
    i {
        color:#fff !important;
    }
    &:hover,
    &:focus {
        background-color: var(--aps-accent) !important;
        border-color: var(--aps-accent) !important;
        color:#fff !important;
        box-shadow: none !important;
        i {
            color:#fff !important;
        }
    }
}
.btn-outline-primary {
    background-color:transparent;
    border-color: var(--aps-green);
    color: var(--aps-green);
    border-radius: 8px;
    padding: 8px 15px;
    font-weight:600;
    font-size:16px;
    line-height:18px;
    font-family:var(--aps-font-spe);
    text-transform:uppercase;
    transition: background-color 0.3s;
    i {
        color: var(--aps-green) !important;
    }
    &:hover,
    &:focus {
        background-color: var(--aps-accent) !important;
        border-color: var(--aps-accent) !important;
        color:#fff !important;
        box-shadow: none !important;
        i {
            color:#fff !important;
        }
    }
}
.btn:focus-visible,
.btn:disabled,
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
    background-color: var(--aps-accent) !important;
    border-color: var(--aps-accent) !important;
    color:#fff !important;
    box-shadow: none !important;
}

.alert-info {
    color: var(--aps-dark-green);
    background-color: rgba(75, 109, 49,.1);
    border-color: rgba(75, 109, 49,.3);
}

.form-control:focus, .modal.product-comment-modal .form-control:focus, .modal.product-comment-modal textarea:focus {
    border-color: #4b6d31;
    box-shadow: 0 0 0 .25rem rgba(75, 109, 49, 0.25);
}
.form-label.required {
    &:after {
        color: #d3231e;
        content: " *";
        font-size: 18px;
        margin: 0 0 0 2px;
        padding: 0 5px 0 0;
        position: absolute;
    }
}

#wrapper {
    background-color:#f9f9f9;
}

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

#header {
    position:relative;
    .header-top {
        .header-top__left {
            .contact-link {
                color:var(--aps-text);
                font-size:14px;
                line-height: 16px;
            }
        }
        .header-top__right {
            #language-selector {
                background-color:var(--aps-beige);
                border-radius:9999px;
                background-position: right .8rem center;
                padding-right: 2.5rem;
                padding-left:1rem;
                font-family:var(--aps-font-spe);
                color:#222;
                &:focus {
                    border-color:var(--aps-accent);
                    box-shadow: 0 0 0 .25rem rgba(140, 172, 27, 0.25);
                }
            }
            #_desktop_user_info {
                .header-block__action-btn {
                    color:#222;
                    font-family:var(--aps-font-spe);
                    &:hover {
                        color:var(--aps-accent);
                    }
                    i {
                        color:var(--aps-accent);
                    }
                }
                .dropdown-menu {
                    a.dropdown-item {
                        color:#222;
                        &:hover {
                            color:var(--aps-accent);
                        }
                        i {
                            color:var(--aps-accent);
                        }
                    }
                }
            }
            #_desktop_cart {
                .header-block__action-btn {
                    color:#222;
                    font-family:var(--aps-font-spe);
                    &:hover {
                        color:var(--aps-accent);
                        .header-block__badge {
                            background:var(--aps-accent);
                            color:#222;
                        }
                    }
                    i {
                        color:var(--aps-accent);
                    }
                }
                .header-block__badge {
                    background:var(--aps-beige);
                }
            }
        }
    }
    .header-bottom {
        .navbar-brand {
            max-height:inherit;
            max-width:150px;
            @media screen and (max-width:767px) {
                max-width:100px;
            }
            img {
                padding:10px 0;
            }
        }
        .main-menu {
            #top-menu {
                padding-left:24px;
            }
            .main-menu__tree__link {
                font-family:var(--aps-font-spe);
                color:#222;
                text-transform:uppercase;
                font-weight:700;
                font-size:18px;
                line-height:22px;
                &:hover {
                    color:var(--aps-accent);
                }
            }
            .main-menu__tree>li>a {
                padding:2.79rem 1rem;
            }
            .main-menu__tree>li .menu-container a[data-depth="1"] {
                color:var(--aps-dark-green);
                text-transform:inherit;
                font-family:var(--aps-font-base);
                &:hover {
                    color:var(--aps-accent);
                }
            }
            .main-menu__tree>li .menu-container a[data-depth="2"] {
                color:var(--aps-text);
                text-transform:inherit;
                font-family:var(--aps-font-base);
                font-weight:400;
                font-size:15px;
                line-height:19px;
                padding-left:12px;
                &:before {
                    content:'●';
                }
                &:hover {
                    color:var(--aps-accent);
                }
            }
        }
        .search__mobile {
            .header-block__action-btn {
                color:var(--aps-green);
                &:hover {
                    color:var(--aps-accent);
                }
            }
        }
        #_mobile_user_info {
            .header-block__action-btn {
                color:var(--aps-green);
                &:hover {
                    color:var(--aps-accent);
                }
            }
        }
        #_mobile_cart {
            .header-block__action-btn {
                color:var(--aps-green);
                &:hover {
                    color:var(--aps-accent);
                }
                .header-block__badge {
                    background:var(--aps-accent);
                }
            }
        }
        a:not(.dropdown-item):not(.btn):hover, a:not(.dropdown-item):not(.btn):hover i {
            color:var(--aps-accent);
        }
    }
    .header-bottom.is-fixed {
        position: fixed;
        top:-150px;
        left: 0;
        right: 0;
        width: 100%;
        z-index:1040;
        background:#fff;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        animation: slideDownMenu 0.4s ease-out forwards;
        .navbar-brand {
            max-width:80px;
        }
        .main-menu {
            .main-menu__tree>li>a {
                padding:1.5rem 1rem;
            }
        }
    }
    .banner-custom {
        background:var(--aps-orange);
        padding:6px 30px;
        color:#fff;
        font-family:var(--aps-font-spe);
        font-size: 20px;
        line-height: 22px;
        font-weight: 700;
        @media screen and (max-width:767px) {
            font-size:18px;
            line-height:20px;
        }
        @media screen and (max-width:575px) {
            font-size:16px;
            line-height:18px;
        }
    }
    .search-widgets__dropdown {
        z-index:99;
    }
}
/* Nouvelle animation qui n'utilise pas "transform" pour ne pas bloquer le menu mobile */
@keyframes slideDownMenu {
    from { top: -150px; }
    to { top: 0; }
}

/* S'assure que le header natif ne rentre pas en conflit */
#header.js-sticky-header {
    position: static !important;
}

/* =========================================
    BREACRUMB
========================================= */

.breadcrumb__wrapper {
    padding-top:12px;
    .breadcrumb-item {
        color:var(--aps-text);
        a {
            color:var(--aps-text);
            &:hover {
                color:var(--aps-accent);
            }
        }
    }
}

/* =========================================
    MODAL
========================================= */

.modal-dialog {
    .modal-header {
        .modal-title {
            font-family:var(--aps-font-spe);
            color:#222;
            font-weight:700;
            i {
                color:var(--aps-accent);
            }
        }
        .modal-content {
            color:var(--aps-text);
        }
        .modal-body {
            color:var(--aps-text);
            h1, h2, h3, h4, h5, h6 {
                font-family:var(--aps-font-spe) !important;
                color:#222 !important;
                font-weight:700 !important;
            }
            p.h6 {
                font-family:var(--aps-font-spe) !important;
                color:#222 !important;
                font-weight:700 !important;
            }
            p {
                color:var(--aps-text) !important;
            }
        }
        .modal-footer {
            .btn-primary {
                padding:11px 15px;
            }
        }
    }
}
.modal-content {
    color:var(--aps-text);
    h1, h2, h3, h4, h5, h6 {
        font-family:var(--aps-font-spe) !important;
        color:#222 !important;
        font-weight:700 !important;
    }
}

/* =========================================
    HAUT ET BAS PAGE CATEGORIES
========================================= */

h1#js-product-list-header {
    font-family:var(--aps-font-spe);
    color:#222;
    font-weight:700;
}
.block-category {
    h1.page-title-section {
        font-family:var(--aps-font-spe);
        color:#222;
        font-weight:700;
    }
    #category-description {
        color:var(--aps-text);
    }
    /* On cache l'image de couverture */
    .category-cover {
        display:none;
    }
}
#subcategories {
    .subcategory__wrapper {
        .subcategory {
            border-radius:12px;
            padding:8px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.02);
            background: #fff;
            border: 1px solid var(--aps-beige);
            .subcategory__name {
                font-family:var(--aps-font-spe);
                color:#222;
                font-weight:600;
                font-size:17px;
                line-height:19px;
            }
            &:hover {
                box-shadow: 0 10px 20px rgba(0,0,0,0.06);
            }
        }
    }
}
.pagination-container {
    a.page-link {
        color:var(--aps-green);
        &:hover {
            color:var(--aps-accent);
        }
    }
}

/* =========================================
    COLONNE GAUCHE
========================================= */

#left-column {
    padding-right:40px !important;
    @media (max-width:1199px) {
        padding-right:12px !important;
    }
    .ps_categorytree {
        border-radius: 20px;
        padding:24px;
        box-shadow: 0 4px 6px rgba(0,0,0,0.02);
        background: #fff;
        .left-block__title {
            font-family:var(--aps-font-spe);
            .left-block__title__link {
                color:#222;
                &:hover {
                    color:var(--aps-accent);
                }
            }
        }
        .category-tree__item__link {
            color:var(--aps-text);
            &:hover {
                color:var(--aps-accent);
            }
        }
    }
}

/* =========================================
    ACCUEIL
========================================= */

#index {
    #wrapper {
        #content-wrapper {
            padding-bottom:0;
            #content {
                #home-slider {
                    &.ratio-homeSlider {
                        min-height: 70vh;
                        --bs-aspect-ratio:70vh;
                    }
                    .carousel {
                        .carousel-inner {
                            .carousel-item {
                                .carousel-caption {
                                    .display-1 {
                                        font-family: var(--aps-font-spe);
                                        font-size:45px;
                                        line-height:52px;
                                        font-weight:700;
                                        color:#fff !important;
                                        text-shadow:0 6px 10px rgba(0,0,0,.6);
                                    }
                                }
                            }
                        }
                        .carousel-indicators [data-bs-target] {
                            background-color:var(--aps-accent);
                        }
                        .carousel-indicators {
                            button {
                                &.active {
                                    background-color:var(--aps-accent);
                                }
                            }
                        }
                    }
                }
                #quick-access {
                    background-color:var(--aps-brown);
                    background-image: linear-gradient(to right top, #201612, #291c17, #33221c, #3e2821, #482e26, #482e26, #482e26, #482e26, #3e2821, #33221c, #291c17, #201612);
                    padding:80px 0 50px 0;
                    .col-6 {
                        @media (max-width: 375px) {
                            width:100%;
                        }
                    }
                    .v2-item {
                        text-align: center;
                        text-decoration: none;
                        color: inherit;
                        display: block;
                        transition: color 0.3s;
                        margin-bottom:30px;
                    }
                    .v2-circle {
                        width: 160px;
                        height: 160px;
                        border-radius: 50%;
                        margin: 0 auto 15px;
                        overflow: hidden;
                        border: 4px solid var(--aps-beige);
                        transition: border-color 0.3s, transform 0.3s;
                    }
                    .v2-item:hover .v2-circle {
                        border-color: var(--aps-accent);
                        transform: scale(1.05);
                    }
                    .v2-item:hover .v2-title {
                        color: var(--aps-accent);
                    }
                    .v2-circle img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }
                    .v2-item .v2-title {
                        font-family:var(--aps-font-spe);
                        font-size: 1.1rem;
                        text-transform: uppercase;
                        color:#fff;
                        font-weight:700;
                    }
                }
            }
        }
    }
    #custom-text {
        background-color:var(--aps-charcoal);
        color: #fff;
        padding: 80px 0;
        .v1-tagline {
            font-family: var(--aps-font-spe);
            color: var(--aps-accent);
            font-weight: 700;
            text-transform: uppercase;
            display: block;
            letter-spacing:1px;
            margin-bottom: 10px;
        }
        .v1-title {
            font-family: var(--aps-font-spe);
            text-transform:uppercase;
            font-size: 2.5rem;
            margin-bottom: 30px;
            color:#fff !important;
        }
        .v1-icon-box {
            background: rgba(255,255,255,0.05);
            border-left: 3px solid var(--aps-accent);
            padding: 20px;
            height: 100%;
            border-radius:8px;
            transition: background 0.3s;
        }
        .v1-icon-box:hover {
            background: rgba(255,255,255,0.1);
        }
        .v1-icon-box i {
            color: var(--aps-accent);
            font-size: 2rem;
            margin-bottom: 10px;
        }
        .v1-icon-box .title-h4 {
            font-family: var(--aps-font-spe);
            font-weight:700;
            font-size: 1.1rem;
            text-transform: uppercase;
            margin-bottom:10px;
        }
        p {
            line-height:1.5
        }
    }
    .page-footer {
        .reassurance-title {
            font-family:var(--aps-font-spe);
            font-weight: 700;
            text-transform: uppercase;
            font-size: 1.1rem;
            margin-top: 15px;
            margin-bottom: 5px;
            color: var(--aps-dark-green);
        }
        .reassurance-text {
            font-size: 0.9rem;
            color: #666;
            margin-bottom: 0;
        }

        /* --- VERSION 1: LA LIGNE ÉPURÉE --- */
        .v1-reassurance {
            background-color: #fff;
            padding: 60px 0;
            border-top: 1px solid #eee;
        }
        .v1-item {
            text-align: center;
            padding: 0 10px;
            transition: transform 0.3s;
        }
        .v1-item:hover {
            transform: translateY(-5px);
        }
        .v1-icon {
            font-size: 3rem;
            color: var(--aps-green);
        }
    }
}

/* =========================================
    CARD PRODUIT
========================================= */

/* --- Conteneur Principal --- */
.v2-card {
    border-radius: 20px;
    padding: 15px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    background: #fff;
    border-color: transparent;
    /* --- Image et Badges --- */
    .product-miniature__link {
        overflow: hidden;
        border-radius: 15px;
        border:1px solid var(--aps-beige);
        .v2-badge-naturel {
            position: absolute;
            top: 10px;
            left: 10px;
            background: rgba(255,255,255,0.95);
            color: var(--aps-green, #4b6d31);
            font-size: 0.75rem;
            font-weight: 700;
            padding: 5px 10px;
            border-radius: 50px;
            border: 1px solid var(--aps-green, #4b6d31);
            text-transform: uppercase;
            z-index: 3;
        }
        .product-miniature__image-container {
            position: relative;
            background: #fff;
            .product-miniature__image {
                transition: transform 0.4s ease;
            }
        }
    }
    /* --- Textes : Marque, Titre, Résumé --- */
    .card-body {
        padding: 15px 0 0 0;
        /* --- Aperçu Rapide au survol -> devient lien vers produit  --- */
        .v2-quick-view {
            position: absolute;
            bottom: -50px;
            left: 0;
            width: 100%;
            background: rgba(75, 109, 49, 0.9); /* Vert APS en opacité */
            color: white;
            text-align: center;
            padding: 10px;
            font-family: var(--aps-font-spe);
            text-transform: uppercase;
            font-size: 0.9rem;
            transition: bottom 0.3s ease;
            z-index: 2;
            border: none;
            border-radius: 0 0 15px 15px;
            &:hover {
                background: var(--aps-accent);
                color: white;
            }
        }
        .v2-brand {
            color: #999;
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 5px;
        }
        .product-title {
            font-family: var(--aps-font-spe);
            font-size: 1.2rem;
            font-weight: 700;
            margin-bottom: 8px;
            color: #222;
            line-height: 1.2;
        }
        .v2-description {
            font-size: 0.85rem;
            color: #666;
            margin-bottom: 15px;
            line-height: 1.4;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        /* --- Prix --- */
        .v2-price-container {
            background: var(--aps-beige, #f4f1ea);
            padding: 10px 15px;
            border-radius: 12px;
            text-align: center;
            margin-bottom: 15px;
        }
        .product-miniature__prices {
            justify-content: center;
            .product-miniature__price {
                font-weight: 700;
                color: var(--aps-dark-green, #3a5426);
                font-size: 1.3rem;
            }
        }
        /* --- Formulaire Ajout au panier --- */
        .quantity-button {
            .input-group {
                background: #fff;
                border: 1px solid #ddd;
                border-radius: 8px;
                overflow: hidden;
            }
            .btn {
                background: #f8f9fa;
                border: none;
                color: var(--aps-dark-green, #3a5426);
                padding: 5px 10px;
                &:hover {
                    background: var(--aps-beige, #f4f1ea);
                }
            }
            .form-control {
                border: none;
                text-align: center;
                font-weight: bold;
                padding: 5px;
                background: transparent;
            }
        }
    }
    /* --- Hover card --- */
    &:hover {
        border-color: var(--aps-beige, #f4f1ea);
        box-shadow: 0 10px 20px rgba(0,0,0,0.06);
        .product-miniature__image {
            transform: scale(1.03);
        }
        .v2-quick-view {
            bottom: 0;
        }
    }
}

/* =========================================
    FICHE PRODUIT
========================================= */

#product {
    #wrapper {
        background:#fff;
        .breadcrumb__wrapper {
            background:#fff;
        }
    }
    .product__left {
        .product__images {
            #product-images {
                padding-right:40px;
                @media (max-width:991px) {
                    padding-right:12px;
                }
                @media (max-width:767px) {
                    padding-right:100px;
                }
                @media (max-width:400px) {
                    padding-right:0;
                }
                .carousel-inner {
                    border-radius: 15px;
                    border:2px solid var(--aps-beige);
                    .carousel-item {
                        .product__images__modal-opener {
                            background:var(--aps-dark-green);
                            box-shadow: .125rem -.125rem .25rem 0 rgba(0, 0, 0, 0);
                            i {
                                color:#fff;
                            }
                            &:hover {
                                background:var(--aps-accent);
                            }
                        }
                    }
                }
            }
            .thumbnails__container {
                .thumbnails__list {
                    .thumbnail {
                        img {
                            border-radius: 15px;
                            border:2px solid var(--aps-beige);
                        }
                        &.active {
                            img {
                                border-color:var(--aps-accent);
                            }
                        }
                    }
                }
            }
        }
    }
    .product__col {
        .product-flags {
            position:relative !important;
            top:inherit !important;
            left:inherit !important;
            padding:0 !important;
            .v2-badge-naturel {
                margin-left:0;
                background: var(--aps-beige);
                color: var(--aps-dark-green);
                padding: 5px 15px;
                border-radius: 50px;
                font-size: 0.8rem;
                line-height:1.5;
                font-weight: 700;
                text-transform:uppercase;
            }
        }
        h1.product__name {
            font-family:var(--aps-font-spe);
            color:#222;
            font-weight:600;
            font-size:37px;
            line-height:40px;
            text-transform:uppercase;
            margin-bottom:1rem;
        }
        .product__prices {
            .prices__wrapper {
                flex-direction: row !important;
                align-items:center;
                .product__current-price {
                    color:var(--aps-dark-green);
                    font-size:32px;
                    line-height:36px;
                    font-weight:700;
                }
                .product__tax-info {
                    color:var(--aps-dark-green);
                    opacity:.75;
                    font-size:16px;
                    line-height:20px;
                    font-weight:400;
                }
            }
        }
        .divider-description-product {
            border-bottom: 1px solid #eee;
            padding-bottom: 20px;
            margin-bottom: 20px;
        }
        .summary-title {
            font-family:var(--aps-font-spe);
            text-transform: uppercase;
            font-weight: 700;
            color:#222;
            font-size: 1.25rem;
            line-height:1.2;
            margin-bottom: .5rem;
        }
        .product__description-short {
            h1, h2, h3, h4, h5, h6 {
                font-size: 1rem;
                font-weight:normal;
            }
        }
        .product__add-to-cart {
            .product-actions__quantity {
                .btn {
                    height:42px;
                    background:var(--aps-grey);
                    &:hover {
                        background: var(--aps-beige, #f4f1ea);
                        border-color:#ced4da;
                    }
                }
                #quantity_wanted {
                    height:42px;
                }
            }
            .product-actions__button {
                .btn {
                    height:42px;
                }
            }
        }
        .blockreassurance_product {
            background: var(--aps-beige);
            border-radius:15px;
            padding:24px 24px 8px 24px;
            margin-bottom:25px;
            .item-product {
                margin-right:12px;
            }
            .block-title {
                font-family:var(--aps-font-spe);
                color:#222;
                text-transform:uppercase;
                font-size:16px;
                line-height:18px;
                font-weight:700;
            }
            p {
                color:var(--aps-text) !important;
            }
        }
    }
    .product__infos.accordion {
        border-radius:15px;
        background:var(--aps-grey);
        padding:24px;
        .accordion-item {
            background:var(--aps-grey);
            .accordion-button {
                background:var(--aps-grey);
                font-family:var(--aps-font-spe);
                color:#222;
                text-transform:uppercase;
                font-size:20px;
                line-height:24px;
                &:hover {
                    color:var(--aps-accent);
                }
            }
            .product__description {
                h1, h2, h3, h4, h5, h6 {
                    color:#222;
                    text-transform:uppercase;
                    font-size:16px;
                    line-height:20px;
                    font-family:var(--aps-font-spe);
                    font-weight:700;
                }
                table {
                    background:var(--aps-grey) !important;
                }
                table>:not(caption)>*>*,
                .table>:not(caption)>*>* {
                    background:var(--aps-grey) !important;
                }
            }
            .product__details {
                background:var(--aps-grey) !important;
                .detail {
                    color:var(--aps-text);
                    .detail__title {
                        color:#222;
                        font-family:var(--aps-font-spe);
                    }
                }
            }
        }
    }
}

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

#contact {
    h1 {
        font-family:var(--aps-font-spe);
        color:#222;
        font-weight:700;
        font-size:32px;
    }
    #left-column {
        padding-right:40px !important;
        @media (max-width:767px) {
            padding-right:12px !important;
            margin-bottom:30px;
        }
        .contact__details {
            border-radius: 20px;
            padding:24px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.02);
            background: #fff;
            color:var(--aps-text);
            p.contact__title {
                font-family:var(--aps-font-spe);
                color:#222;
                font-weight:700;
                font-size:32px;
            }
            i {
                color:var(--aps-accent);
            }
            a {
                color:var(--aps-text);
                &:hover {
                    color:var(--aps-accent);
                }
            }
        }
    }
    #content-wrapper {
        width: 66.66666667% !important;
        @media (max-width:991px) {
            width: 58.33333333% !important;
        }
        @media (max-width:767px) {
            width:100% !important;
        }
    }
}

/* =========================================
    CMS
========================================= */

.page-header {
    h1 {
        font-family:var(--aps-font-spe);
        color:#222;
        font-weight:700;
        font-size:32px;
    }
}
.page-content {
    color:var(--aps-text);
    h1, h2, h3, h4, h5, h6 {
        color:#222;
        font-family:var(--aps-font-spe);
    }
    .rich-text .h2, .rich-text h2 {
        font-size:28px;
    }
    .rich-text .h3, .rich-text h3 {
        font-size:24px;
    }
    .rich-text .h4, .rich-text h4,
    .rich-text .h5, .rich-text h5,
    .rich-text .h6, .rich-text h6 {
        font-size:20px;
    }
}

/* =========================================
    COMPTE
========================================= */

#my-account {
    #content {
        .customer-link {
            .col-6 {
                @media screen and (max-width:350px) {
                    width:100%;
                }
            }
        }
    }
    .account-link-custom {
        display: block;
        background: var(--aps-beige);
        border-radius: 20px;
        transition: all 0.3s ease;
        height: 100%;
        border: 2px solid transparent;
    }
    .account-link-custom .link-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 35px 20px;
        color: var(--aps-dark-green);
        font-family:var(--aps-font-spe);
        font-size: 1.1rem;
        text-transform: uppercase;
        font-weight: 700;
        letter-spacing: 0.5px;
        text-align:center;
    }
    .account-link-custom .material-icons {
        font-size: 2.8rem;
        color: var(--aps-green);
        margin-bottom: 15px;
    }
    .account-link-custom:hover {
        background: var(--aps-green);
        border-color: var(--aps-green);
    }
    .account-link-custom:hover .link-item,
    .account-link-custom:hover .material-icons {
        color: #fff;
    }
    .customer-link a span, .customer-link__link span {
        background:inherit;
        border-radius:inherit;
    }
}
#addresses {
    .address__wrapper {
        .address {
            display: block;
            background: var(--aps-beige);
            border-radius: 20px;
            transition: all 0.3s ease;
            height: 100%;
            border: 2px solid transparent;
            padding: 35px 20px;
            color: var(--aps-dark-green);
            font-size: 1.1rem;
            font-weight: 700;
            letter-spacing: 0.5px;
            .card-body {
                .address__alias {
                    font-family:var(--aps-font-spe);
                    text-transform:uppercase;
                    color:#222;
                }
                .address__content {
                    color:var(--aps-text);
                }
            }
            &:hover {
                background: var(--aps-green);
                border-color: var(--aps-green);
                color:#fff !important;
                .card-body {
                    color:#fff;
                    .address__alias {
                        color:#fff;
                    }
                    .address__content {
                        color:#fff;
                    }
                }
                .address__actions {
                    .address__edit {
                        color:#fff;
                        &:hover {
                            color:var(--aps-accent);
                        }
                    }
                }
            }
        }
    }
    .addresses__new-address {
        border: 2px solid var(--aps-beige);
        .new-address__text {
            color: var(--aps-dark-green);
            font-family:var(--aps-font-spe);
            font-size: 1.1rem;
            text-transform: uppercase;
            font-weight: 700;
            letter-spacing: 0.5px;
        }
        i {
            background:var(--aps-accent);
            color:var(--aps-dark-green);
        }
    }
}

/* =========================================
    PANIER + TUNNEL D'ACHAT
========================================= */

#cart {
    .cart-grid__body {
        h1.h4 {
            font-family:var(--aps-font-spe);
            color:#222;
            font-weight:700;
        }
        .cart__item {
            .product-line__actions {
                a {
                    font-family:var(--aps-font-spe);
                    color:var(--aps-green);
                    font-weight:700;
                    text-transform:uppercase;
                    text-decoration:none !important;
                    &:after {
                        display:none;
                    }
                    &:hover {
                        text-decoration:none !important;
                        color:var(--aps-accent);
                    }
                }
            }
            .input-group {
                .btn {
                    &:hover {
                        background: var(--aps-beige, #f4f1ea);
                        border-color:#ced4da;
                        opacity:1 !important;
                    }
                }
            }
        }
    }
    .cart-grid__right {
        border-radius: 20px;
        padding:24px;
        box-shadow: 0 4px 6px rgba(0,0,0,0.02);
        background: #fff;
        color:var(--aps-text);
        h2.h4 {
            font-family:var(--aps-font-spe);
            color:#222;
            font-weight:700;
        }
        .blockreassurance_product {
            .item-product {
                margin-right:12px;
            }
            .block-title {
                font-family:var(--aps-font-spe);
                color:#222;
                text-transform:uppercase;
                font-size:16px;
                line-height:18px;
                font-weight:700;
            }
            p {
                color:var(--aps-text) !important;
            }
        }
    }
    .featured-products {
        h2.section-title {
            font-family:var(--aps-font-spe);
            color:#222;
            font-weight:700;
        }
    }
}
#checkout {
    .checkout__steps {
        .text-success {
            color:var(--aps-accent) !important;
        }
        .checkout__steps__step {
            p.fw-bold {
                font-family:var(--aps-font-spe);
                color:#222;
                font-weight:700;
            }
        }
        .checkout__steps__item {
            &.checkout__steps--success {
                .checkout__steps__text {
                    color:var(--aps-accent);
                }
                .checkout__steps__number {
                    background:var(--aps-accent);
                }
                &:before,
                &:after {
                    background:var(--aps-accent);
                }
            }
            &.checkout__steps--current {
                .checkout__steps__number {
                    background:var(--aps-dark-green);
                }
                .checkout__steps__text {
                    color:var(--aps-dark-green);
                }
                .btn.active {
                    background:var(--aps-dark-green) !important;
                    border-color:var(--aps-dark-green) !important;
                }
                &:before {
                    background:var(--aps-accent);
                }
            }
            .checkout__steps__text {
                font-family:var(--aps-font-spe);
                text-transform:uppercase;
                font-size:16px;
                line-height:18px;
                padding: 10px !important;
                border-radius: 8px;
            }
            .btn:disabled {
                background:#dee2e6 !important;
                border-color:#dee2e6 !important;
            }
        }
    }
    .step__title-left {
        font-family:var(--aps-font-spe);
        color:#222;
        font-weight:700;
    }
    .step {
        .address.selected {
            border-color:var(--aps-accent);
        }
    }
    .form-check-input:checked {
        background-color:var(--aps-accent);
        border-color:var(--aps-accent);
    }
    .cart-grid-right {
        border-radius: 20px;
        padding:24px;
        box-shadow: 0 4px 6px rgba(0,0,0,0.02);
        background: #fff;
        color:var(--aps-text);
        margin-bottom:30px;
        h2.h4 {
            font-family:var(--aps-font-spe);
            color:#222;
            font-weight:700;
        }
        .cart-summary__show i {
            color:var(--aps-green);
        }
        .blockreassurance_product {
            .item-product {
                margin-right:12px;
            }
            .block-title {
                font-family:var(--aps-font-spe);
                color:#222;
                text-transform:uppercase;
                font-size:16px;
                line-height:18px;
                font-weight:700;
            }
            p {
                color:var(--aps-text) !important;
            }
        }
    }
}

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

#footer {
    background:var(--aps-dark-green);
    .footer__before {
        background:var(--aps-green);
        border-bottom: 1px solid rgba(255,255,255,0.1);
        .email-subscription {
            background:var(--aps-green);
            .email-subscription__content {
                max-width:inherit;
            }
        }
        .block-social {
            a {
                color:rgba(255,255,255,.7) !important;
                &:hover {
                    color:#fff !important;
                    opacity:1;
                }
            }
        }
    }
    .footer__main {
        background:var(--aps-dark-green);
        .footer__block__title {
            font-family:var(--aps-font-spe);
            text-transform: uppercase;
            font-size: 1.2rem;
            line-height:1.2;
            font-weight:700;
            margin-bottom: 20px;
            color:#fff;
        }
        .footer__block__content {
            color:rgba(255,255,255,.7);
        }
        .footer__block__content-list {
            a {
                color:rgba(255,255,255,.7);
                &:hover {
                    color:#fff;
                    padding:4px 0 4px 4px;
                }
            }
        }
        .footer__block__content-contact {
            a {
                color:rgba(255,255,255,.7);
                &:hover {
                    color:#fff;
                }
            } 
        }
        .footer__main__bottom{
            border-top: 1px solid rgba(255,255,255, 0.1);
            margin-bottom:24px;
        }
        p.copyright {
            color: rgba(255, 255, 255, 0.5);
            font-size: 0.85rem;
            line-height:1;
            a {
                color: rgba(255, 255, 255, 0.5);
                &:hover {
                    color:#fff;
                }
            }
        }
    }
    #adveg-grecaptcha-legal,
    #steavisgarantisFooterVerif {
        display:block !important;
        margin:0 !important;
        padding:0 !important;
        text-align:center;
        color:rgba(255,255,255,.7);
        a {
            color:rgba(255,255,255,.7);
            &:hover {
                color:#fff;
            }
        }
        #steavisgarantisFooterText {
            display:block !important;
            text-align:center !important;
            padding-bottom:20px;
        }
    }
}
