/* v1.42.6 layout system hardening */
:root {
    --hgg-spacing-header-desktop-top: 6px;
    --hgg-spacing-header-desktop-right: 12px;
    --hgg-spacing-header-desktop-bottom: 6px;
    --hgg-spacing-header-desktop-left: 12px;
    --hgg-spacing-header-tablet-top: 12px;
    --hgg-spacing-header-tablet-right: 20px;
    --hgg-spacing-header-tablet-bottom: 12px;
    --hgg-spacing-header-tablet-left: 20px;
    --hgg-spacing-header-mobile-top: 12px;
    --hgg-spacing-header-mobile-right: 18px;
    --hgg-spacing-header-mobile-bottom: 12px;
    --hgg-spacing-header-mobile-left: 12px;
}

.site-header .huuguu-container,
.site-main .site-main-inner > .huuguu-content-wrap,
.site-main .site-main-inner > .huuguu-container,
.site-footer .huuguu-footer-container {
    box-sizing: border-box;
}

.huuguu-header-shell {
    padding-top: var(--hgg-spacing-header-desktop-top, 6px) !important;
    padding-right: var(--hgg-spacing-header-desktop-right) !important;
    padding-bottom: var(--hgg-spacing-header-desktop-bottom, 6px) !important;
    padding-left: var(--hgg-spacing-header-desktop-left) !important;
}

.site-header .huuguu-container {
    padding-top: 0 !important;
    padding-right: var(--hgg-spacing-header-desktop-right) !important;
    padding-bottom: 0 !important;
    padding-left: var(--hgg-spacing-header-desktop-left) !important;
}

.site-footer .huuguu-footer-container {
    padding-top: var(--hgg-spacing-footer-desktop-top, 48px) !important;
    padding-right: var(--hgg-spacing-footer-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-footer-desktop-bottom, 32px) !important;
    padding-left: var(--hgg-spacing-footer-desktop-left, 0px) !important;
}

body.blog .site-main .site-main-inner > .huuguu-content-wrap,
body.archive .site-main .site-main-inner > .huuguu-content-wrap,
body.blog .site-main .site-main-inner > .huuguu-container,
body.archive .site-main .site-main-inner > .huuguu-container {
    padding-top: var(--hgg-spacing-body_archives-desktop-top, 40px) !important;
    padding-right: var(--hgg-spacing-body_archives-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-body_archives-desktop-bottom, 40px) !important;
    padding-left: var(--hgg-spacing-body_archives-desktop-left, 0px) !important;
}

body.single-post .site-main .site-main-inner > .huuguu-content-wrap,
body.single-post .site-main .site-main-inner > .huuguu-container,
body.page .site-main .site-main-inner > .huuguu-content-wrap,
body.page .site-main .site-main-inner > .huuguu-container {
    padding-top: var(--hgg-spacing-body_single-desktop-top, 40px) !important;
    padding-right: var(--hgg-spacing-body_single-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-body_single-desktop-bottom, 40px) !important;
    padding-left: var(--hgg-spacing-body_single-desktop-left, 0px) !important;
}

body.search .site-main .site-main-inner > .huuguu-content-wrap,
body.search .site-main .site-main-inner > .huuguu-container {
    padding-top: var(--hgg-spacing-body_search-desktop-top, 40px) !important;
    padding-right: var(--hgg-spacing-body_search-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-body_search-desktop-bottom, 40px) !important;
    padding-left: var(--hgg-spacing-body_search-desktop-left, 0px) !important;
}

body.error404 .site-main .site-main-inner > .huuguu-content-wrap,
body.error404 .site-main .site-main-inner > .huuguu-container {
    padding-top: var(--hgg-spacing-body_404-desktop-top, 40px) !important;
    padding-right: var(--hgg-spacing-body_404-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-body_404-desktop-bottom, 40px) !important;
    padding-left: var(--hgg-spacing-body_404-desktop-left, 0px) !important;
}

