/* =========================================================
   LAYOUT GLOBAL — CENTRO + DUAS LATERAIS
   ========================================================= */

html,
body {
    min-width: 100%;
}

body {
    --side-width: clamp(130px, 14vw, 250px);
    position: relative;
    min-height: 100vh;
    padding-left: var(--side-width) !important;
    padding-right: var(--side-width) !important;
    overflow-x: hidden;
    background-color: #243d36;
}

body::before,
body::after {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    width: var(--side-width);
    z-index: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-color: #243d36;
    pointer-events: none;
}

body::before {
    left: 0;
    background-image: var(--left-background);
    border-right: 1px solid rgba(219, 201, 143, 0.30);
}

body::after {
    right: 0;
    background-image: var(--right-background);
    border-left: 1px solid rgba(219, 201, 143, 0.30);
}

/* O conteúdo real começa depois da lateral esquerda e termina antes da direita. */
body > main {
    position: relative;
    z-index: 1;
    width: 100% !important;
    max-width: none !important;
}

/* Alguns templates possuem a matização diretamente no body. */
body > .background-shade {
    left: var(--side-width) !important;
    right: var(--side-width) !important;
    width: auto !important;
    z-index: 1;
}

/* Impede deformação de imagens usadas em previews. */
img {
    max-width: 100%;
}

@media (max-width: 1100px) {
    body {
        --side-width: clamp(105px, 12vw, 150px);
    }
}

@media (max-width: 820px) {
    body {
        --side-width: 0px;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body::before,
    body::after {
        display: none;
    }

    body > .background-shade {
        left: 0 !important;
        right: 0 !important;
    }
}
