/* SEA – Automatyczne odstępy i wysokość */

body.sea-auto-spacing-active .sea-auto-section {
    box-sizing: border-box;
    height: auto !important;
    min-height: 0 !important;
    padding-top: var(--sea-section-desktop) !important;
    padding-bottom: var(--sea-section-desktop) !important;
}

body.sea-auto-spacing-active .sea-auto-section > :first-child {
    margin-top: 0 !important;
}

body.sea-auto-spacing-active .sea-auto-section > :last-child {
    margin-bottom: 0 !important;
}

body.sea-auto-spacing-active .sea-auto-heading {
    margin-top: 0 !important;
}

body.sea-auto-spacing-active .sea-auto-heading-block {
    margin-bottom: var(--sea-heading-gap) !important;
}

body.sea-auto-spacing-active .sea-auto-grid {
    gap: var(--sea-card-gap) !important;
    row-gap: var(--sea-card-gap) !important;
    align-items: stretch !important;
}

body.sea-auto-spacing-active .sea-auto-card {
    box-sizing: border-box;
    height: auto !important;
    min-height: 0 !important;
}

body.sea-auto-spacing-active .sea-auto-grid > .sea-auto-card {
    align-self: stretch !important;
}

body.sea-auto-spacing-active .sea-auto-fit {
    height: auto !important;
    min-height: 0 !important;
}

body.sea-auto-spacing-active .sea-auto-producers {
    padding-bottom: 32px !important;
}

body.sea-auto-spacing-active .sea-auto-video {
    padding-top: var(--sea-producers-video-gap) !important;
}

body.sea-auto-spacing-active .sea-auto-video iframe,
body.sea-auto-spacing-active .sea-auto-video video {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
}

body.sea-auto-spacing-active .sea-auto-categories img {
    max-width: 100%;
    object-fit: cover;
}

/* Sekcja kontaktowa: prawdziwy układ masonry, bez pustych pól pod krótszymi kartami. */
body.sea-auto-spacing-active .sea-auto-contact-grid {
    position: relative !important;
    display: block !important;
    grid-template-columns: none !important;
    grid-auto-rows: auto !important;
    align-items: start !important;
    gap: 0 !important;
    transition: height .18s ease;
}

body.sea-auto-spacing-active .sea-auto-contact-grid > .sea-auto-contact-card {
    position: absolute !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-self: auto !important;
}

body.sea-auto-spacing-active .sea-auto-contact-grid.sea-auto-contact-single > .sea-auto-contact-card {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    margin-bottom: var(--sea-contact-gap) !important;
}

body.sea-auto-spacing-active.sea-auto-debug .sea-auto-section {
    outline: 1px dashed rgba(33, 150, 65, .55);
    outline-offset: -1px;
}

body.sea-auto-spacing-active.sea-auto-debug .sea-auto-contact-grid {
    outline: 2px dashed rgba(20, 110, 210, .55);
}

@media (max-width: 1024px) {
    body.sea-auto-spacing-active .sea-auto-section {
        padding-top: var(--sea-section-tablet) !important;
        padding-bottom: var(--sea-section-tablet) !important;
    }
}

@media (max-width: 767px) {
    body.sea-auto-spacing-active .sea-auto-section {
        padding-top: var(--sea-section-mobile) !important;
        padding-bottom: var(--sea-section-mobile) !important;
    }

    body.sea-auto-spacing-active .sea-auto-heading-block {
        margin-bottom: min(var(--sea-heading-gap), 32px) !important;
    }

    body.sea-auto-spacing-active .sea-auto-grid {
        gap: min(var(--sea-card-gap), 20px) !important;
        row-gap: min(var(--sea-card-gap), 20px) !important;
    }

    body.sea-auto-spacing-active .sea-auto-video {
        padding-top: min(var(--sea-producers-video-gap), 48px) !important;
    }
}
