/* Responsive layout system — uses admin theme tokens:
   --theme-page-max-width, --theme-section-spacing */

:root {
    --theme-bp-mobile: 375px;
    --theme-bp-tablet: 768px;
    --theme-bp-laptop: 1280px;
    --theme-bp-desktop: 1440px;
    --theme-bp-large: 1920px;
    --theme-bp-ultra: 2560px;
    --theme-shell-padding-xs: 1rem;
    --theme-shell-padding-sm: 1.25rem;
    --theme-shell-padding-md: 1.5rem;
    --theme-shell-padding-lg: 2rem;
}

.theme-content-shell,
.lb-wrap,
.localboost-shell {
    box-sizing: border-box;
    width: min(100%, var(--theme-page-max-width, 90rem));
    max-width: var(--theme-page-max-width, 90rem);
    margin-inline: auto;
    padding-inline: var(--theme-shell-padding-xs);
}

.guest-native-header__inner,
.guest-native-header__bar.theme-content-shell {
    width: min(100%, var(--theme-page-max-width, 90rem));
    max-width: var(--theme-page-max-width, 90rem);
    margin-inline: auto;
}

@media (min-width: 481px) {
    .theme-content-shell,
    .lb-wrap,
    .localboost-shell {
        padding-inline: var(--theme-shell-padding-sm);
    }
}

@media (min-width: 768px) {
    .theme-content-shell,
    .lb-wrap,
    .localboost-shell {
        padding-inline: var(--theme-shell-padding-md);
    }
}

@media (min-width: 1280px) {
    .theme-content-shell,
    .lb-wrap,
    .localboost-shell {
        padding-inline: var(--theme-shell-padding-lg);
    }
}

.app-theme-shell {
    width: min(100%, var(--theme-page-max-width, 90rem));
    max-width: var(--theme-page-max-width, 90rem);
    margin-inline: auto;
    padding-inline: var(--theme-shell-padding-xs);
}

@media (min-width: 768px) {
    .app-theme-shell {
        padding-inline: var(--theme-shell-padding-md);
    }
}

@media (min-width: 1280px) {
    .app-theme-shell {
        padding-inline: var(--theme-shell-padding-lg);
    }
}

html[data-theme-density='compact'] .lb-section,
html[data-theme-density='compact'] .localboost-section {
    padding-block: calc(var(--theme-section-spacing) * 0.82);
}

html[data-theme-layout-width='boxed'] .guest-shell-main > .lb-sales {
    width: min(100%, var(--theme-page-max-width));
    max-width: var(--theme-page-max-width);
    margin-inline: auto;
}

@media (min-width: 1920px) {
    .guest-marketing-canvas {
        background:
            radial-gradient(circle at 0% 20%, rgba(15, 118, 110, 0.05), transparent 28rem),
            radial-gradient(circle at 100% 12%, rgba(184, 218, 22, 0.07), transparent 24rem),
            #fbfaf5;
    }
}

@media (min-width: 2560px) {
    .guest-marketing-canvas {
        background:
            radial-gradient(circle at 8% 18%, rgba(15, 118, 110, 0.06), transparent 34rem),
            radial-gradient(circle at 92% 10%, rgba(184, 218, 22, 0.08), transparent 30rem),
            linear-gradient(90deg, rgba(15, 118, 110, 0.03), transparent 18%, transparent 82%, rgba(184, 218, 22, 0.03)),
            #fbfaf5;
    }
}

@media (max-width: 767px) {
    .lb-responsive-grid-2,
    .lb-responsive-grid-3,
    .lb-responsive-grid-4 {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .guest-marketing-canvas {
        --theme-section-spacing: var(--native-section-pad-mobile, 1.75rem);
    }

    .guest-public-shell .localboost-section,
    .guest-public-shell section[class*="pt-16"] {
        scroll-margin-top: calc(var(--guest-header-offset) + 0.5rem);
    }
}

@media (min-width: 768px) and (max-width: 1279px) {
    .lb-responsive-grid-3,
    .lb-responsive-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1280px) and (max-width: 1439px) {
    .lb-responsive-grid-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
