@import url('./fonts.css');

/* reset */
*,
*::before,
*::after{box-sizing:border-box; line-height: 1.5rem;}
a, a:hover, a:focus{text-decoration:none; color:inherit; cursor:pointer;}
button{background-color:transparent; color:inherit; border-width:0; padding:0; cursor:pointer;}
a:focus:not(:focus-visible), button:focus:not(:focus-visible), .btn:focus:not(:focus-visible), .btn:active:focus:not(:focus-visible) {outline: none;}
a:focus-visible, button:focus-visible, .btn:focus-visible, .btn:active:focus-visible {outline: 5px auto var(--color-neon-pink);}
figure{margin:0;}
input::-moz-focus-inner {border:0; padding:0; margin:0;}
ul, ol, dd{margin:0; padding:0; list-style:none;}
h1, h2, h3, h4, h5, h6{margin:0; font-size:inherit; font-weight:inherit;}
p{margin:0;}
cite {font-style:normal;}
fieldset{border-width:0; padding:0; margin:0;}
body { overflow-x: hidden; }

h2 {
    font-size: 25px;
    font-weight: 900;
}

h3 {
    font-size: 20px;
    font-weight: 700;
}

h4, h5, h6 {
    font-size: 18px;
    font-weight: 500px;
}

body {
    --color-white: #fff;
    --color-light-grey: #f7f7f7;
    --color-grey: #7a736a;
    --color-black: #000;
    --color-footer-bg: #090606;
    --color-dark-brown: #331f00;
    --color-brown: #211610;
    --color-light-brown: #b6702a;
    --color-yellow: #ffb61e;
    --color-beige : #cea782;

    --font-title : 'DM Sans', sans-serif;
    --font-paragraph : 'DM Sans', sans-serif;
    --font-size-title: 4.5rem;        /* 72px */
    --font-size-subtitle: 2.25rem;    /* 36px */
    --font-size-title-card: 1.5rem;   /* 24px */
    --font-size-paragraph: 0.9375rem; /* 15px */
    font-family: var(--font-paragraph);
    color : var(--color-black);
    font-size : var(--font-size-paragraph);
    height:fit-content;
    position:relative;
}

/* ### globale */
#wrapper {
    padding-top: 0;
}

/* Lien */
a:hover {
    color: var(--color-yellow) !important;
}

/* Bouton primaire */
.btn-primary, .btn-primary:disabled {
    background-color: var(--color-light-brown);
    border: 3px var(--color-light-brown) transparent !important;
}
.btn-primary:disabled:hover {
    background-color: var(--color-light-brown);
    border: 3px var(--color-light-brown);
}

.btn-primary:hover:not(:disabled) {
    background-color: var(--color-white);
    color: var(--color-light-brown);
    fill: var(--color-light-brown);
    border: 3px var(--color-light-brown) solid !important;
}

/* Icon de réseau sociaux */
.social-sharing .icon-gray {
    border-radius: 0;
    background-color: var(--color-light-brown);
    border: 2px solid var(--color-light-brown);
    background-position: center;
}

.social-sharing .icon-gray:hover {
    border-radius: 0;
    background-color: var(--color-white);
    border: 3px solid var(--color-yellow);
}

/* fil d'ariane */
#wrapper .breadcrumb {
    padding-top: 1.5rem;
}

/* Onglet */
.nav-link.active, .nav-link:hover {
    color: var(--color-yellow) !important;
    border-color: var(--color-yellow) !important;
}

/* Input (Email) */
input[type="email"]:focus {
    border-color: var(--color-light-brown) !important;
}

/* Image de 25% en longueur */
.img-25pct {
    display: block;
    max-width: none;
    height: 70px;
}

.tabs {
    margin-block: 2rem;
}

.product-quantity .input-group-btn-vertical .btn i {
    top: 0;
}

/* Carroussel d'image */
.product-images > li.thumb-container .thumb.selected, 
.product-images > li.thumb-container .thumb:hover, 
#product-modal .modal-content .modal-body .product-images img:hover {
    border-color: var(--color-yellow);
}

/* Suppression des titres en majuscule */
.product-miniature .product-title, dl td.name {
    text-transform: none;
}

/* Bloc de reassurance générale */
.blockreassurance {
    margin-block: 50px;
}

/* ### Page principale */
/* slider */
.carousel {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    height: auto;
    overflow: hidden;
}

.carousel .carousel-item img {
    width: 100vw;
    height: 30vw;
}

.carousel figcaption {
    height: 60%;
}

.carousel h2 {
    font-size: 0.8rem !important;
    padding: 10px;
    border-left: 5px solid var(--color-yellow);
    background-color: rgba(0, 0, 0, 0.3);
    color: var(--color-white) !important;
    width: fit-content;
    margin-bottom: 20px;
}

