/**
 * Atadro Website Desa — unified public layout v3.4.38
 * Container: 1200px. Gutter: 24px desktop, 20px tablet, 16px mobile.
 */

:root {
    --atd-layout-max: 1200px;
    --atd-layout-gutter: 24px;
    --atd-layout-section-space: 56px;
    --atd-layout-content-pad: 28px;
}

html,
body {
    overflow-x: clip;
}

/* Seluruh elemen utama plugin memakai perhitungan ukuran yang sama. */
:is(
    .atadro-homefront,
    .atadro-fullscreen-slider-shell,
    .atadro-menu-kampung,
    .atadro-sambutan,
    .atadro-pigapu-section,
    .atadro-sotk-section,
    .admin-wrapper,
    .atd-berita-desa,
    .atd-berita-kampung,
    .atd-potensi-home,
    .atd-potensi-desa,
    .atd-wisata-desa,
    .atd-market,
    .atd-galeri-desa,
    .atadro-profil-desa,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri,
    .atd-inf-view,
    .atd-article-archive,
    .atd-article-single-page,
    .atd-product-single-page,
    .atadro-footer-desa-navy,
    .atadro-responsive-nav
),
:is(
    .atadro-homefront,
    .atadro-fullscreen-slider-shell,
    .atadro-menu-kampung,
    .atadro-sambutan,
    .atadro-pigapu-section,
    .atadro-sotk-section,
    .admin-wrapper,
    .atd-berita-desa,
    .atd-berita-kampung,
    .atd-potensi-home,
    .atd-potensi-desa,
    .atd-wisata-desa,
    .atd-market,
    .atd-galeri-desa,
    .atadro-profil-desa,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri,
    .atd-inf-view,
    .atd-article-archive,
    .atd-article-single-page,
    .atd-product-single-page,
    .atadro-footer-desa-navy,
    .atadro-responsive-nav
) *,
:is(
    .atadro-homefront,
    .atadro-fullscreen-slider-shell,
    .atadro-menu-kampung,
    .atadro-sambutan,
    .atadro-pigapu-section,
    .atadro-sotk-section,
    .admin-wrapper,
    .atd-berita-desa,
    .atd-berita-kampung,
    .atd-potensi-home,
    .atd-potensi-desa,
    .atd-wisata-desa,
    .atd-market,
    .atd-galeri-desa,
    .atadro-profil-desa,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri,
    .atd-inf-view,
    .atd-article-archive,
    .atd-article-single-page,
    .atd-product-single-page,
    .atadro-footer-desa-navy,
    .atadro-responsive-nav
) *::before,
:is(
    .atadro-homefront,
    .atadro-fullscreen-slider-shell,
    .atadro-menu-kampung,
    .atadro-sambutan,
    .atadro-pigapu-section,
    .atadro-sotk-section,
    .admin-wrapper,
    .atd-berita-desa,
    .atd-berita-kampung,
    .atd-potensi-home,
    .atd-potensi-desa,
    .atd-wisata-desa,
    .atd-market,
    .atd-galeri-desa,
    .atadro-profil-desa,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri,
    .atd-inf-view,
    .atd-article-archive,
    .atd-article-single-page,
    .atd-product-single-page,
    .atadro-footer-desa-navy,
    .atadro-responsive-nav
) *::after {
    box-sizing: border-box;
}

