/* ==========================================================
   _00-LAYOUT.CSS
   ========================================================== */

body { display: flex; flex-direction: column; min-height: 100vh; }
#main-content, .site-main { flex: 1; }

/* ── SITE-HEADER ──────────────────────────────────────────────────────── */
.site-header { width: 100%; position: relative; z-index: 1000; }

body.home .site-header,
body.single-project .site-header,
body.page-id-458 .site-header,
body.page-template-template-artists .site-header,
body.has-hero-header .site-header {
    position: absolute;
    top: 0; left: 0; width: 100%;
    background: transparent !important;
}

/* ── INNEHÅLLSCONTAINRAR ──────────────────────────────────────────────────
   En enda källa för horisontell padding och centrering.
   Ingen fast max-width — innehållet skalas med skärmen.
   ──────────────────────────────────────────────────────────────────────── */
.site-container,
.artists-content-wrapper,
.articles-content-wrapper,
.contact-content-wrapper,
.project-content-area,
.om-oss-intro,
.om-oss-gallery,
.inside-article,
.footer-columns,
.footer-full,
.footer-bar-section,
.footer-section-contact,
.gp-element-footer-block,
.minimal-list-section,
.intro-statement-section,
.client-section-full,
.featured-projects-fullwidth > .fp-header {
    width: 100%;
    padding-left: var(--padding-x);
    padding-right: var(--padding-x);
    box-sizing: border-box;
}

/*
 * #primary.content-area får INTE padding här — dess barn
 * (.inside-article, .artists-content-wrapper, etc.) hanterar det själva.
 * Undantag: icke-hero-sidor utan wrapper-barn får padding direkt.
 */
body:not(.home):not(.single-project):not(.page-id-458):not(.page-template-template-artists)
    #primary.content-area:not(:has(.inside-article)):not(:has(.artists-content-wrapper)):not(:has(.articles-content-wrapper)):not(:has(.contact-content-wrapper)):not(:has(.om-oss-intro)):not(:has(.tjanster-layout)) {
    padding-left: var(--padding-x);
    padding-right: var(--padding-x);
}

/* Innehåll med lämplig max-bredd för läsbarhet */
.read-container {
    max-width: calc(var(--read-width) + 2 * var(--padding-x));
    margin-left: auto;
    margin-right: auto;
}

/* Hero-sidor: ingen padding på #primary — hero bryter ut fullbredd */
body.home #primary.content-area,
body.single-project #primary.content-area,
body.page-id-458 #primary.content-area,
body.page-template-template-artists #primary.content-area {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Tjänster 2-kol */
.tjanster-layout {
    display: grid;
    grid-template-columns: clamp(40px, 7vw, 120px) 1fr;
    gap: clamp(12px, 2vw, 40px);
    align-items: start;
    padding-left: var(--padding-x);
    padding-right: var(--padding-x);
    box-sizing: border-box;
}

/* ── ENTRY CONTENT PADDING ─────────────────────────────────────────────── */
.artists-content-wrapper,
.articles-content-wrapper,
.contact-content-wrapper {
    padding-top: var(--section-y-sm);
    padding-bottom: var(--section-y);
}
.project-content-area { padding-top: var(--section-y-sm); padding-bottom: var(--section-y); }
.inside-article { padding-top: var(--sp-8); padding-bottom: var(--section-y); }

/* Startsidan: nollställ allt spacing efter sista blocket */
body.home .entry-content,
body.home .site-main,
body.home #primary.content-area { padding-bottom: 0 !important; margin-bottom: 0 !important; }
body.home .entry-content > *:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }
/* Specifikt: det sista wp-block innan footern */
body.home .wp-block-group:last-child,
body.home .wp-block-cover:last-child,
body.home .minimal-list-section:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }