﻿html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.my-left-menu {
    position: sticky;
    top: 80px;
}

/* this datalist my new try ! */
.try-it {
    position: sticky;
    top: 80px;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: #0071c1;
}

main {
    flex: 1;
}

.sidebar {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top_line_bar {
    background-color: rgb(240,240,240,0.3);
    border-bottom: 1px solid #d6d5d5;
    height: 1.5rem;
    /*text-align: center;*/
    /*margin-left: 10%;*/
    /*margin-right: 10%;*/
    position: sticky;
    top: 0;
    z-index: 2;
}

.top_line_bar_mobile {
    background-color: rgb(240,240,240,0.85);
    border-bottom: 1px solid #d6d5d5;
    height: 3.0rem;
    /*text-align: center;*/
    /*margin-left: 10%;*/
    /*margin-right: 10%;*/
    position: sticky;
    top: 0;
    z-index: 2;
}

.top_line_bar_article {
    background-color: rgb(240,240,240,0.3);
    border-bottom: 1px solid #d6d5d5;
    height: 3.0rem;
    /*text-align: center;*/
    /*margin-left: 10%;*/
    /*margin-right: 10%;*/
    position: sticky;
    top: 0;
    z-index: 2;
}

.content {
    padding-top: 1.1rem;
    /* taille minimale pour l'article principal, ce qui permet de laisser le footer non visible ( bas de page ) */
    min-height: 800px;
}

/* couleur adoucie du bouton */
.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.primary-tooltip {
    --bs-tooltip-bg: var(--bs-primary);
}

.secondary-tooltip {
    --bs-tooltip-bg: var(--bs-secondary);
}

.success-tooltip {
    --bs-tooltip-bg: var(--bs-success);
}

.danger-tooltip {
    --bs-tooltip-bg: var(--bs-danger);
}

.warning-tooltip {
    --bs-tooltip-bg: var(--bs-warning);
    --bs-tooltip-color: var(--bs-black);
}

.light-tooltip {
    --bs-tooltip-bg: var(--bs-light);
    --bs-tooltip-color: var(--bs-black);
}

.info-tooltip {
    --bs-tooltip-bg: var(--bs-info);
    --bs-tooltip-color: var(--bs-black);
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

/* container qui va etre superpose a l'image en type background */
#scroller {
    position: absolute;
    /*z-index: 2;*/
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: auto;
    /*text-align:center;*/
}

/* pour afficher une image de fond en superposition et 100% taille */
#background {
    position: absolute;
    /*z-index: -1;*/
    width: 100%;
    height: 100%;
}

.top-row {
    /*    background-color: #f7f7f7;*/
    border-bottom: 1px solid #d6d5d5;
    height: 5rem;
    text-align: center;
    background-color: rgb(254,254,254,0.95);
    /*    background-color: rgb(240,240,240,0.95);*/
    /*    border-bottom: 1px solid #d6d5d5;*/
}

.top-row-monmax {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    height: 5rem;
    text-align: center;
}

.top-row-commande {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    height: 5rem;
    text-align: center;
    /*    margin-left: 10%;
    margin-right: 10%;*/
}

.top-row-panier {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    height: 8rem;
    text-align: center;
    /*    margin-left: 10%;
    margin-right: 10%;*/
}

.top-row-article {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    height: 5rem;
    text-align: center;
    /*    margin-left: 10%;
    margin-right: 10%;*/
}

.top-row-acceuil {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    height: 7rem;
    text-align: center;
    /*    margin-left: 10%;
    margin-right: 10%;*/
}

#footer {
    background-color: #FBB1FC;
}

.cacher {
    display: none;
}

