:root {
    --accent-color: #e02128;/*   var(--accent-color)  */
    --accent-faded: #e45057;/*   var(--accent-faded)  */
    --accent-dark:  #4b4b4b;/*   var(--accent-dark)    */
}
.image-name{
  width: 100%;
  text-align: center;
}
.section-title {
  padding: 10px 15px;
  text-decoration: none;
  color: #333;
  transition: background 0.3s;
}

.section-title:hover {
  background: #f0f0f0;
}

.section-title.active {
  background-color: #ffffff; 
  font-weight: bold;
  border-radius: 5px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.section-header {
  display: flex;
  gap: 10px;
  padding-left : 10px;
  margin-bottom: 0px;
  align-items: center; 
  width: 100%;
 
}
.overlay-logo {
    width: 80px !important;     /* petit logo */
    height: auto !important;
    display: block;
    margin: 0 auto 20px auto;   /* centre horizontalement */
    object-fit: contain;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.4));
}
.section-title h1,
.section-title h2 {
  margin: 0;          
  font-size: 28px;     
  line-height: 1.2;     
}
.btn-more {
    display: inline-block;
    background: #e60000;          /* rouge WM88 */
    color: #fff;
    padding: 12px 28px;
    border-radius: 14px;          /* arrondi */
    font-size: 1.2rem;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}

.btn-more:hover {
    background: #c00000;          /* rouge plus foncé */
    transform: translateY(-2px);  /* petit effet élégant */
}
/* ---------------------------------------------------
   CAROUSEL – CONTAINER
--------------------------------------------------- */
#carouselClient {
    margin-bottom: 5px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 22px rgba(0,0,0,0.18);
    position: relative;
    max-height: 60vh;
    height: 60vh;
}

/* ---------------------------------------------------
   SLIDES
--------------------------------------------------- */

.carousel-item.active {
    display: block !important;
}
.carousel-item {
    display: none;
    height: 60vh;
}
@media (max-width: 768px) {
    .carousel-item {
        height: 350px;
    }
}

/* ---------------------------------------------------
   IMAGES – no deformation
--------------------------------------------------- */
#carouselClient .carousel-item img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center center ;
    display: block;
}
.carousel-image-wrapper {
    height: 100%;
}
/* ---------------------------------------------------
   VIDEO – responsive
--------------------------------------------------- */
.carousel-video-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}
.carousel-video-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------------------------------------------------
   IMAGE OVERLAY
--------------------------------------------------- */
.carousel-image-wrapper {
    position: relative;
}
.carousel-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    padding: 30px 40px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.75);
    text-align: center;
    color: white;
    width: 80%;
    max-width: 650px;
    backdrop-filter: blur(3px);
}

.image-overlay h2 {
    font-size: clamp(2rem, 5vw, 5rem);
    margin-bottom: 15px;
}
.image-overlay h4 {
    font-size: clamp(1rem, 3vw, 2rem);
}

/* ---------------------------------------------------
   VIDEO OVERLAY
--------------------------------------------------- */
.video-overlay {
    position: absolute;
    z-index: 5;

    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 70%;
    max-width: 800px;

    background: rgba(255, 255, 255, 0.555);
    padding: clamp(20px, 4vw, 40px) clamp(20px, 5vw, 50px);
    border-radius: 18px;
    backdrop-filter: blur(6px);

    text-align: center;
    color: #333;
    box-shadow: 0 4px 18px rgba(0,0,0,0.25);
}

.video-overlay h1 {
    font-size: clamp(2rem, 500px, 3rem);
    margin-bottom: 15px;
}

.video-overlay h4 {
    font-size: clamp(1rem, 3vw, 2rem);
}

/* ---------------------------------------------------
   LOGO
--------------------------------------------------- */
.overlay-logo {
    width: 60px !important;
    height: auto;
    display: block;
    margin: 0 auto 20px auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.4));
}

/* ---------------------------------------------------
   INDICATEURS
--------------------------------------------------- */
#carouselClient .carousel-indicators {
    margin-bottom: 8px;
}

#carouselClient .carousel-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.6);
    transition: 0.3s;
    margin: 0 5px;
    border: none;
}

#carouselClient .carousel-indicators .active {
    background-color: #fff;
    width: 28px;
    border-radius: 8px;
}

/* ---------------------------------------------------
   ARROWS – FontAwesome
--------------------------------------------------- */
#carouselClient .carousel-control-prev,
#carouselClient .carousel-control-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none !important;
    border: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 9999;
}

#carouselClient .carousel-control-prev { left: 10px; }
#carouselClient .carousel-control-next { right: 10px; }

#carouselClient .carousel-control-prev i,
#carouselClient .carousel-control-next i {
    font-size: 42px;
    color: white;
    text-shadow: 0 0 12px black;
}

#carouselClient .carousel-control-prev:hover i,
#carouselClient .carousel-control-next:hover i {
    text-shadow: 0 0 18px black;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: none;
}

#carouselClient .visually-hidden {
    display: none;
}