.carousel h3 {
    font-size: 2rem !important;
    margin-bottom: 10px;
    text-align: start;
}

@media (max-width: 991px) {
    .carousel {
        left: 0;
    }

    .carousel figcaption {
        min-height: 25vh;
    }
}

/* ### Page produit */
/* Pagination */
.pagination .current a {
    color: var(--color-light-brown);
}

/* List de variants */
.product-variants-item {
    display: flex;
    align-items: center;
}

.product-actions .control-label {
    width: 40%;
}

/* Prix du produit */
.product-price {
    font-size: var(--font-size-title-card);
    color: var(--color-yellow);
}

.product-prices {
    display: flex;
    align-items: end;
    gap: 10px;
    margin-bottom: 25px;

}

.product-prices div {
    margin: 0;
}

/* flag */
.product-flags .product-flag {
    background: var(--color-yellow) !important;
}

.product-flags .product-flag.out_of_stock {
    font-size: 0.65rem;
    padding-block: 0.2rem;
}


/* Information de la surfac en m2 */
.product-surface-info {
    background-color: var(--color-white);
    color: var(--color-black);
    padding: 10px;
    margin-block: 10px;
}

.product-surface-info > *{
    margin-block: 5px;
}

.product-surface-info p {
    font-weight: bold;
}

.product-surface-info h4 {
    width: 300px;
}

.product-surface-info div{
    display: flex;
    align-items: end;
}

.product-surface-info .value_accent {
    color: var(--color-yellow);
    font-weight: bold;
}


/* reassurance des produits */
.blockreassurance_product > div:not(.clearfix) {
    border-left: 10px solid var(--color-yellow);
    background-color: white;
    margin-block: 10px;
    padding: 5px;
    padding-left: 15px;
}

.blockreassurance_product .item-product {
    margin-right: 15px;
}

/* ### Page :  ensemble de produits */
.block-category {
    min-height: auto;
}

/* Titre filtre */
#search_filters .h6 {
    color: var(--color-light-brown);
    font-weight: bold;
}

.products-sort-order .dropdown-menu {
    width: 90%;
}

/* Sous-catégorie */
#subcategories ul li .subcategory-image {
    padding: 0;
    width: 200px;
    aspect-ratio: 16/9;
}

#subcategories ul li .subcategory-image.has-image {
  background-color: transparent;
}

#subcategories ul li .subcategory-image.no-image {
  background-color: var(--color-dark-brown);
}


#subcategories ul li .subcategory-image a img {
    width: 200px;
    aspect-ratio: 16/9;
    max-width: auto;
    filter: brightness(0.6);
    object-fit: cover;
}

#subcategories ul li:hover .subcategory-image a,
#subcategories ul li .subcategory-image a {
    display: block;
    padding: 0;
    border: none;
}

.subcategories-list li {
    position: relative;
    width: auto;
    min-width: auto;
    margin: 0;
}

.subcategories-list h5 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--color-white);
    font-weight: bold;
}

/* ### header */
#header {
    background-color: var(--color-white);
}

.header-top-right {
    display: flex;
}

.top-menu .sub-menu {
    transition: opacity .2s ease, visibility .2s ease;
}

@media (max-width: 575px) {
    .header-top-right {
        display: block;
    }
}

@media only screen and (min-width: 992px) {
  #search_widget {
    min-width: 10rem;
    margin-left: 20px;
  }
}

/* ### footer */
#footer {
    position: relative;
}

#footer::before {
    content: "";
    width: 20vw;
    max-width: 200px;
    height: 15px;
    background-color: var(--color-yellow);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}

.footer-container {
    margin-top: 5vh;
    background-color: var(--color-footer-bg);
    padding: 75px;
}

.footer-container * {
    color: var(--color-white) !important;
}

.footer-container .container .row {
    margin-block: 10px;
}

/* footer nav liste */

@media (max-width: 767px) {
.footer-container .links ul {
    background-color: var(--color-footer-bg);
}

}
/* Bloc reassurance */
#footer .blockreassurance .block-icon {
    margin: 20px;
}

#footer .blockreassurance .block-title {
    margin-inline: 20px;
}

#footer .blockreassurance .col-md-3 {
    height: 200px;
}

@media (max-width: 575px) {
    #footer .blockreassurance .col-md-3 {
        border-left: 10px solid var(--color-yellow);
        margin-block: 10px;
        padding: 5px;
        padding-left: 15px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        height: fit-content;
        margin-left: 20px;
    }

    #footer .blockreassurance .block-title {
        padding: 0;
        height: fit-content;
    }

    #footer .blockreassurance .block-icon {
        width: 50px;
        height: 50px;
        margin: 10px;
    }

    #footer .blockreassurance .block-icon img {
        width: 100%;
        height: 100%;
    }
}