/*@media (max-width: 640.98px) {*/
@media (max-width: 800.98px) {
    /*
    .top-row:not(.auth), .top-row-panier:not(.auth), .top-row-article:not(.auth), top-row-commande:not(.auth), .top-row-monmax:not(.auth) {
        display: none;
    }
        */
    /*
    .top-row.auth, .top-row-panier.auth, .top-row-article.auth, top-row-commande.auth, .top-row-monmax.auth {
        justify-content: space-between;
    }

    .top-row a, .top-row .btn-link, .top-row-panier a, .top-row-article a, top-row-commande a, .top-row-monmax a {
        margin-left: 0;
    }
        */

    .mobile {
        display: block;
    }

    .desktop {
        display: none;
    }
}

/*@media (min-width: 641px) { */
@media (min-width: 801px) {

    .mobile {
        display: none;
    }

    .desktop {
        display: block;
    }

    /* affiche les menus au passage de la souris */
    .dropdown:hover > .dropdown-menu {
        display: block;
    }

    .dropdown > .dropdown-toggle:active {
        /*Without this, clicking will make it sticky*/
        pointer-events: none;
    }
    /*
    .page {
        flex-direction: row;
    }

    .sidebar {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row, .top-row-panier, .top-row-article, .top-row-commande, .top-row-monmax {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row, article, .top-row-panier, .top-row-article, .top-row-commande, .top-row-monmax {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
        */
}

.table-stock {
    border-spacing: 0px;
}

.table-stock-thead {
    background-color: rgba(38,137,13,1);
    border: 1px solid rgba(134,188,37,1);
    font-weight: normal;
    text-align: center;
    color: white;
}

.table-stock-tr {
    /*margin-bottom: 1em;*/
}

.table-stock-td {
    padding-left: .5em;
    padding-right: .5em;
    /*text-align: right;*/
    vertical-align: middle;
    border-left: 1px solid rgba(134,188,37,1);
    border-bottom: 1px solid rgba(134,188,37,1);
    border-right: 1px solid rgba(134,188,37,1);
}

.footer_card_style {
    padding: 15px;
    display: inline-block;
}

.logo_article {
    height: 150px;
}

.logo_site {
    /* permet de centrer le logo */
    /*text-align: center;*/
    height: 105px;
    /* image de fond pour le logo */
    /*background-image: url("https://img.cyber-box.net/maxco/background/mc_titlellayoutbackground_150.jpg");*/
}

.logo_site_mobile {
    height: 85px;
}

.logo_card_style {
    /*    display: inline-block;
*/
    display: inline-block;
    vertical-align: middle;
}

/* affichage de la liste des articles en format carte (magasin1) */
.basic-card-style {
    /*float: left;*/
    /*padding: 5px;*/

    padding: 5px;
    display: inline-block;
}
/* affichage de la liste des articles en format carte */
.part-card-style-fixed {
    float: left;
    padding: 5px;
    height: 442px;
}

/* affichage de la liste des catégories pour les magasins */
.basic-card-menu {
    float: left;
    padding: 5px;
    height: 180px;
    width: 130px;
    background-color: #E4E8EF;
    overflow: hidden;
    text-align: center;
}


/* affichage de la liste des catégories pour les magasin ( version mobile ) */
.mobile-card-menu {
    display: inline-block;
    padding: 5px;
    background-color: #E4E8EF;
    overflow: hidden;
    text-align: center;
}
/* titre de mobile-card-manu */
.mobile-card-menu-titre {
    clear: both;
    float: none;
    text-align: center;
}

.color-card-menu {
    background-color: #E4E8EF;
}

/* affichage des articles en format ligne (magasin2) */
.basic-line-style {
    padding: 5px;
    display: grid;
}

/* boite avec ombre <div class="shadowbox"> */
.shadowbox {
    width: 15em;
    border: 1px solid #333;
    box-shadow: 8px 8px 5px #444;
    padding: 8px 12px;
    background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc);
}

/* boite warning <div class="warning"> <p>texte */
.warning {
    border: 10px ridge #f00;
    background-color: #ff0;
    padding: .5rem;
    display: flex;
    flex-direction: column;
}

    .warning p {
        font: small-caps bold 1.2rem sans-serif;
        text-align: center;
    }

tr.border_top td {
    border-top: 1px solid black;
}

tr.border_bottom td {
    border-bottom: 1px solid black;
}

.table-panier {
    border-spacing: 0px;
}

.table-panier-thead {
    background-color: rgba(38,137,13,1);
    border: 1px solid rgba(134,188,37,1);
    font-weight: normal;
    text-align: center;
    color: white;
}

.table-panier-tr {
    /*margin-bottom: 1em;*/
}

.table-panier-td {
    padding-left: .5em;
    padding-right: .5em;
    /*text-align: right;*/
    vertical-align: middle;
    border-left: 1px solid rgba(134,188,37,1);
    border-bottom: 1px solid rgba(134,188,37,1);
    border-right: 1px solid rgba(134,188,37,1);
}

.table-commande {
    border-spacing: 0px;
}

.table-commande-thead {
    background-color: rgba(38,137,13,1);
    border: 1px solid rgba(134,188,37,1);
    font-weight: normal;
    text-align: center;
    color: white;
}

.table-commande-tr {
    /*margin-bottom: 1em;*/
}

.table-commande-td {
    padding-left: .5em;
    padding-right: .5em;
    /*text-align: right;*/
    vertical-align: middle;
    border-left: 1px solid rgba(134,188,37,1);
    border-bottom: 1px solid rgba(134,188,37,1);
    border-right: 1px solid rgba(134,188,37,1);
}

.table-detailCommande {
    border-spacing: 0px;
}

.table-detailCommande-thead {
    background-color: rgba(38,137,13,1);
    border: 1px solid rgba(134,188,37,1);
    font-weight: normal;
    text-align: center;
    color: white;
}

.table-detailCommande-tr {
    /*margin-bottom: 1em;*/
}

.table-detailCommande-td {
    padding-left: .5em;
    padding-right: .5em;
    /*text-align: right;*/
    vertical-align: middle;
    border-left: 1px solid rgba(134,188,37,1);
    border-bottom: 1px solid rgba(134,188,37,1);
    border-right: 1px solid rgba(134,188,37,1);
}

.table-tracking {
}

.table-tracking-thead {
    background-color: #557CBA;
}

.table-tracking-td {
    background-color: #CED4E5;
}

.size-1 {
    font-size: .625em; /* 10px */
}

.size-2 {
    font-size: .813em; /* 13px */
}

.size-3 {
    font-size: 1em; /* 16px */
}

.size-4 {
    font-size: 1.25em; /* 20px */
}

.size-5 {
    font-size: 1.5em; /* 24 px */
}

.size-6 {
    font-size: 2em; /* 32px */
}

.size-7 {
    font-size: 2.5em; /* 40px */
}

.center {
    text-align: center;
}

.centered-element {
    margin-left: auto;
    margin-right: auto;
}

.centered-div, .centered-span {
    /* width: 100%; */
    justify-content: center;
    display: flex;
}

.gras, .bold {
    font-weight: bold;
}

.barre {
    text-decoration: line-through;
}

.souligne, .underline {
    text-decoration: underline;
}

.italique, .italic {
    font-style: italic;
}

.underlineRed {
    text-decoration: underline red;
}

.rouge, .red {
    color: red;
}

.noir, .black {
    color: black;
}

.bleu, .blue {
    color: blue;
}

.jaune, .yellow {
    color: yellow;
}

.vert, .green {
    color: green;
}

.blanc, .white {
    color: white;
}

.gris, .grey, .gray {
    color: grey;
}

.bleu-clair {
    color: #6666ff;
}

.rose, .pink {
    color: #c469bf;
}

.font-0 {
    font-family: 'Source Code Pro';
}

.font-1 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

.font-2 {
    font-family: 'MS Gothic';
}

.font-3 {
    font-family: cursive;
}

.font-4 {
    font-family: Verdana;
}

.font-5 {
    font-family: 'Trebuchet MS';
}

.font-6 {
    font-family: fantasy;
}

