/*
.......##..............########..########...#######..########..########...#######..##......##.##....##....................##
......##...##...##.....##.....##.##.....##.##.....##.##.....##.##.....##.##.....##.##..##..##.###...##.....##...##.......##.
.....##.....##.##......##.....##.##.....##.##.....##.##.....##.##.....##.##.....##.##..##..##.####..##......##.##.......##..
....##....#########....##.....##.########..##.....##.########..##.....##.##.....##.##..##..##.##.##.##....#########....##...
...##.......##.##......##.....##.##...##...##.....##.##........##.....##.##.....##.##..##..##.##..####......##.##.....##....
..##.......##...##.....##.....##.##....##..##.....##.##........##.....##.##.....##.##..##..##.##...###.....##...##...##.....
.##....................########..##.....##..#######..##........########...#######...###..###..##....##..............##......
*/
/* Styles pour le dropdown - AJOUTS NÉCESSAIRES */
.dropdownFilter {
  position: relative;
  display: inline-block;
}

.dropdownFilter-menu {
  position: absolute;
  top: 48px;
  left: 0;
  list-style: none;
  background-color: rgba(255, 255, 255);
  display: none;
  padding: 1rem 1rem;
  margin: 0;
  box-shadow: 0 8px 16px rgba(255, 234, 241, 0.4);
  z-index: 100;
  min-width: 220px;
  color: #7c7777;
  border: 1px solid #e7ddd4;
}

.dropdownFilter:hover > .dropdownFilter-menu {
  display: block;
}

.dropdownFilter-menu li a {
  padding: 10px 20px;
  display: block;
  transition: background 0.2s;
  text-decoration: none;
  color: #7c7777;
}

.dropdownFilter-menu li a:hover {
  background-color: #e7ddd4;
  color: #5c5a5a;
}

/*
.......##..............########.####.##.......########.########.########.....................##
......##...##...##.....##........##..##..........##....##.......##.....##.....##...##.......##.
.....##.....##.##......##........##..##..........##....##.......##.....##......##.##.......##..
....##....#########....######....##..##..........##....######...########.....#########....##...
...##.......##.##......##........##..##..........##....##.......##...##........##.##.....##....
..##.......##...##.....##........##..##..........##....##.......##....##......##...##...##.....
.##....................##.......####.########....##....########.##.....##..............##......
*/
/* Styles pour le bouton principal */
.btnFilter {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 130px;
  background-color: #e7ddd4;
  color: #000;
  text-decoration: none;
  border: 1px solid #e7ddd4;
  cursor: pointer;
  transition: background-color 0.2s;
}

.btnFilter:hover {
  background-color: #fffcf7;
}

/*
.......##..............########..##....##.##....##....###....##.....##.####..######.....########..########.##....##....................##
......##...##...##.....##.....##..##..##..###...##...##.##...###...###..##..##....##....##.....##....##....###...##.....##...##.......##.
.....##.....##.##......##.....##...####...####..##..##...##..####.####..##..##..........##.....##....##....####..##......##.##.......##..
....##....#########....##.....##....##....##.##.##.##.....##.##.###.##..##..##..........########.....##....##.##.##....#########....##...
...##.......##.##......##.....##....##....##..####.#########.##.....##..##..##..........##.....##....##....##..####......##.##.....##....
..##.......##...##.....##.....##....##....##...###.##.....##.##.....##..##..##....##....##.....##....##....##...###.....##...##...##.....
.##....................########.....##....##....##.##.....##.##.....##.####..######.....########.....##....##....##..............##......
*/

/* bouton gold shadow */
.goldBtnShadow:hover {
  box-shadow: 0 0 5px #a07036;
}

