
body {
    width: 100%;
    overflow-x: hidden;
}

.image {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.conteneur {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.flex {
    display: flex;
}

.flex-column {
    flex-direction: column;
}

.flex-row {
    flex-direction: row;
}

.align-start {
    align-items: flex-start;
}

.align-center {
    align-items: center;
}

.align-end {
    align-items: flex-end;
}

.justify-start {
    justify-content: flex-start;
}

.justify-center {
    justify-content: center;
}

.justify-end {
    justify-content: flex-end;
}

.justify-between {
    justify-content: space-between;
}

.gap-sm {
    gap: var(--spacing-sm);
}

.gap-md {
    gap: var(--spacing-md);
}

.gap-lg {
    gap: var(--spacing-lg);
}

.gap-xl {
    gap: var(--spacing-xl);
}

.hidden {
    display: none;
}

.visible {
    display: block;
}

.transition {
    transition: all var(--transition-base);
}

.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

@media (max-width: 768px) {
    .mobile-hidden {
        display: none;
    }
}

@media (min-width: 769px) {
    .desktop-hidden {
        display: none;
    }
}