.font-7 {
    font-family: 'Times New Roman';
}

.font-8 {
    font-family: Consolas;
}

.font-9 {
    font-family: 'Comic Sans MS';
}

/* FICHES PRODUITS */
.product {
    margin-top: 20px;
    background: #f8f9fa;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.product-card { /*
    border: 1px solid #e0e0e0;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;*/
    border: 1px solid #e0e0e0;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%; /* Assure que toutes les cartes ont la même hauteur */
    display: flex;
    flex-direction: column;
}

    .product-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }

.product-image {
    position: relative;
    background-color: #f9f9f9;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
}

    .product-image img {
        max-height: 180px;
        width: auto;
        object-fit: contain;
    }

.hot-tag {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #dc3545;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
}

.product-details {
    padding: 15px;
    flex-grow: 1; /* Permet au contenu de remplir l'espace disponible */
    display: flex;
    flex-direction: column;
}

.product-title {
    /*
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;*/
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Limite à 2 lignes */
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.4em; /* Hauteur fixe pour 2 lignes */
    line-height: 1.2em;
}

.product-category {
    font-size: 13px;
    color: #6c757d;
    display: block;
    margin-bottom: 10px;
}

.product-price {
    font-size: 20px;
    font-weight: 700;
    color: #0d6efd;
    margin: 10px 0;
}

.product-description {
    font-size: 13px;
    color: #495057;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Limite à 3 lignes */
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.6em; /* Hauteur fixe pour 3 lignes */
    line-height: 1.2em;
}

.rating {
    color: #ffc107;
}

    .rating .text-primary {
        color: #e0e0e0 !important;
    }

.btn-add-to-cart {
    background-color: #198754;
    border-color: #198754;
    font-size: 14px;
    margin-top: auto; /* Pousse le bouton vers le bas */
    transition: background-color 0.3s ease, border-color 0.3s ease; /* Transition fluide */
}

    .btn-add-to-cart:hover {
        background-color: #0d6efd; /* Bleu Bootstrap au survol */
        border-color: #0d6efd;
    }
@media (max-width: 767px) {
    .product-image {
        min-height: 150px;
    }

        .product-image img {
            max-height: 140px;
        }
}

/* FICHES DE CATEGORIES */
.store {
    margin-top: 20px;
    background: #f8f9fa;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.store-header {
    background: linear-gradient(135deg, #6e48aa 0%, #9d50bb 100%);
    color: white;
    padding: 20px 0;
    margin-bottom: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.store-name {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0;
}

.category-card {
    border: 1px solid #e0e0e0;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

    .category-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }

/* Déplacement des détails en haut */
.category-header {
    padding: 15px 15px 10px;
    border-bottom: 1px solid #eee;
    background-color: #00B4FF;
}

.category-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 5px;
    color: #343a40;
}

.subcategory {
    font-size: 14px;
    color: #6c757d;
    margin-bottom: 0;
    font-style: italic;
}

.category-images {
    position: relative;
    background-color: #f9f9f9;
    display: flex;
    flex-wrap: wrap;
    padding: 12px;
    gap: 10px;
    flex-grow: 1;
}

.category-img-container {
    flex: 1 1 calc(50% - 5px);
    position: relative;
    /*padding-top: calc(50% - 5px);*/
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.category-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

    .category-img:hover {
        transform: scale(1.05);
    }

.category-footer {
    padding: 10px 15px;
    border-top: 1px solid #eee;
}

.btn-explore {
    background-color: #6e48aa;
    border-color: #6e48aa;
    font-size: 14px;
    width: 100%;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    color: white;
}

    .btn-explore:hover {
        background-color: #9d50bb;
        border-color: #9d50bb;
    }

@media (max-width: 767px) {
    .category-img-container {
        padding-top: calc(50% - 5px);
    }
}

/* FICHES PRESENTATION ARTICLES DE STOCK */
.product-a {
    margin-top: 20px;
    /*background: #f8f9fa;*/
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

}

.product-a-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center; /* Alignement cohérent */
}

/* Colonnes personnalisées */
.product-a-col {
    flex: 1 1 280px; /* Base: 290px | Peut grandir mais pas rétrécir en dessous */
    min-width: 280px; /* Largeur minimale absolue */
    max-width: calc(25% - 15px); /* Limite à 4 cartes/ligne */
    box-sizing: border-box;
}

.product-a-card {
    border: 1px solid #e0e0e0;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-width: 300px; /* Largeur minimale absolue */
    flex: 0 0 300px; /* flex-shrink: 0 → empêche le rétrécissement */
    flex-direction: column;
    margin-bottom: 20px;
    margin-right: 0;
    margin-bottom: 0;
    width: 100%; /* Prend toute la largeur de .product-a-col */
    min-width: 0 !important; /* Neutralise Bootstrap */
    height: 100%; /* Garde une hauteur uniforme */
}

    .product-a-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }

.product-a-header {
    padding: 12px 15px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}

.product-a-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-a-category {
    font-size: 13px;
    margin-bottom: 0;
}

.product-a-image-container {
    position: relative;
    width: 100%;
    padding-top: 100%;
    overflow: hidden;
}

.product-a-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    cursor: pointer;
}

/* Conteneur des 2 badges à droite */
.promo-a-badge,
.new-a-badge {
    position: absolute;
    right: 10px;
    width: 50px;
    height: 50px;
    z-index: 2;
}

/* Positionnement par défaut (sans promo) */
.new-a-badge {
    top: 10px;
}

/* Si promo existe, décale nouveau vers le bas */
.promo-a-badge + .new-a-badge {
    top: 70px; /* 10px (position promo) + 50px (hauteur) + 10px (marge) */
}

/* Positionnement du promo */
.promo-a-badge {
    top: 10px;
}

    /* Images des badges */
    .promo-a-badge img,
    .new-a-badge img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        filter: drop-shadow(0 2px 3px rgba(0,0,0,0.3));
    }



.product-a-description {
    padding: 12px 15px;
    font-size: 13px;
    color: #495057;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Limite à 3 lignes */
    display: -moz-box;
    display: -ms-flexbox;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -ms-flex-direction: column;
    overflow: hidden;
    min-height: 60px; /* Hauteur minimale pour 3 lignes */
    line-height: 1.4; /* Ajustez cette valeur en fonction de votre taille de police */
    text-overflow: ellipsis; /* Ajoute les points de suspension */
    height: 5.2em; /* (line-height x nombre de lignes) - 1.4x3=4.2 + 1em de marge */
}

.product-a-price-container {
    padding: 0 15px 10px;
    text-align: center;
}

.original-a-price {
    color: #6c757d;
    margin-right: 8px;
}

.promo-a-price {
    color: #dc3545;
    font-weight: bold;
}

.current-a-price {
    color: #0d6efd;
    font-weight: bold;
}

.product-a-actions {
    padding: 10px 15px;
    border-top: 1px solid #eee;
}

.btn-a-add-to-cart {
    background-color: #198754;
    color: white;
    border: none;
    width: 100%;
    padding: 8px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
}

    .btn-a-add-to-cart:hover {
        background-color: #157347;
    }

.btn-a-in-cart {
    background-color: #0d6efd;
    color: white;
    border: none;
    width: 100%;
    padding: 8px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
}

    .btn-a-in-cart:hover {
        background-color: #0b5ed7;
    }

/* Responsive */
@media (max-width: 1200px) {
    .product-a-col {
        flex: 0 0 calc(33.333% - 15px); /* 3 cartes/ligne */
    }
}

@media (max-width: 992px) {
    .product-a-col {
        flex: 0 0 calc(50% - 15px); /* 2 cartes/ligne */
    }
}

@media (max-width: 768px) {
    .product-a-col {
        flex: 0 0 100%; /* 1 carte/ligne */
    }
}