/* ---------------------------------------------------
   MOBILE OPTIMISATION
--------------------------------------------------- */
@media (max-width: 768px) {
    #carouselClient {
        height: 350px;
        max-height: 55vh;
    }

    .video-overlay, 
    .image-overlay {
        padding: 20px 25px;
        width: 85%;
    }

    .overlay-logo {
        width: 40px !important;
        margin-bottom: 15px;
    }
}
/*-----------------------------------------------------
  FOOTER ACCUEIL
-----------------------------------------------------*/
.footer-clean {
        margin-top: 20px;
        padding-bottom: 20px;
        font-family: inherit;
    }

    .footer-line {
        height: 1px;
        width: 85%;
        margin: 0 auto 15px auto;
        background: linear-gradient(to right, transparent, #ccc, transparent);
    }

    .footer-main {
        text-align: center;
    }

    .footer-title {
        font-size: 1.7em;
        font-weight: 600;
        color: #333;
        margin-bottom: 8px;
    }

    .footer-text {
        font-size: 1.5em;
        color: #555;
        margin-bottom: 12px;
        line-height: 1.6em;
    }

    .footer-text a {
        color: #cc2a2aff;
        font-weight: 600;
        text-decoration: none;
    }

    .footer-text a:hover {
        opacity: 0.8;
    }

    .footer-mentions {
        margin-top: 5px;
        font-size: 0.9em;
        color: #888;
    }
/**********************GALLERIE CUISINE*****************************/
.cuisine_color-thumb-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
    background-color: rgb(255, 255, 255);
    padding: 5px;
    border-radius: 50%;
}

/* Infobulle (texte) */
.cuisine_color-thumb-wrapper::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.85);
    color: white;
    padding: 6px 10px;
    border-radius: 5px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 100000000;
}
.cuisine-item h3 {
    margin-bottom: 12px;
    text-align: left;
    width: 100%; 
}

.cuisine-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    cursor: pointer;

    border-radius: 14px; /* même valeur que le wrapper */
    border: 1px solid #ddd;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);

    opacity: 0;
    transform: scale(0.98);
    filter: blur(1px); /* valeur FIXÉE */
    transition:
        opacity 1.4s ease-out,
        transform 1.4s ease-out,
        filter 1.4s ease-out;

    will-change: opacity, transform, filter;
}

.cuisine-thumb.loaded {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}
/* Petite flèche */
.cuisine_color-thumb-wrapper::before {
    content: '';
    position: absolute;
    bottom: 110%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.85) transparent transparent transparent;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 9;
}

/* Affichage au survol */
.cuisine_color-thumb-wrapper:hover::after,
.cuisine_color-thumb-wrapper:hover::before {
    opacity: 1;
}

/* Modal (visionneuse) */
.modal-cuisine {
    margin-top: 80px;
    display: none; /* par défaut */
    position: fixed;
    z-index: 10000;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.1s ease;
}

.modal-cuisine.show {
    display: flex;
    opacity: 1;
    justify-content: center;
    align-items: center;
    padding: 10px 80px;
    box-sizing: border-box;
}

.modal-cuisine-content {
    position: relative; 
    align-items: center;
    justify-items: center;
}
/* Pastilles cachées au départ */
.cuisine_color-row {
  padding-left : 30px;
  padding-right : 30px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.cuisine_color-row.visible {
  opacity: 1;
  transform: translateY(0);
}

.cuisine_color-thumb {
  object-fit: contain;
  opacity: 0;
  transform: scale(0.9);
  filter: blur(2px);
  transition: opacity 0.5s ease, transform 0.5s ease, filter 0.5s ease;
  will-change: opacity, transform, filter;
}

.cuisine_color-thumb.loaded {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

.cuisine_color-thumb:hover {
    transform: scale(1.3);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4);
    border-color: #999;
}

.cuisine_color-thumb-wrapper {
    position: relative;
    display: inline-block;
}

.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 3.5em;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    padding: 10px 10px;
    background: rgba(0,0,0,0.4);
    border-radius: 50%;
    transition: background 0.3s ease, transform 0.3s ease;
    box-shadow: 0 0 8px rgba(0,0,0,0.7);
    z-index: 10;
}

.arrow:hover {
    background: rgba(0,0,0,0.7);
    transform: translateY(-50%) scale(1.2);
}

#prev {
    left: 10px;
}
.filename {
    text-align: center;
    color: white;
    margin-top: 10px;
    font-size: 2em;
    font-weight: 500;
    text-shadow: 2px 2px #000000;
}
#next {
    right: 10px;
}
.close-btn {
    position: absolute;
    top: 35px;
    right: 40px;
    font-size: 15em;
    color: white;
    cursor: pointer;
    z-index: 30;
    transition: color 0.3s ease;
}
.modal-cuisine-content img {
    align-items: center;
    justify-items: center;
    display: block;
    max-width: 90vw;
    max-height: 90vh;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(248, 247, 247, 0.3);
    opacity: 0;
    transition: opacity 0.5s ease;
    box-sizing: border-box;
}
.image-placeholder {
  background-color: #eee;
  animation: pulse 1.5s infinite;
  border-radius: 4px;
  box-sizing: border-box;
}

.close-btn:hover {
    color: #ff5555;
}

.counter {
    position: absolute;
    bottom: 25px;
    right: 25px;
    color: white;
    font-size: 1.2em;
    background: rgba(0,0,0,0.4);
    padding: 8px 14px;
    border-radius: 14px;
    font-family: monospace;
    z-index: 15;
}
.cuisine_color-row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(35px, 1fr));
  gap: 30px;
  width: 100%;
  margin-top: 10px;
  align-items: center;
  justify-items: center;
  margin-top: -30px;
}
.cuisine_color-thumb {
  width: 60px;              
  aspect-ratio: 1 / 1;     
  object-fit: cover;
  cursor: pointer;
  border-radius: 50%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: #4b4b4b 0 0 3px 0 ;
}

