/* Espacements globaux Super Larsen */
:root {
    --sl-space-page-top: clamp(1rem, 2vw, 1.75rem);
    --sl-space-page-bottom: clamp(1rem, 2vw, 2rem);
    --sl-space-section-y: clamp(1.5rem, 2.4vw, 2.25rem);
    --sl-space-section-title: clamp(0.75rem, 1.35vw, 1.15rem);
    --sl-space-footer-gap: clamp(1.25rem, 2.5vw, 2.25rem);
    --sl-space-footer-y: clamp(0.85rem, 1.8vw, 1.5rem);
    --sl-player-safe-bottom: calc(var(--sl-radio-player-height, 80px) + var(--sl-audio-visualizer-height, 58px) + 32px);
}

body:not(.home) #page-wrapper,
body:not(.home) #archive-wrapper {
    padding-top: var(--sl-space-page-top) !important;
    padding-bottom: var(--sl-space-page-bottom) !important;
}

body:not(.home) #single-wrapper {
    padding-bottom: var(--sl-space-page-bottom) !important;
}

body.home #page-wrapper {
    padding-bottom: clamp(0.75rem, 2vw, 1.5rem) !important;
}

#page-wrapper .site-main,
#archive-wrapper .site-main,
#single-wrapper .site-main {
    margin-bottom: 0;
}

.content-section {
    padding-top: var(--sl-space-section-y);
    padding-bottom: var(--sl-space-section-y);
}

.content-section.section-podcasts {
    padding-bottom: var(--sl-space-section-y) !important;
}

body.home .content-section {
    padding-top: calc(var(--sl-space-section-y) * 0.9);
    padding-bottom: calc(var(--sl-space-section-y) * 0.9);
}

body.home .content-section > .row.mt-5,
body.home .section-categories .row.mt-5 {
    margin-top: var(--sl-space-section-title) !important;
}

body.home .my-horizontal-swiper.py-5,
body.home #carousel-articles.py-5 {
    padding-top: calc(var(--sl-space-section-title) * 0.9) !important;
    padding-bottom: var(--sl-space-section-title) !important;
}

.section-song-finder {
    padding-top: var(--sl-space-section-y);
    padding-bottom: var(--sl-space-section-y);
}

.audio-wave-separator + .content-section {
    padding-top: calc(var(--sl-space-section-y) * 0.85);
}

.audio-wave-separator {
    height: clamp(52px, 4vw, 72px);
}

.content-section > h1:first-child,
.content-section > h2:first-child,
.content-section > h3:first-child,
.content-section .entry-content > h1:first-child,
.content-section .entry-content > h2:first-child,
.content-section .entry-content > h3:first-child {
    margin-top: 0;
    margin-bottom: var(--sl-space-section-title);
}

.content-section > .row + h2,
.content-section > .row + h3 {
    margin-top: calc(var(--sl-space-section-title) * 1.35);
}

.entry-content > h2,
.entry-content > h3 {
    margin-top: var(--sl-space-section-title);
    margin-bottom: 1rem;
}

.entry-content > *:last-child,
.content-section > *:last-child {
    margin-bottom: 0;
}

.archive-page-header {
    margin-top: 0;
}

.archive-page-header.mb-5 {
    margin-bottom: var(--sl-space-section-title) !important;
}

#wrapper-footer {
    flex: 0 0 auto;
    margin-top: var(--sl-space-footer-gap);
    padding-top: var(--sl-space-footer-y) !important;
    padding-bottom: calc(var(--sl-space-footer-y) + var(--sl-player-safe-bottom)) !important;
}

body.home #wrapper-footer {
    margin-top: clamp(1rem, 2.5vw, 2rem);
}

#wrapper-footer .site-info.mb-5 {
    margin-bottom: 0 !important;
}

#wrapper-footer .site-info > .mb-5.pb-5 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.footer-menu {
    margin-bottom: clamp(0.75rem, 2vw, 1.5rem);
}

.footer-menu .nav.gap-3 {
    gap: 0.75rem 1.25rem !important;
}

@media (max-width: 767.98px) {
    :root {
        --sl-space-page-top: 1rem;
        --sl-space-page-bottom: 1.25rem;
        --sl-space-section-y: 0.9rem;
        --sl-space-section-title: 0.65rem;
        --sl-space-footer-gap: 1rem;
        --sl-space-footer-y: 0.9rem;
        --sl-player-safe-bottom: calc(var(--sl-radio-player-height, 60px) + var(--sl-audio-visualizer-height, 44px) + 24px);
    }

    body.home #page-wrapper {
        padding-bottom: 1rem !important;
    }

    .audio-wave-separator + .content-section {
        padding-top: 0.75rem;
    }

    .audio-wave-separator {
        height: 34px;
    }

    body.home .content-section {
        padding-top: 0.9rem;
        padding-bottom: 0.9rem;
    }

    body.home .content-section.section-podcasts {
        padding-bottom: 0.9rem !important;
    }

    body.home .section-song-finder {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    body.home .my-horizontal-swiper.py-5,
    body.home #carousel-articles.py-5 {
        padding-top: 0.55rem !important;
        padding-bottom: 0.65rem !important;
    }

    body.home .content-section > .row.mt-5,
    body.home .section-categories .row.mt-5,
    body.home .section-fm .mt-5 {
        margin-top: 0.75rem !important;
    }

    .content-section > .row + h2,
    .content-section > .row + h3 {
        margin-top: 0.85rem;
    }

    .footer-menu .nav.gap-3 {
        gap: 0.4rem 0.9rem !important;
    }
}
