/*
 * RP Theme 1 - Design System Layout Rules
 * Sector layout modes, sticky behavior, spacing density.
 *
 * Extracted from design-system-variables.css in v3.10.2.
 * Token declarations are handled by design-system-assigner.php.
 *
 * @package RP_Theme_1
 * @since 3.10.2
 */

/* === LAYOUT ELEMENTS === */

.main-content {
    flex-grow: 1;
    margin-block: var(--ds-layout-gap);
}

/* === SECTOR LAYOUT MODES (body-level data attributes) === */

/* --- Contained: max-width + centering + padding on sector CONTAINERS --- */
body[data-header-layout="contained"] .rp-sector-header.header-container,
body[data-header-layout="contained"] .rp-sector-header.widget-area {
    max-width: var(--ds-container-boxed);
    margin-left: 0;
    margin-right: 0;
    padding-inline: var(--ds-layout-gap, var(--ds-gap-md));
}

body[data-main-layout="contained"] .rp-sector-main.main-content,
body[data-main-layout="contained"] .rp-sector-main.widget-area {
    max-width: var(--ds-container-boxed);
    margin-left: 0;
    margin-right: 0;
    padding-inline: var(--ds-layout-gap, var(--ds-gap-md));
}

body[data-footer-layout="contained"] .rp-sector-footer.footer-container,
body[data-footer-layout="contained"] .rp-sector-footer.widget-area {
    max-width: var(--ds-container-boxed);
    margin-left: 0;
    margin-right: 0;
    padding-inline: var(--ds-layout-gap, var(--ds-gap-md));
}

/* --- Fullwidth: max-width on inner SHELLS (container is full-width) --- */
body[data-header-layout="fullwidth"] .rp-sector-header .rp-section-shell {
    max-width: var(--ds-container-boxed);
    padding-inline: var(--ds-layout-gap, var(--ds-gap-md));
}

body[data-main-layout="fullwidth"] .rp-sector-main .rp-section-shell,
body[data-main-layout="fullwidth"] .rp-sector-main .rp-layout-shell {
    max-width: var(--ds-container-boxed);
}

body[data-main-layout="fullwidth"] .rp-sector-main .rp-section-shell {
    max-width: var(--ds-container-boxed);
    padding-inline: var(--ds-layout-gap, var(--ds-gap-md));
}

body[data-footer-layout="fullwidth"] .rp-sector-footer .rp-section-shell {
    max-width: var(--ds-container-boxed);
    padding-inline: var(--ds-layout-gap, var(--ds-gap-md));
}

/* --- Fullbleed: padding only --- */
body[data-header-layout="fullbleed"] .rp-sector-header .rp-section-shell {
    padding-inline: var(--ds-layout-gap, var(--ds-gap-md));
}

body[data-main-layout="fullbleed"] .rp-sector-main .rp-section-shell {
    padding-inline: var(--ds-layout-gap, var(--ds-gap-md));
}

body[data-footer-layout="fullbleed"] .rp-sector-footer .rp-section-shell {
    padding-inline: var(--ds-layout-gap, var(--ds-gap-md));
}

/* Copyright bar: always fullbleed */
.rp-copyright-bar {
    max-width: none;
}

/* Sticky widget areas */
body:not(.isScrolled) .rp-widget-area-before-content,
body:not(.isScrolled) .rp-widget-area-topstrip {
    position: sticky;
    top: 0;
}

/* Spacing density variants */
[data-spacing-density="compact"] {
    --local-spacing-multiplier: 0.75;
}

[data-spacing-density="comfortable"] {
    --local-spacing-multiplier: 1;
}

[data-spacing-density="spacious"] {
    --local-spacing-multiplier: 1.5;
}