.cuisine_color-thumb:hover {
    transform: scale(1.3);
    box-shadow: 0 3px 8px rgba(0,0,0,0.4);
}

.cuisine_content {
    width: max-content;
    max-width: none; 
    margin: auto;
    margin-top: 50px;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 10px;
}

/* Responsive */
@media (max-width: 600px) {
    .cuisine-grid {
        grid-template-columns: 1fr;
    }
}

.cuisine-grid {
    display: flex;
    flex-wrap: wrap; /* IMPORTANT : permet de passer à la ligne */
    gap: 40px; /* espace entre les éléments */
    justify-content: center;
}

.cuisine-item {

    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-bottom: 70px;
    overflow: hidden; 
    flex: 1 1 500px;
    max-width: 800px; 
}

.cuisine-thumb,
.cuisine_color-thumb {
  opacity: 0;
  transform: scale(0.98);
  filter: blur(1px);
  transition: opacity 0.2s ease-out, transform 0.2s ease-out, filter 0.2s ease-out;
  will-change: opacity, transform, filter;
}
.cuisine-thumb-wrapper {
    width: 100%;
    max-width: 800px;
    height: 500px;

    flex: 0 0 auto !important; /* EMPÊCHE de bouger ! */
    overflow: hidden;
    border-radius: 14px;
    position: relative;
    background: #f3f3f3;
    box-sizing: border-box;
}

.cuisine-thumb.loaded,
.cuisine_color-thumb.loaded {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}
.cuisine_content {
    width: 100%;
    display: block;
    box-sizing: border-box;
}
.modal-cuisine-content img.visible {
  
  background-color: #f0f0f0;
  opacity: 1;
} 

@media (max-width: 768px) {
    .cuisine-grid {
        grid-template-columns: 1fr;
    }

    .cuisine-thumb-wrapper {
        height: 280px; /* un peu plus haut pour mobile */
    }
}

/********************************************/
/**********************GALERIE Facades*****************************/
.facades_content {
  width: 100%;
  margin: auto;
  padding: 20px ;
  background-color: #ffffff;
  border-radius: 1%;
}
.facade-thumb-inline {
  width:160px;
  height: auto;
  object-fit: cover;
  cursor: pointer;
  border: 1px solid #ccc; /* Bordure fine */
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); /* Ombre subtile */
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.facade-thumb-inline {
  opacity: 0;
  transform: scale(0.98);
  filter: blur(1px);
  transition:
    opacity 1.4s ease-out,
    transform 1.4s ease-out,
    filter 1.4s ease-out;
  will-change: opacity, transform, filter;
}

.facade-thumb-inline.loaded {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

.facade-thumb-inline:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); /* Ombre renforcée au hover */
}

.modal_fcd {
    display: none; 
    position: fixed;
    z-index: 10000;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.1s ease;
}

.modal_fcd.show {
    display: flex;
    opacity: 1;
    justify-content: center;
    align-items: center;
    padding: 0 80px;
}

.modal_fcd-content {
    position: relative; 
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal_fcd-content img {
    margin-top: 90px;
    display: block;
    max-width: 70vw;
    max-height: 70vh;
    width: auto;
    height:auto;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.58);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.modal_fcd-content img.visible {
  
  background-color: #f0f0f0;
    opacity: 1;
}

.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 3.5em;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    padding: 10px 15px;
    background: rgba(0,0,0,0.4);
    border-radius: 50%;
    transition: background 0.3s ease, transform 0.3s ease;
    box-shadow: 0 0 8px rgba(0,0,0,0.7);
    z-index: 15;
}

.arrow:hover {
    background: rgba(0,0,0,0.7);
    transform: translateY(-50%) scale(1.2);
}

#prev {
    left: 10px;
}

#next {
    right: 10px;
}

.close-btn {
    position: absolute;
    top: 25px;
    right: 25px;
    font-size: 3em;
    color: white;
    cursor: pointer;
    z-index: 20;
    transition: color 0.3s ease;
}

.close-btn:hover {
    color: #ff5555;
}

.counter {
    position: absolute;
    bottom: 25px;
    right: 25px;
    color: white;
    font-size: 1.2em;
    background: rgba(0,0,0,0.4);
    padding: 8px 14px;
    border-radius: 14px;
    font-family: monospace;
    z-index: 15;
}

.facade-thumb-inline.situ-view-fcd{
  height: 200px;  
  transition: width 0.3s ease;
}


.color-thumb-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.color-thumb-wrapper::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 105%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.85);
    color: white;
    padding: 6px 6px;
    border-radius: 5px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 100000000;
}

.color-thumb-wrapper:hover::after,
.color-thumb-wrapper:hover::before {
    opacity: 1;
}

.color-thumb-wrapper {
  position: relative;
  display: inline-block;
}

.new-badge {
  position: absolute;
  top: 4px;
  left: 4px;
  background: red;
  color: white;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: bold;
  border-radius: 4px;
  z-index: 10;
  text-transform: uppercase;
  pointer-events: none;
}
.new-badge {
  z-index: 9999;
}
/********************************************/
/*********GALERIE PDT***********************/
/* Modal (visionneuse) */
.modal_pdt {
    display: none; 
    position: fixed;
    z-index: 10000;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.1s ease;
}