/* Bouton noir */
/* Habillages des boutons dynamiques */
.dynamic-border-btn-black {
  position: relative;
  padding: 10px 20px;
  font-size: 14px;
  cursor: pointer;
  z-index: 1;
  overflow: visible;
  border-left: 1px solid var(--button-color, #000000);
  border-right: 1px solid var(--button-color, #000000);
}
/* Bordures simulées */
.border-line-black {
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.border-line-black.bottom {
  top: auto;
  bottom: 0;
}

/* Deux traits de chaque côté du gap */
.border-line-black::before,
.border-line-black::after {
  content: "";
  display: block;
  height: 1px;
  background-color: var(--button-color, #000000);
  transition: width 0.6s ease;
}

/* Longueur ajustable */
/* Position initiale : gap à droite en haut, à gauche en bas */
.border-line-black.top::before {
  width: calc(100% - 40px); /* ligne gauche longue */
}
.border-line-black.top::after {
  width: 20px; /* ligne droite = gap */
}

.border-line-black.bottom::before {
  width: 20px; /* ligne gauche = gap */
}
.border-line-black.bottom::after {
  width: calc(100% - 40px); /* ligne droite longue */
}

/* Au hover, on inverse la logique (gap glisse) */
.dynamic-border-btn-black:hover .border-line-black.top::before {
  width: 20px;
}
.dynamic-border-btn-black:hover .border-line-black.top::after {
  width: calc(100% - 40px);
}

.dynamic-border-btn-black:hover .border-line-black.bottom::before {
  width: calc(100% - 40px);
}
.dynamic-border-btn-black:hover .border-line-black.bottom::after {
  width: 20px;
}

/* Bouton brown */
/* Habillages des boutons dynamiques */
.dynamic-border-btn-gold {
  position: relative;
  padding: 10px 20px;
  font-size: 14px;
  cursor: pointer;
  z-index: 1;
  overflow: visible;
  border-left: 1px solid var(--button-color, #a07036);
  border-right: 1px solid var(--button-color, #a07036);
}
/* Bordures simulées */
.border-line-gold {
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.border-line-gold.bottom {
  top: auto;
  bottom: 0;
}

/* Deux traits de chaque côté du gap */
.border-line-gold::before,
.border-line-gold::after {
  content: "";
  display: block;
  height: 1px;
  background-color: var(--button-color, #a07036);
  transition: width 0.6s ease;
}

/* Longueur ajustable */
/* Position initiale : gap à droite en haut, à gauche en bas */
.border-line-gold.top::before {
  width: calc(100% - 40px); /* ligne gauche longue */
}
.border-line-gold.top::after {
  width: 20px; /* ligne droite = gap */
}

.border-line-gold.bottom::before {
  width: 20px; /* ligne gauche = gap */
}
.border-line-gold.bottom::after {
  width: calc(100% - 40px); /* ligne droite longue */
}

/* Au hover, on inverse la logique (gap glisse) */
.dynamic-border-btn-gold:hover .border-line-gold.top::before {
  width: 20px;
}
.dynamic-border-btn-gold:hover .border-line-gold.top::after {
  width: calc(100% - 40px);
}

.dynamic-border-btn-gold:hover .border-line-gold.bottom::before {
  width: calc(100% - 40px);
}
.dynamic-border-btn-gold:hover .border-line-gold.bottom::after {
  width: 20px;
}

/* Bouton dark pink */
/* Habillages des boutons dynamiques */
.dynamic-border-btn-dpink {
  position: relative;
  padding: 10px 20px;

  font-size: 14px;
  cursor: pointer;
  z-index: 1;
  overflow: visible;
  border-left: 1px solid var(--button-color, #ebc8cf);
  border-right: 1px solid var(--button-color, #ebc8cf);
}
/* Bordures simulées */
.border-line-dpink {
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.border-line-dpink.bottom {
  top: auto;
  bottom: 0;
}

/* Deux traits de chaque côté du gap */
.border-line-dpink::before,
.border-line-dpink::after {
  content: "";
  display: block;
  height: 1px;
  background-color: var(--button-color, #ebc8cf);
  transition: width 0.6s ease;
}

/* Longueur ajustable */
/* Position initiale : gap à droite en haut, à gauche en bas */
.border-line-dpink.top::before {
  width: calc(100% - 40px); /* ligne gauche longue */
}
.border-line-dpink.top::after {
  width: 20px; /* ligne droite = gap */
}

.border-line-dpink.bottom::before {
  width: 20px; /* ligne gauche = gap */
}
.border-line-dpink.bottom::after {
  width: calc(100% - 40px); /* ligne droite longue */
}

/* Au hover, on inverse la logique (gap glisse) - CORRIGÉ */
.dynamic-border-btn-dpink:hover .border-line-dpink.top::before {
  width: 20px;
}
.dynamic-border-btn-dpink:hover .border-line-dpink.top::after {
  width: calc(100% - 40px);
}

.dynamic-border-btn-dpink:hover .border-line-dpink.bottom::before {
  width: calc(100% - 40px);
}
.dynamic-border-btn-dpink:hover .border-line-dpink.bottom::after {
  width: 20px;
}

/*
.......##..............########..#######...#######..##.....##.....######.....###....########..########.....................##
......##...##...##..........##..##.....##.##.....##.###...###....##....##...##.##...##.....##.##.....##.....##...##.......##.
.....##.....##.##..........##...##.....##.##.....##.####.####....##........##...##..##.....##.##.....##......##.##.......##..
....##....#########.......##....##.....##.##.....##.##.###.##....##.......##.....##.########..##.....##....#########....##...
...##.......##.##........##.....##.....##.##.....##.##.....##....##.......#########.##...##...##.....##......##.##.....##....
..##.......##...##......##......##.....##.##.....##.##.....##....##....##.##.....##.##....##..##.....##.....##...##...##.....
.##....................########..#######...#######..##.....##.....######..##.....##.##.....##.########...............##......
*/
.zoom {
  transition: transform 0.3s ease;
}

.zoom:hover {
  transform: scale(1.01);
  z-index: 1;
}

.opacityCard {
  transition: opacity 0.3s ease;
}

.opacityCard:hover {
  opacity: 0.8;
  z-index: 1;
}
/*
.......##...............######.....###....########...#######..##.....##..######..########.##..........................##
......##...##...##.....##....##...##.##...##.....##.##.....##.##.....##.##....##.##.......##...........##...##.......##.
.....##.....##.##......##........##...##..##.....##.##.....##.##.....##.##.......##.......##............##.##.......##..
....##....#########....##.......##.....##.########..##.....##.##.....##..######..######...##..........#########....##...
...##.......##.##......##.......#########.##...##...##.....##.##.....##.......##.##.......##............##.##.....##....
..##.......##...##.....##....##.##.....##.##....##..##.....##.##.....##.##....##.##.......##...........##...##...##.....
.##.....................######..##.....##.##.....##..#######...#######...######..########.########..............##......
*/
/* Styles pour les indicateurs de carousel */
[data-carousel-slide-to] {
  background-color: #fffcf7 !important;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

[data-carousel-slide-to]:hover {
  opacity: 0.8 !important;
}

[data-carousel-slide-to][aria-current="true"] {
  opacity: 1 !important;
  background-color: #fffcf7 !important;
}

/*
.......##..............########...#######..########....###....########.####..#######..##....##....................##
......##...##...##.....##.....##.##.....##....##......##.##......##.....##..##.....##.###...##.....##...##.......##.
.....##.....##.##......##.....##.##.....##....##.....##...##.....##.....##..##.....##.####..##......##.##.......##..
....##....#########....########..##.....##....##....##.....##....##.....##..##.....##.##.##.##....#########....##...
...##.......##.##......##...##...##.....##....##....#########....##.....##..##.....##.##..####......##.##.....##....
..##.......##...##.....##....##..##.....##....##....##.....##....##.....##..##.....##.##...###.....##...##...##.....
.##....................##.....##..#######.....##....##.....##....##....####..#######..##....##..............##......
*/
.image-animable {
  display: block;
  margin: 0 auto;
  width: 300px;
  transition: transform 1s ease-out;
  transform: rotate(0deg);
  opacity: 0;
  transform-origin: center;
}

.image-animable.active {
  transform: rotate(10deg);
  opacity: 1;
}

.image-animable2 {
  display: block;
  margin: 0 auto;
  transition: transform 1s ease-out;
  transform: rotate(0deg);
  opacity: 0;
  transform-origin: center;
}

.image-animable2.active {
  transform: rotate(-20deg);
  opacity: 1;
}

/*
.......##..............##.......####..######...##.....##.########.########...#######..##.....##....................##
......##...##...##.....##........##..##....##..##.....##....##....##.....##.##.....##..##...##......##...##.......##.
.....##.....##.##......##........##..##........##.....##....##....##.....##.##.....##...##.##........##.##.......##..
....##....#########....##........##..##...####.#########....##....########..##.....##....###.......#########....##...
...##.......##.##......##........##..##....##..##.....##....##....##.....##.##.....##...##.##........##.##.....##....
..##.......##...##.....##........##..##....##..##.....##....##....##.....##.##.....##..##...##......##...##...##.....
.##....................########.####..######...##.....##....##....########...#######..##.....##..............##......
*/
.thumbnail {
  cursor: pointer;
  transition: transform 0.3s;
}

.thumbnail:hover {
  transform: scale(1.05);
}

.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.lightbox.active {
  display: flex;
}

.lightbox-content {
  background-color: white;
  max-width: 800px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.lightbox-content > div:first-child {
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.lightbox-content > div:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lightbox-content > div:last-child {
  padding: 2rem;
}


@keyframes zoomIn {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}


/* Responsive */
@media (max-width: 768px) {
  .lightbox-content > div:first-child {
    height: 200px;
  }
  
  .lightbox-content > div:last-child {
    padding: 1.5rem;
  }
}