body.category .site-main .site-main-inner > .huuguu-content-wrap,
body.tag .site-main .site-main-inner > .huuguu-content-wrap,
body.author .site-main .site-main-inner > .huuguu-content-wrap,
body.date .site-main .site-main-inner > .huuguu-content-wrap,
body.tax .site-main .site-main-inner > .huuguu-content-wrap,
body.category .site-main .site-main-inner > .huuguu-container,
body.tag .site-main .site-main-inner > .huuguu-container,
body.author .site-main .site-main-inner > .huuguu-container,
body.date .site-main .site-main-inner > .huuguu-container,
body.tax .site-main .site-main-inner > .huuguu-container {
    padding-top: var(--hgg-spacing-body_taxonomy-desktop-top, 40px) !important;
    padding-right: var(--hgg-spacing-body_taxonomy-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-body_taxonomy-desktop-bottom, 40px) !important;
    padding-left: var(--hgg-spacing-body_taxonomy-desktop-left, 0px) !important;
}

body.woocommerce-shop .site-main .site-main-inner > .huuguu-content-wrap,
body.post-type-archive-product .site-main .site-main-inner > .huuguu-content-wrap,
body.woocommerce-page:not(.single-product):not(.tax-product_cat):not(.tax-product_tag) .site-main .site-main-inner > .huuguu-content-wrap,
body.woocommerce-shop .site-main .site-main-inner > .huuguu-container,
body.post-type-archive-product .site-main .site-main-inner > .huuguu-container,
body.woocommerce-page:not(.single-product):not(.tax-product_cat):not(.tax-product_tag) .site-main .site-main-inner > .huuguu-container {
    padding-top: var(--hgg-spacing-body_woocommerce_page-desktop-top, 40px) !important;
    padding-right: var(--hgg-spacing-body_woocommerce_page-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-body_woocommerce_page-desktop-bottom, 40px) !important;
    padding-left: var(--hgg-spacing-body_woocommerce_page-desktop-left, 0px) !important;
}

body.tax-product_cat .site-main .site-main-inner > .huuguu-content-wrap,
body.tax-product_tag .site-main .site-main-inner > .huuguu-content-wrap,
body.tax-product_cat .site-main .site-main-inner > .huuguu-container,
body.tax-product_tag .site-main .site-main-inner > .huuguu-container {
    padding-top: var(--hgg-spacing-body_woocommerce_taxonomy-desktop-top, 40px) !important;
    padding-right: var(--hgg-spacing-body_woocommerce_taxonomy-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-body_woocommerce_taxonomy-desktop-bottom, 40px) !important;
    padding-left: var(--hgg-spacing-body_woocommerce_taxonomy-desktop-left, 0px) !important;
}

body.page:not(.woocommerce):not(.woocommerce-page) article.type-page > .entry-header,
body.page:not(.woocommerce):not(.woocommerce-page) article.type-page > .entry-content,
body.page:not(.woocommerce):not(.woocommerce-page) article.type-page > .entry-footer,
body.page:not(.woocommerce):not(.woocommerce-page) article.type-page.hgg-page-card > .entry-header,
body.page:not(.woocommerce):not(.woocommerce-page) article.type-page.hgg-page-card > .entry-content,
body.page:not(.woocommerce):not(.woocommerce-page) article.type-page.hgg-page-card > .entry-footer {
    padding-top: var(--hgg-spacing-content_page-desktop-top, 0px) !important;
    padding-right: var(--hgg-spacing-content_page-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-content_page-desktop-bottom, 0px) !important;
    padding-left: var(--hgg-spacing-content_page-desktop-left, 0px) !important;
}

body.blog article.post > .entry-header,
body.blog article.post > .entry-content,
body.archive article.post > .entry-header,
body.archive article.post > .entry-content,
body.single-post article.type-post > .entry-header,
body.single-post article.type-post > .entry-content,
body.single-post article.type-post > .entry-footer,
body.single-post .hgg-blog-single-related-card,
body.archive .hgg-blog-card,
body.blog .hgg-blog-card {
    padding-top: var(--hgg-spacing-content_blog-desktop-top, 0px) !important;
    padding-right: var(--hgg-spacing-content_blog-desktop-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-content_blog-desktop-bottom, 0px) !important;
    padding-left: var(--hgg-spacing-content_blog-desktop-left, 0px) !important;
}

/* Huuguu v1.54.18 — responsive wrapper spacing authority.
 * Fixes tablet/mobile controls that were registered but not applied in CSS.
 */
