:root {
    /* Responsive Design Foundation */
    --cel-container-padding: 50px;
}


@media (max-width: 1024px) {
    :root {
        --cel-container-padding: 30px;
    }
}

@media (max-width: 768px) {
    :root {
        --cel-container-padding: 20px;
    }
}

@media (max-width: 480px) {
    :root {
        --cel-container-padding: 15px;
    }
}

/* Mobile content gutters (header/footer are handled separately) */
@media (max-width: 768px) {
    .cel-page>*:not(.cel-hero):not(.alignfull) {
        padding-left: var(--cel-container-padding) !important;
        padding-right: var(--cel-container-padding) !important;
    }
}

.cel-header {
    padding-left: var(--cel-container-padding) !important;
    padding-right: var(--cel-container-padding) !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.cel-footer {
    padding-left: var(--cel-container-padding) !important;
    padding-right: var(--cel-container-padding) !important;
    padding-top: 40px !important;
    padding-bottom: 20px !important;
}

html,
body {
    overflow-x: hidden;
}
/* Breakout for Full Width Blocks */
.alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
}
/* Base content resets */
.page-template-template-fullwidth-php .content-area,
.ast-plain-container .site-content .ast-container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.page-template-template-fullwidth-php .site-main {
    padding: 0 !important;
    margin: 0 !important;
}
@keyframes celFadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Carousel Image Alignment */
.cb-slide img {
    aspect-ratio: 16/9 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
}
.cb-slide figure {
    margin: 0 !important;
    height: 100% !important;
}

/* Consistent button variants */
.cel-button-primary,
.button.cel-button-primary,
.woocommerce a.button.cel-button-primary,
.woocommerce button.button.cel-button-primary,
.wp-block-button.cel-button-primary .wp-block-button__link,
.wp-block-button .wp-block-button__link.cel-button-primary {
    background: var(--celeste-button_bg, #111) !important;
    color: var(--celeste-button_text, #fff) !important;
    border-color: var(--celeste-button_bg, #111) !important;
}
.cel-button-alt,
.button.alt,
.button.cel-button-alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.cel-button-alt,
.woocommerce button.button.cel-button-alt,
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.cel-button-alt .wp-block-button__link,
.wp-block-button .wp-block-button__link.cel-button-alt {
    background: var(--celeste-button_alt_bg, var(--celeste-site_bg, #fff)) !important;
    color: var(--celeste-button_alt_text, var(--celeste-text_color, #111)) !important;
    border-color: var(--celeste-button_alt_bg, var(--celeste-site_bg, #fff)) !important;
}
/* Template button aliases (celeste-theme.html) */
.wp-block-button.cel-btn--primary .wp-block-button__link,
.cel-btn--primary .wp-block-button__link {
    background: var(--celeste-button_bg, #111) !important;
    color: var(--celeste-button_text, #fff) !important;
    border-color: var(--celeste-button_bg, #111) !important;
    font-weight: 700 !important;
}
.wp-block-button.cel-btn--secondary .wp-block-button__link,
.cel-btn--secondary .wp-block-button__link {
    background: var(--celeste-button_alt_bg, var(--celeste-site_bg, #fff)) !important;
    color: var(--celeste-button_alt_text, var(--celeste-text_color, #111)) !important;
    border-color: var(--celeste-button_alt_bg, var(--celeste-site_bg, #fff)) !important;
    font-weight: 700 !important;
}
@media (max-width: 900px) {
    .cel-search {
        width: min(62vw, 320px) !important;
        min-width: 220px !important;
    }
}

.hidden {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}