.modal_pdt.show {
    display: flex;
    opacity: 1;
    justify-content: center;
    align-items: center;
    padding: 10px 80px;
    
}

.modal_pdt-content {
    position: relative; 
    display: flex;
    justify-content: center;
    align-items: center;

}

.modal_pdt-content img {
    margin-top: 90px;
    display: block;
    max-width: 70vw;
    max-height: 70vh;
    width: auto;
    height:auto;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.58);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.modal_pdt-content img.visible {
    opacity: 1;
}
.gamme-block {
  margin-bottom: 30px;
}

.gamme-block h3 {
  margin-bottom: 10px;
  font-size: 1.2em;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
}

.images-line {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 3.5em;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    padding: 10px 15px;
    background: rgba(0,0,0,0.4);
    border-radius: 50%;
    transition: background 0.3s ease, transform 0.3s ease;
    box-shadow: 0 0 8px rgba(0,0,0,0.7);
    z-index: 15;
}

.arrow:hover {
    background: rgba(0,0,0,0.7);
    transform: translateY(-50%) scale(1.2);
}

#prev {
    left: 10px;
}

#next {
    right: 10px;
}

.close-btn {
    position: absolute;
    top: 25px;
    right: 25px;
    font-size: 3em;
    color: white;
    cursor: pointer;
    z-index: 20;
    transition: color 0.3s ease;
}

.close-btn:hover {
    color: #ff5555;
}

.counter {
    position: absolute;
    bottom: 25px;
    right: 25px;
    color: white;
    font-size: 1.2em;
    background: rgba(0,0,0,0.4);
    padding: 8px 14px;
    border-radius: 14px;
    font-family: monospace;
    z-index: 15;
}

.pdt_content {
  width: 100%;
  margin: auto;
  padding: 20px ;
  background-color: #ffffff;
  border-radius: 1%;
}


.pdt-thumb-inline {
  width: 250px;
  height: 130px;
  object-fit: cover;
  cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  opacity: 0;
  transform: scale(0.98);
  filter: blur(1px);
  transition:
    opacity 1.4s ease-out,
    transform 1.4s ease-out,
    filter 1.4s ease-out;
  will-change: opacity, transform, filter;
}

.pdt-thumb-inline.loaded {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

.pdt-thumb-inline:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.pdt_color-thumb-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
    transition:
      opacity 1.4s ease-out,
      transform 1.4s ease-out,
      filter 1.4s ease-out;
  will-change: opacity, transform, filter;
}

.pdt_color-thumb-wrapper::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 105%;
    left : 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.85);
    color: white;
    padding: 6px 6px;
    border-radius: 5px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 100000000;
    
}
.pdt-thumb-inline.situ-view {

  transition: width 0.3s ease, height 0.3s ease;
}
.pdt_color-thumb-wrapper:hover::after,
.pdt_thumb-wrapper:hover::before {
    opacity: 1;
}

/**************************************************************/
/********************************************/
/**********************GALERIE Poignées*****************************/
.poi-content {
  width: 100%;
  margin: auto;
  padding: 20px ;
  background-color: #ffffff;
  border-radius: 1%;
}
.poi-thumb-inline {
  width:160px;
  height: auto;
  object-fit: cover;
  cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  opacity: 0; /* <<< IMPORTANT */
  transform: scale(0.98);
  filter: blur(3px); /* 1px est trop faible pour un effet visible */
  transition:
    opacity 0.7s ease-out,
    transform 0.7s ease-out,
    filter 0.7s ease-out;
}

.poi-thumb-inline.loaded {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}
.poi-thumb-inline:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.modal_poi {
    display: none; 
    position: fixed;
    z-index: 10000;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.1s ease;
}

.modal_poi.show {
    display: flex;
    opacity: 1;
    justify-content: center;
    align-items: center;
    padding: 0 80px;
}

.modal_poi-content {
    position: relative; 
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal_poi-content img {
    margin-top: 90px;
    display: block;
    max-width: 70vw;
    max-height: 70vh;
    width: auto;
    height:auto;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.58);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.modal_poi-content img.visible {
  
  background-color: #f0f0f0;
    opacity: 1;
}
.poi_color-thumb-wrapper {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.poi_color-thumb-wrapper::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 105%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(0,0,0,0.85);
  color: white;
  padding: 6px 6px;
  border-radius: 5px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 99999;
}

.poi_color-thumb-wrapper:hover::after {
  opacity: 1;
}

/********************************************/
/**********************GALERIE Accessoires*****************************/
.acc-content {
  width: 100%;
  margin: auto;
  padding: 20px ;
  background-color: #ffffff;
  border-radius: 1%;
}
.tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.tab-btn {
    padding: 8px 15px;
    background: #ddd;
    border: none;
    cursor: pointer;
    border-radius: 6px;
    font-weight: 600;
}

.tab-btn.active {
    background: #818283;
    color: white;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}
.acc-thumb-inline {
  opacity: 0;
  transform: scale(0.98);
  filter: blur(1px);
  will-change: opacity, transform, filter;
  transition:
    opacity 1.4s ease-out,
    transform 1.4s ease-out,
    filter 1.4s ease-out,
    box-shadow 0.2s ease; /* fusionné ici */

  width:300px;
  height:85%;
  object-fit: contain;
  cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.acc-thumb-inline.loaded {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

.acc_thumb-inline:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); /* Ombre renforcée au hover */
}

.modal_acc {
    display: none; 
    position: fixed;
    z-index: 10000;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.1s ease;
}

.modal_acc.show {
    display: flex;
    opacity: 1;
    justify-content: center;
    align-items: center;
    padding: 0 80px;
}

.modal_acc-content {
    position: relative; 
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal_acc-content img {
  margin-top: 90px;
  background-color: #f0f0f0;
    display: block;
    max-width: 80vw;
    max-height: 80vh;
    width: auto;
    height:1000px;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.58);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.modal_acc-content img.visible {
    background-color: #f0f0f0;
    opacity: 1;
}
.acc-thumb-wrapper {
  position: relative;
  display: inline-block;
}
.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 3.5em;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    padding: 10px 15px;
    background: rgba(0,0,0,0.4);
    border-radius: 50%;
    transition: background 0.3s ease, transform 0.3s ease;
    box-shadow: 0 0 8px rgba(0,0,0,0.7);
    z-index: 15;
}

.arrow:hover {
    background: rgba(0,0,0,0.7);
    transform: translateY(-50%) scale(1.2);
}

#prev {
    left: 10px;
}