@media (max-width: 1024px) {
    .huuguu-header-shell {
        padding-top: var(--hgg-spacing-header-tablet-top, 12px) !important;
        padding-right: var(--hgg-spacing-header-tablet-right, 20px) !important;
        padding-bottom: var(--hgg-spacing-header-tablet-bottom, 12px) !important;
        padding-left: var(--hgg-spacing-header-tablet-left, 20px) !important;
    }

    .site-header .huuguu-container {
        padding-right: var(--hgg-spacing-header-tablet-right, 20px) !important;
        padding-left: var(--hgg-spacing-header-tablet-left, 20px) !important;
    }

    .site-footer .huuguu-footer-container {
        padding-top: var(--hgg-spacing-footer-tablet-top, 36px) !important;
        padding-right: var(--hgg-spacing-footer-tablet-right, 0px) !important;
        padding-bottom: var(--hgg-spacing-footer-tablet-bottom, 28px) !important;
        padding-left: var(--hgg-spacing-footer-tablet-left, 0px) !important;
    }
}

@media (max-width: 767px) {
    .huuguu-header-shell {
        padding-top: var(--hgg-spacing-header-mobile-top, 12px) !important;
        padding-right: var(--hgg-spacing-header-mobile-right, 18px) !important;
        padding-bottom: var(--hgg-spacing-header-mobile-bottom, 12px) !important;
        padding-left: var(--hgg-spacing-header-mobile-left, 12px) !important;
    }

    .site-header .huuguu-container {
        padding-right: var(--hgg-spacing-header-mobile-right, 18px) !important;
        padding-left: var(--hgg-spacing-header-mobile-left, 12px) !important;
    }

    .site-footer .huuguu-footer-container {
        padding-top: var(--hgg-spacing-footer-mobile-top, 28px) !important;
        padding-right: var(--hgg-spacing-footer-mobile-right, 0px) !important;
        padding-bottom: var(--hgg-spacing-footer-mobile-bottom, 24px) !important;
        padding-left: var(--hgg-spacing-footer-mobile-left, 0px) !important;
    }
}


/* Huuguu v1.54.19 — header spacing preview/front final authority.
 * WordPress Customizer tablet preview is narrower than 767px, so mobile spacing
 * must not override tablet controls there. Tablet wins up to 1100px; mobile wins
 * only on phone widths.
 */
.site-header .huuguu-header-shell.site-header-inner,
.site-header .huuguu-container.huuguu-header-shell,
.huuguu-header-shell {
    box-sizing: border-box !important;
    padding-top: var(--hgg-spacing-header-desktop-top, 6px) !important;
    padding-right: var(--hgg-spacing-header-desktop-right, 12px) !important;
    padding-bottom: var(--hgg-spacing-header-desktop-bottom, 6px) !important;
    padding-left: var(--hgg-spacing-header-desktop-left, 12px) !important;
}
.site-header .huuguu-mobile-topbar {
    box-sizing: border-box !important;
    width: 100% !important;
}
@media (max-width: 1100px) {
    .site-header .huuguu-header-shell.site-header-inner,
    .site-header .huuguu-container.huuguu-header-shell,
    .huuguu-header-shell {
        padding-top: var(--hgg-spacing-header-tablet-top, 12px) !important;
        padding-right: var(--hgg-spacing-header-tablet-right, 20px) !important;
        padding-bottom: var(--hgg-spacing-header-tablet-bottom, 12px) !important;
        padding-left: var(--hgg-spacing-header-tablet-left, 20px) !important;
    }
}
@media (max-width: 600px) {
    .site-header .huuguu-header-shell.site-header-inner,
    .site-header .huuguu-container.huuguu-header-shell,
    .huuguu-header-shell {
        padding-top: var(--hgg-spacing-header-mobile-top, 12px) !important;
        padding-right: var(--hgg-spacing-header-mobile-right, 18px) !important;
        padding-bottom: var(--hgg-spacing-header-mobile-bottom, 12px) !important;
        padding-left: var(--hgg-spacing-header-mobile-left, 12px) !important;
    }
}

/* Huuguu v1.54.20 — Theme structural audit: Header Engine + Mobile Menu authority.
 * Scope: theme header/customizer tokens only. Widgets and plugin CSS are intentionally untouched.
 */
:root {
    --hgg-mobile-menu-panel-width: min(99vw, 350px);
    --hgg-mobile-menu-panel-top: calc(env(safe-area-inset-top, 0px) + 80px);
    --hgg-mobile-menu-panel-padding: 16px;
    --hgg-mobile-menu-panel-radius: 12px;
    --hgg-mobile-menu-frame-radius: 0px;
    --hgg-mobile-menu-close-radius: 6px;
    --hgg-mobile-menu-backdrop-blur: 1px;
}

