
.container-bloc-visuel-carte {background-color: #E3EADF; margin-left: 0; margin-right: 0; padding: 4rem 0;} 
.container-bloc-visuel-carte h2 {margin: 0 0 3rem; text-align: center;}
.container-bloc-visuel-carte .vcarte-layout {display: flex; flex-direction: column; gap: 3rem;}

/* === COLONNE INFOS (gauche) === */
.container-bloc-visuel-carte .vcarte-infos {width: 100%;}
.container-bloc-visuel-carte .vcarte-detail {position: relative;}

/* Overlay flèches — calqué sur le ratio 16/9 de l'image */
.container-bloc-visuel-carte .vcarte-arrows-overlay {position: absolute; top: 0; left: 0; right: 0; aspect-ratio: 16/9;  z-index: 3;}

/* Flèches */
.container-bloc-visuel-carte .vcarte-prev, .container-bloc-visuel-carte .vcarte-next {position: absolute; top: 50%; transform: translateY(-50%);}
.container-bloc-visuel-carte .vcarte-prev {left: -1.5rem;}
.container-bloc-visuel-carte .vcarte-next {right: -1.5rem;}

/* Slide */
.container-bloc-visuel-carte .vcarte-slide-image {width: 100%; aspect-ratio: 16/9; overflow: hidden; border-radius: var(--border-radius, 1.2rem); margin-bottom: 2rem; background-color: #e93f65; background-image: url("/wp-content/themes/iwego-child/images/grappe-blanche.svg"); background-repeat: no-repeat; background-size: 12rem; background-position: center; }
.container-bloc-visuel-carte .vcarte-slide-image img {width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease;}
.container-bloc-visuel-carte .vcarte-slide-contenu {padding: 0 0.5rem;}
.container-bloc-visuel-carte .vcarte-slide-titre {font-size: 2.2rem; font-weight: 700; margin: 0 0 1.2rem;}
.container-bloc-visuel-carte .vcarte-slide-desc {font-size: 1.5rem; line-height: 1.7; color: var(--couleur-texte); margin-bottom: 2rem;}
.container-bloc-visuel-carte .vcarte-slide-desc p {margin: 0 0 1rem;}

/* === COLONNE CARTE (droite) === */
.container-bloc-visuel-carte .vcarte-map {position: relative; width: 100%; display: none;}
.container-bloc-visuel-carte .vcarte-fond {width: 100%; height: 100%; display: block; object-fit: contain; border-radius: var(--border-radius, 1.2rem);}

/* === POINTS SUR LA CARTE === */
.container-bloc-visuel-carte .vcarte-points {position: absolute; inset: 0; pointer-events: none;}
.container-bloc-visuel-carte .vcarte-point {position: absolute; transform: translate(-50%, -50%); width: 1.4rem; height: 1.4rem; border-radius: 50%; background-color: #fff; border: 3px solid rgba(255,255,255,0.4); cursor: pointer; pointer-events: auto; transition: transform 250ms ease, background-color 250ms ease; z-index: 2; padding: 0;}
.container-bloc-visuel-carte .vcarte-point::before {content: ''; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid #fff; opacity: 0;}
.container-bloc-visuel-carte .vcarte-point.active {transform: translate(-50%, -50%) scale(1.5); background-color: #fff; border-color: var(--couleur-cta); outline: 1px solid #fff;}
/*.container-bloc-visuel-carte .vcarte-point.active::before {animation: vcarte-pulse 2.4s ease-out infinite;}*/

/* Label au survol du point */
.container-bloc-visuel-carte .vcarte-point-label {position: absolute; bottom: calc(100% + 1rem); left: 50%; transform: translateX(-50%); background-color: #fff; font-size: 1.2rem; white-space: nowrap; padding: .3rem .6rem; border-radius: .4rem; opacity: 0; pointer-events: none; transition: opacity 200ms ease;}
.container-bloc-visuel-carte .vcarte-point-label::after {content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: #fff;}
.container-bloc-visuel-carte .vcarte-point:hover .vcarte-point-label, .container-bloc-visuel-carte .vcarte-point.active .vcarte-point-label {opacity: 1;}

/* Pulse animation */
@keyframes vcarte-pulse {
    0% {transform: scale(1); opacity: .6;}
    100% {transform: scale(2.8); opacity: 0;}
}

/* === HOVER === */
@media (hover: hover) {
    .container-bloc-visuel-carte .vcarte-prev:hover, .container-bloc-visuel-carte .vcarte-next:hover {background-color: var(--couleur-texte);}
    .container-bloc-visuel-carte .vcarte-point:not(.active):hover {transform: translate(-50%, -50%) scale(1.3);}
    .container-bloc-visuel-carte .vcarte-slide-image img:hover {transform: scale(1.04);}
}

/* === TABLETTE === */
@media (min-width: 768px) {
    .container-bloc-visuel-carte .vcarte-point {width: 1.6rem; height: 1.6rem;}
    .container-bloc-visuel-carte{ border-radius: var(--border-radius); margin-left: 4rem; margin-right: 4rem;} 
    .container-bloc-visuel-carte h2 {text-align: left;}
    .container-bloc-visuel-carte .vcarte-prev {left: -2.25rem;}
    .container-bloc-visuel-carte .vcarte-next {right: -2.25rem;}
    .container-bloc-visuel-carte .vcarte-map {display: block;} 

}

/* === DESKTOP === */
@media (min-width: 1025px) {
    .container-bloc-visuel-carte {padding: 7rem 0 8rem;}
    .container-bloc-visuel-carte .vcarte-layout {flex-direction: row; gap: 6rem;}
    .container-bloc-visuel-carte .vcarte-infos {width: 40rem;}
    .container-bloc-visuel-carte .vcarte-map {flex: 1; min-width: 0;}
}

@media (min-width: 1400px) {
    .container-bloc-visuel-carte .vcarte-layout {gap: 10rem;}
    .container-bloc-visuel-carte .vcarte-infos {width: 50rem;}
}