#next {
    right: 10px;
}

.close-btn {
  margin-top: 50px;
    position: absolute;
    top: 25px;
    right: 25px;
    font-size: 3em;
    color: white;
    cursor: pointer;
    z-index: 20;
    transition: color 0.3s ease;
}

.close-btn:hover {
    color: #ff5555;
}

.counter {
    position: absolute;
    bottom: 25px;
    right: 25px;
    color: white;
    font-size: 1.2em;
    background: rgba(0,0,0,0.4);
    padding: 8px 14px;
    border-radius: 14px;
    font-family: monospace;
    z-index: 15;
}



/******************************************************/
.text-primary {
    color: #e45057;
}
a.text-primary:hover,
a.text-primary:focus {
    color: #e02128;
}
.btn-primary {
color: #fff;
background-color: #e45057;
border-color: #e02128;
}
.header_general {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px; 
    background: rgb(81, 81, 81);
    z-index: 3000; /* toujours au-dessus du menu */
}
/* FIXME hovered btn primary colors int red (is blue for now) */
nav.reduced {
  margin-top: 80px;
    z-index: 0;
    position: fixed;
    top: 0;                     /* fixé tout en haut */
    left: 0;
    width: 240px;
    height: 100vh;              /* toute la hauteur de l'écran */
    padding-top: 80px;          /* espace pour le header */
    overflow-y: auto;
    background: #ffffff;
    z-index: 0;
    border-right: 1px solid #ddd;
}

/* Ceci est ESSENTIEL pour que le contenu ne passe PAS derrière */
.content-wrapper {
    background: none;
    width: 50%;
    padding: 20px;

    margin-left: 0;
    margin-bottom: 0;
    margin-right: 0;
}
.content {
    margin-top: 100px !important;
}