.site-header .huuguu-header-shell.site-header-inner,
.site-header .huuguu-container.huuguu-header-shell,
body .site-header .huuguu-header-shell.site-header-inner,
body .site-header .huuguu-container.huuguu-header-shell {
    box-sizing: border-box !important;
    padding-top: var(--hgg-spacing-header-desktop-top, 6px) !important;
    padding-right: var(--hgg-spacing-header-desktop-right, 12px) !important;
    padding-bottom: var(--hgg-spacing-header-desktop-bottom, 6px) !important;
    padding-left: var(--hgg-spacing-header-desktop-left, 12px) !important;
}

.site-header .huuguu-mobile-topbar,
body .site-header .huuguu-mobile-topbar {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}

@media (min-width: 601px) and (max-width: 1100px) {
    .site-header .huuguu-header-shell.site-header-inner,
    .site-header .huuguu-container.huuguu-header-shell,
    body .site-header .huuguu-header-shell.site-header-inner,
    body .site-header .huuguu-container.huuguu-header-shell {
        padding-top: var(--hgg-spacing-header-tablet-top, 12px) !important;
        padding-right: var(--hgg-spacing-header-tablet-right, 20px) !important;
        padding-bottom: var(--hgg-spacing-header-tablet-bottom, 12px) !important;
        padding-left: var(--hgg-spacing-header-tablet-left, 20px) !important;
    }
}

@media (max-width: 600px) {
    .site-header .huuguu-header-shell.site-header-inner,
    .site-header .huuguu-container.huuguu-header-shell,
    body .site-header .huuguu-header-shell.site-header-inner,
    body .site-header .huuguu-container.huuguu-header-shell {
        padding-top: var(--hgg-spacing-header-mobile-top, 12px) !important;
        padding-right: var(--hgg-spacing-header-mobile-right, 18px) !important;
        padding-bottom: var(--hgg-spacing-header-mobile-bottom, 12px) !important;
        padding-left: var(--hgg-spacing-header-mobile-left, 12px) !important;
    }
}

.huuguu-mobile-menu-portal,
.huuguu-mobile-menu-portal.is-open,
body.huuguu-mobile-menu-portal-open::before,
body.huuguu-mobile-menu-open::before {
    border-radius: var(--hgg-mobile-menu-frame-radius, 0px) !important;
    -webkit-backdrop-filter: blur(var(--hgg-mobile-menu-backdrop-blur, 1px)) !important;
    backdrop-filter: blur(var(--hgg-mobile-menu-backdrop-blur, 1px)) !important;
}

.huuguu-mobile-menu-portal__close,
body .huuguu-mobile-menu-portal__close {
    top: calc(env(safe-area-inset-top, 0px) + 20px) !important;
    border-radius: var(--hgg-mobile-menu-close-radius, 6px) !important;
    -webkit-tap-highlight-color: transparent !important;
}

.huuguu-mobile-menu-portal > .huuguu-mobile-panel,
.huuguu-mobile-menu-portal > .huuguu-mobile-panel.is-open,
body.huuguu-mobile-menu-open .huuguu-mobile-panel,
body.huuguu-mobile-menu-open .huuguu-mobile-panel.is-open {
    width: var(--hgg-mobile-menu-panel-width, min(99vw, 350px)) !important;
    max-width: var(--hgg-mobile-menu-panel-width, min(99vw, 350px)) !important;
    top: var(--hgg-mobile-menu-panel-top, calc(env(safe-area-inset-top, 0px) + 80px)) !important;
    padding: var(--hgg-mobile-menu-panel-padding, 16px) !important;
    border-radius: var(--hgg-mobile-menu-panel-radius, 12px) !important;
}

.site-header .menu-toggle,
.site-header .submenu-toggle,
.huuguu-mobile-menu-portal__close,
.huuguu-mobile-menu-portal .submenu-toggle {
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation;
}

.site-header .menu-toggle:focus:not(:focus-visible),
.site-header .submenu-toggle:focus:not(:focus-visible),
.huuguu-mobile-menu-portal__close:focus:not(:focus-visible),
.huuguu-mobile-menu-portal .submenu-toggle:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}


/* Huuguu v1.54.27 — Blog/content responsive spacing authority.
 * Desktop spacing remains the base. Tablet/mobile tokens must override it on their
 * respective breakpoints, otherwise mobile edits keep reading desktop variables.
 */