/* Utility container yang dipakai semua halaman dan shortcode publik. */
:is(
    .atadro-homefront__inner,
    .atadro-fullscreen-slider__container,
    .atadro-menu-kampung,
    .atadro-sambutan__container,
    .atadro-pigapu-container,
    .atadro-sotk-section,
    .admin-wrapper,
    .atd-berita-desa,
    .atd-berita-kampung,
    .atd-potensi-home,
    .atd-potensi-desa,
    .atd-wisata-desa,
    .atd-market,
    .atd-galeri-desa,
    .atadro-profil-desa__container,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri,
    .atd-inf-view__shell,
    .atd-archive-shell,
    .atd-article-single__layout,
    .atd-product-detail,
    .atadro-footer-desa-navy__inner,
    .atadro-home-required-sections
) {
    width: min(
        var(--atd-layout-max),
        calc(100% - (var(--atd-layout-gutter) * 2))
    ) !important;
    max-width: var(--atd-layout-max) !important;
    min-width: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Shortcode yang berupa kartu langsung memakai padding yang sama. */
:is(
    .admin-wrapper,
    .atd-berita-desa,
    .atd-berita-kampung,
    .atd-potensi-home,
    .atd-potensi-desa,
    .atd-wisata-desa,
    .atd-market,
    .atd-galeri-desa,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri
) {
    padding-right: var(--atd-layout-content-pad) !important;
    padding-left: var(--atd-layout-content-pad) !important;
}

/* Jarak luar halaman/section diseragamkan. */
:is(
    .atadro-sambutan,
    .atadro-pigapu-section,
    .atadro-profil-desa__section
) {
    margin: 0 !important;
    padding-top: var(--atd-layout-section-space) !important;
    padding-bottom: var(--atd-layout-section-space) !important;
}

:is(
    .atd-article-archive,
    .atd-article-single-page,
    .atd-product-single-page
) {
    padding-top: var(--atd-layout-section-space) !important;
    padding-right: var(--atd-layout-gutter) !important;
    padding-bottom: var(--atd-layout-section-space) !important;
    padding-left: var(--atd-layout-gutter) !important;
}

/* Halaman detail tetap full-background, tetapi isi tepat 1200px. */
.atd-article-single-page,
.atd-product-single-page {
    width: 100vw !important;
    max-width: none !important;
}

/* Infografis dan halaman daftar memakai gutter global, bukan nilai berbeda. */
.atd-inf-view {
    --container-width: var(--atd-layout-max) !important;
    --page-gap: var(--atd-layout-gutter) !important;
    width: min(100%, var(--atd-layout-max)) !important;
    max-width: var(--atd-layout-max) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.atd-inf-view__shell {
    width: 100% !important;
    max-width: 100% !important;
    padding-top: var(--atd-layout-section-space) !important;
    padding-right: var(--atd-layout-gutter) !important;
    padding-bottom: var(--atd-layout-section-space) !important;
    padding-left: var(--atd-layout-gutter) !important;
}

/*
 * Shortcode halaman utama mengikuti lebar container Elementor 1200px.
 * Elemen akar dibatasi langsung agar tidak bergantung pada lebar section,
 * column, atau widget pembungkus dari theme/page builder.
 */
:is(
    .atadro-belanja-desa,
    .atadro-galeri
) {
    width: min(100%, var(--atd-layout-max)) !important;
    max-width: var(--atd-layout-max) !important;
    min-width: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/*
 * Profil memakai kanvas selebar viewport agar background setiap section tidak
 * terpotong oleh container Elementor. Isi tetap dibatasi oleh container 1200px.
 */
.atadro-profil-desa {
    width: 100vw !important;
    max-width: none !important;
    margin-top: 0 !important;
    margin-right: calc(50% - 50vw) !important;
    margin-bottom: 0 !important;
    margin-left: calc(50% - 50vw) !important;
}

.atadro-profil-desa__section--soft {
    width: 100% !important;
    max-width: none !important;
    background: var(--atadro-light, #eaf4ff) !important;
}

/* Kontainer Profil memakai kotak 1200px; gutter berada di dalam kotak. */
.atadro-profil-desa .atadro-profil-desa__container {
    width: 100% !important;
    max-width: var(--atd-layout-max) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: var(--atd-layout-gutter) !important;
    padding-left: var(--atd-layout-gutter) !important;
}

/* Footer tetap full width, isi footer sejajar dengan semua halaman. */
.atadro-footer-desa-navy__inner {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Navbar full width dengan isi bar sejajar 1200px tanpa mengubah drawer. */
.atadro-responsive-nav__bar {
    padding-right: max(
        var(--atd-layout-gutter),
        calc((100% - var(--atd-layout-max)) / 2 + var(--atd-layout-gutter))
    ) !important;
    padding-left: max(
        var(--atd-layout-gutter),
        calc((100% - var(--atd-layout-max)) / 2 + var(--atd-layout-gutter))
    ) !important;
}

/* Beranda gabungan tidak mengecilkan container dua kali. */
.atadro-homefront {
    --atd-home-max: var(--atd-layout-max) !important;
    --atd-home-gutter: var(--atd-layout-gutter) !important;
    --atd-home-space: var(--atd-layout-section-space) !important;
}

.atadro-homefront__section {
    padding-top: var(--atd-layout-section-space) !important;
    padding-bottom: var(--atd-layout-section-space) !important;
}

.atadro-homefront__inner > :is(
    .atadro-menu-kampung,
    .atadro-sotk-section,
    .admin-wrapper,
    .atd-berita-desa,
    .atd-berita-kampung,
    .atd-potensi-home,
    .atd-potensi-desa,
    .atd-wisata-desa,
    .atd-market,
    .atd-galeri-desa,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri
) {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Elementor/Gutenberg tidak menambah padding atau margin di luar plugin. */
.elementor-widget-shortcode:has(> .elementor-widget-container > :is(
    .atadro-homefront,
    .atd-inf-view,
    .atadro-profil-desa,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri
)),
.elementor-widget-shortcode:has(> .elementor-widget-container > :is(
    .atadro-homefront,
    .atd-inf-view,
    .atadro-profil-desa,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri
)) > .elementor-widget-container,
.wp-block-shortcode:has(> :is(
    .atadro-homefront,
    .atd-inf-view,
    .atadro-profil-desa,
    .atadro-kopdes,
    .atadro-belanja-desa,
    .atadro-galeri
)) {
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 1024px) {
    :root {
        --atd-layout-gutter: 20px;
        --atd-layout-section-space: 44px;
        --atd-layout-content-pad: 24px;
    }
}

@media (max-width: 767px) {
    :root {
        --atd-layout-gutter: 16px;
        --atd-layout-section-space: 32px;
        --atd-layout-content-pad: 16px;
    }

    .atadro-footer-desa-navy__inner {
        width: min(
            var(--atd-layout-max),
            calc(100% - (var(--atd-layout-gutter) * 2))
        ) !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}
