.offre-hero {
background: linear-gradient(135deg, rgba(255,113,206,0.2), rgba(1,205,254,0.2));
}

.offre-formats .card {
transition: transform var(--transition), box-shadow var(--transition);
}

.offre-formats .card:hover {
transform: translateY(-6px);
box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

.offre-galerie {
background: linear-gradient(135deg, rgba(1,205,254,0.15), rgba(255,251,150,0.1));
}

.carousel {
position: relative;
overflow: hidden;
margin-top: var(--space-lg);
}

.carousel-track {
display: flex;
transition: transform 0.4s ease;
}

.carousel-item {
min-width: 100%;
flex-shrink: 0;
text-align: center;
}

.carousel-item img {
border-radius: var(--radius-lg);
max-height: 420px;
object-fit: cover;
margin-inline: auto;
}

.caption {
display: block;
margin-top: var(--space-sm);
color: var(--color-muted);
}

.carousel-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
border: none;
color: #fff;
padding: 0.5rem 1rem;
cursor: pointer;
border-radius: var(--radius-md);
}

.carousel-btn.prev {
left: 10px;
}

.carousel-btn.next {
right: 10px;
}

.button {
box-shadow: 0 4px 20px rgba(255,113,206,0.4);
}

@media (max-width: 768px) {
.carousel-item img {
max-height: 260px;
}
}

body {
overflow-x: hidden;
}