@media (min-width: 601px) and (max-width: 1100px) {
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page > .entry-header,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page > .entry-content,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page > .entry-footer,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page.hgg-page-card > .entry-header,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page.hgg-page-card > .entry-content,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page.hgg-page-card > .entry-footer {
        padding-top: var(--hgg-spacing-content_page-tablet-top, 0px) !important;
        padding-right: var(--hgg-spacing-content_page-tablet-right, 0px) !important;
        padding-bottom: var(--hgg-spacing-content_page-tablet-bottom, 0px) !important;
        padding-left: var(--hgg-spacing-content_page-tablet-left, 0px) !important;
    }

    body.blog article.post > .entry-header,
    body.blog article.post > .entry-content,
    body.archive article.post > .entry-header,
    body.archive article.post > .entry-content,
    body.single-post article.type-post > .entry-header,
    body.single-post article.type-post > .entry-content,
    body.single-post article.type-post > .entry-footer,
    body.single-post .hgg-blog-single-related-card,
    body.archive .hgg-blog-card,
    body.blog .hgg-blog-card {
        padding-top: var(--hgg-spacing-content_blog-tablet-top, 0px) !important;
        padding-right: var(--hgg-spacing-content_blog-tablet-right, 0px) !important;
        padding-bottom: var(--hgg-spacing-content_blog-tablet-bottom, 0px) !important;
        padding-left: var(--hgg-spacing-content_blog-tablet-left, 0px) !important;
    }

    body.woocommerce .site-main .woocommerce,
    body.woocommerce-page .site-main .woocommerce,
    body.single-product .huuguu-wc-single-main,
    body.single-product .huuguu-wc-single-bottom,
    body.single-product .woocommerce-tabs {
        padding-top: var(--hgg-spacing-content_woocommerce-tablet-top,0px) !important;
        padding-right: var(--hgg-spacing-content_woocommerce-tablet-right,0px) !important;
        padding-bottom: var(--hgg-spacing-content_woocommerce-tablet-bottom,0px) !important;
        padding-left: var(--hgg-spacing-content_woocommerce-tablet-left,0px) !important;
    }
}

@media (max-width: 600px) {
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page > .entry-header,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page > .entry-content,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page > .entry-footer,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page.hgg-page-card > .entry-header,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page.hgg-page-card > .entry-content,
    body.page:not(.woocommerce):not(.woocommerce-page) article.type-page.hgg-page-card > .entry-footer {
        padding-top: var(--hgg-spacing-content_page-mobile-top, 0px) !important;
        padding-right: var(--hgg-spacing-content_page-mobile-right, 0px) !important;
        padding-bottom: var(--hgg-spacing-content_page-mobile-bottom, 0px) !important;
        padding-left: var(--hgg-spacing-content_page-mobile-left, 0px) !important;
    }

    body.blog article.post > .entry-header,
    body.blog article.post > .entry-content,
    body.archive article.post > .entry-header,
    body.archive article.post > .entry-content,
    body.single-post article.type-post > .entry-header,
    body.single-post article.type-post > .entry-content,
    body.single-post article.type-post > .entry-footer,
    body.single-post .hgg-blog-single-related-card,
    body.archive .hgg-blog-card,
    body.blog .hgg-blog-card {
        padding-top: var(--hgg-spacing-content_blog-mobile-top, 0px) !important;
        padding-right: var(--hgg-spacing-content_blog-mobile-right, 0px) !important;
        padding-bottom: var(--hgg-spacing-content_blog-mobile-bottom, 0px) !important;
        padding-left: var(--hgg-spacing-content_blog-mobile-left, 0px) !important;
    }

    body.woocommerce .site-main .woocommerce,
    body.woocommerce-page .site-main .woocommerce,
    body.single-product .huuguu-wc-single-main,
    body.single-product .huuguu-wc-single-bottom,
    body.single-product .woocommerce-tabs {
        padding-top: var(--hgg-spacing-content_woocommerce-mobile-top,0px) !important;
        padding-right: var(--hgg-spacing-content_woocommerce-mobile-right,0px) !important;
        padding-bottom: var(--hgg-spacing-content_woocommerce-mobile-bottom,0px) !important;
        padding-left: var(--hgg-spacing-content_woocommerce-mobile-left,0px) !important;
    }
}