hr {border-color:var(--accent-faded)}
html{background-color:#ecf0f5}
body{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;}
.main-sidebar, .left-side {padding-top:10px;}

.login-box {border:2px solid #313139}
.login-box .login-logo {background-color:#313139;padding:20px 0;margin-bottom:0}
.login-box .login-logo img{width:100px}
.login{background-color:#ecf0f5}
.btn-gris{background:#313139;color:#f2f2f2!important}
#meublezVousFrancais{position:absolute;right:30px;bottom:30px}
#meublezVousFrancais img{width:200px}
table.table-bordered {border:0px;}
.description {max-width:1400px;font-size:16px;text-align:center;margin:auto}
.fas.fa-sort,
.fas.fa-sort.asc,
.fas.fa-sort.desc {
    color: white !important;
}

/* HEADER*/
header {
    display: flex;
    align-items: center;
    justify-content: space-around;
    color:white;
    background:var(--accent-dark);
    height: 80px;
    max-height:max-content;
    font-size:1.1em;
}
header > div {height:100%;padding:10px;}
header a {color:inherit;}
#title {flex-grow:1}
header h3 {margin:6px;}
#mainContent {
   /* margin-top: 80px;*/
    margin-left: 240px;
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    height:100%;
}

.flag_circle {width:1.3em;height:1.3em;border-radius:50%;}
#logo a {height:100%;display:inline-block;}
#logo a img {height:100%;}
#user_profile {font-weight:bold;}

/* NAVBAR */
#mainContent>nav {width:250px;background:white;color:var(--accent-dark);padding:15px;box-shadow:5px 0 8px -8px var(--accent-dark);font-weight:bold;}
#mainContent>nav > h2 {margin:20px 0px 16px 0px;font-weight:bold;font-size:1.5em;}
#mainContent>nav a {display:block;color:var(--accent-dark);text-decoration:none !important;}
#mainContent>nav > a {padding:10px 6px;}
#mainContent>nav > a > i   {padding: 5px; border-radius: 30%; margin: 0 12px 0 0; box-shadow: 0 3px 5px #0000003c;height:35px;width:35px;text-align:center;font-size:1.6em;}
#mainContent>nav > a > img {padding: 5px; border-radius: 20%; margin: 0 6px 0 0; box-shadow: 0 3px 5px #0000003c;height:35px;width:35px;text-align:center;overflow:visible;}
#mainContent>nav > a.bigicon         {margin: 20px 0 25px;}
#mainContent>nav > a.bigicon > img   {height:3.2em;width:3.2em;margin-right: 15px;}
#mainContent>nav > a.bigicon > span  {font-size: 1.3em;line-height: 2em;vertical-align: bottom;}

/* DOCUMENTS ET GALERIE */
.files-load, .folder-cards {display:flex;flex-wrap:wrap;}
.folder-card {flex:0 1 20%;position:relative;margin:5px 20px 5px 0;min-width:300px;box-sizing:border-box;background: #fff;color:black;min-height: 90px;border:1px solid transparent}
.folder-card.box-active, .folder-card:hover {border:1px solid var(--accent-color);color:var(--accent-color)}
.folder-card i {vertical-align: sub;}
.folder-card-text {font-size:20px;display:flex;justify-content:center;height:100%;align-items: center;}
.folder-card .badge {position:absolute;top:-6px;right:-15px;font-size:12px}

.file-card {transition: all 0.1s linear;text-align:center;word-wrap: break-word;margin:5px;background: #fff;box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);color:var(--accent-color) !important;max-width:160px;width:auto;border:none;border-radius:5px;text-decoration:none;overflow:hidden;padding:5px;}
.file-card img {margin:-5px;border-radius:5px;}
.file-card i {margin: 8px;font-size: 3em;display: block;text-decoration:none !important;}
.file-card p {color:black;font-size:0.7em;}
.file-card:hover{box-shadow: 0 0 2px 1px var(--accent-color);scale: 1.1;}
.file-card:hover p {color:inherit}

.file-card-img {transition: all 0.1s linear;text-align:center;word-wrap: break-word;margin:5px;color:var(--accent-color) !important;max-width:160px;width:auto;border:none;border-radius:5px;text-decoration:none;overflow:hidden;}
.file-card-img img {box-shadow: 0 0 2px 1px lightgray;border-radius:5px;margin:5px 0;}
.file-card-img p {color:black;font-size:0.9em;}
.file-card-img:hover{scale: 1.1;}
.file-card-img:hover img{box-shadow: 0 0 2px 1px var(--accent-color);}
.file-card-img:hover p {color:inherit}

.gallery {width:100%;}
.gallery .name {font-size:2em;text-transform:uppercase;}
.gallery .items {display:flex;flex-direction: row;flex-wrap: wrap;}
.gallery .items img {max-height:90px;max-width:160px;}
.categoryThumb img {box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);max-width:100%;width:100%;max-height:300px;border-radius:10px;object-fit: cover;}
.categorySummary {background: #fff;box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);border-radius:5px;padding:10px;display:inline-block;}

.paddedbox {border: 1px solid #313139;padding: 20px;background: #fff;}
.searchbox {border: 1px solid #313139;padding: 20px;background: #fff;margin-top: 20px;display: flex;justify-content: center;}
.searchbox .form-inline .form-group label {font-size: 16px;margin: 0 5px;font-weight: 400;}
.searchbox .form-inline input[type=submit], .searchbox .form-inline a{font-size:16px;font-weight:700;background-color:#fff;border:1px solid var(--accent-color);color:var(--accent-color)}
.searchbox .form-inline input[type=submit]:hover, .searchbox .form-inline a:hover{background-color:var(--accent-color);color:white}
.searchbox .form-inline input[type=submit]:focus, .searchbox .form-inline a:focus{outline:none}

.products h2 {color:inherit;text-transform:uppercase;}
.products>div {display:flex;flex-wrap: wrap;}

.subfolder {position:relative;display:flex;flex-wrap: wrap;margin: 8px 10px 0 0 ;padding: 20px 10px;border-radius: 5px;background: rgba(255, 255, 255, 0.4);border:1px solid lightgray;}
.subfolder           > div               {display:flex;flex-wrap: wrap;}
.subfolder           > .subfolder_closed {display:none;margin-top: 30px;background:none;box-shadow:none;}
.subfolder.collapsed > div               {display:none;}
.subfolder.collapsed > .subfolder_closed {display:block;}


/* ****** HOMEPAGE ****** */
.row.equal-height {
  display: flex;
  flex-wrap: wrap;
  margin : 0 30px 0 30px;
}

.row.equal-height > [class*='col-'] {
  display: flex;
  flex-direction: column;

}

/* Appliquer le spacing horizontal uniquement à partir du breakpoint SM (desktop) */
@media (min-width: 768px) {

  .row.equal-height > .col-sm-8 {
    width: calc(66.666% - 20px); /* 8 colonnes - 20px d’espace */
  }

  .row.equal-height > .col-sm-4 {
    width: 33.333%;
    margin-left: 20px; /* espace horizontal entre les colonnes */
  }

}

.cardd {
  flex: 1;
  flex-direction: column;
  justify-content: center;
  background: white;
  padding: 25px;
  gap: 20px;
  border-radius: 25px;
  box-shadow: 2px 2px 8px lightgray;
  color: black;
  font-weight: 400;
  box-sizing: border-box;
  height: 100%;
}

.img-card {

  display: flex;
  flex-direction: column;
  justify-content: center;
  background-size: cover !important;
  background-position: center !important;
  color: white;
}

.img-card h2,
.img-card h4 {
  text-shadow: -1px 2px 2px rgba(0, 0, 0, 0.3);
  padding: 0 15px;
  color: #fff!important;
}


.xl-card {
  position: relative;
  padding-bottom: 100px;
 
}

.xl-card ul {
  padding-left: 0;
  list-style: none;
}

.xl-card li {
  color: gray;
  margin: 0.8em 0;
  font-weight: 700;
}

.xl-card a {
  color: #85472b;
  text-decoration: underline;
}

.xl-card img {
  position: absolute;
  bottom: 10px;
  right: 10px;
  border-radius: 50%;
  height: 80px;
  width: 80px;
  object-fit: cover;
  box-shadow: 2px 2px 8px #acacac;
}


.icon-card {
  background: white;
  display: inline-block;
  width: 170px;
  height: 243px;
  border-radius: 5px;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  color: black;
  box-shadow: 2px 2px 8px rgb(218, 216, 216);
  transition: box-shadow 0.3s ease;
  cursor: pointer;
}

.icon-card:hover {
  box-shadow: 4px 4px 12px rgba(148, 147, 147, 0.7);
}

.icon-card img {
  max-width: 100%;
  margin-bottom: 10px;
  height: 120px;
  object-fit: contain;
}


.all-categories-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 10px; /* horizontal 20px, vertical 10px */
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}

.cards-container {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: flex-start;
  align-items: flex-start;
  margin-right: 50px;
}


.category-title {
  font-weight: 700;
  text-transform: uppercase;
  padding-bottom: 5px;
 margin: 0 20px 5px 20px;
}

.cards-container {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: flex-start;
   margin : 0 20px 0 20px;
}

.rowcard {
  display: inline-block;
  flex-wrap: wrap;
  justify-content: center;
   
}

.card {
  background: white;
  border-radius: 15px;
  box-shadow: 2px 2px 8px #ccc;
  width: 180px;
  padding: 15px;
  text-align: center;

}

.card .img img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 10px;
}

.card h2 {
  margin: 0 0 5px 0;
  font-size: 1.2em;
}

.card span {
  font-weight: 600;
  color: gray;
}


/* ******************** */
/*******SIDEBAR***************/
.menu-sidebar {
    list-style-type: none; /* Enlève les puces */
    padding-left: 0; /* Enlève le padding par défaut */
    margin: 0;
}

.menu-sidebar li {
    margin-bottom: 10px; /* Un peu d'espace entre les items, optionnel */
}

.menu-sidebar li a img {
    padding: 5px;
    border-radius: 20%;
    margin: 0 6px 0 0;
    box-shadow: 0 3px 5px #0000003c;
    height: 35px;
    width: 35px;
    text-align: center;
    overflow: visible;
    vertical-align: middle; /* Pour aligner l'image verticalement */
}

/* ******************** */

#listeCommandes .box{border:1px solid #313139;border-top:none}

.button{border:2px solid #1b3c57;background:#fff;line-height:45px;min-width:215px;text-align:center;display:block;-webkit-transition:All .5s;transition:All .5s;cursor:pointer}
.button span{color:#444;font-family:Roboto;font-size:16px;font-weight:400}
.button-hover,.button:hover{background:#132a3d}
.button-hover span,.button:hover span{color:#fff}
.button-active,.button:active{background:#1b3c57}
.button-active span,.button:active span{color:#fff}
.h1{color:#1b3c57;font-size:48px;font-weight:300;line-height:50px}
.h2{color:#40d8c3;font-size:32px;font-weight:300;line-height:50px}
.h3{color:#444;font-size:26px;font-weight:300;line-height:46px}
.h4{color:#444;font-size:20px;font-weight:700;line-height:40px}
.h5{color:#444;font-size:18px;font-weight:700;line-height:34px}
.h6{color:#444;font-size:16px;font-weight:700;line-height:30px}
.row .marge_FAQ{margin-bottom:30px}
.bg-red{background-color:#e02128!important}
h1{color:var(--accent-color);font-size:36px;text-align:center}
h1 i{color:white}
h2{color:var(--accent-color);font-size:30px}
h4{color:var(--accent-color);font-size:18px}
.wm88_menu_left li:hover a h1 i,.wm88_menu_left li.active a h1 i{color:var(--accent-color)}
.wm88_menu_left{text-align:center}
ul .wm88_menu_left li{border-bottom:solid 1px #fff}
.user_sect{color:#fff}
#liste_info,#liste_paginate{padding:10px}
.doc_box{background:none!important;width:100%!important;height:auto!important}
.doc_box_file_name{padding:5px;width:100%;text-align:center;word-wrap:break-word}
.cat_doc{white-space:normal!important}
.cadre_contact{background:#e2e2e2!important;padding:0;top:0;font-size:10px}
.margin_bottom20{margin-bottom:15px}
#liste{margin:0!important;}
.box-solid{margin:0 auto;width:90%;background: none;}
.box-solid .box-header{background: var(--accent-faded);color: white;margin: 5px;border-radius: 10px;cursor:pointer;}
.box-solid .box-header .box-title{display:block;font-size:20px;font-weight:700}
.box-solid .box-header .box-tools{top:0}
.box-solid .box-header .box-tools:hover{cursor:pointer}
.box-solid .box-header .box-tools:hover .btn-box-tool i{font-size:28px}
.box-solid .box-header .box-tools .btn{font-size:22px;color:black}
.box-solid .box-title {vertical-align: middle;display:inline-block !important;}
.box-solid .box-body {border-radius: 10px;background: white;}
.box-solid .box-body p{margin:0;font-size:16px;color:black}

.selector .btn-result{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}
.selector .btn-result .btn-app{-webkit-box-flex:0;-webkit-flex:0 1 20%;-ms-flex:0 1 20%;flex:0 1 20%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center;margin:5px;padding:0;min-width:170px;min-height:150px;box-sizing:border-box;padding:2%}
.selector .btn-result .btn-app .btnapp-content p{box-sizing:border-box;font-size:25px;white-space:normal}
.selector .btn-result .btn-app .btnapp-content p i{font-size:50px}
.bloc-filtre{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;margin:35px 0 20px}
.bloc-filtre .dropdown:nth-child(1){margin-right:50px}
.bloc-filtre .dropdown button{background-color:#ecf0f5;color:#313139;min-width:200px;font-size:18px;border:2px solid #313139}
.bloc-filtre .dropdown button span{margin-left:5px}
.bloc-filtre .dropdown-menu{min-width:200px;margin-top:0}
.bloc-filtre .dropdown-menu li{text-align:center;font-size:15px}
.bloc-filtre .dropdown-menu li a:hover{color:var(--accent-color)}
.btn-retour{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-right:20px}
.btn-retour a button{color:white;font-size:20px;background-color:var(--accent-color)}
.btn-retour a button:hover{color:white}

.homepage .img-magasin{max-width:110px;margin:5px auto}
.homepage .img-magasin img{width:100%}
.homepage .rowvid{display:block}
.homepage .rowvid .video{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}
.homepage .rowvid .video video{display:block;width:1000px;height:500px}
.content-wrapper .content-header .bloc-top-head {display:flex;justify-content:space-between}
.content-wrapper .content-header .bloc-top-head .block-deco {display:flex;align-items:center;padding:5px 20px;font-size:14px}
.content-wrapper .content-header .bloc-top-head .block-deco a {color:inherit;}
.content-wrapper .content-header .bloc-top-head .block-deco a:hover{color:var(--accent-color)}
.content-wrapper .content-header .bloc-top-head .block-contact{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
.content-wrapper .content-header .bloc-top-head .block-contact span{margin:0 8px}
.sidebar .user-panel .user_sect{max-width:100%}
.sidebar .user-panel .user_sect .logo-lg img{max-width:200px;margin:auto}
.sidebar-menu .treeview{border-top:1px solid black;border-bottom:1px solid black}

.side-contact {display: flex;flex-direction: column;align-items: center;border-top: 1px solid black;border-bottom: 1px solid black;margin-top: 25px;}
.side-contact a {width: 100%;padding: 10px 0;text-align: center;}
.side-contact a i {margin-right:5px}
.side-contact a:hover {background-color:#28272d;color:var(--accent-color)}

.form_send_btn {border: 2px solid var(--accent-color);color: var(--accent-color);font-weight: 600;padding: 6px 24px;background: white;border-radius: 5px;}
table.time-slot-table {width: 80%;margin-left: auto;margin-right: auto;margin-top: 1rem;background-color: white;}
table.time-slot-table th {text-align: center;width:50px;height:35px;}
table.time-slot-table th,table.time-slot-table td {border: 1px solid #ddd;padding: 0;}
table.time-slot-table button.select-creneau {background-color: transparent;border: none;margin: 0;height: 100%;width: 100%;}


/**** SAV ****/
.sav_liste th {color:white;}
.sav_liste th, .sav_liste td {padding:6px 12px;}
.sav_liste .btn {padding:1px 5px;}
.sav_liste th:nth-of-type(5) {background:#ef3d44;}
.sav_liste th:last-of-type, .sav_liste td:last-of-type {text-align:center;}
.sav_liste .commandRow td:nth-of-type(3) {border-right:none;}
.sav_liste .savRow {background:#ffffff;}
.sav_liste .savRow + .savRow td {border-top:none;}
.sav_liste .commandRow.savRow:has(+ .savRow) td:first-of-type:after {content:'DÉCLARATION DE SAV';display:block;color:#ef3d44;font-weight:bold;margin:5px 0 0 0;}

input[type=radio] {width: 1.3em;height: 1.3em;vertical-align: bottom;}
input:invalid, select:invalid {border: 1px solid #ef3d44;}
input[type=radio]:invalid {appearance: none;border-radius: 50%;background:white;}
/*input[type=radio]:invalid {border-radius:50%;filter: drop-shadow(0px 0px 1px red)}*/

.file-upload {
    position:relative;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    min-height: 35px;
    margin-bottom:5px;
    text-align: center;
    color: #afafaf;
    background:white;
    border-radius:3px;
}
.file-upload-wrapper .card.card-body input {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 5
}

.switch-toggle {background: #242729;display:inline-block;border-radius:5px;overflow:hidden;position:relative;vertical-align:middle;margin:0px 15px 10px;}
.switch-toggle input {position: absolute;opacity: 0;left:40%;}
.switch-toggle input + label {padding: 7px;color: #fff;cursor: pointer;margin:0;width:50px;text-align:center;}
.switch-toggle input:checked#tendDoff + label {background: #ef3d44;}
.switch-toggle input:checked#tendDon  + label {background: #2fa43f;}
/** FIN SAV **/