/*
 * Huuguu system fixes
 * Final structural layer for Customizer tokens while the legacy CSS is being consolidated.
 */
:root {
    --hgg-bg: var(--hgg-site-bg, #ffffff);
    --hgg-surface: var(--hgg-content-surface-bg, #ffffff);
    --hgg-primary: var(--hgg-link-color, #007721);
    --hgg-primary-dark: var(--hgg-link-hover-color, #045F12);
}

body {
    background: var(--hgg-site-bg, #f5f7fb);
}

/*
 * Content background must not bleed into the site shell, header, footer,
 * or generic containers. Those areas have their own Customizer tokens.
 */
.huuguu-content-wrap,
.huuguu-blog-wrap,
.huuguu-woocommerce-wrap,
.woocommerce-page .huuguu-content-wrap,
.woocommerce .huuguu-content-wrap {
    background-color: var(--hgg-content-area-bg, transparent);
}

/* Layout columns are structural and should not receive the content surface color. */
.huuguu-primary,
.huuguu-primary--full {
    background-color: transparent;
}

/* Internal readable content surfaces are separate from the content area wrapper.
 * Layout columns such as .huuguu-primary must remain transparent so the
 * content area background can remain visible around the readable cards. */
.hgg-card,
.hgg-page-card,
.hgg-post-card,
.hgg-single-card,
.hgg-archive-card,
.huuguu-page-card,
.huuguu-post-card,
.huuguu-single-card,
.huuguu-archive-card {
    background-color: var(--hgg-content-surface-bg, #ffffff);
}

.huuguu-content-wrap,
.huuguu-blog-wrap,
.huuguu-page-card,
.huuguu-post-card,
.huuguu-single-card,
.huuguu-archive-card,
.huuguu-woocommerce-wrap,
.woocommerce div.product,
.woocommerce div.product .summary,
.woocommerce div.product .woocommerce-tabs,
.woocommerce .products .product {
    border-color: var(--hgg-content-border-color, #d8dfef);
    border-radius: var(--hgg-content-radius, 6px);
}

.huuguu-content-wrap,
.huuguu-blog-wrap,
.huuguu-page-card,
.huuguu-single-card,
.huuguu-woocommerce-wrap {
    border-width: var(--hgg-content-border-width, 1px);
    border-style: solid;
    box-shadow: var(--hgg-content-shadow, none);
}

a {
    color: var(--hgg-link-color, #007721);
}

a:hover,
a:focus {
    color: var(--hgg-link-hover-color, #045F12);
}

/* Header layouts: when the desktop left layout has no real action items, do not reserve an empty right column. */
.huuguu-header-desktop--left.huuguu-header-desktop--no-actions {
    grid-template-columns: auto minmax(0, 1fr);
}

.huuguu-header-desktop--left.huuguu-header-desktop--no-actions .header-nav {
    justify-content: flex-end;
}

.huuguu-header-desktop--left.huuguu-header-desktop--no-actions .header-actions {
    display: none;
}

/* Typography source of truth: theme-rendered content only. */
body:not(.elementor-page) .site-main .entry-content,
body:not(.elementor-page) .site-main .wp-block-post-content {
    font-size: var(--hgg-body-font-size, 16px);
}

body:not(.elementor-page) .site-main .entry-content h1,
body:not(.elementor-page) .site-main .wp-block-post-content h1 {
    font-size: var(--hgg-h1-font-size, 60px) !important;
}

body:not(.elementor-page) .site-main .entry-content h2,
body:not(.elementor-page) .site-main .wp-block-post-content h2 {
    font-size: var(--hgg-h2-font-size, 50px) !important;
}

body:not(.elementor-page) .site-main .entry-content h3,
body:not(.elementor-page) .site-main .wp-block-post-content h3 {
    font-size: var(--hgg-h3-font-size, 40px) !important;
}

body:not(.elementor-page) .site-main .entry-content h4,
body:not(.elementor-page) .site-main .wp-block-post-content h4 {
    font-size: var(--hgg-h4-font-size, 28px) !important;
}

body:not(.elementor-page) .site-main .entry-content h5,
body:not(.elementor-page) .site-main .wp-block-post-content h5 {
    font-size: var(--hgg-h5-font-size, 24px) !important;
}

body:not(.elementor-page) .site-main .entry-content h6,
body:not(.elementor-page) .site-main .wp-block-post-content h6 {
    font-size: var(--hgg-h6-font-size, 22px) !important;
}

body:not(.elementor-page) .site-main .entry-content h1,
body:not(.elementor-page) .site-main .entry-content h2,
body:not(.elementor-page) .site-main .entry-content h3,
body:not(.elementor-page) .site-main .entry-content h4,
body:not(.elementor-page) .site-main .entry-content h5,
body:not(.elementor-page) .site-main .entry-content h6,
body:not(.elementor-page) .site-main .wp-block-post-content h1,
body:not(.elementor-page) .site-main .wp-block-post-content h2,
body:not(.elementor-page) .site-main .wp-block-post-content h3,
body:not(.elementor-page) .site-main .wp-block-post-content h4,
body:not(.elementor-page) .site-main .wp-block-post-content h5,
body:not(.elementor-page) .site-main .wp-block-post-content h6 {
    font-weight: var(--hgg-heading-weight, 700) !important;
    line-height: var(--hgg-heading-line-height, 1.15) !important;
    margin-top: 0;
    margin-bottom: var(--hgg-heading-spacing-bottom, 24px) !important;
    color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
}

/* Page title and content headings must share the same px-based typography system. */
body:not(.elementor-page) .site-main .page-header .page-title,
body:not(.elementor-page) .site-main > article .entry-header > .entry-title,
body:not(.elementor-page) .site-main .type-page > .entry-header > .entry-title,
body:not(.elementor-page) .site-main .type-post > .entry-header > .entry-title,
body:not(.elementor-page) .site-main .archive .page-title,
body:not(.elementor-page) .site-main .search .page-title {
    text-align: var(--hgg-page-title-align, center) !important;
    font-size: var(--hgg-page-title-size, 60px) !important;
    font-weight: var(--hgg-page-title-weight, 800) !important;
    line-height: var(--hgg-heading-line-height, 1.15) !important;
    color: var(--hgg-page-title-color, var(--hgg-heading-color, var(--hgg-text, #172033))) !important;
}

/* Content links: scoped to theme-rendered body content only. */
body:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link):not([class*="wp-block-button"]),
body:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link):not([class*="wp-block-button"]) {
    color: var(--hgg-link-color, #007721) !important;
    text-underline-offset: 0.18em;
    text-decoration-thickness: 1px;
}

body.huuguu-content-links-color:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link),
body.huuguu-content-links-color:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link) {
    text-decoration: none !important;
    font-weight: inherit;
}

body.huuguu-content-links-underline:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link),
body.huuguu-content-links-underline:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link) {
    text-decoration: underline !important;
    font-weight: inherit;
}

body.huuguu-content-links-hover-underline:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link),
body.huuguu-content-links-hover-underline:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link) {
    text-decoration: none !important;
    font-weight: inherit;
}

body.huuguu-content-links-hover-underline:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link):hover,
body.huuguu-content-links-hover-underline:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link):focus,
body.huuguu-content-links-hover-underline:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link):hover,
body.huuguu-content-links-hover-underline:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link):focus {
    text-decoration: underline !important;
}

body.huuguu-content-links-bold:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link),
body.huuguu-content-links-bold:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link) {
    text-decoration: none !important;
    font-weight: 700;
}

body.huuguu-content-links-bold-underline:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link),
body.huuguu-content-links-bold-underline:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link) {
    text-decoration: underline !important;
    font-weight: 700;
}

body:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link):hover,
body:not(.elementor-page) .site-main .entry-content a:not(.button):not(.wp-block-button__link):focus,
body:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link):hover,
body:not(.elementor-page) .site-main .wp-block-post-content a:not(.button):not(.wp-block-button__link):focus {
    color: var(--hgg-link-hover-color, #045F12) !important;
}


/* Mobile navigation density and scroll behavior. The menu should scale without consuming the full viewport. */
@media (max-width: 1100px) {
    .huuguu-mobile-panel {
        display: flex;
        flex-direction: column;
        max-height: 100vh;
        overflow: hidden;
    }

    .huuguu-mobile-panel .mobile-nav,
    .huuguu-mobile-panel nav.mobile-nav,
    .huuguu-mobile-panel .main-navigation {
        min-height: 0;
    }

    .huuguu-mobile-panel .mobile-nav,
    .huuguu-mobile-panel nav.mobile-nav {
        flex: 1 1 auto;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .huuguu-mobile-panel .main-navigation .menu > li > a,
    .mobile-nav .main-navigation .menu > li > a,
    .mobile-nav .main-navigation ul.menu > li > a,
    .mobile-nav .main-navigation ul.primary-menu > li > a {
        min-height: 42px !important;
        padding-top: 0.55rem !important;
        padding-bottom: 0.55rem !important;
        line-height: 1.25 !important;
    }

    .huuguu-mobile-panel .mobile-actions,
    .huuguu-mobile-panel .header-actions,
    .huuguu-mobile-panel .mobile-search {
        flex: 0 0 auto;
    }
}

/* Content layer authority: keep the three background layers independent.
 * body = site background
 * .huuguu-content-wrap = content area background
 * article/card = content surface background
 * entry-content/page-content/post-content = transparent inner content
 */
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .huuguu-content-wrap {
    background-color: var(--hgg-content-area-bg, transparent) !important;
}

body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-card,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-page-card,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-single-card {
    background: var(--hgg-content-surface-bg, #ffffff) !important;
    border-color: var(--hgg-content-border-color, rgba(23,32,51,.08)) !important;
    border-radius: var(--hgg-content-radius, 6px) !important;
    box-shadow: var(--hgg-content-shadow, none) !important;
}

body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .entry-header,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .entry-footer,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post > .entry-header,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post > .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post > .entry-footer,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .page-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post > .post-content {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* === Huuguu content background layer authority (final) ===
 * This block intentionally comes last. The Customizer exposes three independent layers:
 * 1) Site background: body/site shell.
 * 2) Content area background: structural wrapper around readable surfaces.
 * 3) Content surface background: article/card itself.
 */
body:not(.elementor-page) .huuguu-content-wrap,
body:not(.elementor-page) .huuguu-blog-wrap,
body:not(.elementor-page) .huuguu-woocommerce-wrap {
    background: var(--hgg-content-area-bg, transparent) !important;
}

body:not(.elementor-page) .huuguu-primary,
body:not(.elementor-page) .huuguu-primary--full {
    background: transparent !important;
}

body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-card,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-page-card,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-post-card,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-single-card,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post {
    background: var(--hgg-content-surface-bg, #ffffff) !important;
    border-color: var(--hgg-content-border-color, rgba(23,32,51,.08)) !important;
    border-radius: var(--hgg-content-radius, 6px) !important;
    box-shadow: var(--hgg-content-shadow, none) !important;
}

body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-card > .entry-header,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-card > .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.hgg-card > .entry-footer,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .entry-header,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .entry-footer,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post > .entry-header,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post > .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post > .entry-footer,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .page-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post > .post-content {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Huuguu definitive background layer map.
 * 1) Site background: html/body/site shell.
 * 2) Content area background: structural content wrapper.
 * 3) Content surface background: readable cards/articles only.
 */
html,
body,
.site,
.huuguu-site,
.huuguu-page,
.site-main,
.site-main-inner {
    background-color: var(--hgg-site-bg, #ffffff) !important;
}

.site-main .site-main-inner > .huuguu-content-wrap,
.site-main .site-main-inner > .huuguu-container.huuguu-content-wrap,
.huuguu-content-wrap,
.huuguu-blog-wrap,
.huuguu-woocommerce-wrap,
.woocommerce-page .huuguu-content-wrap,
.woocommerce .huuguu-content-wrap {
    background-color: var(--hgg-content-area-bg, transparent) !important;
}

.huuguu-primary,
.huuguu-primary--full,
.huuguu-content-wrap > .huuguu-primary,
.huuguu-content-wrap > .huuguu-primary--full {
    background-color: transparent !important;
}

article.hgg-card,
article.hgg-page-card,
article.hgg-post-card,
article.hgg-single-card,
article.type-post,
article.type-page,
.hgg-card,
.hgg-page-card,
.hgg-post-card,
.hgg-single-card,
.hgg-archive-card,
.huuguu-page-card,
.huuguu-post-card,
.huuguu-single-card,
.huuguu-archive-card {
    background-color: var(--hgg-content-surface-bg, #ffffff) !important;
}

article.hgg-card > .entry-header,
article.hgg-card > .entry-content,
article.hgg-card > .entry-footer,
article.hgg-page-card > .entry-header,
article.hgg-page-card > .entry-content,
article.hgg-page-card > .entry-footer,
article.type-post > .entry-header,
article.type-post > .entry-content,
article.type-post > .entry-footer,
article.type-page > .entry-header,
article.type-page > .entry-content,
article.type-page > .entry-footer {
    background-color: transparent !important;
}

/* Huuguu breadcrumb layer: keep breadcrumb independent from content/site backgrounds. */
.huuguu-global-breadcrumb-bar {
    width: 100%;
    background: var(--hgg-wc-breadcrumb-bg, #f6f7fb);
    color: var(--hgg-wc-breadcrumb-text, #475569);
    border-radius: 0;
    box-sizing: border-box;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    width: min(100%, var(--hgg-breadcrumb-container, 1240px));
    max-width: var(--hgg-breadcrumb-container, 1240px);
    margin-inline: auto;
    padding: var(--hgg-wc-breadcrumb-pad-y, 12px) var(--hgg-wc-breadcrumb-pad-x, 12px);
    background: transparent;
    color: var(--hgg-wc-breadcrumb-text, #475569);
    border-radius: var(--hgg-wc-breadcrumb-radius, 0px);
    font-size: 14px;
    line-height: 1.4;
    box-sizing: border-box;
}

.huuguu-global-breadcrumb-bar a {
    color: var(--hgg-wc-breadcrumb-text, #475569);
    text-decoration: none;
}

.huuguu-global-breadcrumb-bar a:hover,
.huuguu-global-breadcrumb-bar a:focus-visible {
    color: var(--hgg-link-hover, var(--hgg-wc-breadcrumb-current, #1f2937));
    text-decoration: underline;
    text-underline-offset: .18em;
}

.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-current {
    color: var(--hgg-wc-breadcrumb-current, #1f2937);
    font-weight: 600;
}

.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-sep {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-inline: .45em;
    color: color-mix(in srgb, var(--hgg-wc-breadcrumb-text, #475569) 70%, transparent);
}

.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-home::before {
    content: "";
    width: 14px;
    height: 14px;
    display: inline-block;
    flex: 0 0 14px;
    margin-inline-end: 6px;
    vertical-align: -2px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5 10.5V20h5v-5h4v5h5v-9.5'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5 10.5V20h5v-5h4v5h5v-9.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Responsive typography caps: keep desktop Customizer values, but prevent headings from becoming oversized on tablet and mobile. */
@media (max-width: 1024px) {
    body:not(.elementor-page) .site-main .page-header .page-title,
    body:not(.elementor-page) .site-main > article .entry-header > .entry-title,
    body:not(.elementor-page) .site-main .type-page > .entry-header > .entry-title,
    body:not(.elementor-page) .site-main .type-post > .entry-header > .entry-title,
    body:not(.elementor-page) .site-main .archive .page-title,
    body:not(.elementor-page) .site-main .search .page-title {
        font-size: min(var(--hgg-page-title-size, 60px), 46px) !important;
    }
    body:not(.elementor-page) .site-main .entry-content h1,
    body:not(.elementor-page) .site-main .wp-block-post-content h1 { font-size: min(var(--hgg-h1-font-size, 60px), 46px) !important; }
    body:not(.elementor-page) .site-main .entry-content h2,
    body:not(.elementor-page) .site-main .wp-block-post-content h2 { font-size: min(var(--hgg-h2-font-size, 50px), 38px) !important; }
    body:not(.elementor-page) .site-main .entry-content h3,
    body:not(.elementor-page) .site-main .wp-block-post-content h3 { font-size: min(var(--hgg-h3-font-size, 40px), 32px) !important; }
    body:not(.elementor-page) .site-main .entry-content h4,
    body:not(.elementor-page) .site-main .wp-block-post-content h4 { font-size: min(var(--hgg-h4-font-size, 28px), 24px) !important; }
    body:not(.elementor-page) .site-main .entry-content h5,
    body:not(.elementor-page) .site-main .wp-block-post-content h5 { font-size: min(var(--hgg-h5-font-size, 24px), 21px) !important; }
    body:not(.elementor-page) .site-main .entry-content h6,
    body:not(.elementor-page) .site-main .wp-block-post-content h6 { font-size: min(var(--hgg-h6-font-size, 22px), 19px) !important; }
}

@media (max-width: 767px) {
    body:not(.elementor-page) .site-main .page-header .page-title,
    body:not(.elementor-page) .site-main > article .entry-header > .entry-title,
    body:not(.elementor-page) .site-main .type-page > .entry-header > .entry-title,
    body:not(.elementor-page) .site-main .type-post > .entry-header > .entry-title,
    body:not(.elementor-page) .site-main .archive .page-title,
    body:not(.elementor-page) .site-main .search .page-title {
        font-size: min(var(--hgg-page-title-size, 60px), 34px) !important;
    }
    body:not(.elementor-page) .site-main .entry-content h1,
    body:not(.elementor-page) .site-main .wp-block-post-content h1 { font-size: min(var(--hgg-h1-font-size, 60px), 34px) !important; }
    body:not(.elementor-page) .site-main .entry-content h2,
    body:not(.elementor-page) .site-main .wp-block-post-content h2 { font-size: min(var(--hgg-h2-font-size, 50px), 30px) !important; }
    body:not(.elementor-page) .site-main .entry-content h3,
    body:not(.elementor-page) .site-main .wp-block-post-content h3 { font-size: min(var(--hgg-h3-font-size, 40px), 26px) !important; }
    body:not(.elementor-page) .site-main .entry-content h4,
    body:not(.elementor-page) .site-main .wp-block-post-content h4 { font-size: min(var(--hgg-h4-font-size, 28px), 22px) !important; }
    body:not(.elementor-page) .site-main .entry-content h5,
    body:not(.elementor-page) .site-main .wp-block-post-content h5 { font-size: min(var(--hgg-h5-font-size, 24px), 19px) !important; }
    body:not(.elementor-page) .site-main .entry-content h6,
    body:not(.elementor-page) .site-main .wp-block-post-content h6 { font-size: min(var(--hgg-h6-font-size, 22px), 17px) !important; }
}

/* Header text logo vertical alignment. Keep the site title centered within every header layout without affecting image logos. */
.header-branding,
.site-branding,
.site-title-wrap {
    display: flex;
    align-items: center;
    min-height: 0;
}

.site-title {
    display: flex;
    align-items: center;
    margin: 0;
    line-height: 1.1;
}

.site-title a {
    display: inline-flex;
    align-items: center;
    line-height: 1.1;
    text-decoration: none;
}

.header-nav,
.header-actions {
    align-items: center;
}

.huuguu-header-desktop--left .header-branding,
.huuguu-header-desktop--center .header-branding,
.huuguu-header-desktop--split .header-branding {
    align-self: center;
}

/* Header controls: text logo min height and safer desktop submenu UX. */
.site-title-wrap {
    min-height: var(--hgg-logo-text-desktop-min-height, 60px);
}

@media (max-width: 1024px) {
    .site-title-wrap {
        min-height: var(--hgg-logo-text-tablet-min-height, 50px);
    }
}

@media (max-width: 767px) {
    .site-title-wrap {
        min-height: var(--hgg-logo-text-mobile-min-height, 44px);
    }
}

@media (min-width: 1025px) {
    .main-navigation ul.menu > .menu-item-has-children,
    .main-navigation ul.primary-menu > .menu-item-has-children {
        position: relative;
    }

    .main-navigation ul.menu > .menu-item-has-children::after,
    .main-navigation ul.primary-menu > .menu-item-has-children::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: var(--hgg-submenu-hover-bridge-height, 14px);
        pointer-events: auto;
    }

    .main-navigation .sub-menu {
        margin-top: var(--hgg-submenu-gap, 8px) !important;
        padding: var(--hgg-submenu-padding-y, 10px) var(--hgg-submenu-padding-x, 0px) !important;
        border-radius: var(--hgg-submenu-radius, 12px) !important;
    }

    .main-navigation .sub-menu a {
        padding: var(--hgg-submenu-item-padding-y, 10px) var(--hgg-submenu-item-padding-x, 16px) !important;
    }

    .main-navigation .sub-menu .sub-menu {
        margin-top: 0 !important;
    }
}

/* Huuguu: mobile/tablet submenu accordion polish */
@media (max-width: 1100px) {
  .huuguu-mobile-panel {
    display: none;
    width: min(100%, var(--hgg-mobile-panel-width, 360px));
    max-height: min(86vh, 760px);
    overflow: hidden;
    flex-direction: column;
  }

  .huuguu-mobile-panel.is-open {
    display: flex;
  }

  .huuguu-mobile-panel .mobile-nav,
  .huuguu-mobile-panel .main-navigation {
    min-height: 0;
    max-height: calc(86vh - 96px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .huuguu-mobile-panel .main-navigation .menu {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 6px 0;
  }

  .huuguu-mobile-panel .main-navigation .menu > li {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 32px;
    align-items: center;
    width: 100% !important;
    min-height: 40px;
    padding: 0 !important;
    border-bottom: 1px solid rgba(23, 32, 51, .08);
  }

  .huuguu-mobile-panel .main-navigation .menu > li > a {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    min-width: 0;
    min-height: 40px;
    padding: 10px 0 !important;
    font-size: 14px;
    line-height: 1.25;
    white-space: normal !important;
  }

  .huuguu-mobile-panel .main-navigation .menu-item-has-children > a::after {
    display: none !important;
  }

  .huuguu-mobile-panel .submenu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    justify-self: end;
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    padding: 0 !important;
    margin: 0 0 0 6px;
    border: 1px solid rgba(23, 32, 51, .12);
    border-radius: 999px;
    background: var(--hgg-surface, #fff);
    color: var(--hgg-menu-link, var(--hgg-text, #172033));
    box-shadow: 0 4px 14px rgba(17, 34, 68, .06);
    cursor: pointer;
  }

  .huuguu-mobile-panel .submenu-toggle:focus-visible {
    outline: 2px solid var(--hgg-primary, #246de8);
    outline-offset: 2px;
  }

  .huuguu-mobile-panel .submenu-toggle__icon {
    width: 12px;
    height: 12px;
  }

  .huuguu-mobile-panel .main-navigation li:hover > .sub-menu,
  .huuguu-mobile-panel .main-navigation li:focus-within > .sub-menu {
    display: none;
  }

  .huuguu-mobile-panel .main-navigation .sub-menu {
    position: static !important;
    display: none !important;
    grid-column: 1 / -1;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 4px 0 8px 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(23, 32, 51, .025) !important;
    box-shadow: none !important;
  }

  .huuguu-mobile-panel .menu-item-submenu-open > .sub-menu {
    display: block !important;
  }

  .huuguu-mobile-panel .main-navigation .sub-menu li {
    display: block !important;
    width: 100% !important;
    border-bottom: 0;
  }

  .huuguu-mobile-panel .main-navigation .sub-menu a {
    display: block !important;
    min-height: 34px;
    padding: 8px 0 !important;
    font-size: 13.5px;
    line-height: 1.3;
  }

  .huuguu-mobile-panel .main-navigation .sub-menu .sub-menu {
    padding-left: 12px !important;
    background: transparent !important;
  }

  .huuguu-mobile-panel .mobile-actions {
    flex-shrink: 0;
    margin-top: 0;
    padding-top: 10px;
    border-top: 1px solid rgba(23, 32, 51, .08);
  }
}

/* Huuguu: mobile menu stable core reset */
@media (max-width: 1100px) {
  .huuguu-mobile-panel {
    width: min(100%, var(--hgg-mobile-panel-width, 360px));
    max-height: min(86vh, 760px);
    overflow-y: auto !important;
    overflow-x: hidden !important;
    flex-direction: column;
    -webkit-overflow-scrolling: touch;
  }
  .huuguu-mobile-panel.is-open { display: flex !important; }
  .huuguu-mobile-panel .mobile-nav,
  .huuguu-mobile-panel nav.mobile-nav,
  .huuguu-mobile-panel .main-navigation {
    width: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .huuguu-mobile-panel .main-navigation .menu,
  .huuguu-mobile-panel .main-navigation ul.menu,
  .huuguu-mobile-panel .main-navigation ul.primary-menu {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 6px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }
  .huuguu-mobile-panel .main-navigation .menu > li,
  .huuguu-mobile-panel .main-navigation ul.primary-menu > li {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 36px !important;
    align-items: center !important;
    column-gap: 8px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(23, 32, 51, .08) !important;
  }
  .huuguu-mobile-panel .main-navigation .menu > li > a,
  .huuguu-mobile-panel .main-navigation ul.primary-menu > li > a {
    grid-column: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    padding: 9px 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .huuguu-mobile-panel .main-navigation .menu-item-has-children > a::after {
    display: none !important;
    content: none !important;
  }
  .huuguu-mobile-panel .submenu-toggle {
    grid-column: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(23, 32, 51, .12) !important;
    border-radius: 999px !important;
    background: var(--hgg-surface, #fff) !important;
    box-shadow: none !important;
    cursor: pointer;
  }
  .huuguu-mobile-panel .submenu-toggle__icon { width: 12px !important; height: 12px !important; }
  .huuguu-mobile-panel .main-navigation li:hover > .sub-menu,
  .huuguu-mobile-panel .main-navigation li:focus-within > .sub-menu { display: none; }
  .huuguu-mobile-panel .main-navigation .sub-menu {
    grid-column: 1 / -1 !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 0 6px 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .huuguu-mobile-panel .menu-item-submenu-open > .sub-menu { display: block !important; }
  .huuguu-mobile-panel .main-navigation .sub-menu li {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-bottom: 0 !important;
  }
  .huuguu-mobile-panel .main-navigation .sub-menu a {
    display: block !important;
    width: 100% !important;
    min-height: 30px !important;
    padding: 7px 0 !important;
    font-size: 13.5px !important;
    line-height: 1.3 !important;
  }
  .huuguu-mobile-panel .mobile-actions,
  .huuguu-mobile-panel .header-actions,
  .huuguu-mobile-panel .mobile-search {
    flex-shrink: 0 !important;
    width: 100% !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(23, 32, 51, .08) !important;
  }
}

/* Huuguu: mobile menu dialog core fix */
@media (max-width: 1100px) {
  body.huuguu-mobile-menu-open { overflow: hidden !important; }
  body.huuguu-mobile-menu-open .site-header {
    position: fixed !important;
    z-index: 99999 !important;
    top: max(16px, env(safe-area-inset-top)) !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: min(92vw, var(--hgg-mobile-panel-width, 360px)) !important;
    max-height: calc(100vh - 32px) !important;
    transform: translateX(-50%) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: var(--hgg-header-bg, #ffffff) !important;
    border: 1px solid rgba(23, 32, 51, .08) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.28) !important;
    -webkit-overflow-scrolling: touch;
  }
  body.huuguu-mobile-menu-open.admin-bar .site-header {
    top: max(48px, calc(16px + env(safe-area-inset-top))) !important;
    max-height: calc(100vh - 64px) !important;
  }
  body.huuguu-mobile-menu-open .site-header .huuguu-container,
  body.huuguu-mobile-menu-open .site-header .huuguu-header-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  body.huuguu-mobile-menu-open .site-header .huuguu-header-shell { padding: 16px 18px 14px !important; }
  body.huuguu-mobile-menu-open .huuguu-mobile-topbar {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 0 0 12px !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-nav,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel nav.mobile-nav,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .menu,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation ul.menu,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation ul.primary-menu {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .menu > li,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation ul.primary-menu > li {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 34px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 36px !important;
    column-gap: 8px !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(23,32,51,.08) !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .menu > li > a,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation ul.primary-menu > li > a {
    grid-column: 1 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .submenu-toggle {
    grid-column: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu {
    grid-column: 1 / -1 !important;
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 8px 12px !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .menu-item-submenu-open > .sub-menu { display: block !important; }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu li {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    min-height: 0 !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu a {
    display: block !important;
    width: 100% !important;
    min-height: 28px !important;
    padding: 6px 0 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
}

/* Huuguu: mobile/tablet menu dialog sizing and empty actions cleanup */
@media (max-width: 1100px) {
  body.huuguu-mobile-menu-open .site-header {
    width: min(92vw, 360px) !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-actions:empty,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-actions:not(:has(.header-search, .header-cta, .mobile-utility-grid > *)) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  body.huuguu-mobile-menu-open .site-header {
    width: min(86vw, 560px) !important;
  }
}

@media (max-width: 767px) {
  body.huuguu-mobile-menu-open .site-header {
    width: min(92vw, 360px) !important;
  }
}

/* Huuguu: header menu controls final polish */
@media (max-width: 1100px) {
  /* Keep the mobile toggle intuitive: when opened, text toggles become a close icon. */
  .menu-toggle--text[aria-expanded="true"] .menu-toggle__text {
    font-size: 0 !important;
    line-height: 1 !important;
  }
  .menu-toggle--text[aria-expanded="true"] .menu-toggle__text::before {
    content: "\00d7" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
  }

  /* Do not show separator artifacts between menu, search, and CTA actions. */
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-actions,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-actions.is-open {
    border-top: 0 !important;
    margin-top: 10px !important;
    padding-top: 0 !important;
  }
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-actions::before,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-actions::after,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-utility-grid::before,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-utility-grid::after {
    content: none !important;
    display: none !important;
  }
}

/* Huuguu: mobile and tablet panel width authority.
   WordPress Customizer tablet preview can be below 768px, so tablet starts at 576px. */
@media (max-width: 575px) {
  body.huuguu-mobile-menu-open .site-header {
    width: min(92vw, 360px) !important;
  }
}

@media (min-width: 576px) and (max-width: 1100px) {
  body.huuguu-mobile-menu-open .site-header {
    width: min(86vw, 560px) !important;
  }
}

/* Huuguu: mobile menu dedicated color controls and consistent mobile form radius */
@media (max-width: 1100px) {
  body.huuguu-mobile-menu-open .site-header,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel.is-open {
    background: var(--hgg-mobile-menu-bg, #ffffff) !important;
    color: var(--hgg-mobile-menu-link, #172033) !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .menu > li,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .menu li,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-actions,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .mobile-utility-grid {
    border-color: var(--hgg-mobile-menu-border, #e6ebf2) !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation a,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .menu > li > a,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .submenu-toggle {
    color: var(--hgg-mobile-menu-link, #172033) !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .current-menu-item > a,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .current_page_item > a,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation a[aria-current="page"] {
    color: var(--hgg-mobile-menu-active-link, #246de8) !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu {
    background: var(--hgg-mobile-submenu-bg, #f8fafc) !important;
    border-radius: calc(var(--hgg-menu-toggle-radius, 12px) * .65) !important;
    color: var(--hgg-mobile-submenu-link, #172033) !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu a {
    color: var(--hgg-mobile-submenu-link, #172033) !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .search-field,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .search-submit,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .header-cta {
    border-radius: var(--hgg-menu-toggle-radius, 12px) !important;
  }
}

/* Huuguu: mobile menu color layer isolation.
   Mobile panel, top-level items and accordion submenus must not share inherited backgrounds. */
@media (max-width: 1100px) {
  body.huuguu-mobile-menu-open .site-header,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel.is-open {
    background-color: var(--hgg-mobile-menu-bg, #ffffff) !important;
    background-image: none !important;
    color: var(--hgg-mobile-menu-link, #172033) !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .menu,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation ul.primary-menu,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .menu > li,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation ul.primary-menu > li {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    opacity: 1 !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation ul.sub-menu {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 4px 0 8px 0 !important;
    padding: 6px 8px !important;
    background: var(--hgg-mobile-submenu-bg, #f8fafc) !important;
    background-color: var(--hgg-mobile-submenu-bg, #f8fafc) !important;
    background-image: none !important;
    color: var(--hgg-mobile-submenu-link, #172033) !important;
    opacity: 1 !important;
    border: 1px solid var(--hgg-mobile-menu-border, #e6ebf2) !important;
    border-radius: calc(var(--hgg-menu-toggle-radius, 12px) * .65) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu li,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu li.menu-item,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu a {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: var(--hgg-mobile-submenu-link, #172033) !important;
    opacity: 1 !important;
    border-color: transparent !important;
  }

  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu a:hover,
  body.huuguu-mobile-menu-open .huuguu-mobile-panel .main-navigation .sub-menu a:focus-visible {
    background: rgba(0, 0, 0, .04) !important;
    color: var(--hgg-mobile-submenu-link, #172033) !important;
  }
}

/* Blog design cleanup: Archive and Single inherit the global design system.
 * Blog-specific Customizer controls now only decide layout/content, while visual
 * surfaces use the global content surface, border, radius and shadow tokens.
 */
body.blog .hgg-blog-card,
body.archive .hgg-blog-card,
body.search .hgg-blog-card,
body.single-post article.hgg-card,
body.single-post article.type-post,
body.single-post .hgg-blog-single-related-card,
body.single-post .hgg-blog-sidebar,
body.blog .hgg-blog-sidebar,
body.archive .hgg-blog-sidebar,
body.search .hgg-blog-sidebar {
    background-color: var(--hgg-content-surface-bg, #ffffff) !important;
    border-color: var(--hgg-content-border-color, #d8dfef) !important;
    border-radius: var(--hgg-content-radius, 6px) !important;
    box-shadow: var(--hgg-content-shadow, none) !important;
}

body.blog .hgg-blog-card,
body.archive .hgg-blog-card,
body.search .hgg-blog-card,
body.single-post article.hgg-card,
body.single-post article.type-post {
    overflow: hidden;
}

body.single-post article.hgg-card > .entry-header,
body.single-post article.hgg-card > .entry-content,
body.single-post article.hgg-card > .entry-footer,
body.blog .hgg-blog-card > .entry-header,
body.blog .hgg-blog-card > .entry-content,
body.archive .hgg-blog-card > .entry-header,
body.archive .hgg-blog-card > .entry-content,
body.search .hgg-blog-card > .entry-header,
body.search .hgg-blog-card > .entry-content {
    background-color: transparent !important;
}

/* Blog polish v1: single, archive and related posts visual rhythm.
 * Blog layout/content controls remain in the Customizer; visual treatment inherits
 * the global design system tokens.
 */
body.single-post:not(.elementor-page) .hgg-single-card {
    padding: clamp(20px, 3vw, 36px) !important;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header {
    max-width: 860px;
    margin: 0 auto 24px;
    text-align: var(--hgg-blog-single-title-align, var(--hgg-page-title-align, left)) !important;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header .entry-title {
    margin-bottom: 12px !important;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header .entry-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: inherit;
    gap: 8px 14px;
    color: var(--hgg-muted, #5d6781);
    font-size: 14px;
    line-height: 1.5;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header .entry-meta a {
    color: var(--hgg-link-color, var(--hgg-link, #007721));
    font-weight: 700;
}

body.single-post:not(.elementor-page) .hgg-single-card > .post-thumbnail {
    max-width: 980px;
    margin: 0 auto 28px;
    overflow: hidden;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
}

body.single-post:not(.elementor-page) .hgg-single-card > .post-thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-content,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-footer,
body.single-post:not(.elementor-page) .hgg-post-meta-footer,
body.single-post:not(.elementor-page) .hgg-post-navigation {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-content {
    font-size: var(--hgg-body-font-size, 16px);
    line-height: 1.75;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-content p,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-content ul,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-content ol,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-content blockquote {
    margin-top: 0;
    margin-bottom: 1.15em;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-content h2,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-content h3,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-content h4,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-content h5,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-content h6 {
    margin-top: 1.35em !important;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-footer {
    margin-top: 28px;
    color: var(--hgg-muted, #5d6781);
}

/* Archive cards. */
body.blog:not(.elementor-page) .hgg-post-card,
body.archive:not(.elementor-page) .hgg-post-card,
body.search:not(.elementor-page) .hgg-post-card,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) !important;
    background: var(--hgg-content-surface-bg, #ffffff) !important;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px)) !important;
    box-shadow: var(--hgg-content-shadow, 0 12px 28px rgba(17,34,68,.08)) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body.blog:not(.elementor-page) .hgg-post-card:hover,
body.archive:not(.elementor-page) .hgg-post-card:hover,
body.search:not(.elementor-page) .hgg-post-card:hover,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(17,34,68,.12) !important;
}

body.blog:not(.elementor-page) .hgg-post-card .post-thumbnail,
body.archive:not(.elementor-page) .hgg-post-card .post-thumbnail,
body.search:not(.elementor-page) .hgg-post-card .post-thumbnail,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .post-thumbnail {
    display: block;
    overflow: hidden;
    border-radius: calc(var(--hgg-content-radius, var(--hgg-radius, 12px)) - 1px) calc(var(--hgg-content-radius, var(--hgg-radius, 12px)) - 1px) 0 0;
}

body.blog:not(.elementor-page) .hgg-post-card .post-thumbnail img,
body.archive:not(.elementor-page) .hgg-post-card .post-thumbnail img,
body.search:not(.elementor-page) .hgg-post-card .post-thumbnail img,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .post-thumbnail img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transform: scale(1);
    transition: transform .32s ease, opacity .32s ease;
}

body.blog:not(.elementor-page) .hgg-post-card:hover .post-thumbnail img,
body.archive:not(.elementor-page) .hgg-post-card:hover .post-thumbnail img,
body.search:not(.elementor-page) .hgg-post-card:hover .post-thumbnail img,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card:hover .post-thumbnail img {
    transform: scale(1.035);
    opacity: .96;
}

body.blog:not(.elementor-page) .hgg-post-card .hgg-card__body,
body.archive:not(.elementor-page) .hgg-post-card .hgg-card__body,
body.search:not(.elementor-page) .hgg-post-card .hgg-card__body,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .hgg-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: clamp(18px, 2vw, 24px);
}

body.blog:not(.elementor-page) .hgg-post-card .entry-header,
body.archive:not(.elementor-page) .hgg-post-card .entry-header,
body.search:not(.elementor-page) .hgg-post-card .entry-header,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .entry-header {
    width: 100%;
    text-align: left;
}

body.blog:not(.elementor-page) .hgg-post-card .entry-title,
body.archive:not(.elementor-page) .hgg-post-card .entry-title,
body.search:not(.elementor-page) .hgg-post-card .entry-title,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .entry-title {
    margin: 0 0 8px !important;
    font-size: clamp(20px, 2vw, 26px) !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

body.blog:not(.elementor-page) .hgg-post-card .entry-title a,
body.archive:not(.elementor-page) .hgg-post-card .entry-title a,
body.search:not(.elementor-page) .hgg-post-card .entry-title a,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .entry-title a {
    color: var(--hgg-text, #172033);
    text-decoration: none;
}

body.blog:not(.elementor-page) .hgg-post-card .entry-title a:hover,
body.archive:not(.elementor-page) .hgg-post-card .entry-title a:hover,
body.search:not(.elementor-page) .hgg-post-card .entry-title a:hover,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .entry-title a:hover {
    color: var(--hgg-link-hover, var(--hgg-link-color-hover, #045F12));
}

body.blog:not(.elementor-page) .hgg-post-card .entry-meta,
body.archive:not(.elementor-page) .hgg-post-card .entry-meta,
body.search:not(.elementor-page) .hgg-post-card .entry-meta,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    color: var(--hgg-muted, #5d6781);
    font-size: 13px;
    line-height: 1.45;
}

body.blog:not(.elementor-page) .hgg-post-card .entry-summary,
body.archive:not(.elementor-page) .hgg-post-card .entry-summary,
body.search:not(.elementor-page) .hgg-post-card .entry-summary,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .entry-summary {
    color: var(--hgg-muted, #5d6781);
    line-height: 1.65;
}

body.blog:not(.elementor-page) .hgg-post-card .hgg-read-more,
body.archive:not(.elementor-page) .hgg-post-card .hgg-read-more,
body.search:not(.elementor-page) .hgg-post-card .hgg-read-more,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .hgg-read-more {
    margin-top: auto;
}

/* Related posts block. */
body.single-post:not(.elementor-page) .huuguu-related-posts {
    max-width: 1100px;
    margin: clamp(34px, 5vw, 56px) auto 0;
    padding-top: clamp(22px, 3vw, 32px);
    border-top: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
}

body.single-post:not(.elementor-page) .huuguu-related-posts__title {
    margin: 0 0 20px !important;
    text-align: left;
    font-size: clamp(24px, 3vw, 34px) !important;
    line-height: 1.18 !important;
    color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
}

body.single-post:not(.elementor-page) .huuguu-related-posts__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 28px);
    align-items: stretch;
}

body.single-post:not(.elementor-page) .huuguu-related-posts.count-1 .huuguu-related-posts__grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 640px;
}

body.single-post:not(.elementor-page) .huuguu-related-posts.count-2 .huuguu-related-posts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .entry-title {
    font-size: clamp(18px, 1.8vw, 22px) !important;
}

@media (max-width: 900px) {
    body.single-post:not(.elementor-page) .huuguu-related-posts__grid,
    body.single-post:not(.elementor-page) .huuguu-related-posts.count-2 .huuguu-related-posts__grid,
    body.single-post:not(.elementor-page) .huuguu-related-posts.count-3 .huuguu-related-posts__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    body.single-post:not(.elementor-page) .hgg-single-card {
        padding: 18px !important;
    }

    body.single-post:not(.elementor-page) .hgg-single-card > .entry-header {
        margin-bottom: 18px;
    }

    body.blog:not(.elementor-page) .hgg-post-card .hgg-card__body,
    body.archive:not(.elementor-page) .hgg-post-card .hgg-card__body,
    body.search:not(.elementor-page) .hgg-post-card .hgg-card__body,
    body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .hgg-card__body {
        padding: 16px;
    }

    body.single-post:not(.elementor-page) .huuguu-related-posts__grid,
    body.single-post:not(.elementor-page) .huuguu-related-posts.count-1 .huuguu-related-posts__grid,
    body.single-post:not(.elementor-page) .huuguu-related-posts.count-2 .huuguu-related-posts__grid,
    body.single-post:not(.elementor-page) .huuguu-related-posts.count-3 .huuguu-related-posts__grid {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

/* Blog system complete v3: meta, sidebar, comments, pagination, widgets. */
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap {
    width: min(100%, var(--hgg-container, 1240px));
}

body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--no-sidebar,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar {
    display: block !important;
}

body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--no-sidebar .huuguu-blog-primary,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar .huuguu-blog-primary {
    width: 100% !important;
    max-width: 100% !important;
}

body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--has-sidebar,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--has-sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: clamp(24px, 4vw, 44px);
    align-items: start;
}

@media (max-width: 1024px) {
    body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--has-sidebar,
    body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--has-sidebar {
        grid-template-columns: 1fr;
    }
}

/* Entry meta with inline SVG icons. */
body:not(.elementor-page) .entry-meta,
body:not(.elementor-page) .hgg-post-card .entry-meta {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    color: var(--hgg-muted, #5d6781);
    font-size: 14px;
    line-height: 1.45;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header .entry-meta {
    justify-content: var(--hgg-single-meta-align, inherit);
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header {
    --hgg-single-meta-align: flex-start;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header[style*="center"],
body.single-post:not(.elementor-page) .hgg-single-card > .entry-header.entry-header--center {
    --hgg-single-meta-align: center;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header .entry-title[style*="center"] + .entry-meta,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-header .entry-title[style*="center"] ~ .entry-meta {
    justify-content: center;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header .entry-meta {
    justify-content: var(--hgg-page-title-align, center);
}

body:not(.elementor-page) .hgg-meta-item,
body:not(.elementor-page) .entry-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

body:not(.elementor-page) .hgg-meta-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    display: inline-block;
    color: currentColor;
    opacity: .86;
}

body:not(.elementor-page) .entry-meta a {
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}

body:not(.elementor-page) .entry-meta a:hover,
body:not(.elementor-page) .entry-meta a:focus {
    color: var(--hgg-link-hover-color, var(--hgg-link-hover, #045F12));
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

/* Post taxonomy footer: keep taxonomy output in one styled place. */
body.single-post:not(.elementor-page) .hgg-single-card > .entry-footer:empty {
    display: none;
}

body.single-post:not(.elementor-page) .hgg-post-meta-footer {
    max-width: 780px;
    margin: clamp(28px, 4vw, 44px) auto 0;
    padding: clamp(18px, 2.4vw, 24px);
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    box-shadow: var(--hgg-content-shadow, none);
}

body.single-post:not(.elementor-page) .hgg-meta-group + .hgg-meta-group {
    margin-top: 14px;
}

body.single-post:not(.elementor-page) .hgg-meta-group__label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    color: var(--hgg-text, #172033);
    font-weight: 800;
}

body.single-post:not(.elementor-page) .hgg-meta-group__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.single-post:not(.elementor-page) .hgg-tag {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 11px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--hgg-link-color, #007721) 10%, transparent);
    color: var(--hgg-link-color, #007721);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

body.single-post:not(.elementor-page) .hgg-tag:hover,
body.single-post:not(.elementor-page) .hgg-tag:focus {
    background: var(--hgg-link-color, #007721);
    color: #fff;
}

/* Previous / next post navigation. */
body.single-post:not(.elementor-page) .hgg-post-navigation {
    max-width: 980px;
    margin: clamp(30px, 5vw, 54px) auto 0;
    padding-top: clamp(20px, 3vw, 30px);
    border-top: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body.single-post:not(.elementor-page) .hgg-post-navigation a {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 100%;
    padding: 16px 18px;
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    color: var(--hgg-text, #172033);
    text-decoration: none;
    box-shadow: var(--hgg-content-shadow, none);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.single-post:not(.elementor-page) .hgg-post-navigation a:hover,
body.single-post:not(.elementor-page) .hgg-post-navigation a:focus {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--hgg-link-color, #007721) 34%, var(--hgg-content-border-color, #d8dfef));
    box-shadow: 0 14px 34px rgba(17,34,68,.10);
}

body.single-post:not(.elementor-page) .hgg-nav-label {
    color: var(--hgg-muted, #5d6781);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.single-post:not(.elementor-page) .hgg-nav-title {
    font-size: clamp(16px, 1.6vw, 20px);
    font-weight: 800;
    line-height: 1.25;
}

body.single-post:not(.elementor-page) .hgg-nav-next {
    text-align: right;
}

@media (max-width: 640px) {
    body.single-post:not(.elementor-page) .hgg-post-navigation {
        grid-template-columns: 1fr;
    }
    body.single-post:not(.elementor-page) .hgg-nav-next {
        text-align: left;
    }
}

/* Comments list + form. */
body.single-post:not(.elementor-page) .comments-area {
    max-width: 780px;
    margin: clamp(34px, 5vw, 58px) auto 0;
    padding: clamp(20px, 3vw, 28px);
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    box-shadow: var(--hgg-content-shadow, none);
}

body.single-post:not(.elementor-page) .comments-title,
body.single-post:not(.elementor-page) .comment-reply-title {
    margin: 0 0 18px !important;
    color: var(--hgg-heading-color, var(--hgg-text, #172033));
    font-size: clamp(22px, 2.4vw, 30px) !important;
    line-height: 1.2 !important;
}

body.single-post:not(.elementor-page) .comment-list {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.single-post:not(.elementor-page) .comment-list .comment-body {
    padding: 16px;
    border: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: color-mix(in srgb, var(--hgg-content-surface-bg, #fff) 94%, var(--hgg-site-bg, #f5f7fb));
}

body.single-post:not(.elementor-page) .comment-author {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
}

body.single-post:not(.elementor-page) .comment-author .avatar {
    border-radius: 999px;
}

body.single-post:not(.elementor-page) .comment-metadata,
body.single-post:not(.elementor-page) .comment-meta {
    color: var(--hgg-muted, #5d6781);
    font-size: 13px;
}

body.single-post:not(.elementor-page) .comment-content {
    margin-top: 12px;
    line-height: 1.65;
}

body.single-post:not(.elementor-page) .reply {
    margin-top: 12px;
}

body.single-post:not(.elementor-page) .comment-form {
    display: grid;
    gap: 14px;
}

body.single-post:not(.elementor-page) .comment-form p {
    margin: 0;
}

body.single-post:not(.elementor-page) .comment-form label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    color: var(--hgg-text, #172033);
}

body.single-post:not(.elementor-page) .comment-form textarea,
body.single-post:not(.elementor-page) .comment-form input[type="text"],
body.single-post:not(.elementor-page) .comment-form input[type="email"],
body.single-post:not(.elementor-page) .comment-form input[type="url"] {
    width: 100%;
    min-height: 44px;
    padding: 11px 13px;
    border: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    color: var(--hgg-text, #172033);
}

body.single-post:not(.elementor-page) .comment-form textarea {
    min-height: 170px;
    resize: vertical;
}

body.single-post:not(.elementor-page) .comment-form-cookies-consent {
    display: flex;
    gap: 9px;
    align-items: flex-start;
}

body.single-post:not(.elementor-page) .comment-form-cookies-consent label {
    margin: 0;
    font-weight: 400;
}

/* Sidebar and core widgets. */
body.huuguu-blog-single:not(.elementor-page) .widget-area,
body.huuguu-blog-archive:not(.elementor-page) .widget-area {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

body.huuguu-blog-single:not(.elementor-page) .widget,
body.huuguu-blog-archive:not(.elementor-page) .widget {
    padding: 18px;
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    box-shadow: var(--hgg-content-shadow, none);
}

body.huuguu-blog-single:not(.elementor-page) .widget-title,
body.huuguu-blog-archive:not(.elementor-page) .widget-title,
body.huuguu-blog-single:not(.elementor-page) .wp-block-heading,
body.huuguu-blog-archive:not(.elementor-page) .wp-block-heading {
    margin: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
}

body.hgg-blog-single-sidebar-sticky:not(.elementor-page) .huuguu-blog-wrap--has-sidebar .widget-area,
body.hgg-blog-sidebar-sticky:not(.elementor-page) .huuguu-blog-wrap--has-sidebar .widget-area {
    position: sticky;
    top: var(--hgg-blog-single-sidebar-sticky-top, var(--hgg-blog-archive-sidebar-sticky-top, 90px));
}

@media (max-width: 1024px) {
    body.hgg-blog-single-sidebar-sticky:not(.elementor-page) .huuguu-blog-wrap--has-sidebar .widget-area,
    body.hgg-blog-sidebar-sticky:not(.elementor-page) .huuguu-blog-wrap--has-sidebar .widget-area {
        position: static;
    }
}

body:not(.elementor-page) .widget_search form,
body:not(.elementor-page) .wp-block-search {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

body:not(.elementor-page) .widget_search input[type="search"],
body:not(.elementor-page) .wp-block-search__input {
    min-width: 0;
    flex: 1 1 auto;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    color: var(--hgg-text, #172033);
}

body:not(.elementor-page) .widget_search button,
body:not(.elementor-page) .widget_search input[type="submit"],
body:not(.elementor-page) .wp-block-search__button {
    min-height: 42px;
    padding: 10px 14px;
    border: 0;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-button-bg, var(--hgg-primary, #007721));
    color: var(--hgg-button-text, #fff);
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 520px) {
    body:not(.elementor-page) .widget_search form,
    body:not(.elementor-page) .wp-block-search {
        flex-direction: column;
    }
    body:not(.elementor-page) .widget_search button,
    body:not(.elementor-page) .widget_search input[type="submit"],
    body:not(.elementor-page) .wp-block-search__button {
        width: 100%;
    }
}

/* Pagination restoration. */
body:not(.elementor-page) .navigation.pagination,
body:not(.elementor-page) .navigation.pagination .nav-links,
body:not(.elementor-page) .comments-pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

body:not(.elementor-page) .navigation.pagination {
    margin-top: clamp(30px, 5vw, 52px);
}

body:not(.elementor-page) .page-numbers,
body:not(.elementor-page) .comments-pagination a,
body:not(.elementor-page) .comments-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: 10px;
    background: var(--hgg-content-surface-bg, #fff);
    color: var(--hgg-text, #172033);
    text-decoration: none;
    font-weight: 700;
}

body:not(.elementor-page) .page-numbers.current,
body:not(.elementor-page) .page-numbers:hover,
body:not(.elementor-page) .comments-pagination a:hover,
body:not(.elementor-page) .comments-pagination .current {
    border-color: var(--hgg-link-color, #007721);
    background: var(--hgg-link-color, #007721);
    color: #fff;
}

/* Blog polish v4: taxonomy footer alignment, archive hover parity and sidebar widgets.
 * Keep this scoped to the theme blog surfaces and do not alter Elementor content.
 */
body.single-post:not(.elementor-page) .hgg-post-meta-footer {
    max-width: 860px;
}

body.single-post:not(.elementor-page) .hgg-meta-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 12px;
}

body.single-post:not(.elementor-page) .hgg-meta-group + .hgg-meta-group {
    margin-top: 12px;
}

body.single-post:not(.elementor-page) .hgg-meta-group__label {
    margin: 0 !important;
    flex: 0 0 auto;
    white-space: nowrap;
}

body.single-post:not(.elementor-page) .hgg-meta-group__links {
    display: inline-flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

body.single-post:not(.elementor-page) .hgg-tag {
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

body.single-post:not(.elementor-page) .hgg-tag:hover,
body.single-post:not(.elementor-page) .hgg-tag:focus {
    transform: translateY(-1px);
}

/* Make archive cards behave like related cards, including older archive class names. */
body.blog:not(.elementor-page) .hgg-archive-card,
body.archive:not(.elementor-page) .hgg-archive-card,
body.search:not(.elementor-page) .hgg-archive-card,
body.blog:not(.elementor-page) .huuguu-archive-card,
body.archive:not(.elementor-page) .huuguu-archive-card,
body.search:not(.elementor-page) .huuguu-archive-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) !important;
    background: var(--hgg-content-surface-bg, #ffffff) !important;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px)) !important;
    box-shadow: var(--hgg-content-shadow, 0 12px 28px rgba(17,34,68,.08)) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body.blog:not(.elementor-page) .hgg-post-card:hover,
body.archive:not(.elementor-page) .hgg-post-card:hover,
body.search:not(.elementor-page) .hgg-post-card:hover,
body.blog:not(.elementor-page) .hgg-archive-card:hover,
body.archive:not(.elementor-page) .hgg-archive-card:hover,
body.search:not(.elementor-page) .hgg-archive-card:hover,
body.blog:not(.elementor-page) .huuguu-archive-card:hover,
body.archive:not(.elementor-page) .huuguu-archive-card:hover,
body.search:not(.elementor-page) .huuguu-archive-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--hgg-link-color, var(--hgg-link, #007721)) 24%, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)));
    box-shadow: 0 20px 44px rgba(17,34,68,.14) !important;
}

body.blog:not(.elementor-page) .hgg-post-card .post-thumbnail,
body.archive:not(.elementor-page) .hgg-post-card .post-thumbnail,
body.search:not(.elementor-page) .hgg-post-card .post-thumbnail,
body.blog:not(.elementor-page) .hgg-archive-card .post-thumbnail,
body.archive:not(.elementor-page) .hgg-archive-card .post-thumbnail,
body.search:not(.elementor-page) .hgg-archive-card .post-thumbnail,
body.blog:not(.elementor-page) .huuguu-archive-card .post-thumbnail,
body.archive:not(.elementor-page) .huuguu-archive-card .post-thumbnail,
body.search:not(.elementor-page) .huuguu-archive-card .post-thumbnail {
    position: relative;
    display: block;
    overflow: hidden;
}

body.blog:not(.elementor-page) .hgg-post-card .post-thumbnail::after,
body.archive:not(.elementor-page) .hgg-post-card .post-thumbnail::after,
body.search:not(.elementor-page) .hgg-post-card .post-thumbnail::after,
body.blog:not(.elementor-page) .hgg-archive-card .post-thumbnail::after,
body.archive:not(.elementor-page) .hgg-archive-card .post-thumbnail::after,
body.search:not(.elementor-page) .hgg-archive-card .post-thumbnail::after,
body.blog:not(.elementor-page) .huuguu-archive-card .post-thumbnail::after,
body.archive:not(.elementor-page) .huuguu-archive-card .post-thumbnail::after,
body.search:not(.elementor-page) .huuguu-archive-card .post-thumbnail::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.16) 100%);
    opacity: 0;
    transition: opacity .28s ease;
    pointer-events: none;
}

body.blog:not(.elementor-page) .hgg-post-card:hover .post-thumbnail::after,
body.archive:not(.elementor-page) .hgg-post-card:hover .post-thumbnail::after,
body.search:not(.elementor-page) .hgg-post-card:hover .post-thumbnail::after,
body.blog:not(.elementor-page) .hgg-archive-card:hover .post-thumbnail::after,
body.archive:not(.elementor-page) .hgg-archive-card:hover .post-thumbnail::after,
body.search:not(.elementor-page) .hgg-archive-card:hover .post-thumbnail::after,
body.blog:not(.elementor-page) .huuguu-archive-card:hover .post-thumbnail::after,
body.archive:not(.elementor-page) .huuguu-archive-card:hover .post-thumbnail::after,
body.search:not(.elementor-page) .huuguu-archive-card:hover .post-thumbnail::after {
    opacity: 1;
}

/* Make related cards and archive cards share the same hover affordance. */
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--hgg-link-color, var(--hgg-link, #007721)) 24%, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)));
    box-shadow: 0 20px 44px rgba(17,34,68,.14) !important;
}

/* Sidebar search polish for the default WordPress search widget. */
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search form,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__label {
    width: 100%;
    margin: 0 0 8px;
    font-weight: 800;
    color: var(--hgg-heading-color, var(--hgg-text, #172033));
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="search"],
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__input {
    min-height: 44px;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    border: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    padding: 10px 14px;
    background: var(--hgg-content-surface-bg, #fff);
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-submit,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button {
    min-height: 44px;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    white-space: nowrap;
}

@media (max-width: 640px) {
    body.single-post:not(.elementor-page) .hgg-meta-group {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}

/* Blog polish v5: archive hover parity, sidebar widgets, footer widget leak fix. */
body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--hgg-content-surface-bg, #fff) !important;
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) !important;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px)) !important;
    box-shadow: var(--hgg-content-shadow, 0 12px 28px rgba(17,34,68,.08)) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--hgg-link-color, var(--hgg-link, #007721)) 24%, var(--hgg-content-border-color, var(--hgg-border, #d8dfef))) !important;
    box-shadow: 0 20px 44px rgba(17,34,68,.14) !important;
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--hgg-site-bg, #f5f7fb);
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail img,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail img,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform .32s ease, filter .32s ease;
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover .post-thumbnail img,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover .post-thumbnail img,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover .post-thumbnail img {
    transform: scale(1.035);
    filter: saturate(1.04) contrast(1.02);
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail::after,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail::after,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.16) 100%);
    opacity: 0;
    transition: opacity .28s ease;
    pointer-events: none;
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover .post-thumbnail::after,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover .post-thumbnail::after,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover .post-thumbnail::after {
    opacity: 1;
}

/* Sidebar default widgets: search, recent posts, categories, archives. */
body:not(.elementor-page) .huuguu-blog-sidebar .widget,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-group,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories {
    margin-bottom: clamp(22px, 3vw, 34px);
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search form,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__label {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px;
    grid-column: 1 / -1;
    width: 100% !important;
    margin: 0 !important;
    font-size: .95rem;
    line-height: 1.2;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label input[type="search"] {
    margin-top: 8px;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="search"],
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__input {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    border: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    padding: 10px 14px;
    background: var(--hgg-content-surface-bg, #fff);
    color: var(--hgg-text, #172033);
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search button,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="submit"],
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button {
    min-height: 44px;
    padding: 10px 16px;
    border: 0;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-button-bg, var(--hgg-primary, #007721));
    color: var(--hgg-button-text, #fff);
    font-weight: 800;
    white-space: nowrap;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries ul,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories ul,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive ul,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries li,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories li,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives li {
    margin: 0;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid color-mix(in srgb, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) 78%, transparent);
    color: var(--hgg-text, #172033);
    text-decoration: none;
    transition: color .18s ease, padding-left .18s ease;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a:hover {
    color: var(--hgg-link-hover, var(--hgg-link, #007721));
    padding-left: 4px;
}

/* Keep footer widgets transparent on dark footers; avoid content-surface leaks. */
.site-footer .huu-pro-widget,
.site-footer .widget,
.site-footer .widget_block,
.site-footer .huu-pro-widget-horizontal-menu,
.site-footer .huu-pro-menu {
    background: transparent !important;
    box-shadow: none !important;
}

.site-footer .huu-pro-menu__list a {
    color: var(--hgg-footer-link, var(--hgg-footer-text, #fff)) !important;
}

.site-footer .huu-pro-menu__list a:hover,
.site-footer .huu-pro-menu__list a:focus,
.site-footer .huu-pro-menu__list .current-menu-item > a,
.site-footer .huu-pro-menu__list .current_page_item > a {
    color: var(--hgg-footer-link-hover, var(--hgg-footer-link-active, var(--hgg-footer-link, #fff))) !important;
}

/* Blog polish v6: archive layout controls, no-sidebar width, sidebar/footer widget scope fixes. */
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--no-sidebar {
    display: block !important;
    grid-template-columns: 1fr !important;
}

body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar .huuguu-blog-primary,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--no-sidebar .huuguu-blog-primary {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
}

body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar .huuguu-blog-sidebar,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar .widget-area,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--no-sidebar .huuguu-blog-sidebar,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--no-sidebar .widget-area {
    display: none !important;
}

body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-1:not(.elementor-page) .huuguu-post-grid { grid-template-columns: 1fr !important; }
body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-2:not(.elementor-page) .huuguu-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-3:not(.elementor-page) .huuguu-post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-4:not(.elementor-page) .huuguu-post-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid {
    grid-template-columns: 1fr !important;
}

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card {
    display: grid !important;
    grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
    align-items: stretch;
}

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail {
    height: 100%;
}

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail img {
    height: 100% !important;
    min-height: 220px;
    object-fit: cover;
}

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .hgg-card__body,
body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .entry-header,
body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .entry-content,
body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .entry-footer {
    min-width: 0;
}

@media (max-width: 920px) {
    body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-3:not(.elementor-page) .huuguu-post-grid,
    body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-4:not(.elementor-page) .huuguu-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    body.huuguu-blog-archive-style-card:not(.elementor-page) .huuguu-post-grid,
    body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid {
        grid-template-columns: 1fr !important;
    }

    body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card {
        display: flex !important;
        flex-direction: column;
    }

    body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail img {
        min-height: 0;
        height: auto !important;
    }
}

/* Blog sidebar widgets only: never let these rules leak into the footer. */
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-sidebar .widget,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-sidebar .widget,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-sidebar .widget_block,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-sidebar .widget_block {
    padding: 18px;
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    box-shadow: var(--hgg-content-shadow, none);
}

body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-sidebar .widget-title,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-sidebar .widget-title,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-sidebar .wp-block-heading,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-sidebar .wp-block-heading {
    margin: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
}

.site-footer .widget,
.site-footer .widget_block,
.site-footer .wp-block-group,
.site-footer .huu-pro-widget,
.site-footer .huu-pro-widget-horizontal-menu,
.site-footer .huu-pro-menu {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--hgg-footer-text, #ffffff) !important;
}

.site-footer .widget-title,
.site-footer .wp-block-heading,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6 {
    color: var(--hgg-footer-heading, var(--hgg-footer-text, #ffffff)) !important;
}

.site-footer a {
    color: var(--hgg-footer-link, var(--hgg-footer-text, #ffffff)) !important;
}

.site-footer a:hover,
.site-footer a:focus,
.site-footer .current-menu-item > a,
.site-footer .current_page_item > a {
    color: var(--hgg-footer-link-hover, var(--hgg-footer-link-active, var(--hgg-footer-link, #ffffff))) !important;
}

/* Cleaner default WordPress search widget inside the blog sidebar. */
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search form {
    display: flex !important;
    align-items: stretch;
    gap: 10px;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label .search-field,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="search"] {
    width: 100% !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-submit,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="submit"] {
    flex: 0 0 auto;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a {
    border-radius: 8px;
    padding: 9px 10px;
    border: 1px solid transparent;
    background: transparent;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a:hover {
    border-color: color-mix(in srgb, var(--hgg-link-color, var(--hgg-link, #007721)) 22%, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)));
    background: color-mix(in srgb, var(--hgg-link-color, var(--hgg-link, #007721)) 7%, transparent);
    padding-left: 12px;
}

/* Blog UI polish v7: author box, sidebar widgets and footer scope corrections. */
body.single-post:not(.elementor-page) .hgg-author-box {
    max-width: 780px;
    margin: clamp(32px, 5vw, 56px) auto 0;
    display: flex;
    gap: 18px;
    align-items: center;
    padding: clamp(18px, 3vw, 24px);
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    box-shadow: var(--hgg-content-shadow, 0 14px 34px rgba(17,34,68,.08));
}

body.single-post:not(.elementor-page) .hgg-author-box__avatar {
    flex: 0 0 auto;
}

body.single-post:not(.elementor-page) .hgg-author-box__avatar img {
    display: block;
    width: 76px;
    height: 76px;
    border-radius: 999px;
    object-fit: cover;
}

body.single-post:not(.elementor-page) .hgg-author-box__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: var(--hgg-muted, #5d6781);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
}

body.single-post:not(.elementor-page) .hgg-author-box__name {
    margin: 0 0 6px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
}

body.single-post:not(.elementor-page) .hgg-author-box__name a {
    color: var(--hgg-heading-color, var(--hgg-text, #172033));
    text-decoration: none;
}

body.single-post:not(.elementor-page) .hgg-author-box__bio {
    margin: 0;
    color: var(--hgg-muted, #5d6781);
    line-height: 1.6;
}

@media (max-width: 640px) {
    body.single-post:not(.elementor-page) .hgg-author-box {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Restrict blog widget cards to the real blog sidebar only. */
body.huuguu-blog-single:not(.elementor-page) .widget:not(.site-footer .widget),
body.huuguu-blog-archive:not(.elementor-page) .widget:not(.site-footer .widget) {
    background: transparent;
}

body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-sidebar.widget-area,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-sidebar.widget-area {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-sidebar .widget,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-sidebar .widget,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-sidebar .widget_block,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-sidebar .widget_block {
    padding: 20px;
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    box-shadow: var(--hgg-content-shadow, none);
}

body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-sidebar .widget-title,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-sidebar .widget-title,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-sidebar .wp-block-heading,
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-sidebar .wp-block-heading {
    margin: 0 0 16px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
}

/* Default WordPress search widget: label above, field + button below. */
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-form,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__label {
    display: block !important;
    grid-column: 1 / -1;
    width: 100% !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 800;
    color: var(--hgg-heading-color, var(--hgg-text, #172033));
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label .search-field,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="search"],
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__input {
    display: block;
    width: 100% !important;
    min-width: 0;
    min-height: 44px;
    margin-top: 8px;
    padding: 10px 14px;
    border: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef));
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-content-surface-bg, #fff);
    color: var(--hgg-text, #172033);
    font-size: 16px !important;
    line-height: 1.4 !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-submit,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="submit"],
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button {
    align-self: end;
    min-height: 44px;
    padding: 10px 16px;
    border: 0;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px));
    background: var(--hgg-button-bg, var(--hgg-primary, #007721));
    color: var(--hgg-button-text, #fff);
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}

@media (max-width: 560px) {
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-form,
    body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search {
        grid-template-columns: 1fr;
    }
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-submit,
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="submit"],
    body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button {
        width: 100%;
    }
}

/* Sidebar lists: categories, recent posts and archives. */
body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries ul,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories ul,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive ul,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives {
    list-style: none;
    margin: 0;
    padding: 0;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries li,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories li,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives li {
    margin: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) 80%, transparent);
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries li:last-child,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories li:last-child,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive li:last-child,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts li:last-child,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories li:last-child,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives li:last-child {
    border-bottom: 0;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 8px 12px 2px;
    border-radius: 8px;
    color: var(--hgg-text, #172033);
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, padding-left .2s ease;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a::before {
    content: "›";
    flex: 0 0 auto;
    opacity: .65;
    font-size: 18px;
    line-height: 1;
    transition: transform .2s ease, opacity .2s ease;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a:hover {
    color: var(--hgg-link-hover, var(--hgg-link, #007721));
    background: color-mix(in srgb, var(--hgg-link, #007721) 7%, transparent);
    padding-left: 10px;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a:hover::before,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a:hover::before,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a:hover::before,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a:hover::before {
    opacity: 1;
    transform: translateX(2px);
}

/* Stronger footer protection: blog widget styles never win inside the footer. */
body.huuguu-blog-single:not(.elementor-page) .site-footer .widget,
body.huuguu-blog-archive:not(.elementor-page) .site-footer .widget,
body.huuguu-blog-single:not(.elementor-page) .site-footer .widget_block,
body.huuguu-blog-archive:not(.elementor-page) .site-footer .widget_block,
body.huuguu-blog-single:not(.elementor-page) .site-footer .wp-block-group,
body.huuguu-blog-archive:not(.elementor-page) .site-footer .wp-block-group,
body.huuguu-blog-single:not(.elementor-page) .site-footer .huu-pro-widget,
body.huuguu-blog-archive:not(.elementor-page) .site-footer .huu-pro-widget {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--hgg-footer-text, #ffffff) !important;
}

body.huuguu-blog-single:not(.elementor-page) .site-footer .widget-title,
body.huuguu-blog-archive:not(.elementor-page) .site-footer .widget-title,
body.huuguu-blog-single:not(.elementor-page) .site-footer .wp-block-heading,
body.huuguu-blog-archive:not(.elementor-page) .site-footer .wp-block-heading,
body.huuguu-blog-single:not(.elementor-page) .site-footer h1,
body.huuguu-blog-archive:not(.elementor-page) .site-footer h1,
body.huuguu-blog-single:not(.elementor-page) .site-footer h2,
body.huuguu-blog-archive:not(.elementor-page) .site-footer h2,
body.huuguu-blog-single:not(.elementor-page) .site-footer h3,
body.huuguu-blog-archive:not(.elementor-page) .site-footer h3 {
    color: var(--hgg-footer-heading, var(--hgg-footer-text, #ffffff)) !important;
}

body.huuguu-blog-single:not(.elementor-page) .site-footer a,
body.huuguu-blog-archive:not(.elementor-page) .site-footer a {
    color: var(--hgg-footer-link, var(--hgg-footer-text, #ffffff)) !important;
}

body.huuguu-blog-single:not(.elementor-page) .site-footer a:hover,
body.huuguu-blog-archive:not(.elementor-page) .site-footer a:hover,
body.huuguu-blog-single:not(.elementor-page) .site-footer a:focus,
body.huuguu-blog-archive:not(.elementor-page) .site-footer a:focus {
    color: var(--hgg-footer-link-hover, var(--hgg-footer-link-active, var(--hgg-footer-link, #ffffff))) !important;
}

/* Blog polish v8: Blog General controls, sidebar search layout and pagination breathing room. */
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-form,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: end !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__label {
    display: block !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    font-weight: 800 !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label .search-field {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-top: 10px !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="search"],
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__input {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 46px !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-submit,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="submit"],
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button {
    min-height: 46px !important;
    align-self: end !important;
}

@media (max-width: 640px) {
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-form,
    body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search {
        grid-template-columns: 1fr !important;
    }
}

body.blog:not(.elementor-page) .hgg-post-card .entry-title,
body.archive:not(.elementor-page) .hgg-post-card .entry-title,
body.search:not(.elementor-page) .hgg-post-card .entry-title,
body.single-post:not(.elementor-page) .entry-title,
body.single-post:not(.elementor-page) .huuguu-related-posts .entry-title {
    color: var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-text, #172033))) !important;
}

body.blog:not(.elementor-page) .hgg-post-card .entry-meta,
body.archive:not(.elementor-page) .hgg-post-card .entry-meta,
body.search:not(.elementor-page) .hgg-post-card .entry-meta,
body.single-post:not(.elementor-page) .entry-meta,
body.single-post:not(.elementor-page) .huuguu-related-posts .entry-meta {
    color: var(--hgg-blog-meta, var(--hgg-muted, #5d6781)) !important;
}

body.blog:not(.elementor-page) .hgg-post-card .entry-summary,
body.archive:not(.elementor-page) .hgg-post-card .entry-summary,
body.search:not(.elementor-page) .hgg-post-card .entry-summary,
body.single-post:not(.elementor-page) .huuguu-related-posts .entry-summary {
    color: var(--hgg-blog-excerpt, var(--hgg-muted, #5d6781)) !important;
}

body.huuguu-blog-single:not(.elementor-page) .entry-content a:not(.button):not(.wp-block-button__link),
body.huuguu-blog-archive:not(.elementor-page) .entry-summary a:not(.button):not(.wp-block-button__link) {
    color: var(--hgg-blog-link, var(--hgg-link, #007721));
}

body.huuguu-blog-single:not(.elementor-page) .entry-content a:not(.button):not(.wp-block-button__link):hover,
body.huuguu-blog-archive:not(.elementor-page) .entry-summary a:not(.button):not(.wp-block-button__link):hover {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover, #045F12));
}

body.blog:not(.elementor-page) .hgg-post-card .hgg-read-more,
body.archive:not(.elementor-page) .hgg-post-card .hgg-read-more,
body.search:not(.elementor-page) .hgg-post-card .hgg-read-more,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .hgg-read-more,
body.single-post:not(.elementor-page) .comment-respond .form-submit .submit {
    background: var(--hgg-blog-readmore-bg, var(--hgg-button-bg, var(--hgg-primary, #007721))) !important;
    color: var(--hgg-blog-readmore-text, var(--hgg-button-text, #fff)) !important;
}

body.blog:not(.elementor-page) .hgg-post-card .hgg-read-more:hover,
body.archive:not(.elementor-page) .hgg-post-card .hgg-read-more:hover,
body.search:not(.elementor-page) .hgg-post-card .hgg-read-more:hover,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .hgg-read-more:hover,
body.single-post:not(.elementor-page) .comment-respond .form-submit .submit:hover {
    background: var(--hgg-blog-readmore-hover-bg, var(--hgg-button-hover-bg, var(--hgg-primary-hover, #045F12))) !important;
    color: var(--hgg-blog-readmore-hover-text, var(--hgg-button-hover-text, #fff)) !important;
}

body:not(.elementor-page) .navigation.pagination {
    margin-bottom: var(--hgg-blog-pagination-spacing-bottom, 48px) !important;
}

body:not(.elementor-page) .page-numbers,
body:not(.elementor-page) .comments-pagination a,
body:not(.elementor-page) .comments-pagination span {
    background: var(--hgg-blog-pagination-bg, var(--hgg-content-surface-bg, #fff)) !important;
    color: var(--hgg-blog-pagination-text, var(--hgg-text, #172033)) !important;
}

body:not(.elementor-page) .page-numbers.current,
body:not(.elementor-page) .page-numbers:hover,
body:not(.elementor-page) .comments-pagination a:hover,
body:not(.elementor-page) .comments-pagination .current {
    background: var(--hgg-blog-pagination-current-bg, var(--hgg-blog-readmore-bg, var(--hgg-primary, #007721))) !important;
    color: var(--hgg-blog-pagination-current-text, #fff) !important;
}
/* Blog sidebar final fix: search layout + category/list widgets.
   Keep this scoped to the real blog sidebar so footer widgets are never affected. */
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search {
    display: block !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search .widget-title,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .widget-title,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search .wp-block-heading,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .wp-block-heading {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search form,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search form,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search .search-form,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search label,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label {
    grid-column: 1 / 2 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    flex: initial !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search label .search-field,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label .search-field,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search input[type="search"],
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="search"] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    border: 1px solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) !important;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px)) !important;
    background: var(--hgg-content-surface-bg, #fff) !important;
    color: var(--hgg-text, #172033) !important;
    box-shadow: none !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search .search-submit,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-submit,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search input[type="submit"],
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="submit"],
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search button,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search button {
    grid-column: 2 / 3 !important;
    width: auto !important;
    min-width: 90px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px)) !important;
    background: var(--hgg-button-bg, var(--hgg-primary, #007721)) !important;
    color: var(--hgg-button-text, #fff) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

@media (max-width: 520px) {
    body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search form,
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search form,
    body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search .search-form,
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-form {
        grid-template-columns: 1fr !important;
    }

    body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search label,
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label,
    body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search .search-submit,
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search .search-submit,
    body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search input[type="submit"],
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search input[type="submit"],
    body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search button,
    body:not(.elementor-page) .huuguu-blog-sidebar .widget_search button {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories ul,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories ul,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive ul,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive ul,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries ul,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 0 !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories li,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories li,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories li,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive li,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive li,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries li,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries li {
    margin: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) 82%, transparent) !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 12px 10px 12px 22px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--hgg-blog-link, var(--hgg-link, var(--hgg-text, #172033))) !important;
    text-decoration: none !important;
    transition: color .2s ease, background-color .2s ease, padding-left .2s ease !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a::before,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a::before,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a::before {
    content: "›" !important;
    position: absolute !important;
    left: 6px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    opacity: .7 !important;
    color: currentColor !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a::before {
    content: "" !important;
    position: absolute !important;
    left: 6px !important;
    top: 50% !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 999px !important;
    background: currentColor !important;
    transform: translateY(-50%) !important;
    opacity: .35 !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a:hover {
    padding-left: 28px !important;
    background: color-mix(in srgb, var(--hgg-content-surface-bg, #fff) 88%, var(--hgg-primary, #007721) 12%) !important;
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover, var(--hgg-primary, #007721))) !important;
}

/* Blog sidebar v10: compact widget rhythm, stable search form and unified list widgets. */
@media (min-width: 1025px) {
  body:not(.elementor-page) .huuguu-blog-sidebar {
    border-left: 1px solid color-mix(in srgb, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) 72%, transparent);
    padding-left: clamp(22px, 2.4vw, 34px);
  }
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_block {
  padding: 0 20px 0 !important;
  margin: 0 0 clamp(24px, 3vw, 34px) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget-title,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-heading {
  margin: 0 0 14px !important;
  color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search form,
body:not(.elementor-page) .huuguu-blog-sidebar form[role="search"] {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__label,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_search label,
body:not(.elementor-page) .huuguu-blog-sidebar form[role="search"] label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  font-weight: 800;
  line-height: 1.25;
  color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__inside-wrapper,
body:not(.elementor-page) .huuguu-blog-sidebar .search-form {
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__input,
body:not(.elementor-page) .huuguu-blog-sidebar .search-field,
body:not(.elementor-page) .huuguu-blog-sidebar input[type="search"] {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  margin: 0 !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button,
body:not(.elementor-page) .huuguu-blog-sidebar .search-submit,
body:not(.elementor-page) .huuguu-blog-sidebar button[type="submit"] {
  flex: 0 0 auto !important;
  height: 44px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-group,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-group__inner-container,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-columns,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-column {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries ul,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories ul,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive ul,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories-list,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries li,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories li,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories-list li,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) 70%, transparent) !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories-list a,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 44px !important;
  padding: 10px 0 !important;
  border: 0 !important;
  color: var(--hgg-text, #172033) !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  transition: color .18s ease, padding-left .18s ease, background-color .18s ease !important;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories-list a::before,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a::before {
  content: "›";
  flex: 0 0 auto;
  opacity: .65;
  font-size: 16px;
  line-height: 1;
  color: currentColor;
}

body:not(.elementor-page) .huuguu-blog-sidebar .widget_recent_entries a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .widget_archive a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-latest-posts a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-categories-list a:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-archives a:hover {
  color: var(--hgg-link-hover, var(--hgg-link, #007721)) !important;
  padding-left: 6px !important;
}

/* Huuguu navigation + blog final polish v12.
   Focus: mobile breadcrumb scroll, mobile account/cart actions, sidebar widgets,
   archive/single consistency and safe footer scope. */

/* Breadcrumb: compact horizontal scrolling on tablet/mobile. */
@media (max-width: 1024px) {
  .huuguu-global-breadcrumb-bar {
    overflow: hidden !important;
  }

  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb::-webkit-scrollbar,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready::-webkit-scrollbar {
    display: none !important;
  }

  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > *,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > * {
    flex: 0 0 auto !important;
  }

  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-current {
    max-width: 72vw !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* Mobile/tablet menu actions: account/cart/search/CTA should look intentional. */
@media (max-width: 1100px) {
  .huuguu-mobile-panel .mobile-actions {
    display: grid !important;
    gap: 12px !important;
    padding-top: 14px !important;
    margin-top: 14px !important;
    border-top: 1px solid var(--hgg-mobile-menu-border, var(--hgg-border, #d8dfef)) !important;
  }

  .huuguu-mobile-panel .mobile-utility-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .huuguu-mobile-panel .mobile-utility-grid:empty,
  .huuguu-mobile-panel .mobile-actions:empty {
    display: none !important;
  }

  .huuguu-mobile-panel .hgg-header-link--mobile-panel,
  .huuguu-mobile-panel .hgg-header-link--mobile-top {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 40px !important;
    padding: 9px 12px !important;
    border: 1px solid var(--hgg-mobile-menu-border, var(--hgg-border, #d8dfef)) !important;
    border-radius: var(--hgg-mobile-toggle-radius, 12px) !important;
    background: color-mix(in srgb, var(--hgg-mobile-menu-bg, #fff) 88%, var(--hgg-mobile-menu-link, #172033) 12%) !important;
    color: var(--hgg-mobile-menu-link, var(--hgg-text, #172033)) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
  }

  .huuguu-mobile-panel .hgg-header-link--mobile-panel:hover,
  .huuguu-mobile-panel .hgg-header-link--mobile-top:hover {
    color: var(--hgg-mobile-menu-active, var(--hgg-link-hover, #045F12)) !important;
  }

  .huuguu-mobile-panel .hgg-header-link--cart .hgg-header-link__label {
    display: inline-flex !important;
    gap: 4px !important;
  }

  .huuguu-mobile-panel .hgg-header-link--cart .hgg-cart-count {
    margin-left: 4px !important;
  }

  .huuguu-mobile-panel .header-search .search-form,
  .huuguu-mobile-panel .header-search form[role="search"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .huuguu-mobile-panel .header-search input[type="search"],
  .huuguu-mobile-panel .header-search .search-field {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    border-radius: var(--hgg-mobile-toggle-radius, 12px) !important;
  }

  .huuguu-mobile-panel .header-search .search-submit,
  .huuguu-mobile-panel .header-search button[type="submit"] {
    min-height: 44px !important;
    border-radius: var(--hgg-mobile-toggle-radius, 12px) !important;
  }
}

/* Mobile panel sizing: different useful widths for mobile and tablet. */
@media (max-width: 767px) {
  .site-header.is-mobile-menu-open,
  .huuguu-mobile-menu-open .site-header {
    width: min(92vw, 360px) !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .site-header.is-mobile-menu-open,
  .huuguu-mobile-menu-open .site-header {
    width: min(86vw, 560px) !important;
  }
}

/* Blog layout: no sidebar must not reserve a sidebar column. */
body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--no-sidebar,
body.blog:not(.elementor-page) .huuguu-blog-wrap--no-sidebar,
body.archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar,
body.search:not(.elementor-page) .huuguu-blog-wrap--no-sidebar,
body.single-post:not(.elementor-page) .huuguu-blog-wrap--no-sidebar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-primary,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-primary,
body.blog:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-primary,
body.archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-primary,
body.search:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-primary,
body.single-post:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-primary {
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
}

body.huuguu-blog-archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-blog-sidebar,
body.huuguu-blog-single:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-blog-sidebar,
body.blog:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-blog-sidebar,
body.archive:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-blog-sidebar,
body.search:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-blog-sidebar,
body.single-post:not(.elementor-page) .huuguu-blog-wrap--no-sidebar > .huuguu-blog-sidebar {
  display: none !important;
}

/* Archive style: card/list should be predictable. */
body.huuguu-blog-archive-style-card:not(.elementor-page) .huuguu-post-grid {
  display: grid !important;
  gap: var(--hgg-blog-archive-gap, 24px) !important;
}
body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-1:not(.elementor-page) .huuguu-post-grid { grid-template-columns: 1fr !important; }
body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-2:not(.elementor-page) .huuguu-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-3:not(.elementor-page) .huuguu-post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-4:not(.elementor-page) .huuguu-post-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: var(--hgg-blog-archive-gap, 24px) !important;
}

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card {
  display: grid !important;
  grid-template-columns: minmax(220px, 36%) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
}

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail {
  height: 100% !important;
  min-height: 220px !important;
  margin: 0 !important;
}

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .hgg-card__body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

@media (max-width: 900px) {
  body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-3:not(.elementor-page) .huuguu-post-grid,
  body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-4:not(.elementor-page) .huuguu-post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.huuguu-blog-archive-style-list:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.huuguu-blog-archive-style-card:not(.elementor-page) .huuguu-post-grid,
  body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-2:not(.elementor-page) .huuguu-post-grid,
  body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-3:not(.elementor-page) .huuguu-post-grid,
  body.huuguu-blog-archive-style-card.huuguu-blog-archive-columns-4:not(.elementor-page) .huuguu-post-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Archive and related posts share the same interaction model. */
body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
  will-change: transform !important;
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 46px rgba(17, 34, 68, .13) !important;
  border-color: color-mix(in srgb, var(--hgg-primary, #007721) 30%, var(--hgg-border, #d8dfef)) !important;
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .post-thumbnail {
  position: relative !important;
  overflow: hidden !important;
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail img,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail img,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card .post-thumbnail img,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card .post-thumbnail img {
  transition: transform .35s ease, opacity .35s ease !important;
}

body.blog:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover .post-thumbnail img,
body.archive:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover .post-thumbnail img,
body.search:not(.elementor-page) .huuguu-post-grid > article.hgg-post-card:hover .post-thumbnail img,
body.single-post:not(.elementor-page) .huuguu-related-posts .hgg-post-card:hover .post-thumbnail img {
  transform: scale(1.035) !important;
  opacity: .96 !important;
}

/* Single header: meta follows title alignment. */
body.single-post:not(.elementor-page) .hgg-single-card > .entry-header {
  text-align: var(--hgg-page-title-align, left) !important;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header .entry-meta {
  justify-content: var(--hgg-entry-meta-align, center) !important;
}

body.single-post:not(.elementor-page) .hgg-single-card > .entry-header[style*="left"] .entry-meta,
body.single-post:not(.elementor-page) .hgg-single-card > .entry-header.alignleft .entry-meta {
  justify-content: flex-start !important;
}

/* Blog sidebar final: compact, consistent, and scoped only to blog sidebar. */
@media (min-width: 1025px) {
  body:not(.elementor-page) aside.huuguu-blog-sidebar {
    border-left: 1px solid color-mix(in srgb, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) 70%, transparent) !important;
    padding-left: clamp(18px, 2vw, 28px) !important;
  }
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_block,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-group,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-group__inner-container {
  padding: 0 !important;
  margin: 0 0 clamp(22px, 2.6vw, 32px) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .widget-title,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-heading {
  margin: 0 0 12px !important;
  color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search form,
body:not(.elementor-page) aside.huuguu-blog-sidebar form[role="search"] {
  display: block !important;
  width: 100% !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__label,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search label,
body:not(.elementor-page) aside.huuguu-blog-sidebar form[role="search"] label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  font-weight: 800 !important;
  color: var(--hgg-heading-color, var(--hgg-text, #172033)) !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__inside-wrapper,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__input,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-field,
body:not(.elementor-page) aside.huuguu-blog-sidebar input[type="search"] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  margin: 0 !important;
  border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px)) !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"] {
  min-width: auto !important;
  width: auto !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 10px 18px !important;
  border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px)) !important;
  background: var(--hgg-blog-read-more-bg, var(--hgg-primary, #007721)) !important;
  color: var(--hgg-blog-read-more-text, #fff) !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"]:hover {
  background: var(--hgg-blog-read-more-hover-bg, var(--hgg-primary-dark, #045F12)) !important;
  color: var(--hgg-blog-read-more-hover-text, #fff) !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-latest-posts,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories-list,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-archives,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries ul,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories ul,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-latest-posts li,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories li,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories-list li,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-archives li,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries li,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories li,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) 70%, transparent) !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-latest-posts a,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories a,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories-list a,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-archives a,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries a,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories a,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 8px 10px 22px !important;
  color: var(--hgg-blog-link, var(--hgg-link, var(--hgg-text, #172033))) !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  transition: color .18s ease, background-color .18s ease, padding-left .18s ease !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-latest-posts a::before,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories a::before,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories-list a::before,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-archives a::before,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries a::before,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories a::before,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive a::before {
  content: "›" !important;
  position: absolute !important;
  left: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  opacity: .65 !important;
  color: currentColor !important;
}

body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-latest-posts a:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories a:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-categories-list a:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-archives a:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_recent_entries a:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_categories a:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_archive a:hover {
  padding-left: 28px !important;
  border-radius: calc(var(--hgg-content-radius, var(--hgg-radius, 12px)) * .75) !important;
  background: color-mix(in srgb, var(--hgg-content-surface-bg, #fff) 86%, var(--hgg-primary, #007721) 14%) !important;
  color: var(--hgg-blog-link-hover, var(--hgg-link-hover, var(--hgg-primary, #007721))) !important;
}

/* Footer should not inherit blog widget color/card styles. */
.site-footer .widget,
.site-footer .widget_block,
.site-footer .wp-block-group,
.site-footer .wp-block-group__inner-container {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.site-footer .widget-title,
.site-footer .wp-block-heading {
  color: inherit !important;
}

/* Huuguu v14: hard connection fixes for Woo single, breadcrumb scroll, header account/cart and blog controls. */

/* Breadcrumb: true horizontal scroll on tablet/mobile, no truncation. */
@media (max-width: 1024px) {
  .huuguu-global-breadcrumb-bar {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .huuguu-global-breadcrumb-bar::-webkit-scrollbar { display: none !important; }
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
    white-space: nowrap !important;
  }
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > *,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > * {
    flex: 0 0 auto !important;
  }
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-current {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }
}

/* Header Woo actions: desktop/topbar account and cart must not render as raw links. */
.header-actions .hgg-header-link,
.mobile-topbar-actions .hgg-header-link,
.huuguu-mobile-panel .hgg-header-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
  border: 1px solid var(--hgg-border, #d8dfef) !important;
  border-radius: var(--hgg-mobile-toggle-radius, var(--hgg-content-radius, 12px)) !important;
  background: var(--hgg-surface, #ffffff) !important;
  color: var(--hgg-link, #007721) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.header-actions .hgg-header-link:hover,
.header-actions .hgg-header-link:focus-visible,
.mobile-topbar-actions .hgg-header-link:hover,
.mobile-topbar-actions .hgg-header-link:focus-visible,
.huuguu-mobile-panel .hgg-header-link:hover,
.huuguu-mobile-panel .hgg-header-link:focus-visible {
  color: var(--hgg-link-hover, #045F12) !important;
  border-color: currentColor !important;
}
.header-actions .hgg-header-link--cart .hgg-header-link__label,
.mobile-topbar-actions .hgg-header-link--cart .hgg-header-link__label,
.huuguu-mobile-panel .hgg-header-link--cart .hgg-header-link__label {
  margin-right: 4px !important;
}
.header-actions .hgg-cart-count,
.mobile-topbar-actions .hgg-cart-count,
.huuguu-mobile-panel .hgg-cart-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  background: var(--hgg-header-cart-badge-bg, var(--hgg-primary, #007721)) !important;
  color: var(--hgg-header-cart-badge-text, #ffffff) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.mobile-topbar-actions .hgg-header-link--mobile-top {
  padding: 8px 10px !important;
  border-color: transparent !important;
  background: transparent !important;
}

/* WooCommerce single: product top must be gallery left + summary right; tabs below. */
body.single-product.woocommerce div.product,
body.single-product.woocommerce-page div.product,
body.single-product .woocommerce div.product {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.95fr) minmax(320px, 1.05fr) !important;
  gap: var(--hgg-wc-single-gap, 40px) !important;
  align-items: start !important;
  width: 100% !important;
}
body.single-product.woocommerce div.product .woocommerce-product-gallery,
body.single-product.woocommerce-page div.product .woocommerce-product-gallery,
body.single-product .woocommerce div.product .woocommerce-product-gallery {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
}
body.single-product.woocommerce div.product .summary,
body.single-product.woocommerce div.product .summary.entry-summary,
body.single-product.woocommerce-page div.product .summary,
body.single-product.woocommerce-page div.product .summary.entry-summary,
body.single-product .woocommerce div.product .summary,
body.single-product .woocommerce div.product .summary.entry-summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: var(--hgg-wc-single-summary-max, 600px) !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
}
body.single-product.woocommerce div.product .woocommerce-tabs,
body.single-product.woocommerce-page div.product .woocommerce-tabs,
body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product.woocommerce div.product .related,
body.single-product.woocommerce-page div.product .related,
body.single-product .woocommerce div.product .related,
body.single-product.woocommerce div.product .upsells,
body.single-product.woocommerce-page div.product .upsells,
body.single-product .woocommerce div.product .upsells {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  clear: both !important;
}
@media (max-width: 900px) {
  body.single-product.woocommerce div.product,
  body.single-product.woocommerce-page div.product,
  body.single-product .woocommerce div.product {
    grid-template-columns: 1fr !important;
  }
  body.single-product.woocommerce div.product .woocommerce-product-gallery,
  body.single-product.woocommerce-page div.product .woocommerce-product-gallery,
  body.single-product .woocommerce div.product .woocommerce-product-gallery,
  body.single-product.woocommerce div.product .summary,
  body.single-product.woocommerce div.product .summary.entry-summary,
  body.single-product.woocommerce-page div.product .summary,
  body.single-product.woocommerce-page div.product .summary.entry-summary,
  body.single-product .woocommerce div.product .summary,
  body.single-product .woocommerce div.product .summary.entry-summary {
    grid-column: 1 !important;
    max-width: none !important;
  }
}

/* Blog title color control: archive title, single title and card/related titles. */
body.blog:not(.elementor-page) .page-title,
body.archive:not(.elementor-page) .page-title,
body.search:not(.elementor-page) .page-title,
body.single-post:not(.elementor-page) .entry-title,
body.blog:not(.elementor-page) .hgg-post-card .entry-title,
body.blog:not(.elementor-page) .hgg-post-card .entry-title a,
body.archive:not(.elementor-page) .hgg-post-card .entry-title,
body.archive:not(.elementor-page) .hgg-post-card .entry-title a,
body.search:not(.elementor-page) .hgg-post-card .entry-title,
body.search:not(.elementor-page) .hgg-post-card .entry-title a,
body.single-post:not(.elementor-page) .huuguu-related-posts .entry-title,
body.single-post:not(.elementor-page) .huuguu-related-posts .entry-title a {
  color: var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-text, #172033))) !important;
}

/* Sidebar search button must use the same vars as Blog > General > Read more. */
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"] {
  background: var(--hgg-blog-readmore-bg, var(--hgg-primary, #007721)) !important;
  color: var(--hgg-blog-readmore-text, #ffffff) !important;
}
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"]:hover {
  background: var(--hgg-blog-readmore-hover-bg, var(--hgg-primary-dark, #045F12)) !important;
  color: var(--hgg-blog-readmore-hover-text, #ffffff) !important;
}


/* Huuguu v15: blog radius control, breadcrumb mobile trim, Woo single grid, cart icon and sidebar search. */
:root {
}

/* Blog buttons, search button and pagination share the same blog button radius. */
body:not(.elementor-page) .hgg-read-more,
body:not(.elementor-page) .hgg-archive-card .hgg-read-more,
body:not(.elementor-page) .hgg-related-card .hgg-read-more,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button,
body:not(.elementor-page) .huuguu-blog-sidebar .search-submit,
body:not(.elementor-page) .huuguu-blog-sidebar button[type="submit"],
body:not(.elementor-page) .pagination a,
body:not(.elementor-page) .pagination span,
body:not(.elementor-page) .nav-links .page-numbers {
  border-radius: var(--hgg-blog-button-radius, var(--hgg-content-radius, var(--hgg-radius, 12px))) !important;
}

/* Sidebar search: label above, input keeps available width, button follows Read more colors. */
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search form,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search {
  display: block !important;
  width: 100% !important;
}
body:not(.elementor-page) aside.huuguu-blog-sidebar .widget_search label,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  color: var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-text, #172033))) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__inside-wrapper,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-form > div,
body:not(.elementor-page) aside.huuguu-blog-sidebar form[role="search"] > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
}
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__input,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-field,
body:not(.elementor-page) aside.huuguu-blog-sidebar input[type="search"] {
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, var(--hgg-border, #d8dfef)) !important;
  border-radius: var(--hgg-content-radius, var(--hgg-radius, 12px)) !important;
  background: var(--hgg-content-surface-bg, #fff) !important;
  color: var(--hgg-text, #172033) !important;
  box-shadow: none !important;
}
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"] {
  width: auto !important;
  min-width: 88px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 10px 18px !important;
  border: 0 !important;
  background: var(--hgg-blog-readmore-bg, var(--hgg-primary, #007721)) !important;
  color: var(--hgg-blog-readmore-text, #ffffff) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"]:hover {
  background: var(--hgg-blog-readmore-hover-bg, var(--hgg-primary-hover, #045F12)) !important;
  color: var(--hgg-blog-readmore-hover-text, #ffffff) !important;
}

/* Breadcrumb: compact item padding and real horizontal scroll on tablet/mobile. */
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > span,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > span,
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > a,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > a {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media (max-width: 1100px) {
  .huuguu-global-breadcrumb-bar {
    overflow: hidden !important;
  }
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding-left: var(--hgg-wc-breadcrumb-pad-x, 12px) !important;
    padding-right: var(--hgg-wc-breadcrumb-pad-x, 12px) !important;
  }
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb::-webkit-scrollbar,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready::-webkit-scrollbar {
    display: none !important;
  }
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-current {
    flex: 0 0 auto !important;
    max-width: none !important;
  }
}

/* WooCommerce single: grid belongs to the top wrapper, not the product root. */
body.single-product .huuguu-wc-single-main,
body.single-product.woocommerce .huuguu-wc-single-main,
body.single-product.woocommerce-page .huuguu-wc-single-main {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.95fr) minmax(320px, 1.05fr) !important;
  gap: var(--hgg-wc-single-gap, 40px) !important;
  align-items: start !important;
  width: 100% !important;
}
body.single-product .huuguu-wc-single-main .woocommerce-product-gallery,
body.single-product.woocommerce .huuguu-wc-single-main .woocommerce-product-gallery,
body.single-product.woocommerce-page .huuguu-wc-single-main .woocommerce-product-gallery {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
}
body.single-product .huuguu-wc-single-main .summary,
body.single-product .huuguu-wc-single-main .summary.entry-summary,
body.single-product.woocommerce .huuguu-wc-single-main .summary,
body.single-product.woocommerce-page .huuguu-wc-single-main .summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: var(--hgg-wc-single-summary-max, 600px) !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
}
body.single-product .huuguu-wc-single-bottom,
body.single-product.woocommerce .huuguu-wc-single-bottom,
body.single-product.woocommerce-page .huuguu-wc-single-bottom {
  display: block !important;
  width: 100% !important;
  clear: both !important;
}
@media (max-width: 900px) {
  body.single-product .huuguu-wc-single-main,
  body.single-product.woocommerce .huuguu-wc-single-main,
  body.single-product.woocommerce-page .huuguu-wc-single-main {
    grid-template-columns: 1fr !important;
  }
  body.single-product .huuguu-wc-single-main .woocommerce-product-gallery,
  body.single-product .huuguu-wc-single-main .summary,
  body.single-product .huuguu-wc-single-main .summary.entry-summary {
    grid-column: 1 !important;
    max-width: none !important;
  }
}

/* Header account/cart actions: styled on desktop, compact icon cart on mobile topbar. */
.header-actions .hgg-header-link,
.mobile-topbar-actions .hgg-header-link,
.huuguu-mobile-panel .hgg-header-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
  border-radius: var(--hgg-mobile-button-radius, 999px) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--hgg-link, #007721) !important;
  border: 1px solid transparent !important;
}
.header-actions .hgg-header-link__icon,
.mobile-topbar-actions .hgg-header-link__icon,
.huuguu-mobile-panel .hgg-header-link__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
}
.mobile-topbar-actions .hgg-header-link--cart .hgg-header-link__label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.mobile-topbar-actions .hgg-header-link--cart {
  position: relative !important;
  min-width: 38px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
}
.mobile-topbar-actions .hgg-header-link--cart .hgg-cart-count {
  position: absolute !important;
  top: -5px !important;
  right: -5px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  font-size: 11px !important;
}



/* Huuguu v16: canonical blog button system.
 * One source of truth for read more, header/sidebar search and pagination.
 */
:root {
  --hgg-blog-read-more-bg: var(--hgg-blog-readmore-bg, var(--hgg-button-bg, var(--hgg-primary, #007721)));
  --hgg-blog-read-more-text: var(--hgg-blog-readmore-text, var(--hgg-button-text, #ffffff));
}

body:not(.elementor-page) .hgg-read-more,
body:not(.elementor-page) .hgg-post-card .hgg-read-more,
body:not(.elementor-page) .hgg-archive-card .hgg-read-more,
body:not(.elementor-page) .hgg-related-card .hgg-read-more,
body:not(.elementor-page) .huuguu-related-posts .hgg-read-more,
body:not(.elementor-page) .header-search .search-submit,
body:not(.elementor-page) .header-search button[type="submit"],
body:not(.elementor-page) .header-search input[type="submit"],
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"],
body:not(.elementor-page) aside.huuguu-blog-sidebar input[type="submit"],
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button,
body:not(.elementor-page) .huuguu-blog-sidebar .search-submit,
body:not(.elementor-page) .huuguu-blog-sidebar button[type="submit"],
body:not(.elementor-page) .huuguu-blog-sidebar input[type="submit"],
body:not(.elementor-page) .navigation.pagination .page-numbers,
body:not(.elementor-page) .nav-links .page-numbers,
body:not(.elementor-page) .comments-pagination a,
body:not(.elementor-page) .comments-pagination span {
  border-radius: var(--hgg-blog-button-radius, var(--hgg-content-radius, var(--hgg-radius, 12px))) !important;
}

body:not(.elementor-page) .hgg-read-more,
body:not(.elementor-page) .hgg-post-card .hgg-read-more,
body:not(.elementor-page) .hgg-archive-card .hgg-read-more,
body:not(.elementor-page) .hgg-related-card .hgg-read-more,
body:not(.elementor-page) .huuguu-related-posts .hgg-read-more,
body:not(.elementor-page) .header-search .search-submit,
body:not(.elementor-page) .header-search button[type="submit"],
body:not(.elementor-page) .header-search input[type="submit"],
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"],
body:not(.elementor-page) aside.huuguu-blog-sidebar input[type="submit"],
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button,
body:not(.elementor-page) .huuguu-blog-sidebar .search-submit,
body:not(.elementor-page) .huuguu-blog-sidebar button[type="submit"],
body:not(.elementor-page) .huuguu-blog-sidebar input[type="submit"] {
  background: var(--hgg-blog-read-more-bg, var(--hgg-button-bg, var(--hgg-primary, #007721))) !important;
  color: var(--hgg-blog-read-more-text, var(--hgg-button-text, #ffffff)) !important;
}

body:not(.elementor-page) .hgg-read-more:hover,
body:not(.elementor-page) .hgg-read-more:focus,
body:not(.elementor-page) .hgg-post-card .hgg-read-more:hover,
body:not(.elementor-page) .hgg-post-card .hgg-read-more:focus,
body:not(.elementor-page) .hgg-archive-card .hgg-read-more:hover,
body:not(.elementor-page) .hgg-archive-card .hgg-read-more:focus,
body:not(.elementor-page) .hgg-related-card .hgg-read-more:hover,
body:not(.elementor-page) .hgg-related-card .hgg-read-more:focus,
body:not(.elementor-page) .huuguu-related-posts .hgg-read-more:hover,
body:not(.elementor-page) .huuguu-related-posts .hgg-read-more:focus,
body:not(.elementor-page) .header-search .search-submit:hover,
body:not(.elementor-page) .header-search .search-submit:focus,
body:not(.elementor-page) .header-search button[type="submit"]:hover,
body:not(.elementor-page) .header-search button[type="submit"]:focus,
body:not(.elementor-page) .header-search input[type="submit"]:hover,
body:not(.elementor-page) .header-search input[type="submit"]:focus,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .wp-block-search__button:focus,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar .search-submit:focus,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"]:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar button[type="submit"]:focus,
body:not(.elementor-page) aside.huuguu-blog-sidebar input[type="submit"]:hover,
body:not(.elementor-page) aside.huuguu-blog-sidebar input[type="submit"]:focus,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .wp-block-search__button:focus,
body:not(.elementor-page) .huuguu-blog-sidebar .search-submit:hover,
body:not(.elementor-page) .huuguu-blog-sidebar .search-submit:focus,
body:not(.elementor-page) .huuguu-blog-sidebar button[type="submit"]:hover,
body:not(.elementor-page) .huuguu-blog-sidebar button[type="submit"]:focus,
body:not(.elementor-page) .huuguu-blog-sidebar input[type="submit"]:hover,
body:not(.elementor-page) .huuguu-blog-sidebar input[type="submit"]:focus {
  background: var(--hgg-blog-read-more-hover-bg, var(--hgg-blog-read-more-bg, var(--hgg-button-hover-bg, var(--hgg-primary-dark, #045F12)))) !important;
  color: var(--hgg-blog-read-more-hover-text, var(--hgg-blog-read-more-text, var(--hgg-button-hover-text, #ffffff))) !important;
}

body:not(.elementor-page) .navigation.pagination .page-numbers.current,
body:not(.elementor-page) .navigation.pagination .page-numbers:hover,
body:not(.elementor-page) .navigation.pagination .page-numbers:focus,
body:not(.elementor-page) .nav-links .page-numbers.current,
body:not(.elementor-page) .nav-links .page-numbers:hover,
body:not(.elementor-page) .nav-links .page-numbers:focus,
body:not(.elementor-page) .comments-pagination a:hover,
body:not(.elementor-page) .comments-pagination a:focus,
body:not(.elementor-page) .comments-pagination .current {
  border-color: var(--hgg-blog-read-more-bg, var(--hgg-primary, #007721)) !important;
  background: var(--hgg-blog-read-more-bg, var(--hgg-primary, #007721)) !important;
  color: var(--hgg-blog-read-more-text, #ffffff) !important;
}

/* === V17 WooCommerce archive/taxonomy/single cleanup layer ===
 * Final layer while the legacy WooCommerce CSS is being reduced.
 * Customizer source of truth:
 * - General: loop alignment, button colors/radius, sale badge, header cart/account.
 * - Archive and taxonomy: layout mode, container width, columns, full-width button.
 * - Single product: gallery/summary ratio, gap, card, tabs, sticky and typography tokens.
 */
body.post-type-archive-product .huuguu-content-wrap,
body.woocommerce-shop .huuguu-content-wrap {
    width: min(100% - 2rem, var(--hgg-wc-archive-container, var(--hgg-container, 1240px))) !important;
    max-width: var(--hgg-wc-archive-container, var(--hgg-container, 1240px)) !important;
    margin-inline: auto !important;
}

body.tax-product_cat .huuguu-content-wrap,
body.tax-product_tag .huuguu-content-wrap,
body.tax-product_brand .huuguu-content-wrap,
body.woocommerce-wc-product_cat .huuguu-content-wrap {
    width: min(100% - 2rem, var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px))) !important;
    max-width: var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px)) !important;
    margin-inline: auto !important;
}

body.post-type-archive-product ul.products,
body.woocommerce-shop ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.tax-product_brand ul.products,
body.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(var(--hgg-wc-archive-cols-desktop, var(--hgg-wc-archive-columns-desktop, 3)), minmax(0, 1fr)) !important;
    gap: clamp(18px, 2vw, 28px) !important;
    align-items: stretch !important;
    margin: 1.5rem 0 0 !important;
    padding: 0 !important;
}

body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after {
    content: none !important;
    display: none !important;
}

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
    width: auto !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: clamp(14px, 1.6vw, 20px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: .75rem !important;
    text-align: var(--hgg-wc-archive-content-align, var(--hgg-loop-content-align, left)) !important;
    background: var(--hgg-surface, #fff) !important;
    border: 1px solid rgba(23, 32, 51, .08) !important;
    border-radius: var(--hgg-wc-loop-card-radius, var(--hgg-radius, 18px)) !important;
    box-shadow: 0 14px 34px rgba(17, 34, 68, .08) !important;
}

body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin: 0 0 .75rem !important;
    border-radius: max(calc(var(--hgg-wc-loop-card-radius, var(--hgg-radius, 18px)) - 8px), 8px) !important;
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    color: var(--hgg-link-color, var(--hgg-primary, #246de8)) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price {
    color: var(--hgg-wc-single-price, var(--hgg-text, #172033)) !important;
    display: flex !important;
    justify-content: var(--hgg-loop-price-justify, flex-start) !important;
    margin: 0 !important;
}

body.woocommerce ul.products li.product .button,
body.woocommerce-page ul.products li.product .button,
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce #respond input#submit,
body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page input.button,
body.woocommerce-page #respond input#submit {
    display: var(--hgg-wc-archive-button-display, var(--hgg-wc-button-display-desktop, inline-flex)) !important;
    width: var(--hgg-wc-archive-button-width, var(--hgg-wc-button-width-desktop, auto)) !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: .78rem 1.15rem !important;
    border: 0 !important;
    border-radius: var(--hgg-wc-button-radius, var(--hgg-wc-single-button-radius, 16px)) !important;
    background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
    color: var(--hgg-wc-button-text, #fff) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

body.woocommerce ul.products li.product .button:hover,
body.woocommerce-page ul.products li.product .button:hover,
body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce #respond input#submit:hover,
body.woocommerce a.button:focus,
body.woocommerce button.button:focus,
body.woocommerce input.button:focus,
body.woocommerce #respond input#submit:focus,
body.woocommerce-page a.button:hover,
body.woocommerce-page button.button:hover,
body.woocommerce-page input.button:hover,
body.woocommerce-page #respond input#submit:hover,
body.woocommerce-page a.button:focus,
body.woocommerce-page button.button:focus,
body.woocommerce-page input.button:focus,
body.woocommerce-page #respond input#submit:focus {
    background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark, #154fad)) !important;
    color: var(--hgg-wc-button-hover-text, #fff) !important;
}


@media (max-width: 1024px) {
    body.woocommerce ul.products li.product .button,
    body.woocommerce-page ul.products li.product .button,
    body.woocommerce a.button,
    body.woocommerce button.button,
    body.woocommerce input.button,
    body.woocommerce #respond input#submit,
    body.woocommerce-page a.button,
    body.woocommerce-page button.button,
    body.woocommerce-page input.button,
    body.woocommerce-page #respond input#submit {
        display: var(--hgg-wc-button-display-tablet, var(--hgg-wc-button-display-desktop, inline-flex)) !important;
        width: var(--hgg-wc-button-width-tablet, var(--hgg-wc-button-width-desktop, auto)) !important;
    }
}

@media (max-width: 767px) {
    body.woocommerce ul.products li.product .button,
    body.woocommerce-page ul.products li.product .button,
    body.woocommerce a.button,
    body.woocommerce button.button,
    body.woocommerce input.button,
    body.woocommerce #respond input#submit,
    body.woocommerce-page a.button,
    body.woocommerce-page button.button,
    body.woocommerce-page input.button,
    body.woocommerce-page #respond input#submit {
        display: var(--hgg-wc-button-display-mobile, var(--hgg-wc-button-display-tablet, flex)) !important;
        width: var(--hgg-wc-button-width-mobile, var(--hgg-wc-button-width-tablet, 100%)) !important;
    }
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap {
    width: min(100% - 2rem, var(--hgg-wc-single-container, var(--hgg-container, 1240px))) !important;
    max-width: var(--hgg-wc-single-container, var(--hgg-container, 1240px)) !important;
    margin-inline: auto !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product {
    display: block !important;
    max-width: var(--hgg-wc-single-content-max, 1360px) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
    display: grid !important;
    grid-template-columns: minmax(0, var(--hgg-wc-single-gallery-ratio, 50%)) minmax(0, var(--hgg-wc-single-summary-ratio, 50%)) !important;
    gap: var(--hgg-wc-single-gap, 40px) !important;
    align-items: start !important;
    width: 100% !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    max-width: var(--hgg-wc-single-summary-max, 600px) !important;
    justify-self: start !important;
    padding: var(--hgg-wc-single-summary-spacing, 24px) !important;
    background: var(--hgg-wc-single-product-bg, var(--hgg-surface, #fff)) !important;
    border: var(--hgg-wc-single-card-border, 1px) solid rgba(23, 32, 51, .08) !important;
    border-radius: var(--hgg-wc-single-card-radius, 24px) !important;
    box-shadow: var(--hgg-wc-single-card-shadow, none) !important;
}

body.single-product.huuguu-wc-single-style-clean div.product .summary,
body.woocommerce-page.single-product.huuguu-wc-single-style-clean div.product .summary {
    padding: 0 !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    position: sticky !important;
    top: var(--hgg-wc-single-sticky-top, 110px) !important;
    z-index: 1 !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom {
    display: block !important;
    width: 100% !important;
    margin-top: clamp(32px, 4vw, 56px) !important;
    clear: both !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom > .woocommerce-tabs,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom > .wc-tabs-wrapper,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom > .woocommerce-tabs,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom > .wc-tabs-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    background: transparent !important;
}

body.single-product .woocommerce-tabs .panel,
body.woocommerce-page.single-product .woocommerce-tabs .panel {
    background: var(--hgg-wc-single-tabs-bg, #fff) !important;
    border: 1px solid var(--hgg-wc-single-tabs-border, rgba(23, 32, 51, .12)) !important;
    border-radius: var(--hgg-wc-single-tabs-radius, 14px) !important;
    padding: max(22px, calc(var(--hgg-wc-single-tabs-spacing, 18px) + 12px)) !important;
    color: var(--hgg-wc-single-tabs-text, var(--hgg-text, #172033)) !important;
}

body.single-product div.product .product_title,
body.woocommerce-page.single-product div.product .product_title {
    font-size: clamp(2rem, 4vw, var(--hgg-wc-single-title-size, 52px)) !important;
    line-height: 1.08 !important;
    margin: 0 0 1rem !important;
}

body.single-product div.product p.price,
body.single-product div.product span.price,
body.woocommerce-page.single-product div.product p.price,
body.woocommerce-page.single-product div.product span.price {
    color: var(--hgg-wc-single-price, var(--hgg-text, #172033)) !important;
    font-size: clamp(1.5rem, 3vw, var(--hgg-wc-single-price-size, 36px)) !important;
    font-weight: 800 !important;
}

@media (max-width: 1024px) {
    body.woocommerce ul.products,
    body.woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
        grid-template-columns: 1fr !important;
        gap: max(24px, calc(var(--hgg-wc-single-gap, 40px) * .7)) !important;
    }

    body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
    body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
        position: relative !important;
        top: auto !important;
    }
}

@media (max-width: 640px) {
    body.woocommerce ul.products,
    body.woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
    }

    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap,
    body.post-type-archive-product .huuguu-content-wrap,
    body.woocommerce-shop .huuguu-content-wrap,
    body.tax-product_cat .huuguu-content-wrap,
    body.tax-product_tag .huuguu-content-wrap,
    body.tax-product_brand .huuguu-content-wrap {
        width: min(100% - 1.5rem, var(--hgg-container, 1240px)) !important;
    }
}

/* Huuguu v19: Woo cleanup after v18 feedback.
   Header account/cart inherit Woo General colors, single title uses Woo Single color,
   mobile gallery stays visible, and add-to-cart layout respects inline/block per breakpoint. */
.header-actions .hgg-header-link,
.mobile-topbar-actions .hgg-header-link,
.huuguu-mobile-panel .hgg-header-link {
    color: var(--hgg-wc-header-action-color, var(--hgg-wc-button-bg, var(--hgg-primary, #246de8))) !important;
}
.header-actions .hgg-header-link:hover,
.header-actions .hgg-header-link:focus,
.mobile-topbar-actions .hgg-header-link:hover,
.mobile-topbar-actions .hgg-header-link:focus,
.huuguu-mobile-panel .hgg-header-link:hover,
.huuguu-mobile-panel .hgg-header-link:focus {
    color: var(--hgg-wc-header-action-hover-color, var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark, #154fad))) !important;
}
.header-actions .hgg-header-link svg,
.mobile-topbar-actions .hgg-header-link svg,
.huuguu-mobile-panel .hgg-header-link svg {
    color: currentColor !important;
    fill: none !important;
    stroke: currentColor !important;
}

body.single-product div.product .summary .product_title,
body.woocommerce-page.single-product div.product .summary .product_title,
body.single-product div.product .product_title,
body.woocommerce-page.single-product div.product .product_title {
    color: var(--hgg-wc-single-title-color, var(--hgg-heading-color, var(--hgg-text, #172033))) !important;
}

@media (max-width: 900px) {
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery,
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        min-height: 1px !important;
        overflow: visible !important;
        position: relative !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: none !important;
    }
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product form.cart,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .85rem !important;
}
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product form.cart .single_add_to_cart_button,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product form.cart .single_add_to_cart_button {
    display: var(--hgg-wc-button-display-desktop, inline-flex) !important;
    width: var(--hgg-wc-button-width-desktop, auto) !important;
    flex: 0 0 var(--hgg-wc-button-width-desktop, auto) !important;
    border-radius: var(--hgg-wc-button-radius, var(--hgg-wc-single-button-radius, 16px)) !important;
}
@media (max-width: 1024px) {
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product form.cart .single_add_to_cart_button,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product form.cart .single_add_to_cart_button {
        display: var(--hgg-wc-button-display-tablet, var(--hgg-wc-button-display-desktop, inline-flex)) !important;
        width: var(--hgg-wc-button-width-tablet, var(--hgg-wc-button-width-desktop, auto)) !important;
        flex-basis: var(--hgg-wc-button-width-tablet, var(--hgg-wc-button-width-desktop, auto)) !important;
    }
}
@media (max-width: 767px) {
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product form.cart .single_add_to_cart_button,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product form.cart .single_add_to_cart_button {
        display: var(--hgg-wc-button-display-mobile, var(--hgg-wc-button-display-tablet, flex)) !important;
        width: var(--hgg-wc-button-width-mobile, var(--hgg-wc-button-width-tablet, 100%)) !important;
        flex-basis: var(--hgg-wc-button-width-mobile, var(--hgg-wc-button-width-tablet, 100%)) !important;
    }
}

/* === Huuguu v21: WooCommerce single wrapper follows setup spacing === */
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
    padding-top: var(--hgg-spacing-content_woocommerce-desktop-top, 24px) !important;
    padding-right: var(--hgg-spacing-content_woocommerce-desktop-right, 28px) !important;
    padding-bottom: var(--hgg-spacing-content_woocommerce-desktop-bottom, 28px) !important;
    padding-left: var(--hgg-spacing-content_woocommerce-desktop-left, 28px) !important;
    box-sizing: border-box !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product {
    display: block !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
    display: grid !important;
    grid-template-columns: minmax(0, var(--hgg-wc-single-gallery-ratio, 50%)) minmax(0, var(--hgg-wc-single-summary-ratio, 50%)) !important;
    gap: var(--hgg-wc-single-gap, 40px) !important;
    align-items: start !important;
    width: 100% !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .images,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .images {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary.entry-summary,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary.entry-summary {
    grid-column: 2 !important;
    width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs,
body.woocommerce-page.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
}

body.single-product .woocommerce-tabs ul.tabs li,
body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

body.single-product div.product .product_meta,
body.woocommerce-page.single-product div.product .product_meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    align-items: center !important;
    margin-top: 22px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(23,32,51,.10) !important;
    color: var(--hgg-muted, #5f6b7a) !important;
    font-size: .95rem !important;
}

body.single-product div.product .product_meta > span,
body.woocommerce-page.single-product div.product .product_meta > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

body.single-product div.product .summary .product_title,
body.woocommerce-page.single-product div.product .summary .product_title {
    color: var(--hgg-wc-single-title-color, var(--hgg-heading-color, var(--hgg-text, #172033))) !important;
}

@media (max-width: 1024px) and (min-width: 701px) {
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
        padding-top: var(--hgg-spacing-content_woocommerce-tablet-top, 20px) !important;
        padding-right: var(--hgg-spacing-content_woocommerce-tablet-right, 24px) !important;
        padding-bottom: var(--hgg-spacing-content_woocommerce-tablet-bottom, 24px) !important;
        padding-left: var(--hgg-spacing-content_woocommerce-tablet-left, 24px) !important;
    }
}

@media (max-width: 900px) {
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
        grid-template-columns: 1fr !important;
    }

    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .images,
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary,
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary.entry-summary,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .images,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary.entry-summary {
        grid-column: 1 !important;
        max-width: none !important;
    }
}

@media (max-width: 700px) {
    body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
    body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
        padding-top: var(--hgg-spacing-content_woocommerce-mobile-top, 16px) !important;
        padding-right: var(--hgg-spacing-content_woocommerce-mobile-right, 16px) !important;
        padding-bottom: var(--hgg-spacing-content_woocommerce-mobile-bottom, 20px) !important;
        padding-left: var(--hgg-spacing-content_woocommerce-mobile-left, 16px) !important;
    }
}

/* === V22 WooCommerce layout width + sticky media cleanup ===
 * Full/contained modes must not be constrained by the generic 1240px container.
 * Single top grid uses the WooCommerce content width controls, while the wrapper
 * only controls page/container mode and sidebar behavior.
 */
body.huuguu-wc-single-layout-full_no_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-single-layout-full_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-archive-layout-full_no_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-archive-layout-full_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body .site-main .site-main-inner > .huuguu-woocommerce-wrap--full {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
}

body.huuguu-wc-single-layout-contained_no_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-single-layout-contained_sidebar .site-main .site-main-inner > .huuguu-content-wrap {
  width: min(100% - 2rem, var(--hgg-wc-single-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-single-container, var(--hgg-container, 1240px)) !important;
}

body.huuguu-wc-archive-layout-contained_no_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-archive-layout-contained_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_sidebar .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-contained_sidebar .huuguu-content-wrap {
  width: min(100% - 2rem, var(--hgg-wc-archive-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-archive-container, var(--hgg-container, 1240px)) !important;
}

body.huuguu-wc-taxonomy-layout-contained_no_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-contained_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-content-wrap {
  width: min(100% - 2rem, var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px)) !important;
}

body.huuguu-wc-archive-layout-full_no_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-archive-layout-full_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_sidebar .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-full_sidebar .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_sidebar .site-main .site-main-inner > .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-content-wrap {
  width: 100% !important;
  max-width: none !important;
}

body.huuguu-wc-archive-layout-contained_no_sidebar #secondary,
body.huuguu-wc-archive-layout-full_no_sidebar #secondary,
body.huuguu-wc-archive-layout-contained_no_sidebar .widget-area,
body.huuguu-wc-archive-layout-full_no_sidebar .widget-area,
body.huuguu-wc-taxonomy-layout-contained_no_sidebar #secondary,
body.huuguu-wc-taxonomy-layout-full_no_sidebar #secondary,
body.huuguu-wc-taxonomy-layout-contained_no_sidebar .widget-area,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .widget-area {
  display: none !important;
}

body.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-primary,
body.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-primary,
body.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-primary,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-primary {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100% !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
  max-width: var(--hgg-wc-single-content-max, none) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

body.huuguu-wc-single-layout-full_no_sidebar.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.huuguu-wc-single-layout-full_sidebar.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
  width: 100% !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom {
  margin-top: 0 !important;
}

@media (min-width: 901px) {
  body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
  body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .images,
  body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
  body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .images {
    position: sticky !important;
    top: var(--hgg-wc-single-sticky-top, 110px) !important;
    align-self: start !important;
    z-index: 1 !important;
  }

  body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary,
  body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary.entry-summary,
  body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary,
  body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .summary.entry-summary {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 900px) {
  body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
  body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .images,
  body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .woocommerce-product-gallery,
  body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main .images {
    position: static !important;
    top: auto !important;
  }
}


/* === V23 WooCommerce single: sticky media, quantity control and product meta cleanup === */
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .site,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .site-main,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .content-area,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-wrap,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .site,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .site-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .content-area,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-wrap,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    contain: none !important;
    transform: none !important;
}

@media (min-width: 1025px) {
    body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .woocommerce-product-gallery,
    body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .images,
    body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .woocommerce-product-gallery,
    body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .images {
        position: sticky !important;
        top: var(--hgg-wc-single-sticky-top, 110px) !important;
        align-self: flex-start !important;
        z-index: 3 !important;
    }

    body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary,
    body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary {
        position: static !important;
        top: auto !important;
    }
}

body.single-product div.product form.cart .quantity .qty,
body.woocommerce-page div.product form.cart .quantity .qty {
    min-width: 84px !important;
    height: 44px !important;
    border: 1px solid rgba(23,32,51,.18) !important;
    border-radius: var(--hgg-wc-button-radius, 6px) !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    background: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
}

body.single-product div.product .product_meta,
body.woocommerce-page.single-product div.product .product_meta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 10px !important;
    column-gap: 0 !important;
    align-items: start !important;
    margin-top: 22px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(23,32,51,.10) !important;
    color: var(--hgg-muted, #5f6b7a) !important;
    font-size: .95rem !important;
}

body.single-product div.product .product_meta > span,
body.woocommerce-page.single-product div.product .product_meta > span,
body.single-product div.product .product_meta > span.huuguu-meta-row-ready,
body.woocommerce-page.single-product div.product .product_meta > span.huuguu-meta-row-ready {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: baseline !important;
    width: 100% !important;
    margin: 0 !important;
}

body.single-product div.product .product_meta .huuguu-meta-label,
body.woocommerce-page.single-product div.product .product_meta .huuguu-meta-label {
    display: block !important;
    min-width: 96px !important;
    color: var(--hgg-text, #172033) !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

body.single-product div.product .product_meta .huuguu-meta-label::after,
body.woocommerce-page.single-product div.product .product_meta .huuguu-meta-label::after {
    content: ':';
}

body.single-product div.product .product_meta .huuguu-meta-value,
body.woocommerce-page.single-product div.product .product_meta .huuguu-meta-value {
    display: block !important;
    min-width: 0 !important;
    color: var(--hgg-muted, #5f6b7a) !important;
    line-height: 1.45 !important;
}

body.single-product div.product .product_meta a,
body.woocommerce-page.single-product div.product .product_meta a {
    color: var(--hgg-link-color, var(--hgg-primary, #246de8)) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

body.single-product div.product .product_meta a:hover,
body.woocommerce-page.single-product div.product .product_meta a:hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, #154fad)) !important;
    text-decoration: underline !important;
}

@media (max-width: 520px) {
    body.single-product div.product .product_meta > span,
    body.woocommerce-page.single-product div.product .product_meta > span,
    body.single-product div.product .product_meta > span.huuguu-meta-row-ready,
    body.woocommerce-page.single-product div.product .product_meta > span.huuguu-meta-row-ready {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        gap: 6px !important;
    }

    body.single-product div.product .product_meta .huuguu-meta-label,
    body.woocommerce-page.single-product div.product .product_meta .huuguu-meta-label {
        min-width: 82px !important;
    }
}

/* === V24 WooCommerce content setup + archive/taxonomy card cleanup ===
 * Applies the global WooCommerce content spacing setup to the real Woo wrapper,
 * fixes full/contained modes independent of the generic 1240px container,
 * and polishes loop badges, prices, tax suffixes, and product cards.
 */
body.woocommerce .huuguu-woocommerce-wrap,
body.woocommerce-page .huuguu-woocommerce-wrap,
body.single-product .huuguu-woocommerce-wrap {
  box-sizing: border-box !important;
}

body.woocommerce .huuguu-woocommerce-primary,
body.woocommerce-page .huuguu-woocommerce-primary,
body.single-product .huuguu-woocommerce-primary {
  box-sizing: border-box !important;
  padding-top: var(--hgg-spacing-content_woocommerce-desktop-top, 24px) !important;
  padding-right: var(--hgg-spacing-content_woocommerce-desktop-right, 28px) !important;
  padding-bottom: var(--hgg-spacing-content_woocommerce-desktop-bottom, 28px) !important;
  padding-left: var(--hgg-spacing-content_woocommerce-desktop-left, 28px) !important;
}

body.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-full_sidebar .huuguu-woocommerce-wrap,
body .huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--full {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
}

body.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap {
  width: min(100%, var(--hgg-wc-archive-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-archive-container, var(--hgg-container, 1240px)) !important;
  margin-inline: auto !important;
}

body.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap {
  width: min(100%, var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px)) !important;
  margin-inline: auto !important;
}

body.huuguu-wc-single-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-contained_sidebar .huuguu-woocommerce-wrap {
  width: min(100%, var(--hgg-wc-single-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-single-container, var(--hgg-container, 1240px)) !important;
  margin-inline: auto !important;
}

body.woocommerce ul.products,
body.woocommerce-page ul.products {
  align-items: stretch !important;
  gap: var(--hgg-wc-loop-gap, 28px) !important;
}

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .75rem !important;
  padding: 1.25rem !important;
  overflow: visible !important;
  border: 1px solid rgba(23, 32, 51, .08) !important;
  border-radius: var(--hgg-wc-loop-card-radius, var(--hgg-radius, 18px)) !important;
  background: var(--hgg-wc-loop-card-bg, var(--hgg-surface, #fff)) !important;
  box-shadow: 0 18px 45px rgba(17, 34, 68, .08) !important;
}

body.woocommerce ul.products li.product .hgg-loop-badge,
body.woocommerce-page ul.products li.product .hgg-loop-badge {
  position: absolute !important;
  top: .9rem !important;
  left: .9rem !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 26px !important;
  padding: .28rem .65rem !important;
  border-radius: 999px !important;
  background: var(--hgg-wc-sale-badge-bg, var(--hgg-wc-badge-bg, var(--hgg-primary, #246de8))) !important;
  color: var(--hgg-wc-sale-badge-text, var(--hgg-wc-badge-text, #fff)) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(17, 34, 68, .14) !important;
  pointer-events: none !important;
}

body.woocommerce ul.products li.product .hgg-loop-badge--new,
body.woocommerce-page ul.products li.product .hgg-loop-badge--new {
  background: var(--hgg-wc-new-badge-bg, var(--hgg-wc-sale-badge-bg, var(--hgg-primary, #246de8))) !important;
  color: var(--hgg-wc-new-badge-text, var(--hgg-wc-sale-badge-text, #fff)) !important;
}

body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img {
  margin-bottom: .9rem !important;
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  margin-top: .15rem !important;
  color: var(--hgg-wc-loop-title-color, var(--hgg-text, #172033)) !important;
  text-align: center !important;
}

body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: .18rem .45rem !important;
  margin: 0 !important;
  color: var(--hgg-wc-loop-price-color, var(--hgg-wc-single-price, var(--hgg-text, #172033))) !important;
  line-height: 1.25 !important;
}

body.woocommerce ul.products li.product .price .woocommerce-price-suffix,
body.woocommerce-page ul.products li.product .price .woocommerce-price-suffix {
  display: inline-block !important;
  margin-left: .15rem !important;
  color: var(--hgg-muted, #5d6781) !important;
  font-size: .82em !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

body.woocommerce ul.products li.product .button,
body.woocommerce-page ul.products li.product .button {
  margin-top: auto !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-bottom {
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  body.woocommerce .huuguu-woocommerce-primary,
  body.woocommerce-page .huuguu-woocommerce-primary,
  body.single-product .huuguu-woocommerce-primary {
    padding-top: var(--hgg-spacing-content_woocommerce-tablet-top, 20px) !important;
    padding-right: var(--hgg-spacing-content_woocommerce-tablet-right, 20px) !important;
    padding-bottom: var(--hgg-spacing-content_woocommerce-tablet-bottom, 28px) !important;
    padding-left: var(--hgg-spacing-content_woocommerce-tablet-left, 20px) !important;
  }
}

@media (max-width: 700px) {
  body.woocommerce .huuguu-woocommerce-primary,
  body.woocommerce-page .huuguu-woocommerce-primary,
  body.single-product .huuguu-woocommerce-primary {
    padding-top: var(--hgg-spacing-content_woocommerce-mobile-top, 16px) !important;
    padding-right: var(--hgg-spacing-content_woocommerce-mobile-right, 16px) !important;
    padding-bottom: var(--hgg-spacing-content_woocommerce-mobile-bottom, 24px) !important;
    padding-left: var(--hgg-spacing-content_woocommerce-mobile-left, 16px) !important;
  }

  body.woocommerce ul.products li.product,
  body.woocommerce-page ul.products li.product {
    padding: 1rem !important;
  }
}

/* === V25 WooCommerce single gallery visibility on tablet/mobile ===
 * The responsive single layout must stack gallery first and summary second.
 * Earlier rules left both elements in grid row 1 on narrow screens, which could
 * make the gallery look missing/overlapped in tablet and mobile views.
 */
@media (max-width: 1024px) {
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    overflow: visible !important;
  }

  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .woocommerce-product-gallery,
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .images,
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery,
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .woocommerce-product-gallery,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .images,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 1px !important;
    height: auto !important;
    margin: 0 !important;
    float: none !important;
    clear: both !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
  }

  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary,
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary.entry-summary,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary.entry-summary {
    grid-column: 1 !important;
    grid-row: 2 !important;
    order: 2 !important;
    width: 100% !important;
    max-width: none !important;
    position: relative !important;
    top: auto !important;
    margin: 0 !important;
  }

  body.single-product .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery__image > a,
  body.single-product .woocommerce-product-gallery__image img,
  body.woocommerce-page.single-product .woocommerce-product-gallery__wrapper,
  body.woocommerce-page.single-product .woocommerce-product-gallery__image,
  body.woocommerce-page.single-product .woocommerce-product-gallery__image > a,
  body.woocommerce-page.single-product .woocommerce-product-gallery__image img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  body.single-product .woocommerce-product-gallery__trigger,
  body.woocommerce-page.single-product .woocommerce-product-gallery__trigger {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

@media (max-width: 700px) {
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
    gap: max(20px, calc(var(--hgg-wc-single-gap, 40px) * .55)) !important;
  }
}

/* === V28 Phase 2 stabilization: Woo archive/taxonomy/single, search and 404 === */
body.search .site-main-inner,
body.error404 .site-main-inner{background:var(--hgg-bg,#f5f7fb)}
body.search .huuguu-content-wrap,
body.error404 .huuguu-content-wrap{width:min(100% - 24px,var(--hgg-container,1240px))!important;margin-inline:auto!important;gap:clamp(20px,3vw,36px)!important}
body.search .page-header,
body.error404 .page-header{margin:0 0 clamp(18px,2vw,28px)!important}
body.search .page-title,
body.error404 .page-title{margin:0!important;color:var(--hgg-page-title-color,var(--hgg-text,#172033))!important;font-size:clamp(2rem,2.6vw,var(--hgg-page-title-size,44px))!important;line-height:1.08!important;text-align:var(--hgg-page-title-align,left)!important}
body.search .huuguu-post-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;gap:var(--hgg-blog-archive-gap,28px)!important;align-items:stretch!important}
body.search .hgg-post-card,
body.search .hgg-empty-state,
body.error404 .hgg-404-shell{border:1px solid rgba(23,32,51,.08)!important;border-radius:var(--hgg-blog-archive-card-radius,var(--hgg-radius,18px))!important;background:var(--hgg-surface,#fff)!important;box-shadow:var(--hgg-blog-archive-card-shadow,0 18px 34px rgba(23,32,51,.08))!important}
body.error404 .hgg-404-shell{max-width:760px!important;margin-inline:auto!important;padding:clamp(28px,5vw,56px)!important;text-align:center!important}
body.error404 .hgg-404-lead,
body.search .hgg-empty-state p{color:var(--hgg-muted,#5d6781)!important;font-size:clamp(1rem,1vw,1.15rem)!important}
body.error404 .search-form,
body.search .hgg-empty-state .search-form{max-width:520px!important;margin:22px auto 0!important}

body.woocommerce .huuguu-woocommerce-wrap,
body.woocommerce-page .huuguu-woocommerce-wrap,
body.single-product .huuguu-woocommerce-wrap{box-sizing:border-box!important;gap:clamp(22px,3vw,38px)!important}
body.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-full_sidebar .huuguu-woocommerce-wrap,
body .huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--full{width:100%!important;max-width:none!important;padding-inline:0!important}
body.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-wc-archive-container,var(--hgg-container,1240px)))!important;max-width:var(--hgg-wc-archive-container,var(--hgg-container,1240px))!important}
body.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-wc-taxonomy-container,var(--hgg-container,1240px)))!important;max-width:var(--hgg-wc-taxonomy-container,var(--hgg-container,1240px))!important}
body.huuguu-wc-single-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-wc-single-container,var(--hgg-container,1240px)))!important;max-width:var(--hgg-wc-single-container,var(--hgg-container,1240px))!important}
body.woocommerce .huuguu-woocommerce-primary,
body.woocommerce-page .huuguu-woocommerce-primary,
body.single-product .huuguu-woocommerce-primary{width:100%!important;min-width:0!important;padding-top:var(--hgg-spacing-content_woocommerce-desktop-top,40px)!important;padding-right:var(--hgg-spacing-content_woocommerce-desktop-right,0px)!important;padding-bottom:var(--hgg-spacing-content_woocommerce-desktop-bottom,40px)!important;padding-left:var(--hgg-spacing-content_woocommerce-desktop-left,0px)!important}
body.huuguu-wc-archive-layout-contained_no_sidebar #secondary,
body.huuguu-wc-archive-layout-full_no_sidebar #secondary,
body.huuguu-wc-taxonomy-layout-contained_no_sidebar #secondary,
body.huuguu-wc-taxonomy-layout-full_no_sidebar #secondary,
body.huuguu-wc-single-layout-contained_no_sidebar #secondary,
body.huuguu-wc-single-layout-full_no_sidebar #secondary,
body.huuguu-wc-archive-layout-contained_no_sidebar .widget-area,
body.huuguu-wc-archive-layout-full_no_sidebar .widget-area,
body.huuguu-wc-taxonomy-layout-contained_no_sidebar .widget-area,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .widget-area,
body.huuguu-wc-single-layout-contained_no_sidebar .widget-area,
body.huuguu-wc-single-layout-full_no_sidebar .widget-area{display:none!important}
body.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-primary,
body.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-primary,
body.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-primary,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-primary,
body.huuguu-wc-single-layout-contained_no_sidebar .huuguu-woocommerce-primary,
body.huuguu-wc-single-layout-full_no_sidebar .huuguu-woocommerce-primary{flex:1 1 100%!important;max-width:none!important}

body.woocommerce .woocommerce-products-header,
body.woocommerce-page .woocommerce-products-header{margin:0 0 clamp(18px,2.4vw,32px)!important}
body.woocommerce .woocommerce-products-header__title,
body.woocommerce-page .woocommerce-products-header__title,
body.woocommerce .page-title,
body.woocommerce-page .page-title{margin:0 0 .55rem!important;color:var(--hgg-page-title-color,var(--hgg-text,#172033))!important;font-size:clamp(2rem,2.6vw,var(--hgg-page-title-size,44px))!important;line-height:1.08!important;text-align:var(--hgg-page-title-align,left)!important}
body.woocommerce .term-description,
body.woocommerce-page .term-description{max-width:760px!important;color:var(--hgg-muted,#5d6781)!important}
body.woocommerce .woocommerce-result-count,
body.woocommerce-page .woocommerce-result-count{color:var(--hgg-muted,#5d6781)!important;margin:0 0 18px!important}
body.woocommerce .woocommerce-ordering select,
body.woocommerce-page .woocommerce-ordering select{min-height:42px!important;padding:0 38px 0 14px!important;border:1px solid rgba(23,32,51,.18)!important;border-radius:var(--hgg-input-radius,8px)!important;background-color:#fff!important;color:var(--hgg-text,#172033)!important}
body.woocommerce ul.products,
body.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(var(--hgg-wc-archive-columns-desktop,var(--hgg-wc-archive-cols-desktop,3)),minmax(0,1fr))!important;gap:var(--hgg-wc-loop-gap,28px)!important;margin:clamp(18px,2vw,28px) 0 0!important;padding:0!important;align-items:stretch!important}
body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after{display:none!important;content:none!important}
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product{float:none!important;width:auto!important;max-width:none!important;margin:0!important;min-width:0!important;text-align:var(--hgg-wc-archive-content-align,center)!important;display:flex!important;flex-direction:column!important}
body.woocommerce ul.products li.product a.woocommerce-loop-product__link,
body.woocommerce-page ul.products li.product a.woocommerce-loop-product__link{display:flex!important;flex-direction:column!important;gap:.75rem!important;color:inherit!important;text-decoration:none!important}
body.woocommerce ul.products li.product img,
body.woocommerce-page ul.products li.product img{aspect-ratio:1/1!important;width:100%!important;height:auto!important;object-fit:cover!important;border-radius:max(calc(var(--hgg-wc-loop-card-radius,var(--hgg-radius,18px)) - 8px),6px)!important}
body.woocommerce ul.products li.product .hgg-loop-badge,
body.woocommerce-page ul.products li.product .hgg-loop-badge,
body.woocommerce ul.products li.product .onsale,
body.woocommerce-page ul.products li.product .onsale{top:14px!important;left:14px!important;right:auto!important;min-width:auto!important;min-height:28px!important;padding:.32rem .72rem!important;border-radius:999px!important;background:var(--hgg-wc-sale-badge-bg,var(--hgg-primary,#246de8))!important;color:var(--hgg-wc-sale-badge-text,#fff)!important;font-size:.78rem!important;font-weight:800!important;line-height:1!important}
body.woocommerce ul.products li.product .price .woocommerce-Price-amount,
body.woocommerce-page ul.products li.product .price .woocommerce-Price-amount{font-weight:800!important}
body.woocommerce ul.products li.product .price .woocommerce-price-suffix,
body.woocommerce-page ul.products li.product .price .woocommerce-price-suffix{margin-left:var(--hgg-wc-price-suffix-spacing,4px)!important;color:var(--hgg-wc-price-suffix-color,var(--hgg-muted,#5d6781))!important;font-size:var(--hgg-wc-price-suffix-size,12px)!important;font-weight:var(--hgg-wc-price-suffix-weight,500)!important;line-height:1.25!important}
body.woocommerce ul.products li.product .button,
body.woocommerce-page ul.products li.product .button{display:var(--hgg-wc-button-display-desktop,inline-flex)!important;width:var(--hgg-wc-button-width-desktop,auto)!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:.72rem 1.1rem!important;border-radius:var(--hgg-wc-button-radius,6px)!important;font-weight:800!important;line-height:1.1!important}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;contain:none!important}
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main{display:grid!important;grid-template-columns:minmax(0,var(--hgg-wc-single-gallery-ratio,50%)) minmax(0,var(--hgg-wc-single-summary-ratio,50%))!important;gap:var(--hgg-wc-single-gap,40px)!important;align-items:start!important;width:100%!important;max-width:var(--hgg-wc-single-content-max,none)!important;margin-inline:auto!important;overflow:visible!important;contain:none!important;transform:none!important}
body.single-product .huuguu-wc-single-main>.woocommerce-product-gallery,
body.single-product .huuguu-wc-single-main>.images,
body.woocommerce-page.single-product .huuguu-wc-single-main>.woocommerce-product-gallery,
body.woocommerce-page.single-product .huuguu-wc-single-main>.images{width:100%!important;max-width:none!important;min-width:0!important;float:none!important;margin:0!important}
body.single-product .huuguu-wc-single-main>.summary,
body.single-product .huuguu-wc-single-main>.summary.entry-summary,
body.woocommerce-page.single-product .huuguu-wc-single-main>.summary,
body.woocommerce-page.single-product .huuguu-wc-single-main>.summary.entry-summary{width:100%!important;max-width:var(--hgg-wc-single-summary-max,520px)!important;min-width:0!important;float:none!important;margin:0!important;padding:clamp(24px,3vw,36px)!important;border:var(--hgg-wc-single-card-border,1px) solid rgba(23,32,51,.08)!important;border-radius:var(--hgg-wc-single-card-radius,18px)!important;background:var(--hgg-wc-single-product-bg,var(--hgg-surface,#fff))!important;box-shadow:var(--hgg-wc-single-card-shadow,0 16px 44px rgba(17,34,68,.10))!important}
body.single-product div.product .product_title,
body.woocommerce-page.single-product div.product .product_title{color:var(--hgg-wc-single-title-color,var(--hgg-text,#172033))!important;font-size:clamp(2rem,2vw + 1rem,var(--hgg-wc-single-title-size,52px))!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:0 0 .45em!important}
body.single-product div.product p.price,
body.single-product div.product span.price,
body.woocommerce-page.single-product div.product p.price,
body.woocommerce-page.single-product div.product span.price{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:.2rem .55rem!important;color:var(--hgg-wc-single-price,var(--hgg-text,#172033))!important;font-size:clamp(1.55rem,1.1vw + 1rem,var(--hgg-wc-single-price-size,36px))!important;font-weight:900!important;line-height:1.1!important}
body.single-product div.product .price .woocommerce-price-suffix,
body.woocommerce-page.single-product div.product .price .woocommerce-price-suffix{color:var(--hgg-wc-price-suffix-color,var(--hgg-muted,#5d6781))!important;font-size:var(--hgg-wc-price-suffix-size,13px)!important;font-weight:var(--hgg-wc-price-suffix-weight,500)!important;margin-left:var(--hgg-wc-price-suffix-spacing,6px)!important;line-height:1.25!important}
body.single-product div.product form.cart,
body.woocommerce-page.single-product div.product form.cart{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:12px!important;margin:clamp(18px,2vw,26px) 0!important}
body.single-product div.product form.cart .huuguu-qty-stepper,
body.woocommerce-page.single-product div.product form.cart .huuguu-qty-stepper,
body.single-product div.product form.cart .quantity,
body.woocommerce-page.single-product div.product form.cart .quantity{flex:0 0 auto!important}
body.single-product div.product form.cart .single_add_to_cart_button,
body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button{flex:1 1 auto!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;border-radius:var(--hgg-wc-button-radius,6px)!important}
@media (min-width:1025px){body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main>.woocommerce-product-gallery,body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main>.images,body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main>.woocommerce-product-gallery,body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main>.images{position:sticky!important;top:var(--hgg-wc-single-sticky-top,110px)!important;align-self:start!important;z-index:3!important}}
body.single-product .huuguu-wc-single-bottom,
body.woocommerce-page.single-product .huuguu-wc-single-bottom{width:100%!important;max-width:var(--hgg-wc-single-content-max,none)!important;margin:var(--hgg-wc-single-gap,40px) auto 0!important;clear:both!important}
body.single-product .woocommerce-tabs,
body.woocommerce-page.single-product .woocommerce-tabs{max-width:none!important;margin:0!important;overflow:visible!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs,
body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;margin:0 0 14px!important;padding:0 0 4px!important;border:0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li,
body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li{flex:0 0 auto!important;margin:0!important;border:1px solid var(--hgg-wc-single-tabs-border,rgba(23,32,51,.12))!important;border-radius:var(--hgg-wc-single-tabs-radius,14px)!important;background:var(--hgg-wc-single-tabs-inactive-bg,#fff)!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li a,
body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li a{display:block!important;padding:.75rem 1rem!important;color:var(--hgg-wc-single-tabs-text,var(--hgg-text,#172033))!important;font-weight:800!important;text-decoration:none!important;white-space:nowrap!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs li.active,
body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs li.active{background:var(--hgg-wc-single-tabs-bg,#fff)!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs li.active a,
body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs li.active a{color:var(--hgg-wc-single-tabs-active-text,var(--hgg-text,#172033))!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs .panel,
body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs .panel{margin:0!important;padding:calc(var(--hgg-wc-single-tabs-spacing,18px) + 8px)!important;border:1px solid var(--hgg-wc-single-tabs-border,rgba(23,32,51,.10))!important;border-radius:calc(var(--hgg-wc-single-tabs-radius,14px) + 4px)!important;background:var(--hgg-wc-single-tabs-bg,var(--hgg-surface,#fff))!important}
body.single-product div.product .product_meta,
body.woocommerce-page.single-product div.product .product_meta{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:24px!important;padding-top:18px!important;border-top:1px solid rgba(23,32,51,.10)!important}
body.single-product div.product .product_meta>span,
body.woocommerce-page.single-product div.product .product_meta>span{display:grid!important;grid-template-columns:minmax(88px,112px) minmax(0,1fr)!important;gap:10px!important;align-items:baseline!important}
@media (max-width:1024px){body.woocommerce .huuguu-woocommerce-primary,body.woocommerce-page .huuguu-woocommerce-primary,body.single-product .huuguu-woocommerce-primary{padding-top:var(--hgg-spacing-content_woocommerce-tablet-top,40px)!important;padding-right:var(--hgg-spacing-content_woocommerce-tablet-right,0px)!important;padding-bottom:var(--hgg-spacing-content_woocommerce-tablet-bottom,40px)!important;padding-left:var(--hgg-spacing-content_woocommerce-tablet-left,0px)!important}body.woocommerce ul.products,body.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main{grid-template-columns:1fr!important}body.single-product .huuguu-wc-single-main>.summary,body.single-product .huuguu-wc-single-main>.summary.entry-summary,body.woocommerce-page.single-product .huuguu-wc-single-main>.summary,body.woocommerce-page.single-product .huuguu-wc-single-main>.summary.entry-summary{max-width:none!important}body.woocommerce ul.products li.product .button,body.woocommerce-page ul.products li.product .button{display:var(--hgg-wc-button-display-tablet,inline-flex)!important;width:var(--hgg-wc-button-width-tablet,auto)!important}}
@media (max-width:700px){body.woocommerce .huuguu-woocommerce-primary,body.woocommerce-page .huuguu-woocommerce-primary,body.single-product .huuguu-woocommerce-primary{padding-top:var(--hgg-spacing-content_woocommerce-mobile-top,40px)!important;padding-right:var(--hgg-spacing-content_woocommerce-mobile-right,0px)!important;padding-bottom:var(--hgg-spacing-content_woocommerce-mobile-bottom,40px)!important;padding-left:var(--hgg-spacing-content_woocommerce-mobile-left,0px)!important}body.woocommerce ul.products,body.woocommerce-page ul.products{grid-template-columns:1fr!important}body.woocommerce ul.products li.product .button,body.woocommerce-page ul.products li.product .button{display:var(--hgg-wc-button-display-mobile,flex)!important;width:var(--hgg-wc-button-width-mobile,100%)!important}body.single-product div.product form.cart,body.woocommerce-page.single-product div.product form.cart{gap:10px!important}body.single-product div.product form.cart .single_add_to_cart_button,body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button{min-width:0!important;padding-inline:.9rem!important}body.single-product div.product .product_meta>span,body.woocommerce-page.single-product div.product .product_meta>span{grid-template-columns:86px minmax(0,1fr)!important}body.search .huuguu-content-wrap,body.error404 .huuguu-content-wrap,body.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-single-layout-contained_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-single-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-container,1240px))!important}}

/* === V29 Phase 2 final hardening: Woo widths, single, archive/taxonomy, search and 404 === */
:root{
  --hgg-button-bg:var(--hgg-primary,#246de8);
  --hgg-button-text:#fff;
  --hgg-button-hover-bg:var(--hgg-primary-dark,#154fad);
  --hgg-button-hover-text:#fff;
  --hgg-button-radius:var(--hgg-radius-sm,12px);
  --hgg-button-min-height:44px;
  --hgg-button-padding-x:1.1rem;
  --hgg-button-padding-y:.72rem;
}
body.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner,body.huuguu-wc-archive-layout-full_sidebar .site-main-inner,body.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner,body.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner,body.huuguu-wc-single-layout-full_no_sidebar .site-main-inner,body.huuguu-wc-single-layout-full_sidebar .site-main-inner{width:100%!important;max-width:none!important}
body.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-single-layout-full_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-single-layout-full_sidebar .huuguu-woocommerce-wrap,body .huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--full{width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important}
body.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-wc-archive-container,var(--hgg-container,1240px)))!important;max-width:var(--hgg-wc-archive-container,var(--hgg-container,1240px))!important;margin-inline:auto!important}
body.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-wc-taxonomy-container,var(--hgg-container,1240px)))!important;max-width:var(--hgg-wc-taxonomy-container,var(--hgg-container,1240px))!important;margin-inline:auto!important}
body.huuguu-wc-single-layout-contained_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-single-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-wc-single-container,var(--hgg-container,1240px)))!important;max-width:var(--hgg-wc-single-container,var(--hgg-container,1240px))!important;margin-inline:auto!important}
body.woocommerce .huuguu-woocommerce-primary,body.woocommerce-page .huuguu-woocommerce-primary,body.single-product .huuguu-woocommerce-primary{padding-top:var(--hgg-spacing-content_woocommerce-desktop-top,40px)!important;padding-right:var(--hgg-spacing-content_woocommerce-desktop-right,0px)!important;padding-bottom:var(--hgg-spacing-content_woocommerce-desktop-bottom,40px)!important;padding-left:var(--hgg-spacing-content_woocommerce-desktop-left,0px)!important}
body.woocommerce .woocommerce-ordering,body.woocommerce-page .woocommerce-ordering{float:none!important;margin:0 0 18px auto!important;max-width:min(100%,320px)!important;position:relative!important;z-index:2!important}
body.woocommerce .woocommerce-ordering select,body.woocommerce-page .woocommerce-ordering select{width:100%!important;min-height:42px!important;padding:0 38px 0 14px!important;border:1px solid rgba(23,32,51,.18)!important;border-radius:var(--hgg-input-radius,8px)!important;background-color:#fff!important;color:var(--hgg-text,#172033)!important}
body.woocommerce ul.products,body.woocommerce-page ul.products{clear:both!important;display:grid!important;grid-template-columns:repeat(var(--hgg-wc-archive-columns-desktop,3),minmax(0,1fr))!important;gap:var(--hgg-wc-loop-gap,28px)!important;align-items:stretch!important;margin:clamp(18px,2vw,28px) 0 0!important;padding:0!important}
body.woocommerce ul.products::before,body.woocommerce ul.products::after,body.woocommerce-page ul.products::before,body.woocommerce-page ul.products::after{display:none!important;content:none!important}
body.woocommerce ul.products li.product,body.woocommerce-page ul.products li.product{position:relative!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-width:0!important;width:auto!important;max-width:none!important;float:none!important;margin:0!important;padding:clamp(14px,1.2vw,20px)!important;border:1px solid rgba(23,32,51,.08)!important;border-radius:var(--hgg-wc-loop-card-radius,var(--hgg-radius,18px))!important;background:var(--hgg-surface,#fff)!important;box-shadow:0 16px 44px rgba(17,34,68,.08)!important;overflow:hidden!important;text-align:var(--hgg-wc-archive-content-align,center)!important;transition:transform .18s ease,box-shadow .18s ease}
body.woocommerce ul.products li.product:hover,body.woocommerce-page ul.products li.product:hover{transform:translateY(-2px);box-shadow:0 22px 56px rgba(17,34,68,.12)!important}
body.woocommerce ul.products li.product a.woocommerce-loop-product__link,body.woocommerce-page ul.products li.product a.woocommerce-loop-product__link{display:flex!important;flex-direction:column!important;gap:.82rem!important;color:inherit!important;text-decoration:none!important}
body.woocommerce ul.products li.product .woocommerce-loop-product__title,body.woocommerce-page ul.products li.product .woocommerce-loop-product__title{margin:.15rem 0 0!important;color:var(--hgg-wc-loop-title-color,var(--hgg-text,#172033))!important;font-size:clamp(1rem,.35vw + .95rem,1.18rem)!important;font-weight:800!important;line-height:1.25!important}
body.woocommerce ul.products li.product .price,body.woocommerce-page ul.products li.product .price{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;justify-content:var(--hgg-wc-loop-price-justify,center)!important;gap:.18rem .42rem!important;margin:.1rem 0 .75rem!important;color:var(--hgg-wc-loop-price-color,var(--hgg-text,#172033))!important;font-size:clamp(.95rem,.25vw + .9rem,1.08rem)!important;font-weight:800!important}
body.woocommerce ul.products li.product .price .woocommerce-price-suffix,body.woocommerce-page ul.products li.product .price .woocommerce-price-suffix{display:inline-block!important;margin-left:var(--hgg-wc-price-suffix-spacing,4px)!important;color:var(--hgg-wc-price-suffix-color,var(--hgg-muted,#5d6781))!important;font-size:var(--hgg-wc-price-suffix-size,12px)!important;font-weight:var(--hgg-wc-price-suffix-weight,500)!important;line-height:1.3!important;white-space:nowrap!important}
body.woocommerce ul.products li.product .onsale,body.woocommerce-page ul.products li.product .onsale,body.woocommerce ul.products li.product .hgg-loop-badge,body.woocommerce-page ul.products li.product .hgg-loop-badge{position:absolute!important;top:14px!important;left:14px!important;right:auto!important;z-index:3!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:0!important;padding:.36rem .76rem!important;border-radius:999px!important;background:var(--hgg-wc-sale-badge-bg,var(--hgg-primary,#246de8))!important;color:var(--hgg-wc-sale-badge-text,#fff)!important;font-size:.76rem!important;font-weight:800!important;line-height:1!important;box-shadow:0 10px 24px rgba(17,34,68,.16)!important}
body.woocommerce ul.products li.product .button,body.woocommerce-page ul.products li.product .button,body.woocommerce a.button,body.woocommerce button.button,body.woocommerce input.button,body.woocommerce #respond input#submit,body.woocommerce-page a.button,body.woocommerce-page button.button,body.woocommerce-page input.button,body.woocommerce-page #respond input#submit{min-height:var(--hgg-button-min-height,44px)!important;padding:var(--hgg-button-padding-y,.72rem) var(--hgg-button-padding-x,1.1rem)!important;border:0!important;border-radius:var(--hgg-wc-button-radius,var(--hgg-button-radius,12px))!important;background:var(--hgg-wc-button-bg,var(--hgg-button-bg,#246de8))!important;color:var(--hgg-wc-button-text,var(--hgg-button-text,#fff))!important;font-weight:800!important;line-height:1.1!important;box-shadow:none!important}
body.woocommerce ul.products li.product .button:hover,body.woocommerce-page ul.products li.product .button:hover,body.woocommerce a.button:hover,body.woocommerce button.button:hover,body.woocommerce input.button:hover,body.woocommerce #respond input#submit:hover,body.woocommerce-page a.button:hover,body.woocommerce-page button.button:hover,body.woocommerce-page input.button:hover,body.woocommerce-page #respond input#submit:hover{background:var(--hgg-wc-button-hover-bg,var(--hgg-button-hover-bg,#154fad))!important;color:var(--hgg-wc-button-hover-text,var(--hgg-button-hover-text,#fff))!important}
body.single-product .site-main,body.single-product .site-main-inner,body.single-product .huuguu-woocommerce-wrap,body.single-product .huuguu-woocommerce-primary,body.single-product .huuguu-wc-single-main,body.single-product div.product{overflow:visible!important;contain:none!important;transform:none!important}
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main{width:100%!important;max-width:var(--hgg-wc-single-content-max,none)!important;margin-inline:auto!important;padding:0!important;gap:var(--hgg-wc-single-gap,40px)!important}
body.single-product .huuguu-wc-single-main>.summary,body.single-product .huuguu-wc-single-main>.summary.entry-summary,body.woocommerce-page.single-product .huuguu-wc-single-main>.summary,body.woocommerce-page.single-product .huuguu-wc-single-main>.summary.entry-summary{padding:clamp(24px,3vw,36px)!important;border-radius:var(--hgg-wc-single-card-radius,var(--hgg-radius,18px))!important}
@media (min-width:1025px){body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main>.woocommerce-product-gallery,body.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main>.images,body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main>.woocommerce-product-gallery,body.huuguu-wc-single-sticky-summary.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main>.images{position:sticky!important;top:var(--hgg-wc-single-sticky-top,110px)!important;align-self:start!important;z-index:3!important}}
@media (max-width:1024px){body.single-product .huuguu-wc-single-main>.woocommerce-product-gallery,body.single-product .huuguu-wc-single-main>.images,body.woocommerce-page.single-product .huuguu-wc-single-main>.woocommerce-product-gallery,body.woocommerce-page.single-product .huuguu-wc-single-main>.images{position:relative!important;top:auto!important;display:block!important;width:100%!important;opacity:1!important;visibility:visible!important}}
body.single-product div.product .product_meta,body.woocommerce-page.single-product div.product .product_meta{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:24px!important;padding-top:18px!important;border-top:1px solid rgba(23,32,51,.10)!important;color:var(--hgg-muted,#5d6781)!important}
body.single-product div.product .product_meta>span,body.woocommerce-page.single-product div.product .product_meta>span,body.single-product div.product .product_meta>span.huuguu-meta-row-ready,body.woocommerce-page.single-product div.product .product_meta>span.huuguu-meta-row-ready{display:grid!important;grid-template-columns:minmax(92px,120px) minmax(0,1fr)!important;gap:12px!important;align-items:baseline!important}
body.single-product div.product .product_meta .huuguu-meta-label,body.woocommerce-page.single-product div.product .product_meta .huuguu-meta-label{color:var(--hgg-text,#172033)!important;font-weight:800!important}
body.single-product div.product .product_meta a,body.woocommerce-page.single-product div.product .product_meta a{color:var(--hgg-link,var(--hgg-primary,#246de8))!important;text-decoration:none!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs,body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs{display:flex!important;gap:10px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0 0 6px!important;margin:0 0 14px!important;border:0!important;-webkit-overflow-scrolling:touch!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs::before,body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs::after,body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs::before,body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs::after{display:none!important;content:none!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li,body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li{position:relative!important;flex:0 0 auto!important;border:1px solid var(--hgg-wc-single-tabs-border,rgba(23,32,51,.12))!important;border-radius:var(--hgg-wc-single-tabs-radius,14px)!important;background:var(--hgg-wc-single-tabs-inactive-bg,#fff)!important;overflow:hidden!important}
body.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li.active::after,body.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li.active::after{content:""!important;position:absolute!important;left:14px!important;right:14px!important;bottom:0!important;height:3px!important;border-radius:999px 999px 0 0!important;background:var(--hgg-wc-button-bg,var(--hgg-primary,#246de8))!important}
body.single-product .huuguu-wc-single-bottom,body.woocommerce-page.single-product .huuguu-wc-single-bottom{margin-top:var(--hgg-wc-single-gap,40px)!important}
body.single-product div.product form.cart .quantity.huuguu-qty-enhanced,body.woocommerce-page.single-product div.product form.cart .quantity.huuguu-qty-enhanced{display:inline-grid!important;grid-template-columns:44px minmax(46px,1fr) 44px!important;width:min(100%,168px)!important;min-height:44px!important;border-radius:var(--hgg-wc-button-radius,6px)!important}
body.single-product div.product form.cart .quantity.huuguu-qty-enhanced .qty,body.woocommerce-page.single-product div.product form.cart .quantity.huuguu-qty-enhanced .qty,body.single-product div.product form.cart .quantity .qty,body.woocommerce-page.single-product div.product form.cart .quantity .qty{height:44px!important}
body.search .huuguu-content-wrap,body.error404 .huuguu-content-wrap{width:min(100% - 24px,var(--hgg-container,1240px))!important;max-width:var(--hgg-container,1240px)!important;margin-inline:auto!important}
body.search .page-header,body.error404 .page-header{margin-bottom:clamp(18px,2vw,28px)!important}
body.search .page-title,body.error404 .page-title{color:var(--hgg-page-title-color,var(--hgg-text,#172033))!important;font-size:clamp(2rem,2.6vw,3rem)!important;line-height:1.08!important;letter-spacing:-.035em!important}
body.search .huuguu-post-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;gap:var(--hgg-blog-card-gap,28px)!important}
body.error404 .hgg-404-shell,body.search .hgg-empty-state{max-width:780px!important;margin:0 auto!important;padding:clamp(28px,5vw,72px)!important;border:1px solid rgba(23,32,51,.08)!important;border-radius:var(--hgg-content-radius,var(--hgg-radius,18px))!important;background:var(--hgg-surface,#fff)!important;box-shadow:0 18px 54px rgba(17,34,68,.08)!important;text-align:center!important}
body.error404 .search-form,body.search .hgg-empty-state .search-form{display:flex!important;gap:10px!important;max-width:560px!important;margin:22px auto 0!important}body.error404 .search-form label,body.search .hgg-empty-state .search-form label{flex:1 1 auto!important}body.error404 .search-form .search-field,body.search .hgg-empty-state .search-form .search-field{width:100%!important;min-height:44px!important;border-radius:var(--hgg-input-radius,8px)!important}body.error404 .search-form .search-submit,body.search .hgg-empty-state .search-form .search-submit{min-height:44px!important;border-radius:var(--hgg-blog-button-radius,var(--hgg-wc-button-radius,var(--hgg-button-radius,12px)))!important}
@media (max-width:1024px){body.woocommerce .huuguu-woocommerce-primary,body.woocommerce-page .huuguu-woocommerce-primary,body.single-product .huuguu-woocommerce-primary{padding-top:var(--hgg-spacing-content_woocommerce-tablet-top,40px)!important;padding-right:var(--hgg-spacing-content_woocommerce-tablet-right,0px)!important;padding-bottom:var(--hgg-spacing-content_woocommerce-tablet-bottom,40px)!important;padding-left:var(--hgg-spacing-content_woocommerce-tablet-left,0px)!important}body.woocommerce ul.products,body.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.woocommerce .woocommerce-ordering,body.woocommerce-page .woocommerce-ordering{margin-left:0!important;max-width:100%!important}}
@media (max-width:700px){body.woocommerce .huuguu-woocommerce-primary,body.woocommerce-page .huuguu-woocommerce-primary,body.single-product .huuguu-woocommerce-primary{padding-top:var(--hgg-spacing-content_woocommerce-mobile-top,40px)!important;padding-right:var(--hgg-spacing-content_woocommerce-mobile-right,0px)!important;padding-bottom:var(--hgg-spacing-content_woocommerce-mobile-bottom,40px)!important;padding-left:var(--hgg-spacing-content_woocommerce-mobile-left,0px)!important}body.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-single-layout-full_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-single-layout-full_sidebar .huuguu-woocommerce-wrap,body .huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--full{width:100%!important;max-width:none!important;margin-inline:0!important}body.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-wc-archive-container,var(--hgg-container,1240px)))!important}body.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-wc-taxonomy-container,var(--hgg-container,1240px)))!important}body.huuguu-wc-single-layout-contained_no_sidebar .huuguu-woocommerce-wrap,body.huuguu-wc-single-layout-contained_sidebar .huuguu-woocommerce-wrap{width:min(100% - 24px,var(--hgg-wc-single-container,var(--hgg-container,1240px)))!important}body.woocommerce ul.products,body.woocommerce-page ul.products{grid-template-columns:1fr!important}body.single-product div.product form.cart,body.woocommerce-page.single-product div.product form.cart{display:flex!important;flex-wrap:nowrap!important;gap:10px!important}body.single-product div.product form.cart .quantity.huuguu-qty-enhanced,body.woocommerce-page.single-product div.product form.cart .quantity.huuguu-qty-enhanced{flex:0 0 min(42%,156px)!important;width:min(42%,156px)!important}body.single-product div.product form.cart .single_add_to_cart_button,body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button{flex:1 1 auto!important;width:auto!important;min-width:0!important;height:44px!important;min-height:44px!important;white-space:nowrap!important}body.single-product div.product .product_meta>span,body.woocommerce-page.single-product div.product .product_meta>span,body.single-product div.product .product_meta>span.huuguu-meta-row-ready,body.woocommerce-page.single-product div.product .product_meta>span.huuguu-meta-row-ready{grid-template-columns:88px minmax(0,1fr)!important;gap:10px!important}body.error404 .search-form,body.search .hgg-empty-state .search-form{flex-direction:column!important}}

/* === V30 Phase 2 close: Woo responsive width, breadcrumb, single CTA and meta hardening ===
 * Final override layer for the defects seen after v29:
 * - Full Woo modes must not inherit the generic 1240px content wrapper.
 * - Single product content-max controls must affect the real product grid, not the outer page shell only.
 * - Breadcrumb must not create horizontal page overflow on tablet/mobile.
 * - Quantity stepper + add-to-cart must stay on one row on mobile without clipping.
 * - Product meta labels keep a stable width but can wrap safely on narrow screens.
 */
body.woocommerce,
body.woocommerce-page,
body.single-product {
  overflow-x: clip;
}

body.huuguu-wc-archive-layout-full_no_sidebar .site-main,
body.huuguu-wc-archive-layout-full_sidebar .site-main,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main,
body.huuguu-wc-taxonomy-layout-full_sidebar .site-main,
body.huuguu-wc-single-layout-full_no_sidebar .site-main,
body.huuguu-wc-single-layout-full_sidebar .site-main,
body.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner,
body.huuguu-wc-archive-layout-full_sidebar .site-main-inner,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner,
body.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner,
body.huuguu-wc-single-layout-full_no_sidebar .site-main-inner,
body.huuguu-wc-single-layout-full_sidebar .site-main-inner,
body.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-archive-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-single-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-single-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-archive-layout-full_no_sidebar .huuguu-content-wrap,
body.huuguu-wc-archive-layout-full_sidebar .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-content-wrap,
body.huuguu-wc-single-layout-full_no_sidebar .huuguu-content-wrap,
body.huuguu-wc-single-layout-full_sidebar .huuguu-content-wrap,
body.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-full_sidebar .huuguu-woocommerce-wrap {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

body.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-archive-layout-contained_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-archive-layout-contained_sidebar .site-main-inner > .huuguu-content-wrap {
  width: min(100% - 24px, var(--hgg-wc-archive-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-archive-container, var(--hgg-container, 1240px)) !important;
  margin-inline: auto !important;
}

body.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-contained_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-contained_sidebar .site-main-inner > .huuguu-content-wrap {
  width: min(100% - 24px, var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px)) !important;
  margin-inline: auto !important;
}

body.huuguu-wc-single-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-contained_sidebar .huuguu-woocommerce-wrap,
body.huuguu-wc-single-layout-contained_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-single-layout-contained_sidebar .site-main-inner > .huuguu-content-wrap {
  width: min(100% - 24px, var(--hgg-wc-single-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-single-container, var(--hgg-container, 1240px)) !important;
  margin-inline: auto !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-woocommerce-primary,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-woocommerce-primary {
  padding-top: var(--hgg-spacing-content_woocommerce-desktop-top, 40px) !important;
  padding-right: var(--hgg-spacing-content_woocommerce-desktop-right, 0px) !important;
  padding-bottom: var(--hgg-spacing-content_woocommerce-desktop-bottom, 40px) !important;
  padding-left: var(--hgg-spacing-content_woocommerce-desktop-left, 0px) !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
  width: min(100%, var(--hgg-wc-single-content-max, none)) !important;
  max-width: var(--hgg-wc-single-content-max, none) !important;
  margin-inline: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
  contain: none !important;
  transform: none !important;
}

body.huuguu-wc-single-layout-full_no_sidebar.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
body.huuguu-wc-single-layout-full_sidebar.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
  width: min(100%, var(--hgg-wc-single-content-max, none)) !important;
}

body.single-product .hgg-breadcrumb,
body.single-product .huuguu-breadcrumb,
body.single-product .woocommerce-breadcrumb,
body.woocommerce-page .hgg-breadcrumb,
body.woocommerce-page .huuguu-breadcrumb,
body.woocommerce-page .woocommerce-breadcrumb {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}
body.single-product .hgg-breadcrumb::-webkit-scrollbar,
body.single-product .huuguu-breadcrumb::-webkit-scrollbar,
body.single-product .woocommerce-breadcrumb::-webkit-scrollbar,
body.woocommerce-page .hgg-breadcrumb::-webkit-scrollbar,
body.woocommerce-page .huuguu-breadcrumb::-webkit-scrollbar,
body.woocommerce-page .woocommerce-breadcrumb::-webkit-scrollbar {
  display: none !important;
}

body.single-product div.product form.cart,
body.woocommerce-page.single-product div.product form.cart {
  display: grid !important;
  grid-template-columns: minmax(118px, 168px) minmax(0, auto) !important;
  align-items: stretch !important;
  justify-content: start !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.single-product div.product form.cart .quantity.huuguu-qty-enhanced,
body.woocommerce-page.single-product div.product form.cart .quantity.huuguu-qty-enhanced {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: 168px !important;
  min-width: 118px !important;
  min-height: 44px !important;
  display: grid !important;
  grid-template-columns: 38px minmax(34px, 1fr) 38px !important;
  overflow: hidden !important;
}

body.single-product div.product form.cart .single_add_to_cart_button,
body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button {
  grid-column: 2 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

body.single-product div.product .product_meta,
body.woocommerce-page.single-product div.product .product_meta {
  overflow: visible !important;
}
body.single-product div.product .product_meta > span,
body.woocommerce-page.single-product div.product .product_meta > span,
body.single-product div.product .product_meta > span.huuguu-meta-row-ready,
body.woocommerce-page.single-product div.product .product_meta > span.huuguu-meta-row-ready {
  grid-template-columns: minmax(96px, 120px) minmax(0, 1fr) !important;
  width: 100% !important;
}
body.single-product div.product .product_meta .huuguu-meta-value,
body.woocommerce-page.single-product div.product .product_meta .huuguu-meta-value,
body.single-product div.product .product_meta a,
body.woocommerce-page.single-product div.product .product_meta a {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 1024px) {
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-woocommerce-primary,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-woocommerce-primary {
    padding-top: var(--hgg-spacing-content_woocommerce-tablet-top, 40px) !important;
    padding-right: var(--hgg-spacing-content_woocommerce-tablet-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-content_woocommerce-tablet-bottom, 40px) !important;
    padding-left: var(--hgg-spacing-content_woocommerce-tablet-left, 0px) !important;
  }

  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .woocommerce-product-gallery,
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .images,
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary,
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary.entry-summary,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .woocommerce-product-gallery,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .images,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-wc-single-main > .summary.entry-summary {
    grid-column: 1 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 700px) {
  body.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-woocommerce-primary,
  body.woocommerce-page.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-woocommerce-primary {
    padding-top: var(--hgg-spacing-content_woocommerce-mobile-top, 40px) !important;
    padding-right: var(--hgg-spacing-content_woocommerce-mobile-right, 0px) !important;
    padding-bottom: var(--hgg-spacing-content_woocommerce-mobile-bottom, 40px) !important;
    padding-left: var(--hgg-spacing-content_woocommerce-mobile-left, 0px) !important;
  }

  body.single-product .huuguu-wc-single-main > .summary,
  body.single-product .huuguu-wc-single-main > .summary.entry-summary,
  body.woocommerce-page.single-product .huuguu-wc-single-main > .summary,
  body.woocommerce-page.single-product .huuguu-wc-single-main > .summary.entry-summary {
    padding: clamp(18px, 6vw, 24px) !important;
  }

  body.single-product div.product form.cart,
  body.woocommerce-page.single-product div.product form.cart {
    grid-template-columns: minmax(112px, 38%) minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.single-product div.product form.cart .quantity.huuguu-qty-enhanced,
  body.woocommerce-page.single-product div.product form.cart .quantity.huuguu-qty-enhanced {
    max-width: none !important;
    min-width: 0 !important;
    grid-template-columns: 34px minmax(30px, 1fr) 34px !important;
  }

  body.single-product div.product form.cart .huuguu-qty-step,
  body.woocommerce-page.single-product div.product form.cart .huuguu-qty-step {
    width: 34px !important;
  }

  body.single-product div.product form.cart .single_add_to_cart_button,
  body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button {
    width: 100% !important;
    padding-inline: .75rem !important;
    font-size: .95rem !important;
  }
}

@media (max-width: 340px) {
  body.single-product div.product form.cart,
  body.woocommerce-page.single-product div.product form.cart {
    grid-template-columns: minmax(102px, 36%) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.single-product div.product form.cart .quantity.huuguu-qty-enhanced,
  body.woocommerce-page.single-product div.product form.cart .quantity.huuguu-qty-enhanced {
    grid-template-columns: 30px minmax(28px, 1fr) 30px !important;
  }

  body.single-product div.product form.cart .huuguu-qty-step,
  body.woocommerce-page.single-product div.product form.cart .huuguu-qty-step {
    width: 30px !important;
    font-size: 1.25rem !important;
  }

  body.single-product div.product form.cart .single_add_to_cart_button,
  body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button {
    font-size: .88rem !important;
    padding-inline: .55rem !important;
  }
}

/* Huuguu v31: mobile/tablet Woo cart shortcut polish.
   Keep the cart visible and usable beside the hamburger without collapsing the icon/badge. */
@media (max-width: 1100px) {
  .huuguu-mobile-topbar .mobile-topbar-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
    overflow: visible !important;
  }

  .huuguu-mobile-topbar .mobile-topbar-actions .hgg-header-link--cart,
  .huuguu-mobile-topbar .mobile-topbar-actions .hgg-header-link--mobile-top.hgg-header-link--cart {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: var(--hgg-mobile-toggle-radius, 10px) !important;
    background: transparent !important;
    color: var(--hgg-wc-header-action-color, var(--hgg-wc-button-bg, var(--hgg-primary, #246de8))) !important;
    line-height: 1 !important;
    overflow: visible !important;
  }

  .huuguu-mobile-topbar .mobile-topbar-actions .hgg-header-link--cart .hgg-header-link__icon,
  .huuguu-mobile-topbar .mobile-topbar-actions .hgg-header-link--cart svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    color: currentColor !important;
    stroke: currentColor !important;
  }

  .huuguu-mobile-topbar .mobile-topbar-actions .hgg-header-link--cart .hgg-header-link__label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .huuguu-mobile-topbar .mobile-topbar-actions .hgg-header-link--cart .hgg-cart-count {
    position: absolute !important;
    top: 2px !important;
    right: 2px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: var(--hgg-header-cart-badge-bg, var(--hgg-primary, #246de8)) !important;
    color: var(--hgg-header-cart-badge-text, #ffffff) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
    box-shadow: 0 0 0 2px var(--hgg-header-bg, var(--hgg-surface, #ffffff)) !important;
    transform: none !important;
  }

  .huuguu-mobile-topbar .menu-toggle {
    flex: 0 0 auto !important;
  }
}

/* v32: Breadcrumb containment on tablet/mobile.
 * The breadcrumb must scroll inside its own bar without increasing page width
 * or pushing the WooCommerce single content horizontally.
 */
.huuguu-global-breadcrumb-bar {
  width: auto;
  max-width: 100vw !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
  width: auto;
  max-width: min(100%, var(--hgg-breadcrumb-container, 100%)) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > *,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > * {
  min-width: 0 !important;
}
@media (max-width: 1100px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: clip !important;
  }
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    touch-action: pan-x !important;
  }
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > a,
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > span,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > a,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > span {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-current {
    flex: 0 0 auto !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* v67: Breadcrumb spacing correction.
 * Keep the breadcrumb row from creating internal vertical padding on the nav itself.
 * The visible separation from the next block is handled as margin, so the breadcrumb
 * does not visually inflate the content area or push the first WooCommerce block with
 * an artificial padded strip.
 */
.huuguu-global-breadcrumb-bar {
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: var(--hgg-wc-breadcrumb-pad-x, 12px) !important;
  padding-right: var(--hgg-wc-breadcrumb-pad-x, 12px) !important;
  min-height: calc(24px + var(--hgg-wc-breadcrumb-pad-y, 12px)) !important;
}
@media (max-width: 1100px) {
  .huuguu-global-breadcrumb-bar {
    margin-bottom: var(--hgg-wc-breadcrumb-pad-y, 12px) !important;
  }
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* v34: WooCommerce notices and cart/checkout buttons.
 * Covers classic WooCommerce templates and Cart/Checkout Blocks using the same
 * Woo button variables, so alerts, cart actions and checkout CTAs stay aligned.
 */
.woocommerce-notices-wrapper,
.woocommerce .woocommerce-notices-wrapper,
.woocommerce-page .woocommerce-notices-wrapper {
  width: min(100%, var(--hgg-wc-container-max, var(--hgg-container-max, 1240px))) !important;
  margin: 0 auto clamp(20px, 3vw, 32px) !important;
  padding-left: var(--hgg-wc-content-pad-left, 0) !important;
  padding-right: var(--hgg-wc-content-pad-right, 0) !important;
  box-sizing: border-box !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin: 0 0 18px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(23, 32, 51, .10) !important;
  border-left: 4px solid var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  border-radius: var(--hgg-content-radius, var(--hgg-radius, 16px)) !important;
  background: var(--hgg-surface, #ffffff) !important;
  color: var(--hgg-text, #172033) !important;
  box-shadow: 0 16px 40px rgba(17, 34, 68, .08) !important;
  line-height: 1.45 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

.woocommerce-error {
  border-left-color: #d63638 !important;
}

.woocommerce-info {
  border-left-color: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  inset: auto !important;
  color: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button,
.woocommerce-message .wc-forward,
.woocommerce-info .wc-forward,
.woocommerce-error .wc-forward {
  order: 10 !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--hgg-wc-button-radius, var(--hgg-button-radius, 6px)) !important;
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #ffffff) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.woocommerce-message .wc-forward:hover,
.woocommerce-info .wc-forward:hover,
.woocommerce-error .wc-forward:hover {
  background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark, #154fad)) !important;
  color: var(--hgg-wc-button-hover-text, #ffffff) !important;
}

/* Classic cart and checkout CTAs. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart table.cart button.button,
.woocommerce-cart table.cart input.button,
.woocommerce-cart .coupon .button,
.woocommerce-checkout #place_order,
.woocommerce-checkout form.checkout_coupon .button,
.woocommerce-checkout form.login .button,
.woocommerce-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: var(--hgg-wc-button-radius, var(--hgg-button-radius, 6px)) !important;
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #ffffff) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart table.cart td.actions .button:hover,
.woocommerce-cart table.cart button.button:hover,
.woocommerce-cart table.cart input.button:hover,
.woocommerce-cart .coupon .button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout form.checkout_coupon .button:hover,
.woocommerce-checkout form.login .button:hover,
.woocommerce-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark, #154fad)) !important;
  color: var(--hgg-wc-button-hover-text, #ffffff) !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order {
  width: 100% !important;
  min-height: 52px !important;
  font-size: 1rem !important;
}

.woocommerce-cart table.cart td.actions,
.woocommerce-cart table.cart .actions {
  padding-top: 18px !important;
}

.woocommerce-cart .coupon {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.woocommerce-cart .coupon .input-text,
.woocommerce-checkout form.checkout_coupon input.input-text {
  min-height: 44px !important;
  border-radius: var(--hgg-wc-button-radius, var(--hgg-button-radius, 6px)) !important;
  border: 1px solid rgba(23, 32, 51, .16) !important;
  padding: 0 14px !important;
}

/* WooCommerce Cart/Checkout Blocks. */
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button {
  min-height: 48px !important;
  border: 0 !important;
  border-radius: var(--hgg-wc-button-radius, var(--hgg-button-radius, 6px)) !important;
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #ffffff) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.wp-block-woocommerce-cart .wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-button:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark, #154fad)) !important;
  color: var(--hgg-wc-button-hover-text, #ffffff) !important;
}

.wc-block-components-notice-banner,
.wp-block-woocommerce-cart .wc-block-components-notice-banner,
.wp-block-woocommerce-checkout .wc-block-components-notice-banner {
  border: 1px solid rgba(23, 32, 51, .10) !important;
  border-left: 4px solid var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  border-radius: var(--hgg-content-radius, var(--hgg-radius, 16px)) !important;
  background: var(--hgg-surface, #ffffff) !important;
  color: var(--hgg-text, #172033) !important;
  box-shadow: 0 16px 40px rgba(17, 34, 68, .08) !important;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .button {
  border-radius: var(--hgg-wc-button-radius, var(--hgg-button-radius, 6px)) !important;
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #ffffff) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

@media (max-width: 767px) {
  .woocommerce-notices-wrapper,
  .woocommerce .woocommerce-notices-wrapper,
  .woocommerce-page .woocommerce-notices-wrapper {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    align-items: flex-start !important;
    padding: 14px !important;
  }

  .woocommerce-message .button,
  .woocommerce-info .button,
  .woocommerce-error .button,
  .woocommerce-message .wc-forward,
  .woocommerce-info .wc-forward,
  .woocommerce-error .wc-forward {
    flex: 1 0 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  .woocommerce-cart .coupon,
  .woocommerce-cart .coupon .input-text,
  .woocommerce-cart .coupon .button,
  .woocommerce-cart table.cart td.actions .button,
  .woocommerce-cart table.cart button.button,
  .woocommerce-cart table.cart input.button {
    width: 100% !important;
  }
}

/* v35: Breadcrumb final containment and spacing reset.
 * Avoid WooCommerce/default breadcrumb margins creating the yellow internal spacer seen
 * in DevTools. The bar owns only the external separation; the nav owns only its row
 * content and horizontal breathing room.
 */
body.single-product .huuguu-global-breadcrumb-bar,
body.woocommerce-page .huuguu-global-breadcrumb-bar,
body.woocommerce .huuguu-global-breadcrumb-bar {
  padding: 0 !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
body.single-product .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
body.single-product .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
body.woocommerce-page .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
body.woocommerce-page .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
body.woocommerce .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
body.woocommerce .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: var(--hgg-wc-breadcrumb-row-pad-y, 8px) !important;
  padding-bottom: var(--hgg-wc-breadcrumb-row-pad-y, 8px) !important;
  padding-left: var(--hgg-wc-breadcrumb-pad-x, 12px) !important;
  padding-right: var(--hgg-wc-breadcrumb-pad-x, 12px) !important;
  min-height: 0 !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}
@media (max-width: 1100px) {
  body.single-product .huuguu-global-breadcrumb-bar,
  body.woocommerce-page .huuguu-global-breadcrumb-bar,
  body.woocommerce .huuguu-global-breadcrumb-bar {
    margin-bottom: var(--hgg-wc-breadcrumb-gap-mobile, var(--hgg-wc-breadcrumb-gap, 12px)) !important;
  }
  body.single-product .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
  body.single-product .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
  body.woocommerce-page .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
  body.woocommerce-page .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
  body.woocommerce .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
  body.woocommerce .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    margin: 0 auto !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    max-width: 100% !important;
  }
}

/* v36: Breadcrumb color isolation.
 * Keep the breadcrumb independent from generic content link rules and from Woo/content hover colors.
 * Uses the primary menu hover color by default when there is no dedicated breadcrumb hover control.
 */
.huuguu-global-breadcrumb-bar,
body .huuguu-global-breadcrumb-bar {
  background: var(--hgg-wc-breadcrumb-bg, #f6f7fb) !important;
  color: var(--hgg-wc-breadcrumb-text, #475569) !important;
}

body:not(.elementor-page) .site-main .huuguu-global-breadcrumb-bar a,
body:not(.elementor-page) .site-main .entry-content .huuguu-global-breadcrumb-bar a,
body:not(.elementor-page) .site-main .wp-block-post-content .huuguu-global-breadcrumb-bar a,
body .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb a,
body .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready a,
body .huuguu-global-breadcrumb-bar a {
  color: var(--hgg-wc-breadcrumb-text, #475569) !important;
  text-decoration: none !important;
}

body:not(.elementor-page) .site-main .huuguu-global-breadcrumb-bar a:hover,
body:not(.elementor-page) .site-main .huuguu-global-breadcrumb-bar a:focus-visible,
body:not(.elementor-page) .site-main .entry-content .huuguu-global-breadcrumb-bar a:hover,
body:not(.elementor-page) .site-main .entry-content .huuguu-global-breadcrumb-bar a:focus-visible,
body:not(.elementor-page) .site-main .wp-block-post-content .huuguu-global-breadcrumb-bar a:hover,
body:not(.elementor-page) .site-main .wp-block-post-content .huuguu-global-breadcrumb-bar a:focus-visible,
body .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb a:hover,
body .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb a:focus-visible,
body .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready a:hover,
body .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready a:focus-visible,
body .huuguu-global-breadcrumb-bar a:hover,
body .huuguu-global-breadcrumb-bar a:focus-visible {
  color: var(--hgg-menu-link-hover, var(--hgg-wc-breadcrumb-current, #1f2937)) !important;
  text-decoration: underline !important;
  text-underline-offset: .18em !important;
}

body .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-current,
body .huuguu-global-breadcrumb-bar .breadcrumb-current,
body .huuguu-global-breadcrumb-bar [aria-current="page"] {
  color: var(--hgg-wc-breadcrumb-current, #1f2937) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-sep {
  color: color-mix(in srgb, var(--hgg-wc-breadcrumb-text, #475569) 70%, transparent) !important;
}

/* v38: Woo archive/taxonomy full-width hardening, toolbar polish and cart/checkout button isolation.
 * This layer intentionally comes last because legacy Woo rules still contain older 1240px constraints.
 */
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar,
body.woocommerce-shop.huuguu-wc-archive-layout-full_sidebar,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar,
body.post-type-archive-product.huuguu-wc-archive-layout-full_sidebar,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar,
body.woocommerce-page.huuguu-wc-archive-layout-full_no_sidebar,
body.woocommerce-page.huuguu-wc-archive-layout-full_sidebar,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_no_sidebar,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_sidebar {
  --hgg-wc-loop-content-width: 100%;
}

body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .site-main,
body.woocommerce-shop.huuguu-wc-archive-layout-full_sidebar .site-main,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .site-main,
body.post-type-archive-product.huuguu-wc-archive-layout-full_sidebar .site-main,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar .site-main,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar .site-main,
body.woocommerce-page.huuguu-wc-archive-layout-full_no_sidebar .site-main,
body.woocommerce-page.huuguu-wc-archive-layout-full_sidebar .site-main,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_sidebar .site-main,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner,
body.woocommerce-shop.huuguu-wc-archive-layout-full_sidebar .site-main-inner,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner,
body.post-type-archive-product.huuguu-wc-archive-layout-full_sidebar .site-main-inner,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner,
body.woocommerce-page.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner,
body.woocommerce-page.huuguu-wc-archive-layout-full_sidebar .site-main-inner,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.woocommerce-page.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.woocommerce-page.huuguu-wc-archive-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-full_sidebar .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_sidebar .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-content-wrap,
body.woocommerce-page.huuguu-wc-archive-layout-full_no_sidebar .huuguu-content-wrap,
body.woocommerce-page.huuguu-wc-archive-layout-full_sidebar .huuguu-content-wrap,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-content-wrap,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,
body.woocommerce-page.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.woocommerce-page.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.woocommerce-page.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap {
  width: min(100% - 24px, var(--hgg-wc-archive-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-archive-container, var(--hgg-container, 1240px)) !important;
  margin-inline: auto !important;
}

body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap {
  width: min(100% - 24px, var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-wc-taxonomy-container, var(--hgg-container, 1240px)) !important;
  margin-inline: auto !important;
}

body.woocommerce-shop .huuguu-woocommerce-wrap,
body.post-type-archive-product .huuguu-woocommerce-wrap,
body.tax-product_cat .huuguu-woocommerce-wrap,
body.tax-product_tag .huuguu-woocommerce-wrap {
  box-sizing: border-box !important;
}

body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.woocommerce-page ul.products.products {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-shop .hgg-loop-toolbar,
body.post-type-archive-product .hgg-loop-toolbar,
body.tax-product_cat .hgg-loop-toolbar,
body.tax-product_tag .hgg-loop-toolbar {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(14px, 2vw, 28px) !important;
  margin: 0 0 clamp(24px, 3vw, 40px) !important;
  padding: clamp(12px, 1.5vw, 18px) 0 !important;
  border-bottom: 1px solid rgba(23,32,51,.08) !important;
}

body.woocommerce-shop .hgg-loop-toolbar .woocommerce-result-count,
body.post-type-archive-product .hgg-loop-toolbar .woocommerce-result-count,
body.tax-product_cat .hgg-loop-toolbar .woocommerce-result-count,
body.tax-product_tag .hgg-loop-toolbar .woocommerce-result-count {
  margin: 0 !important;
  color: var(--hgg-muted, #5d6781) !important;
  font-size: .98rem !important;
  line-height: 1.35 !important;
}

body.woocommerce-shop .hgg-loop-toolbar .woocommerce-ordering,
body.post-type-archive-product .hgg-loop-toolbar .woocommerce-ordering,
body.tax-product_cat .hgg-loop-toolbar .woocommerce-ordering,
body.tax-product_tag .hgg-loop-toolbar .woocommerce-ordering {
  margin: 0 !important;
  float: none !important;
  flex: 0 1 320px !important;
  max-width: 100% !important;
}

body.woocommerce-shop .hgg-loop-toolbar .orderby,
body.post-type-archive-product .hgg-loop-toolbar .orderby,
body.tax-product_cat .hgg-loop-toolbar .orderby,
body.tax-product_tag .hgg-loop-toolbar .orderby {
  width: 100% !important;
  min-height: 44px !important;
  padding: 0 42px 0 14px !important;
  border: 1px solid rgba(23,32,51,.16) !important;
  border-radius: var(--hgg-wc-button-radius, 6px) !important;
  background-color: #fff !important;
  color: var(--hgg-text, #172033) !important;
  font: inherit !important;
  box-shadow: 0 10px 24px rgba(17,34,68,.06) !important;
}

.woocommerce a.checkout-button,
.woocommerce-page a.checkout-button,
.woocommerce .cart_totals .checkout-button,
.woocommerce-page .cart_totals .checkout-button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce button.button,
.woocommerce a.button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: var(--hgg-wc-button-bg, #246de8) !important;
  color: var(--hgg-wc-button-text, #fff) !important;
  border: 0 !important;
  border-radius: var(--hgg-wc-button-radius, 6px) !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  padding: 0 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.woocommerce a.checkout-button:hover,
.woocommerce-page a.checkout-button:hover,
.woocommerce .cart_totals .checkout-button:hover,
.woocommerce-page .cart_totals .checkout-button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart .wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: var(--hgg-wc-button-hover-bg, var(--hgg-wc-button-bg, #154fad)) !important;
  color: var(--hgg-wc-button-hover-text, var(--hgg-wc-button-text, #fff)) !important;
  text-decoration: none !important;
}

body:not(.elementor-page) .site-main a.checkout-button,
body:not(.elementor-page) .site-main a.button,
body:not(.elementor-page) .site-main .wc-block-components-button,
body:not(.elementor-page) .site-main .wp-block-button__link {
  text-decoration: none !important;
}

@media (max-width: 782px) {
  body.woocommerce-shop .hgg-loop-toolbar,
  body.post-type-archive-product .hgg-loop-toolbar,
  body.tax-product_cat .hgg-loop-toolbar,
  body.tax-product_tag .hgg-loop-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body.woocommerce-shop .hgg-loop-toolbar .woocommerce-ordering,
  body.post-type-archive-product .hgg-loop-toolbar .woocommerce-ordering,
  body.tax-product_cat .hgg-loop-toolbar .woocommerce-ordering,
  body.tax-product_tag .hgg-loop-toolbar .woocommerce-ordering {
    flex: 1 1 auto !important;
    width: 100% !important;
  }
}

/* Huuguu v39 — Woo loop badge split + responsive containment hardening */
body.woocommerce-shop,
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.woocommerce-page {
  overflow-x: clip;
}

body.woocommerce-shop .site-main,
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main,
body.woocommerce-shop .site-main-inner,
body.post-type-archive-product .site-main-inner,
body.tax-product_cat .site-main-inner,
body.tax-product_tag .site-main-inner,
body.woocommerce-shop .huuguu-woocommerce-wrap,
body.post-type-archive-product .huuguu-woocommerce-wrap,
body.tax-product_cat .huuguu-woocommerce-wrap,
body.tax-product_tag .huuguu-woocommerce-wrap,
body.woocommerce-shop .huuguu-woocommerce-primary,
body.post-type-archive-product .huuguu-woocommerce-primary,
body.tax-product_cat .huuguu-woocommerce-primary,
body.tax-product_tag .huuguu-woocommerce-primary {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

body.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner,
body.huuguu-wc-archive-layout-full_sidebar .site-main-inner,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner,
body.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner {
  width: 100% !important;
  max-width: none !important;
}

body.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner > .huuguu-woocommerce-wrap,
body.huuguu-wc-archive-layout-full_sidebar .site-main-inner > .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner > .huuguu-woocommerce-wrap,
body.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner > .huuguu-woocommerce-wrap,
body.huuguu-wc-archive-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-archive-layout-full_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_no_sidebar .site-main-inner > .huuguu-content-wrap,
body.huuguu-wc-taxonomy-layout-full_sidebar .site-main-inner > .huuguu-content-wrap {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-shop .huuguu-woocommerce-primary,
body.post-type-archive-product .huuguu-woocommerce-primary,
body.tax-product_cat .huuguu-woocommerce-primary,
body.tax-product_tag .huuguu-woocommerce-primary {
  width: 100% !important;
  max-width: none !important;
}

body.woocommerce-shop .hgg-loop-toolbar,
body.post-type-archive-product .hgg-loop-toolbar,
body.tax-product_cat .hgg-loop-toolbar,
body.tax-product_tag .hgg-loop-toolbar {
  width: 100% !important;
  min-width: 0 !important;
  padding: clamp(14px, 1.4vw, 18px) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(23, 32, 51, .08) !important;
}

body.woocommerce-shop .hgg-loop-toolbar .woocommerce-result-count,
body.post-type-archive-product .hgg-loop-toolbar .woocommerce-result-count,
body.tax-product_cat .hgg-loop-toolbar .woocommerce-result-count,
body.tax-product_tag .hgg-loop-toolbar .woocommerce-result-count {
  color: var(--hgg-muted, #5d6781) !important;
  font-weight: 500 !important;
}

body.woocommerce-shop .hgg-loop-toolbar .orderby,
body.post-type-archive-product .hgg-loop-toolbar .orderby,
body.tax-product_cat .hgg-loop-toolbar .orderby,
body.tax-product_tag .hgg-loop-toolbar .orderby {
  border-radius: var(--hgg-input-radius, var(--hgg-wc-button-radius, 10px)) !important;
  box-shadow: 0 10px 26px rgba(17, 34, 68, .05) !important;
}

body.woocommerce ul.products,
body.woocommerce-page ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding: clamp(12px, 1.1vw, 18px) !important;
  border: 1px solid rgba(23, 32, 51, .08) !important;
  border-radius: var(--hgg-wc-loop-card-radius, 18px) !important;
  background: var(--hgg-surface, #fff) !important;
}

body.woocommerce ul.products li.product .hgg-loop-badge,
body.woocommerce-page ul.products li.product .hgg-loop-badge,
body.woocommerce ul.products li.product .onsale,
body.woocommerce-page ul.products li.product .onsale {
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  max-width: calc(100% - 24px) !important;
  white-space: nowrap !important;
  padding: .38rem .78rem !important;
  font-size: .75rem !important;
  line-height: 1 !important;
  box-shadow: 0 10px 22px rgba(17, 34, 68, .16) !important;
}

body.woocommerce ul.products li.product .hgg-loop-badge--new,
body.woocommerce-page ul.products li.product .hgg-loop-badge--new,
body.post-type-archive-product ul.products li.product .hgg-loop-badge--new,
body.tax-product_cat ul.products li.product .hgg-loop-badge--new,
body.tax-product_tag ul.products li.product .hgg-loop-badge--new {
  background: var(--hgg-wc-new-badge-bg, #7ae03a) !important;
  color: var(--hgg-wc-new-badge-text, #07111f) !important;
}

body.woocommerce ul.products li.product .onsale,
body.woocommerce-page ul.products li.product .onsale,
body.post-type-archive-product ul.products li.product .onsale,
body.tax-product_cat ul.products li.product .onsale,
body.tax-product_tag ul.products li.product .onsale,
body.woocommerce ul.products li.product .hgg-loop-badge--sale,
body.woocommerce-page ul.products li.product .hgg-loop-badge--sale {
  background: var(--hgg-wc-sale-badge-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-sale-badge-text, #fff) !important;
}

body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
}

@media (max-width: 1024px) {
  body.woocommerce-shop .huuguu-woocommerce-primary,
  body.post-type-archive-product .huuguu-woocommerce-primary,
  body.tax-product_cat .huuguu-woocommerce-primary,
  body.tax-product_tag .huuguu-woocommerce-primary {
    padding-left: var(--hgg-spacing-content_woocommerce-tablet-left, 0px) !important;
    padding-right: var(--hgg-spacing-content_woocommerce-tablet-right, 0px) !important;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(14px, 2.4vw, 22px) !important;
  }
}

@media (max-width: 700px) {
  body.woocommerce-shop .huuguu-woocommerce-primary,
  body.post-type-archive-product .huuguu-woocommerce-primary,
  body.tax-product_cat .huuguu-woocommerce-primary,
  body.tax-product_tag .huuguu-woocommerce-primary {
    padding-left: var(--hgg-spacing-content_woocommerce-mobile-left, 0px) !important;
    padding-right: var(--hgg-spacing-content_woocommerce-mobile-right, 0px) !important;
  }

  body.woocommerce-shop .hgg-loop-toolbar,
  body.post-type-archive-product .hgg-loop-toolbar,
  body.tax-product_cat .hgg-loop-toolbar,
  body.tax-product_tag .hgg-loop-toolbar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  body.woocommerce-shop .hgg-loop-toolbar .woocommerce-ordering,
  body.post-type-archive-product .hgg-loop-toolbar .woocommerce-ordering,
  body.tax-product_cat .hgg-loop-toolbar .woocommerce-ordering,
  body.tax-product_tag .hgg-loop-toolbar .woocommerce-ordering,
  body.woocommerce-shop .hgg-loop-toolbar .orderby,
  body.post-type-archive-product .hgg-loop-toolbar .orderby,
  body.tax-product_cat .hgg-loop-toolbar .orderby,
  body.tax-product_tag .hgg-loop-toolbar .orderby {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.woocommerce ul.products li.product,
  body.woocommerce-page ul.products li.product,
  body.post-type-archive-product ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.tax-product_tag ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* v40 — WooCommerce phase 2 final fixes. */
body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar #primary,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar #primary,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar #primary,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar #primary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar #primary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar #primary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar #primary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar #primary,
body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar .content-area,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .content-area,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .content-area,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .content-area,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .content-area,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .content-area,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .content-area,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .content-area {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
  min-width: 0 !important;
}

body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar #secondary,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar #secondary,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar #secondary,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar #secondary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar #secondary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar #secondary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar #secondary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar #secondary {
  display: none !important;
}

body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .site-content,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .site-content,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .site-content,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .site-content {
  max-width: none !important;
  width: 100% !important;
}

body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar .site-content,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .site-content {
  max-width: var(--hgg-wc-archive-container, 1240px) !important;
  width: min(100%, var(--hgg-wc-archive-container, 1240px)) !important;
}

body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .site-content,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .site-content {
  max-width: var(--hgg-wc-taxonomy-container, 1240px) !important;
  width: min(100%, var(--hgg-wc-taxonomy-container, 1240px)) !important;
}

.woocommerce .wc-block-cart__submit-button,
.woocommerce-page .wc-block-cart__submit-button,
.wc-block-cart__submit-button,
.wc-block-cart__submit-button.contained,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-components-button,
.wc-block-components-button.wp-element-button,
.wc-block-checkout__actions_row .wc-block-components-button,
.woocommerce a.checkout-button,
.woocommerce-page a.checkout-button,
.woocommerce button.button,
.woocommerce-page button.button,
.woocommerce a.button,
.woocommerce-page a.button {
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #fff) !important;
  border: 0 !important;
  border-radius: var(--hgg-wc-button-radius, 6px) !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45em !important;
  padding: 0 1.25rem !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  box-shadow: none !important;
}

.wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-components-button .wc-block-components-button__text,
.woocommerce a.checkout-button,
.woocommerce-page a.checkout-button {
  color: inherit !important;
  text-decoration: none !important;
}

.woocommerce .wc-block-cart__submit-button:hover,
.woocommerce-page .wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-button:hover,
.wc-block-checkout__actions_row .wc-block-components-button:hover,
.woocommerce a.checkout-button:hover,
.woocommerce-page a.checkout-button:hover,
.woocommerce button.button:hover,
.woocommerce-page button.button:hover,
.woocommerce a.button:hover,
.woocommerce-page a.button:hover {
  background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark, #154fad)) !important;
  color: var(--hgg-wc-button-hover-text, #fff) !important;
  text-decoration: none !important;
}

body:not(.elementor-page) .site-main .entry-content .wc-block-components-button:not(.is-link),
body:not(.elementor-page) .site-main .entry-content .wc-block-cart__submit-button,
body:not(.elementor-page) .site-main .entry-content a.checkout-button,
body:not(.elementor-page) .site-main .entry-content a.button {
  text-decoration: none !important;
}

@media (max-width: 767px) {
  body.huuguu-wc-loop-mobile-columns-1.woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-1.woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-1.post-type-archive-product ul.products,
  body.huuguu-wc-loop-mobile-columns-1.tax-product_cat ul.products,
  body.huuguu-wc-loop-mobile-columns-1.tax-product_tag ul.products {
    grid-template-columns: 1fr !important;
  }

  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-2.post-type-archive-product ul.products,
  body.huuguu-wc-loop-mobile-columns-2.tax-product_cat ul.products,
  body.huuguu-wc-loop-mobile-columns-2.tax-product_tag ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product {
    padding: 10px !important;
    border-radius: 14px !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product .woocommerce-loop-product__title {
    font-size: .88rem !important;
    line-height: 1.2 !important;
    min-height: 2.4em !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product .price {
    font-size: .88rem !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product .hgg-price-suffix,
  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product .woocommerce-price-suffix {
    display: block !important;
    margin-left: 0 !important;
    margin-top: 2px !important;
    font-size: .72rem !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product .button,
  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product .add_to_cart_button {
    width: 100% !important;
    min-height: 40px !important;
    padding-inline: .6rem !important;
    font-size: .82rem !important;
  }
}

/* Single product gallery thumbnails: one row, 4 visible items, arrows, hover preview. */
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel {
  --hgg-wc-thumb-gap: 12px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin-top: 14px;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-viewport {
  overflow: hidden;
  width: 100%;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--hgg-wc-thumb-gap) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  list-style: none !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  width: calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: clamp(8px, 1vw, 14px) !important;
  opacity: .58 !important;
  cursor: pointer !important;
  transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.single-product .woocommerce-product-gallery .flex-control-thumbs img.is-hover-active {
  opacity: 1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(17,34,68,.16) !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(23,32,51,.14);
  border-radius: 999px;
  background: #fff;
  color: var(--hgg-text, #172033);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  box-shadow: 0 8px 20px rgba(17,34,68,.10);
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:hover {
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8));
  color: var(--hgg-wc-button-text, #fff);
}

@media (max-width: 767px) {
  body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel {
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 6px;
  }

  body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow {
    width: 32px;
    height: 32px;
    font-size: 21px;
  }
}

/* Back to top. */
.hgg-back-to-top {
  position: fixed;
  bottom: var(--hgg-btt-bottom, 24px);
  right: var(--hgg-btt-right, 24px);
  left: var(--hgg-btt-left, auto);
  z-index: 999;
  width: var(--hgg-btt-size, 44px);
  height: var(--hgg-btt-size, 44px);
  border: 0;
  border-radius: var(--hgg-btt-radius, 999px);
  background: var(--hgg-btt-bg, var(--hgg-primary, #246de8));
  color: var(--hgg-btt-color, #fff);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease, background .2s ease, color .2s ease;
  box-shadow: 0 14px 34px rgba(17,34,68,.22);
}

.hgg-back-to-top:hover,
.hgg-back-to-top:focus-visible {
  background: var(--hgg-btt-hover-bg, var(--hgg-primary-dark, #154fad));
  color: var(--hgg-btt-hover-color, #fff);
}

.hgg-back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.hgg-back-to-top svg {
  width: 20px;
  height: 20px;
  display: block;
}

/* v41: keep WooCommerce block checkout/cart buttons isolated from regular content-link styles. */
body:not(.elementor-page) .site-main .entry-content a.wc-block-components-button,
body:not(.elementor-page) .site-main .entry-content a.wc-block-cart__submit-button,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-components-button,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-cart__submit-button,
body:not(.elementor-page) .site-main .entry-content .wc-block-components-button,
body:not(.elementor-page) .site-main .wp-block-post-content .wc-block-components-button,
.wc-block-components-button,
.wc-block-components-button:visited,
.wc-block-cart__submit-button,
.wc-block-cart__submit-button:visited {
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #fff) !important;
  text-decoration: none !important;
  border-color: transparent !important;
}

body:not(.elementor-page) .site-main .entry-content a.wc-block-components-button:hover,
body:not(.elementor-page) .site-main .entry-content a.wc-block-cart__submit-button:hover,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-components-button:hover,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-cart__submit-button:hover,
body:not(.elementor-page) .site-main .entry-content .wc-block-components-button:hover,
body:not(.elementor-page) .site-main .wp-block-post-content .wc-block-components-button:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover {
  background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark, #154fad)) !important;
  color: var(--hgg-wc-button-hover-text, #fff) !important;
  text-decoration: none !important;
}

.wc-block-components-button .wc-block-components-button__text,
.wc-block-cart__submit-button .wc-block-components-button__text,
a.wc-block-components-button .wc-block-components-button__text,
a.wc-block-cart__submit-button .wc-block-components-button__text {
  color: inherit !important;
  text-decoration: none !important;
}

/* v42: product gallery thumbnails must behave as an overlay carousel, not as a second grid of rows. */
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel {
  --hgg-wc-thumb-gap: 12px;
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin-top: 14px !important;
  padding: 0 44px !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-viewport,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-viewport {
  width: 100% !important;
  overflow: hidden !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--hgg-wc-thumb-gap) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  list-style: none !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li {
  flex: 0 0 calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  width: calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  max-width: calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: max(calc(var(--hgg-wc-single-card-radius, 24px) - 8px), 8px) !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 5 !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  border: 1px solid rgba(23,32,51,.14) !important;
  border-radius: 999px !important;
  background: var(--hgg-surface, #fff) !important;
  color: var(--hgg-text, #172033) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow: 0 10px 26px rgba(17,34,68,.14) !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span {
  display: block !important;
  font-size: 24px !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev {
  left: 0 !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next {
  right: 0 !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:hover,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:focus-visible,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:hover,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:focus-visible {
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #fff) !important;
}

@media (max-width: 767px) {
  body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel,
  body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel {
    --hgg-wc-thumb-gap: 8px;
    padding: 0 34px !important;
  }

  body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow,
  body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow {
    width: 30px !important;
    height: 30px !important;
  }

  body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span,
  body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span {
    font-size: 20px !important;
  }
}

/* v42: back to top must be visible on the public front when enabled, not only inside Customizer preview. */
.hgg-back-to-top {
  z-index: 99999 !important;
}

.hgg-back-to-top.is-visible {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* v43: robust single gallery carousel. Prevent loose rows before JS finishes, overlay arrows on edge thumbnails, and use full-size image on hover. */
body.single-product .woocommerce-product-gallery:not(.hgg-wc-thumbs-carousel-ready) > .flex-control-thumbs,
body.woocommerce-page.single-product .woocommerce-product-gallery:not(.hgg-wc-thumbs-carousel-ready) > .flex-control-thumbs{display:flex!important;flex-wrap:nowrap!important;gap:12px!important;width:100%!important;max-width:100%!important;margin:14px 0 0!important;padding:0!important;overflow:hidden!important;list-style:none!important}
body.single-product .woocommerce-product-gallery:not(.hgg-wc-thumbs-carousel-ready) > .flex-control-thumbs li,
body.woocommerce-page.single-product .woocommerce-product-gallery:not(.hgg-wc-thumbs-carousel-ready) > .flex-control-thumbs li{flex:0 0 calc((100% - 36px)/4)!important;width:calc((100% - 36px)/4)!important;margin:0!important;padding:0!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel{--hgg-wc-thumb-gap:12px;position:relative!important;display:block!important;width:100%!important;max-width:100%!important;margin-top:14px!important;padding:0!important;overflow:visible!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-viewport,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-viewport{width:100%!important;max-width:100%!important;overflow:hidden!important;border-radius:max(calc(var(--hgg-wc-single-card-radius,24px) - 8px),8px)!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs{display:flex!important;flex-wrap:nowrap!important;gap:var(--hgg-wc-thumb-gap)!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;transform:translateZ(0);list-style:none!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li{flex:0 0 calc((100% - (var(--hgg-wc-thumb-gap)*3))/4)!important;width:calc((100% - (var(--hgg-wc-thumb-gap)*3))/4)!important;min-width:calc((100% - (var(--hgg-wc-thumb-gap)*3))/4)!important;max-width:calc((100% - (var(--hgg-wc-thumb-gap)*3))/4)!important;margin:0!important;padding:0!important;display:block!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li.hgg-wc-thumb-duplicate,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li.hgg-wc-thumb-duplicate{display:none!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img,
body.single-product .woocommerce-product-gallery:not(.hgg-wc-thumbs-carousel-ready) > .flex-control-thumbs img,
body.woocommerce-page.single-product .woocommerce-product-gallery:not(.hgg-wc-thumbs-carousel-ready) > .flex-control-thumbs img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important;border-radius:max(calc(var(--hgg-wc-single-card-radius,24px) - 8px),8px)!important;opacity:.62!important;cursor:pointer!important;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img:hover,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.flex-active,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.is-hover-active,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img:hover,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.flex-active,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.is-hover-active{opacity:1!important;transform:translateY(-1px)!important;box-shadow:0 10px 24px rgba(17,34,68,.16)!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow{position:absolute!important;top:50%!important;z-index:9!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;margin:0!important;padding:0!important;transform:translateY(-50%)!important;border:1px solid rgba(23,32,51,.16)!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;color:var(--hgg-text,#172033)!important;display:inline-grid!important;place-items:center!important;line-height:1!important;box-shadow:0 10px 26px rgba(17,34,68,.16)!important;backdrop-filter:blur(8px)}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span{display:block!important;width:1em!important;height:1em!important;font-size:25px!important;line-height:.82!important;text-align:center!important;transform:none!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev{left:10px!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next{right:10px!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:disabled,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:disabled{opacity:.45!important;cursor:default!important}
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:hover:not(:disabled),
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:focus-visible:not(:disabled),
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:hover:not(:disabled),
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:focus-visible:not(:disabled){background:var(--hgg-wc-button-bg,var(--hgg-primary,#246de8))!important;color:var(--hgg-wc-button-text,#fff)!important}
@media(max-width:767px){body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel,body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel{--hgg-wc-thumb-gap:8px}body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow,body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev,body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev{left:6px!important}body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next,body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next{right:6px!important}body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span,body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span{font-size:21px!important}}

/* Huuguu v44 WooCommerce finishing layer: scoped buttons, full primary, compact cards, image radii. */
body.hgg-wc-force-primary-full .huuguu-content-wrap,
body.hgg-wc-no-sidebar .huuguu-content-wrap,
body.woocommerce-shop.no-sidebar .huuguu-content-wrap,
body.post-type-archive-product.no-sidebar .huuguu-content-wrap,
body.tax-product_cat.no-sidebar .huuguu-content-wrap,
body.tax-product_tag.no-sidebar .huuguu-content-wrap,
body.hgg-wc-force-primary-full .huuguu-woocommerce-wrap,
body.hgg-wc-no-sidebar .huuguu-woocommerce-wrap {
  grid-template-columns: minmax(0, 1fr) !important;
}
body.hgg-wc-force-primary-full .huuguu-primary,
body.hgg-wc-force-primary-full .huuguu-woocommerce-primary,
body.hgg-wc-no-sidebar .huuguu-primary,
body.hgg-wc-no-sidebar .huuguu-woocommerce-primary,
body.woocommerce-shop.no-sidebar .huuguu-primary,
body.post-type-archive-product.no-sidebar .huuguu-primary,
body.tax-product_cat.no-sidebar .huuguu-primary,
body.tax-product_tag.no-sidebar .huuguu-primary {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
  grid-column: 1 / -1 !important;
}
body.hgg-wc-force-primary-full #secondary,
body.hgg-wc-no-sidebar #secondary,
body.woocommerce-shop.no-sidebar #secondary,
body.post-type-archive-product.no-sidebar #secondary,
body.tax-product_cat.no-sidebar #secondary,
body.tax-product_tag.no-sidebar #secondary,
body.hgg-wc-force-primary-full .huuguu-sidebar,
body.hgg-wc-no-sidebar .huuguu-sidebar {
  display: none !important;
}
body.woocommerce-shop .huuguu-woocommerce-wrap--full,
body.post-type-archive-product .huuguu-woocommerce-wrap--full,
body.tax-product_cat .huuguu-woocommerce-wrap--full,
body.tax-product_tag .huuguu-woocommerce-wrap--full {
  width: 100% !important;
  max-width: none !important;
}

/* Single meta links must use the site-level link tokens, not Woo button colors. */
.single-product .product_meta a,
.woocommerce div.product .product_meta a {
  color: var(--hgg-link-color, var(--hgg-link, #007721)) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.single-product .product_meta a:hover,
.single-product .product_meta a:focus-visible,
.woocommerce div.product .product_meta a:hover,
.woocommerce div.product .product_meta a:focus-visible {
  color: var(--hgg-link-hover-color, var(--hgg-link-hover, #045F12)) !important;
}

/* Context-aware WooCommerce buttons. Every context falls back to the global Woo button source of truth. */
.woocommerce ul.products li.product a.button,
.woocommerce-page ul.products li.product a.button {
  --_hgg-wc-btn-bg: var(--hgg-wc-loop-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-loop-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-loop-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-loop-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
  display: var(--hgg-wc-loop-button-display, var(--hgg-wc-archive-button-display, flex)) !important;
  width: var(--hgg-wc-loop-button-width, var(--hgg-wc-archive-button-width, 100%)) !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--hgg-wc-button-radius, 10px) !important;
  background: var(--_hgg-wc-btn-bg) !important;
  color: var(--_hgg-wc-btn-text) !important;
  text-decoration: none !important;
  border: 0 !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce-page ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button:focus-visible,
.woocommerce-page ul.products li.product a.button:focus-visible {
  background: var(--_hgg-wc-btn-hover-bg) !important;
  color: var(--_hgg-wc-btn-hover-text) !important;
}

.single-product div.product form.cart .button,
.woocommerce-page.single-product div.product form.cart .button {
  --_hgg-wc-btn-bg: var(--hgg-wc-single-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-single-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-single-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-single-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
  display: var(--hgg-wc-single-button-display, var(--hgg-wc-button-display-desktop, inline-flex)) !important;
  width: var(--hgg-wc-single-button-width, var(--hgg-wc-button-width-desktop, auto)) !important;
  background: var(--_hgg-wc-btn-bg) !important;
  color: var(--_hgg-wc-btn-text) !important;
  border-radius: var(--hgg-wc-button-radius, 10px) !important;
  text-decoration: none !important;
  align-items: center !important;
  justify-content: center !important;
}
.single-product div.product form.cart .button:hover,
.woocommerce-page.single-product div.product form.cart .button:hover,
.single-product div.product form.cart .button:focus-visible,
.woocommerce-page.single-product div.product form.cart .button:focus-visible {
  background: var(--_hgg-wc-btn-hover-bg) !important;
  color: var(--_hgg-wc-btn-hover-text) !important;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  --_hgg-wc-btn-bg: var(--hgg-wc-notice-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-notice-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-notice-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-notice-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
  display: var(--hgg-wc-notice-button-display, inline-flex) !important;
  width: var(--hgg-wc-notice-button-width, auto) !important;
  background: var(--_hgg-wc-btn-bg) !important;
  color: var(--_hgg-wc-btn-text) !important;
  text-decoration: none !important;
  border-radius: var(--hgg-wc-button-radius, 10px) !important;
  min-height: 40px !important;
  align-items: center !important;
  justify-content: center !important;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
  background: var(--_hgg-wc-btn-hover-bg) !important;
  color: var(--_hgg-wc-btn-hover-text) !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .cart_totals a.checkout-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
  --_hgg-wc-btn-bg: var(--hgg-wc-cart-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-cart-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-cart-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-cart-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
  display: var(--hgg-wc-cart-button-display, flex) !important;
  width: var(--hgg-wc-cart-button-width, 100%) !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--_hgg-wc-btn-bg) !important;
  color: var(--_hgg-wc-btn-text) !important;
  border-radius: var(--hgg-wc-button-radius, 10px) !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .cart_totals a.checkout-button:hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
  background: var(--_hgg-wc-btn-hover-bg) !important;
  color: var(--_hgg-wc-btn-hover-text) !important;
}
.wc-block-cart__submit-button .wc-block-components-button__text,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button__text {
  color: inherit !important;
  text-decoration: none !important;
}

.woocommerce-checkout button.button,
.woocommerce-checkout input.button,
.woocommerce-checkout #place_order,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button {
  --_hgg-wc-btn-bg: var(--hgg-wc-checkout-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-checkout-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-checkout-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-checkout-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
  display: var(--hgg-wc-checkout-button-display, inline-flex) !important;
  width: var(--hgg-wc-checkout-button-width, auto) !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--_hgg-wc-btn-bg) !important;
  color: var(--_hgg-wc-btn-text) !important;
  border-radius: var(--hgg-wc-button-radius, 10px) !important;
  text-decoration: none !important;
  border: 0 !important;
}
.woocommerce-checkout button.button:hover,
.woocommerce-checkout input.button:hover,
.woocommerce-checkout #place_order:hover,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: var(--_hgg-wc-btn-hover-bg) !important;
  color: var(--_hgg-wc-btn-hover-text) !important;
}

.woocommerce-account form.login .button,
.woocommerce-account form.woocommerce-form-login .button {
  --_hgg-wc-btn-bg: var(--hgg-wc-account-login-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-account-login-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-account-login-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-account-login-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
}
.woocommerce-account form.register .button,
.woocommerce-account form.woocommerce-form-register .button {
  --_hgg-wc-btn-bg: var(--hgg-wc-account-register-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-account-register-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-account-register-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-account-register-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
}
.woocommerce-lost-password form.lost_reset_password .button {
  --_hgg-wc-btn-bg: var(--hgg-wc-lost-password-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-lost-password-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-lost-password-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-lost-password-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
}
.woocommerce-account form.login .button,
.woocommerce-account form.woocommerce-form-login .button,
.woocommerce-account form.register .button,
.woocommerce-account form.woocommerce-form-register .button,
.woocommerce-lost-password form.lost_reset_password .button,
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-address-fields .button,
.woocommerce-account form.edit-account .button {
  display: var(--hgg-wc-account-button-display, inline-flex) !important;
  width: var(--hgg-wc-account-button-width, auto) !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--_hgg-wc-btn-bg, var(--hgg-wc-button-bg, #246de8)) !important;
  color: var(--_hgg-wc-btn-text, var(--hgg-wc-button-text, #fff)) !important;
  border-radius: var(--hgg-wc-button-radius, 10px) !important;
  text-decoration: none !important;
  border: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-address-fields .button:hover,
.woocommerce-account form.edit-account .button:hover,
.woocommerce-account form.login .button:hover,
.woocommerce-account form.register .button:hover,
.woocommerce-lost-password form.lost_reset_password .button:hover {
  background: var(--_hgg-wc-btn-hover-bg, var(--hgg-wc-button-hover-bg, #154fad)) !important;
  color: var(--_hgg-wc-btn-hover-text, var(--hgg-wc-button-hover-text, #fff)) !important;
}
.woocommerce-account .woocommerce-address-fields .button {
  --_hgg-wc-btn-bg: var(--hgg-wc-address-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-address-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-address-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-address-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
}
.woocommerce-account form.edit-account .button {
  --_hgg-wc-btn-bg: var(--hgg-wc-edit-account-button-bg, var(--hgg-wc-button-bg, #246de8));
  --_hgg-wc-btn-text: var(--hgg-wc-edit-account-button-text, var(--hgg-wc-button-text, #fff));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-edit-account-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-edit-account-button-hover-text, var(--hgg-wc-button-hover-text, #fff));
}
.woocommerce-account.woocommerce-orders .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button {
  --_hgg-wc-btn-bg: var(--hgg-wc-orders-empty-button-bg, var(--hgg-wc-notice-button-bg, var(--hgg-wc-button-bg, #246de8)));
  --_hgg-wc-btn-text: var(--hgg-wc-orders-empty-button-text, var(--hgg-wc-notice-button-text, var(--hgg-wc-button-text, #fff)));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-orders-empty-button-hover-bg, var(--hgg-wc-notice-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad)));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-orders-empty-button-hover-text, var(--hgg-wc-notice-button-hover-text, var(--hgg-wc-button-hover-text, #fff)));
}
.woocommerce-account.woocommerce-downloads .woocommerce-info .button {
  --_hgg-wc-btn-bg: var(--hgg-wc-downloads-empty-button-bg, var(--hgg-wc-notice-button-bg, var(--hgg-wc-button-bg, #246de8)));
  --_hgg-wc-btn-text: var(--hgg-wc-downloads-empty-button-text, var(--hgg-wc-notice-button-text, var(--hgg-wc-button-text, #fff)));
}

/* Prevent the global content-link rule from turning Woo block buttons into underlined text. */
body:not(.elementor-page) .site-main .entry-content a.wc-block-components-button,
body:not(.elementor-page) .site-main .entry-content a.wc-block-cart__submit-button,
body:not(.elementor-page) .site-main .entry-content a.checkout-button,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-components-button,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-cart__submit-button,
body:not(.elementor-page) .site-main .wp-block-post-content a.checkout-button {
  color: var(--hgg-wc-button-text, #fff) !important;
  text-decoration: none !important;
}

/* Lost password is a low-content screen: keep it readable and boxed. */
.woocommerce-lost-password .site-main .entry-content,
.woocommerce-lost-password .woocommerce {
  max-width: min(100%, 760px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Loop card visual, with a compact mode designed for 2 columns on mobile. */
.woocommerce ul.products,
.woocommerce-page ul.products {
  align-items: stretch !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--hgg-wc-card-radius, var(--hgg-content-radius, 20px)) !important;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 14px 14px 8px !important;
  text-align: var(--hgg-wc-archive-content-align, center) !important;
}
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--hgg-wc-loop-image-radius, 14px) !important;
  margin: 0 0 14px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  min-height: 2.65em !important;
  margin: 0 0 10px !important;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  margin-top: auto !important;
  margin-bottom: 0 !important;
}
.woocommerce ul.products li.product > a.button,
.woocommerce-page ul.products li.product > a.button {
  margin: 10px 14px 14px !important;
}
.woocommerce ul.products li.product .hgg-loop-badge,
.woocommerce-page ul.products li.product .hgg-loop-badge {
  top: 12px !important;
  left: 12px !important;
  z-index: 2 !important;
}

@media (max-width: 767px) {
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce ul.products li.product,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce-page ul.products li.product,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product {
    border-radius: 14px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
    padding: 0 0 8px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product img,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product img,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce ul.products li.product img,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce-page ul.products li.product img,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product img,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product img {
    border-radius: var(--hgg-wc-loop-image-radius, 14px) var(--hgg-wc-loop-image-radius, 14px) 0 0 !important;
    margin-bottom: 10px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: .92rem !important;
    line-height: 1.18 !important;
    min-height: 2.36em !important;
    margin: 0 8px 8px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .price,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .price,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce ul.products li.product .price,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce-page ul.products li.product .price,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .price,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .price {
    font-size: .9rem !important;
    margin: 0 8px !important;
    gap: 2px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .price .woocommerce-price-suffix,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .price .woocommerce-price-suffix {
    font-size: .72rem !important;
    margin-left: 0 !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product > a.button,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product > a.button,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce ul.products li.product > a.button,
  body.huuguu-wc-loop-card-mobile-compact .woocommerce-page ul.products li.product > a.button,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product > a.button,
  body.huuguu-wc-loop-card-mobile-auto.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product > a.button {
    min-height: 40px !important;
    margin: 8px 8px 8px !important;
    padding: 8px 10px !important;
    font-size: .82rem !important;
    line-height: 1.1 !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .hgg-loop-badge,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .hgg-loop-badge {
    top: 8px !important;
    left: 8px !important;
    font-size: .68rem !important;
    padding: 4px 9px !important;
  }
}

/* Single gallery radii and carousel arrows. */
.single-product div.product div.images img,
.single-product .woocommerce-product-gallery__image img,
.single-product .huuguu-wc-single-gallery img {
  border-radius: var(--hgg-wc-single-featured-image-radius, var(--hgg-wc-single-card-radius, 18px)) !important;
}
.single-product .flex-control-thumbs img,
.single-product .hgg-wc-gallery-thumbs-carousel img,
.single-product .huuguu-wc-gallery-thumbs img,
.single-product .huuguu-wc-thumb img {
  border-radius: var(--hgg-wc-single-thumb-image-radius, var(--hgg-wc-single-featured-image-radius, 18px)) !important;
}
.single-product .hgg-wc-gallery-thumbs-carousel,
.single-product .huuguu-wc-gallery-thumbs-carousel {
  position: relative !important;
  overflow: hidden !important;
}
.single-product .hgg-wc-gallery-arrow,
.single-product .huuguu-wc-gallery-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.single-product .hgg-wc-gallery-arrow--prev,
.single-product .huuguu-wc-gallery-arrow--prev { left: 10px !important; }
.single-product .hgg-wc-gallery-arrow--next,
.single-product .huuguu-wc-gallery-arrow--next { right: 10px !important; }
.single-product .hgg-wc-gallery-arrow svg,
.single-product .huuguu-wc-gallery-arrow svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
}

/* Huuguu v45 WooCommerce hardening: block buttons, no-sidebar layout, account nav and compact loop. */
body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-content-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-content-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-content-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-content-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-primary,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .huuguu-primary,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-primary,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .huuguu-primary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-primary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-primary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-primary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-primary,
body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-primary,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-primary,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-primary,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-primary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-primary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-primary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-primary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-primary {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 1 1 100% !important;
}
body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar #secondary,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar #secondary,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar #secondary,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar #secondary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar #secondary,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar #secondary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar #secondary,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar #secondary,
body.woocommerce-shop.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-sidebar,
body.woocommerce-shop.huuguu-wc-archive-layout-full_no_sidebar .huuguu-sidebar,
body.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-sidebar,
body.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .huuguu-sidebar,
body.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-sidebar,
body.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-sidebar,
body.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-sidebar,
body.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-sidebar {
  display: none !important;
}

/* WooCommerce block buttons: exact Gutenberg markup, protected from global content-link rules. */
body:not(.elementor-page) .site-main .entry-content a.wc-block-components-button.wp-element-button,
body:not(.elementor-page) .site-main .entry-content a.wc-block-components-button.wp-element-button.contained,
body:not(.elementor-page) .site-main .entry-content a.wc-block-cart__submit-button,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-components-button.wp-element-button,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-components-button.wp-element-button.contained,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-cart__submit-button,
.wp-block-woocommerce-cart a.wc-block-components-button.wp-element-button,
.wp-block-woocommerce-cart a.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a.wc-block-components-button.wp-element-button,
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
a.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions_row a.wc-block-components-button,
.wc-block-checkout__actions_row button.wc-block-components-button {
  --_hgg-wc-btn-bg: var(--hgg-wc-cart-button-bg, var(--hgg-wc-checkout-button-bg, var(--hgg-wc-button-bg, #246de8)));
  --_hgg-wc-btn-text: var(--hgg-wc-cart-button-text, var(--hgg-wc-checkout-button-text, var(--hgg-wc-button-text, #fff)));
  --_hgg-wc-btn-hover-bg: var(--hgg-wc-cart-button-hover-bg, var(--hgg-wc-checkout-button-hover-bg, var(--hgg-wc-button-hover-bg, #154fad)));
  --_hgg-wc-btn-hover-text: var(--hgg-wc-cart-button-hover-text, var(--hgg-wc-checkout-button-hover-text, var(--hgg-wc-button-hover-text, #fff)));
  display: var(--hgg-wc-cart-button-display, flex) !important;
  width: var(--hgg-wc-cart-button-width, 100%) !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: var(--hgg-wc-button-radius, 10px) !important;
  background: var(--_hgg-wc-btn-bg) !important;
  color: var(--_hgg-wc-btn-text) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-underline-offset: 0 !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}
body:not(.elementor-page) .site-main .entry-content a.wc-block-components-button.wp-element-button:hover,
body:not(.elementor-page) .site-main .entry-content a.wc-block-components-button.wp-element-button:focus-visible,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-components-button.wp-element-button:hover,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-components-button.wp-element-button:focus-visible,
.wp-block-woocommerce-cart a.wc-block-components-button.wp-element-button:hover,
.wp-block-woocommerce-cart a.wc-block-components-button.wp-element-button:focus-visible,
.wp-block-woocommerce-proceed-to-checkout-block a.wc-block-components-button.wp-element-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a.wc-block-components-button.wp-element-button:focus-visible,
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:focus-visible,
a.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button:hover,
a.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button:focus-visible,
.wc-block-checkout__actions_row a.wc-block-components-button:hover,
.wc-block-checkout__actions_row button.wc-block-components-button:hover {
  background: var(--_hgg-wc-btn-hover-bg) !important;
  color: var(--_hgg-wc-btn-hover-text) !important;
  text-decoration: none !important;
}
body:not(.elementor-page) .site-main .entry-content a.wc-block-components-button.wp-element-button .wc-block-components-button__text,
body:not(.elementor-page) .site-main .wp-block-post-content a.wc-block-components-button.wp-element-button .wc-block-components-button__text,
a.wc-block-components-button.wp-element-button .wc-block-components-button__text,
.wp-block-woocommerce-cart .wc-block-components-button__text,
.wp-block-woocommerce-checkout .wc-block-components-button__text {
  color: inherit !important;
  text-decoration: none !important;
}

/* My Account navigation: restore card-style menu instead of plain global links. */
body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation {
  margin: 0 0 28px !important;
}
body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation ul {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation a {
  display: flex !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 14px !important;
  border: 1px solid var(--hgg-border, rgba(23,32,51,.12)) !important;
  border-radius: var(--hgg-wc-button-radius, 10px) !important;
  background: var(--hgg-surface, #fff) !important;
  color: var(--hgg-text, #172033) !important;
  box-shadow: 0 10px 24px rgba(17,34,68,.06) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}
body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation .is-active a,
body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation a:focus-visible {
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #fff) !important;
  border-color: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  text-decoration: none !important;
}
@media (min-width: 900px) {
  body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
  }
  body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation ul {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-content {
    min-width: 0 !important;
  }
}

/* Better 2-column mobile loop: compact card by default when the mobile columns control is set to 2. */
@media (max-width: 767px) {
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 10px !important;
    row-gap: 14px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product {
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
    padding: 0 0 6px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product img,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product img {
    aspect-ratio: 1.12 / .82 !important;
    height: auto !important;
    border-radius: var(--hgg-wc-loop-image-radius, 14px) var(--hgg-wc-loop-image-radius, 14px) 0 0 !important;
    margin: 0 0 10px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(.82rem, 3.55vw, .98rem) !important;
    line-height: 1.12 !important;
    min-height: 2.24em !important;
    margin: 0 8px 8px !important;
    -webkit-line-clamp: 2 !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .star-rating,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .star-rating {
    transform: scale(.82) !important;
    transform-origin: center !important;
    margin: 0 auto 6px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .price,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .price {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 1px !important;
    font-size: .9rem !important;
    line-height: 1.1 !important;
    margin: 0 8px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .price .woocommerce-price-suffix,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .price .woocommerce-price-suffix {
    display: block !important;
    font-size: .7rem !important;
    line-height: 1.1 !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product > a.button,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product > a.button {
    min-height: 38px !important;
    margin: 8px 8px 8px !important;
    padding: 7px 8px !important;
    font-size: .8rem !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .hgg-loop-badge,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .hgg-loop-badge {
    top: 8px !important;
    left: 8px !important;
    font-size: .66rem !important;
    padding: 4px 9px !important;
  }
}

/* Huuguu v46 — WooCommerce layout hardening. */
.huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--no-sidebar,.huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--full.huuguu-woocommerce-wrap--no-sidebar{display:block!important;grid-template-columns:1fr!important}.huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--no-sidebar>.huuguu-woocommerce-primary,.huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--no-sidebar>.huuguu-primary{width:100%!important;max-width:100%!important;min-width:0!important;flex:0 0 100%!important}.huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--no-sidebar>#secondary,.huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--no-sidebar>.widget-area,.huuguu-woocommerce-wrap.huuguu-woocommerce-wrap--no-sidebar>.huuguu-sidebar{display:none!important}body.post-type-archive-product .huuguu-woocommerce-wrap--full,body.tax-product_cat .huuguu-woocommerce-wrap--full,body.tax-product_tag .huuguu-woocommerce-wrap--full,body.woocommerce-shop .huuguu-woocommerce-wrap--full{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
@media(max-width:700px){body.huuguu-wc-loop-mobile-columns-1 .huuguu-woocommerce-wrap--archive ul.products,body.huuguu-wc-loop-mobile-columns-1 .huuguu-woocommerce-wrap--taxonomy ul.products,body.huuguu-wc-loop-mobile-columns-1.post-type-archive-product .huuguu-woocommerce-wrap ul.products,body.huuguu-wc-loop-mobile-columns-1.tax-product_cat .huuguu-woocommerce-wrap ul.products,body.huuguu-wc-loop-mobile-columns-1.tax-product_tag .huuguu-woocommerce-wrap ul.products{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap--archive ul.products,body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap--taxonomy ul.products,body.huuguu-wc-loop-mobile-columns-2.post-type-archive-product .huuguu-woocommerce-wrap ul.products,body.huuguu-wc-loop-mobile-columns-2.tax-product_cat .huuguu-woocommerce-wrap ul.products,body.huuguu-wc-loop-mobile-columns-2.tax-product_tag .huuguu-woocommerce-wrap ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product,body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product,body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product{width:auto!important;min-width:0!important;margin:0!important;padding:0!important;border-radius:var(--hgg-wc-card-radius,16px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .woocommerce-LoopProduct-link,body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .woocommerce-LoopProduct-link,body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;align-items:center!important;gap:8px!important;padding:0 10px 8px!important;min-width:0!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product img,body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product img,body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product img{width:calc(100% + 20px)!important;max-width:calc(100% + 20px)!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important;margin:0 -10px 8px!important;border-radius:var(--hgg-wc-loop-image-radius,14px) var(--hgg-wc-loop-image-radius,14px) 0 0!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .woocommerce-loop-product__title,body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .woocommerce-loop-product__title,body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .woocommerce-loop-product__title{font-size:clamp(.82rem,3.8vw,.95rem)!important;line-height:1.18!important;min-height:2.35em!important;margin:0!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-align:center!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .price,body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .price,body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .price{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;justify-content:center!important;gap:3px 5px!important;font-size:.92rem!important;line-height:1.1!important;margin:0!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .price .woocommerce-price-suffix,body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .price .woocommerce-price-suffix,body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .price .woocommerce-price-suffix{display:block!important;width:100%!important;font-size:.72rem!important;line-height:1.1!important;margin:0!important;text-align:center!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product>a.button,body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product>a.button,body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product>a.button{width:calc(100% - 20px)!important;min-height:42px!important;margin:8px 10px 10px!important;padding:.65rem .5rem!important;font-size:.82rem!important;line-height:1.05!important;white-space:normal!important;text-align:center!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .star-rating{font-size:.72rem!important;margin:0 auto!important}body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .hgg-loop-badge{top:8px!important;left:8px!important;padding:.28rem .55rem!important;font-size:.68rem!important}}
body.woocommerce-account .huuguu-woocommerce-wrap,body.woocommerce-account .huuguu-content-wrap{max-width:var(--hgg-wc-account-container,var(--hgg-container,1240px))!important;width:min(100% - 32px,var(--hgg-wc-account-container,var(--hgg-container,1240px)))!important;margin-left:auto!important;margin-right:auto!important}body.woocommerce-account .woocommerce{display:grid!important;grid-template-columns:minmax(220px,300px) minmax(0,1fr)!important;gap:clamp(20px,3vw,40px)!important;align-items:start!important}body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation{float:none!important;width:auto!important;max-width:none!important;margin:0!important}body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-content{float:none!important;width:auto!important;max-width:none!important;margin:0!important;min-width:0!important}body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation ul{display:flex!important;flex-direction:column!important;gap:10px!important;padding:0!important;margin:0!important;list-style:none!important}body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation a,body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation a:hover,body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation a:focus-visible,body.woocommerce-account.huuguu-wc-account-nav-styled .woocommerce-MyAccount-navigation .is-active a{text-decoration:none!important}@media(max-width:900px){body.woocommerce-account .woocommerce{grid-template-columns:1fr!important}}


/* Huuguu v47 WooCommerce corrections
   - single source for mobile loop columns
   - loop image radius control wins
   - My Account menu/content layout respects boxed/full without breaking
*/
body.woocommerce ul.products li.product img,
body.woocommerce-page ul.products li.product img,
body.post-type-archive-product ul.products li.product img,
body.tax-product_cat ul.products li.product img,
body.tax-product_tag ul.products li.product img,
body.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
body.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link img{
  border-radius:var(--hgg-wc-loop-image-radius,14px)!important;
}

@media(max-width:700px){
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-2.post-type-archive-product ul.products,
  body.huuguu-wc-loop-mobile-columns-2.tax-product_cat ul.products,
  body.huuguu-wc-loop-mobile-columns-2.tax-product_tag ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
  }
  body.huuguu-wc-loop-mobile-columns-1.woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-1.woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-1.post-type-archive-product ul.products,
  body.huuguu-wc-loop-mobile-columns-1.tax-product_cat ul.products,
  body.huuguu-wc-loop-mobile-columns-1.tax-product_tag ul.products,
  body.huuguu-wc-loop-mobile-columns-1 .huuguu-woocommerce-wrap ul.products{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
    width:100%!important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .woocommerce-LoopProduct-link{
    padding:0 10px 8px!important;
    gap:8px!important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product img,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product img,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product img{
    width:calc(100% + 20px)!important;
    max-width:calc(100% + 20px)!important;
    margin:0 -10px 8px!important;
    border-radius:var(--hgg-wc-loop-image-radius,14px) var(--hgg-wc-loop-image-radius,14px) 0 0!important;
  }
}

.woocommerce-account .entry-content > .woocommerce{
  width:min(100%,var(--hgg-content-max,var(--hgg-container,1240px)))!important;
  max-width:min(100%,var(--hgg-content-max,var(--hgg-container,1240px)))!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr)!important;
  gap:clamp(20px,3vw,40px)!important;
  align-items:start!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  float:none!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:44px!important;
  padding:.78rem 1rem!important;
  border:1px solid rgba(23,32,51,.12)!important;
  border-radius:var(--hgg-wc-button-radius,var(--hgg-button-radius,10px))!important;
  background:var(--hgg-surface,#fff)!important;
  color:var(--hgg-text,#172033)!important;
  text-decoration:none!important;
  font-weight:700!important;
  box-shadow:0 10px 28px rgba(17,34,68,.05)!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible{
  background:var(--hgg-wc-button-bg,var(--hgg-primary,#246de8))!important;
  color:var(--hgg-wc-button-text,#fff)!important;
  text-decoration:none!important;
}
.woocommerce-account .woocommerce-MyAccount-content{
  float:none!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  min-width:0!important;
  padding:clamp(18px,2vw,28px)!important;
  border:1px solid rgba(23,32,51,.08)!important;
  border-radius:var(--hgg-radius,18px)!important;
  background:var(--hgg-surface,#fff)!important;
  box-shadow:0 16px 44px rgba(17,34,68,.06)!important;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wc-block-components-button){
  color:var(--hgg-link-color,var(--hgg-primary,#246de8))!important;
  text-decoration:underline!important;
  text-underline-offset:.18em!important;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wc-block-components-button):hover{
  color:var(--hgg-link-hover,var(--hgg-primary-dark,#154fad))!important;
}
@media(max-width:900px){
  .woocommerce-account .entry-content > .woocommerce{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
}
@media(max-width:540px){
  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    grid-template-columns:1fr!important;
  }
  .woocommerce-account .woocommerce-MyAccount-content{
    padding:16px!important;
  }
}

/* Huuguu v48 — real fixes for Woo loop mobile columns, loop image radius and My Account layout. */
body.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link > img,
body.post-type-archive-product ul.products li.product .woocommerce-LoopProduct-link > img,
body.tax-product_cat ul.products li.product .woocommerce-LoopProduct-link > img,
body.tax-product_tag ul.products li.product .woocommerce-LoopProduct-link > img,
body.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.woocommerce-page ul.products li.product img.attachment-woocommerce_thumbnail {
  border-radius: var(--hgg-wc-loop-image-radius, 14px) !important;
}

@media (max-width: 700px) {
  body.huuguu-wc-loop-mobile-columns-1 .huuguu-woocommerce-wrap ul.products,
  body.huuguu-wc-loop-mobile-columns-1.woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-1.woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-1.post-type-archive-product ul.products,
  body.huuguu-wc-loop-mobile-columns-1.tax-product_cat ul.products,
  body.huuguu-wc-loop-mobile-columns-1.tax-product_tag ul.products {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-2.post-type-archive-product ul.products,
  body.huuguu-wc-loop-mobile-columns-2.tax-product_cat ul.products,
  body.huuguu-wc-loop-mobile-columns-2.tax-product_tag ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 0 8px 8px !important;
    min-width: 0 !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .woocommerce-LoopProduct-link > img,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link > img,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product img.attachment-woocommerce_thumbnail,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product img.attachment-woocommerce_thumbnail {
    width: calc(100% + 16px) !important;
    max-width: calc(100% + 16px) !important;
    height: auto !important;
    aspect-ratio: 1 / .78 !important;
    object-fit: cover !important;
    margin: 0 -8px 8px !important;
    border-radius: var(--hgg-wc-loop-image-radius, 14px) var(--hgg-wc-loop-image-radius, 14px) 0 0 !important;
  }
}

/* My Account: target the actual WooCommerce HTML inside the page card. */
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
  gap: clamp(20px, 3vw, 36px) !important;
  align-items: start !important;
}
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) > nav.woocommerce-MyAccount-navigation,
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(18px, 2vw, 28px) !important;
  border: 1px solid rgba(23, 32, 51, .10) !important;
  border-radius: var(--hgg-radius, 18px) !important;
  background: var(--hgg-surface, #fff) !important;
  box-shadow: 0 16px 44px rgba(17, 34, 68, .06) !important;
}
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body:not(.elementor-page) .site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation a,
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation a {
  display: flex !important;
  width: 100% !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: .78rem 1rem !important;
  border: 1px solid rgba(23, 32, 51, .12) !important;
  border-radius: var(--hgg-wc-button-radius, var(--hgg-button-radius, 10px)) !important;
  background: var(--hgg-surface, #fff) !important;
  color: var(--hgg-text, #172033) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 28px rgba(17, 34, 68, .05) !important;
}
body:not(.elementor-page) .site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation .is-active a,
body:not(.elementor-page) .site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation a:hover,
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation .is-active a,
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation a:hover,
.site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation a:focus-visible {
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #fff) !important;
  border-color: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  text-decoration: none !important;
}
@media (max-width: 900px) {
  .site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) {
    grid-template-columns: 1fr !important;
  }
  .site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 540px) {
  .site-main .entry-content > div.woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation ul {
    grid-template-columns: 1fr !important;
  }
}

/* v49 definitive WooCommerce account layout and loop radii. */
body.huuguu-wc-account-page .site-main .entry-content > .woocommerce,
body.woocommerce-account .site-main .entry-content > .woocommerce,
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: grid !important;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr) !important;
  gap: clamp(22px, 3vw, 40px) !important;
  align-items: start !important;
  width: min(100%, var(--hgg-content-max, var(--hgg-container, 1240px))) !important;
  max-width: min(100%, var(--hgg-content-max, var(--hgg-container, 1240px))) !important;
  margin-inline: auto !important;
}
body.huuguu-wc-account-page .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-navigation,
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation {
  float: none !important;
  width: 100% !important;
  max-width: 300px !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: 1 !important;
}
body.huuguu-wc-account-page .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content,
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  grid-column: 2 !important;
  min-width: 0 !important;
  padding: clamp(22px, 2.5vw, 34px) !important;
  border: 1px solid rgba(23,32,51,.08) !important;
  border-radius: var(--hgg-content-radius, var(--hgg-radius, 18px)) !important;
  background: var(--hgg-surface, #fff) !important;
  box-shadow: 0 18px 48px rgba(17,34,68,.07) !important;
}
body.huuguu-wc-account-page .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .woocommerce-MyAccount-navigation ul,
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation ul {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.huuguu-wc-account-page .woocommerce-MyAccount-navigation li,
body.woocommerce-account .woocommerce-MyAccount-navigation li,
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.huuguu-wc-account-page .woocommerce-MyAccount-navigation a,
body.woocommerce-account .woocommerce-MyAccount-navigation a,
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: .82rem 1rem !important;
  border: 1px solid rgba(23,32,51,.12) !important;
  border-radius: var(--hgg-wc-button-radius, var(--hgg-button-radius, 10px)) !important;
  background: var(--hgg-surface, #fff) !important;
  color: var(--hgg-text, #172033) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 28px rgba(17,34,68,.05) !important;
}
body.huuguu-wc-account-page .woocommerce-MyAccount-navigation .is-active a,
body.huuguu-wc-account-page .woocommerce-MyAccount-navigation a:hover,
body.huuguu-wc-account-page .woocommerce-MyAccount-navigation a:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible,
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation .is-active a,
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation a:hover,
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation a:focus-visible {
  background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  color: var(--hgg-wc-button-text, #fff) !important;
  border-color: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) !important;
  text-decoration: none !important;
}
body.huuguu-wc-account-page .woocommerce-MyAccount-content a:not(.button):not(.wc-block-components-button),
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wc-block-components-button),
.site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content a:not(.button):not(.wc-block-components-button) {
  color: var(--hgg-link-color, var(--hgg-primary, #246de8)) !important;
  text-decoration: underline !important;
  text-underline-offset: .18em !important;
}
@media (max-width: 900px) {
  body.huuguu-wc-account-page .site-main .entry-content > .woocommerce,
  body.woocommerce-account .site-main .entry-content > .woocommerce,
  .site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) {
    grid-template-columns: 1fr !important;
  }
  body.huuguu-wc-account-page .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  .site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation,
  body.huuguu-wc-account-page .woocommerce-MyAccount-content,
  body.woocommerce-account .woocommerce-MyAccount-content,
  .site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content {
    grid-column: 1 !important;
    max-width: none !important;
  }
  body.huuguu-wc-account-page .woocommerce-MyAccount-navigation ul,
  body.woocommerce-account .woocommerce-MyAccount-navigation ul,
  .site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation ul {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 540px) {
  body.huuguu-wc-account-page .woocommerce-MyAccount-navigation ul,
  body.woocommerce-account .woocommerce-MyAccount-navigation ul,
  .site-main .entry-content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation ul {
    grid-template-columns: 1fr !important;
  }
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.huuguu-woocommerce-wrap ul.products li.product {
  border-radius: var(--hgg-wc-loop-card-radius, var(--hgg-wc-card-radius, 18px)) !important;
}
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.huuguu-woocommerce-wrap ul.products li.product img,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img {
  border-radius: var(--hgg-wc-loop-image-radius, 14px) !important;
}
@media (max-width: 767px) {
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product {
    border-radius: var(--hgg-wc-loop-card-radius, var(--hgg-wc-card-radius, 16px)) !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product img,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product img,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product img {
    border-radius: var(--hgg-wc-loop-image-radius, 14px) var(--hgg-wc-loop-image-radius, 14px) 0 0 !important;
  }
}

/* v50 WooCommerce loop card image-first layout + gallery thumbnail polish.
 * The loop card now follows the same visual idea as the single gallery thumbnails:
 * image as the card head, badge inside the image area, content below, button padded but aligned.
 */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.huuguu-woocommerce-wrap ul.products li.product {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: var(--hgg-wc-loop-card-radius, var(--hgg-radius, 18px)) !important;
  background: var(--hgg-surface, #fff) !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link,
.huuguu-woocommerce-wrap ul.products li.product a.woocommerce-LoopProduct-link {
  position: relative !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img,
.huuguu-woocommerce-wrap ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce-page ul.products li.product img.attachment-woocommerce_thumbnail {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  margin: 0 !important;
  border-radius: var(--hgg-wc-loop-image-radius, var(--hgg-wc-loop-card-radius, 18px)) var(--hgg-wc-loop-image-radius, var(--hgg-wc-loop-card-radius, 18px)) 0 0 !important;
  transition: transform .22s ease, filter .22s ease !important;
}

.woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product:hover a.woocommerce-LoopProduct-link img,
.huuguu-woocommerce-wrap ul.products li.product:hover a.woocommerce-LoopProduct-link img {
  transform: scale(1.025) !important;
}

.woocommerce ul.products li.product .hgg-loop-badge,
.woocommerce-page ul.products li.product .hgg-loop-badge,
.huuguu-woocommerce-wrap ul.products li.product .hgg-loop-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 4 !important;
  max-width: calc(100% - 24px) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transform: none !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.huuguu-woocommerce-wrap ul.products li.product .woocommerce-loop-product__title {
  margin: clamp(14px, 1.6vw, 20px) clamp(12px, 1.6vw, 18px) 0 !important;
  padding: 0 !important;
}

.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating,
.huuguu-woocommerce-wrap ul.products li.product .star-rating {
  margin: 12px auto 0 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.huuguu-woocommerce-wrap ul.products li.product .price {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: .35rem !important;
  margin: 12px clamp(12px, 1.6vw, 18px) 0 !important;
  line-height: 1.2 !important;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.huuguu-woocommerce-wrap ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce-page ul.products li.product a.button {
  width: calc(100% - clamp(24px, 3vw, 36px)) !important;
  margin: auto clamp(12px, 1.5vw, 18px) clamp(12px, 1.5vw, 18px) !important;
  align-self: stretch !important;
}

@media (max-width: 767px) {
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products {
    gap: 12px !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product {
    border-radius: var(--hgg-wc-loop-card-radius, 14px) !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product a.woocommerce-LoopProduct-link img {
    aspect-ratio: 1 / 1 !important;
    border-radius: var(--hgg-wc-loop-image-radius, var(--hgg-wc-loop-card-radius, 14px)) var(--hgg-wc-loop-image-radius, var(--hgg-wc-loop-card-radius, 14px)) 0 0 !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .hgg-loop-badge,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .hgg-loop-badge,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .hgg-loop-badge {
    top: 8px !important;
    left: 8px !important;
    max-width: calc(100% - 16px) !important;
    padding: .38rem .55rem !important;
    font-size: .72rem !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .woocommerce-loop-product__title {
    margin: 11px 9px 0 !important;
    font-size: .88rem !important;
    line-height: 1.18 !important;
    min-height: 2.35em !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .price,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .price,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .price {
    margin: 9px 8px 0 !important;
    gap: .18rem !important;
    font-size: .9rem !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .price small,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .price small,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .price small {
    display: block !important;
    width: 100% !important;
    font-size: .72rem !important;
    line-height: 1.2 !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .star-rating,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .star-rating,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .star-rating {
    margin-top: 8px !important;
    transform: scale(.86) !important;
    transform-origin: center !important;
  }

  body.huuguu-wc-loop-mobile-columns-2 .woocommerce ul.products li.product .button,
  body.huuguu-wc-loop-mobile-columns-2 .woocommerce-page ul.products li.product .button,
  body.huuguu-wc-loop-mobile-columns-2 .huuguu-woocommerce-wrap ul.products li.product .button {
    min-height: 40px !important;
    width: calc(100% - 16px) !important;
    margin: auto 8px 8px !important;
    padding: .55rem .55rem !important;
    font-size: .82rem !important;
    line-height: 1.15 !important;
  }
}

/* Single product gallery: thumbnails keep the same visual language as product cards. */
.single-product div.product .woocommerce-product-gallery__wrapper,
.woocommerce-page.single-product div.product .woocommerce-product-gallery__wrapper {
  border-radius: var(--hgg-wc-single-featured-image-radius, 18px) !important;
  overflow: hidden !important;
}
.single-product div.product .woocommerce-product-gallery__wrapper img,
.woocommerce-page.single-product div.product .woocommerce-product-gallery__wrapper img {
  border-radius: var(--hgg-wc-single-featured-image-radius, 18px) !important;
}
.single-product div.product .flex-control-thumbs li,
.woocommerce-page.single-product div.product .flex-control-thumbs li {
  overflow: hidden !important;
  border-radius: var(--hgg-wc-single-thumb-image-radius, var(--hgg-wc-single-featured-image-radius, 18px)) !important;
}
.single-product div.product .flex-control-thumbs li img,
.woocommerce-page.single-product div.product .flex-control-thumbs li img {
  border-radius: var(--hgg-wc-single-thumb-image-radius, var(--hgg-wc-single-featured-image-radius, 18px)) !important;
}
.single-product .hgg-wc-thumbs-carousel,
.woocommerce-page.single-product .hgg-wc-thumbs-carousel {
  position: relative !important;
  margin-top: 14px !important;
}
.single-product .hgg-wc-thumbs-viewport,
.woocommerce-page.single-product .hgg-wc-thumbs-viewport {
  overflow: hidden !important;
  border-radius: var(--hgg-wc-single-thumb-image-radius, var(--hgg-wc-single-featured-image-radius, 18px)) !important;
}
.single-product .hgg-wc-thumbs-arrow,
.woocommerce-page.single-product .hgg-wc-thumbs-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  transform: translateY(-50%) !important;
  line-height: 1 !important;
}
.single-product .hgg-wc-thumbs-arrow span,
.woocommerce-page.single-product .hgg-wc-thumbs-arrow span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em !important;
  height: 1em !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}
.single-product .hgg-wc-thumbs-arrow--prev,
.woocommerce-page.single-product .hgg-wc-thumbs-arrow--prev {
  left: 10px !important;
}
.single-product .hgg-wc-thumbs-arrow--next,
.woocommerce-page.single-product .hgg-wc-thumbs-arrow--next {
  right: 10px !important;
}

/* Huuguu v51 — WooCommerce gallery, shared loop cards, and tax suffix normalization */
body.single-product .woocommerce-product-gallery{
  position:relative!important;
}
body.single-product .woocommerce-product-gallery:not(.hgg-wc-thumbs-carousel-ready)::after,
body.single-product .woocommerce-product-gallery.hgg-wc-gallery-loading::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:34px!important;
  height:34px!important;
  margin:-17px 0 0 -17px!important;
  border:3px solid rgba(23,32,51,.14)!important;
  border-top-color:var(--hgg-primary,#246de8)!important;
  border-radius:999px!important;
  z-index:12!important;
  animation:hgg-wc-gallery-spin .75s linear infinite!important;
  pointer-events:none!important;
}
@keyframes hgg-wc-gallery-spin{to{transform:rotate(360deg)}}
body.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image a,
body.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img{
  border-radius:var(--hgg-wc-single-featured-image-radius,var(--hgg-wc-single-thumb-image-radius,18px))!important;
}
body.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img{
  width:100%!important;
  object-fit:cover!important;
}
body.single-product .hgg-wc-thumbs-carousel{
  position:relative!important;
  margin-top:14px!important;
  width:100%!important;
  isolation:isolate!important;
}
body.single-product .hgg-wc-thumbs-viewport{
  overflow:hidden!important;
  width:100%!important;
}
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 36px) / 4)!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs::-webkit-scrollbar{display:none!important}
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs li{
  width:auto!important;
  float:none!important;
  display:block!important;
  margin:0!important;
  scroll-snap-align:start!important;
  list-style:none!important;
}
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs li.hgg-wc-thumb-duplicate{display:none!important}
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:var(--hgg-wc-single-thumb-image-radius,var(--hgg-wc-single-featured-image-radius,18px))!important;
  opacity:.58!important;
  cursor:pointer!important;
  transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs img.flex-active,
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs img.is-hover-active,
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs img.is-click-active{
  opacity:1!important;
  box-shadow:0 0 0 2px rgba(36,109,232,.24)!important;
}
body.single-product .hgg-wc-thumbs-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:5!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border:1px solid rgba(23,32,51,.12)!important;
  border-radius:999px!important;
  background:var(--hgg-surface,#fff)!important;
  color:var(--hgg-text,#172033)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  box-shadow:0 12px 28px rgba(17,34,68,.14)!important;
  cursor:pointer!important;
}
body.single-product .hgg-wc-thumbs-arrow span{
  display:block!important;
  line-height:1!important;
  font-size:1.35rem!important;
  transform:translateY(-1px)!important;
}
body.single-product .hgg-wc-thumbs-arrow--prev{left:8px!important}
body.single-product .hgg-wc-thumbs-arrow--next{right:8px!important}
body.single-product .hgg-wc-thumbs-arrow:disabled{opacity:.38!important;cursor:default!important}

/* Shared loop card visual: shop, taxonomy, related, upsells, cross-sells and shortcodes */
body.woocommerce ul.products,
body.woocommerce-page ul.products{
  align-items:stretch!important;
}
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product,
body.woocommerce-cart .cross-sells ul.products li.product{
  position:relative!important;
  overflow:hidden!important;
  border-radius:var(--hgg-wc-loop-card-radius,var(--hgg-wc-card-radius,18px))!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link,
body.woocommerce-cart .cross-sells ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:0 16px 12px!important;
  min-width:0!important;
  text-decoration:none!important;
}
body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
body.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img,
body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link img,
body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link img,
body.woocommerce-cart .cross-sells ul.products li.product a.woocommerce-LoopProduct-link img{
  width:calc(100% + 32px)!important;
  max-width:calc(100% + 32px)!important;
  margin:0 -16px 6px!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:var(--hgg-wc-loop-image-radius,14px) var(--hgg-wc-loop-image-radius,14px) 0 0!important;
}
body.woocommerce ul.products li.product .hgg-loop-badge,
body.woocommerce-page ul.products li.product .hgg-loop-badge,
body.single-product .related.products ul.products li.product .hgg-loop-badge,
body.single-product .upsells.products ul.products li.product .hgg-loop-badge,
body.woocommerce-cart .cross-sells ul.products li.product .hgg-loop-badge{
  top:12px!important;
  left:12px!important;
  max-width:calc(100% - 24px)!important;
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title{
  margin:0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price,
body.single-product .related.products ul.products li.product .price,
body.single-product .upsells.products ul.products li.product .price,
body.woocommerce-cart .cross-sells ul.products li.product .price{
  display:flex!important;
  align-items:baseline!important;
  justify-content:var(--hgg-loop-price-justify,center)!important;
  gap:4px 6px!important;
  flex-wrap:wrap!important;
  margin:0!important;
}
body.woocommerce ul.products li.product .price .woocommerce-price-suffix,
body.woocommerce-page ul.products li.product .price .woocommerce-price-suffix,
body.single-product div.product .summary .price .woocommerce-price-suffix,
body.single-product .related.products ul.products li.product .price .woocommerce-price-suffix,
body.single-product .upsells.products ul.products li.product .price .woocommerce-price-suffix,
body.woocommerce-cart .cross-sells ul.products li.product .price .woocommerce-price-suffix{
  color:var(--hgg-wc-price-suffix-color,var(--hgg-muted,#5d6781))!important;
  font-size:var(--hgg-wc-price-suffix-size,12px)!important;
  font-weight:var(--hgg-wc-price-suffix-weight,600)!important;
  margin-left:var(--hgg-wc-price-suffix-spacing,4px)!important;
}
body.woocommerce ul.products li.product > a.button,
body.woocommerce-page ul.products li.product > a.button,
body.single-product .related.products ul.products li.product > a.button,
body.single-product .upsells.products ul.products li.product > a.button,
body.woocommerce-cart .cross-sells ul.products li.product > a.button{
  margin:10px 16px 16px!important;
  width:calc(100% - 32px)!important;
}
@media(max-width:700px){
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .related.products ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .upsells.products ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .cross-sells ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link{
    padding:0 9px 8px!important;
    gap:8px!important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img{
    width:calc(100% + 18px)!important;
    max-width:calc(100% + 18px)!important;
    margin:0 -9px 6px!important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .woocommerce-loop-product__title{
    font-size:clamp(.78rem,3.55vw,.92rem)!important;
    line-height:1.16!important;
    min-height:2.32em!important;
    text-align:center!important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .price,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .price{
    font-size:.9rem!important;
    line-height:1.1!important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product .price .woocommerce-price-suffix,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product .price .woocommerce-price-suffix{
    width:100%!important;
    text-align:center!important;
    margin:0!important;
    font-size:.7rem!important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product > a.button,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product > a.button{
    margin:8px 9px 10px!important;
    width:calc(100% - 18px)!important;
    min-height:40px!important;
    padding:.62rem .45rem!important;
    font-size:.78rem!important;
    line-height:1.05!important;
    white-space:normal!important;
  }
}

/* Huuguu v52 — WooCommerce gallery preload and shared mobile product loop hardening. */
body.single-product .woocommerce-product-gallery:not(.hgg-wc-thumbs-carousel-ready) {
  position: relative !important;
  min-height: 220px !important;
}
body.single-product .woocommerce-product-gallery:not(.hgg-wc-thumbs-carousel-ready)::after,
body.single-product .woocommerce-product-gallery.hgg-wc-gallery-loading::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 20 !important;
  width: 34px !important;
  height: 34px !important;
  margin: -17px 0 0 -17px !important;
  border-radius: 999px !important;
  border: 3px solid rgba(23,32,51,.16) !important;
  border-top-color: var(--hgg-wc-button-bg,var(--hgg-primary,#246de8)) !important;
  animation: hgg-wc-gallery-spin .75s linear infinite !important;
  pointer-events: none !important;
}
@keyframes hgg-wc-gallery-spin { to { transform: rotate(360deg); } }
body.single-product .woocommerce-product-gallery.hgg-wc-gallery-loading .woocommerce-product-gallery__wrapper {
  opacity: .48 !important;
  transition: opacity .18s ease !important;
}
body.single-product .hgg-wc-thumbs-carousel {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 14px !important;
}
body.single-product .hgg-wc-thumbs-viewport {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  width: 100% !important;
  scroll-behavior: smooth !important;
  scrollbar-width: none !important;
}
body.single-product .hgg-wc-thumbs-viewport::-webkit-scrollbar { display: none !important; }
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 36px) / 4) !important;
  gap: 12px !important;
  width: max-content !important;
  min-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs li {
  width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  display: block !important;
  margin: 0 !important;
}
body.single-product .hgg-wc-thumbs-carousel .flex-control-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
  border-radius: var(--hgg-wc-single-thumb-image-radius,var(--hgg-wc-single-featured-image-radius,18px)) !important;
}
body.single-product .hgg-wc-thumbs-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 25 !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-align: center !important;
}
body.single-product .hgg-wc-thumbs-arrow--prev { left: 10px !important; }
body.single-product .hgg-wc-thumbs-arrow--next { right: 10px !important; }
body.single-product .hgg-wc-thumbs-arrow span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em !important;
  height: 1em !important;
  line-height: 1 !important;
  font-size: 1.35rem !important;
  transform: none !important;
}
@media (max-width: 700px) {
  body.huuguu-wc-loop-mobile-columns-1.woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-1.woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-1 .related.products ul.products,
  body.huuguu-wc-loop-mobile-columns-1 .upsells.products ul.products,
  body.huuguu-wc-loop-mobile-columns-1 .cross-sells ul.products {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .related.products ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .upsells.products ul.products,
  body.huuguu-wc-loop-mobile-columns-2 .cross-sells ul.products,
  body.huuguu-wc-loop-mobile-columns-2.single-product ul.products {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 12px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product a.woocommerce-LoopProduct-link {
    padding: 0 9px 8px !important;
    gap: 8px !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product a.woocommerce-LoopProduct-link img {
    width: calc(100% + 18px) !important;
    max-width: calc(100% + 18px) !important;
    margin: 0 -9px 6px !important;
    border-radius: var(--hgg-wc-loop-image-radius,14px) var(--hgg-wc-loop-image-radius,14px) 0 0 !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(.78rem,3.55vw,.92rem) !important;
    line-height: 1.16 !important;
    min-height: 2.32em !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product .price {
    font-size: .9rem !important;
    line-height: 1.1 !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product .price .woocommerce-price-suffix {
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    font-size: .7rem !important;
  }
  body.huuguu-wc-loop-mobile-columns-2 ul.products li.product > a.button {
    margin: 8px 9px 10px !important;
    width: calc(100% - 18px) !important;
    min-height: 40px !important;
    padding: .62rem .45rem !important;
    font-size: .78rem !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }
}

/* Huuguu v53 — Gallery loader scoped only to active WooCommerce gallery loading state.
   Do not show a permanent spinner when the product has no thumbnail gallery. */
body.single-product .woocommerce-product-gallery,
body.woocommerce-page.single-product .woocommerce-product-gallery {
  position: relative !important;
}
body.single-product .woocommerce-product-gallery:not(.hgg-wc-gallery-loading)::after,
body.woocommerce-page.single-product .woocommerce-product-gallery:not(.hgg-wc-gallery-loading)::after {
  content: none !important;
  display: none !important;
}
body.single-product .woocommerce-product-gallery.hgg-wc-gallery-loading::after,
body.woocommerce-page.single-product .woocommerce-product-gallery.hgg-wc-gallery-loading::after {
  content: "" !important;
  position: absolute !important;
  inset: auto !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 20 !important;
  width: 34px !important;
  height: 34px !important;
  margin: -17px 0 0 -17px !important;
  border-radius: 999px !important;
  border: 3px solid rgba(23,32,51,.16) !important;
  border-top-color: var(--hgg-wc-button-bg,var(--hgg-primary,#246de8)) !important;
  animation: hgg-wc-gallery-spin .75s linear infinite !important;
  pointer-events: none !important;
}
body.single-product .woocommerce-product-gallery.hgg-wc-gallery-loading .woocommerce-product-gallery__wrapper,
body.woocommerce-page.single-product .woocommerce-product-gallery.hgg-wc-gallery-loading .woocommerce-product-gallery__wrapper {
  opacity: .48 !important;
  transition: opacity .18s ease !important;
}
body.single-product .woocommerce-product-gallery:not(.hgg-wc-gallery-loading) .woocommerce-product-gallery__wrapper,
body.woocommerce-page.single-product .woocommerce-product-gallery:not(.hgg-wc-gallery-loading) .woocommerce-product-gallery__wrapper {
  opacity: 1 !important;
}

/* Huuguu v54 — Woo loop added-to-cart button, thumbnail carousel touch hardening and mobile breadcrumb compact spacing. */
body.woocommerce ul.products li.product a.added_to_cart,
body.woocommerce-page ul.products li.product a.added_to_cart,
body.woocommerce ul.products li.product a.added_to_cart.wc-forward,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward,
body.woocommerce .related.products ul.products li.product a.added_to_cart,
body.woocommerce .upsells.products ul.products li.product a.added_to_cart,
body.woocommerce .cross-sells ul.products li.product a.added_to_cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: calc(100% - 24px) !important;
  min-height: 44px !important;
  margin: 8px 12px 14px !important;
  padding: .72rem 1rem !important;
  border: 0 !important;
  border-radius: var(--hgg-wc-loop-button-radius, var(--hgg-wc-button-radius, 6px)) !important;
  background: var(--hgg-wc-loop-button-bg, var(--hgg-wc-button-bg, var(--hgg-primary, #246de8))) !important;
  color: var(--hgg-wc-loop-button-text, var(--hgg-wc-button-text, #fff)) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-underline-offset: 0 !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}
body.woocommerce ul.products li.product a.added_to_cart:hover,
body.woocommerce-page ul.products li.product a.added_to_cart:hover,
body.woocommerce ul.products li.product a.added_to_cart.wc-forward:hover,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward:hover,
body.woocommerce .related.products ul.products li.product a.added_to_cart:hover,
body.woocommerce .upsells.products ul.products li.product a.added_to_cart:hover,
body.woocommerce .cross-sells ul.products li.product a.added_to_cart:hover {
  background: var(--hgg-wc-loop-button-hover-bg, var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark, #154fad))) !important;
  color: var(--hgg-wc-loop-button-hover-text, var(--hgg-wc-button-hover-text, #fff)) !important;
  text-decoration: none !important;
}
body.woocommerce ul.products li.product a.added_to_cart::after,
body.woocommerce-page ul.products li.product a.added_to_cart::after {
  display: none !important;
  content: none !important;
}
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
  align-content: start !important;
}

@media (max-width: 700px) {
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product a.added_to_cart,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product a.added_to_cart,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce ul.products li.product a.added_to_cart.wc-forward,
  body.huuguu-wc-loop-mobile-columns-2.woocommerce-page ul.products li.product a.added_to_cart.wc-forward,
  body.huuguu-wc-loop-mobile-columns-2 .related.products ul.products li.product a.added_to_cart,
  body.huuguu-wc-loop-mobile-columns-2 .upsells.products ul.products li.product a.added_to_cart,
  body.huuguu-wc-loop-mobile-columns-2 .cross-sells ul.products li.product a.added_to_cart {
    width: calc(100% - 18px) !important;
    min-height: 38px !important;
    margin: 6px 9px 10px !important;
    padding: .58rem .45rem !important;
    font-size: .76rem !important;
    white-space: normal !important;
  }
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
  body.single-product .woocommerce-breadcrumb,
  body.woocommerce-page .woocommerce-breadcrumb {
    gap: 4px !important;
    column-gap: 4px !important;
    font-size: .86rem !important;
  }
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-sep,
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb .huuguu-breadcrumb-sep,
  body.single-product .woocommerce-breadcrumb .huuguu-breadcrumb-sep,
  body.woocommerce-page .woocommerce-breadcrumb .huuguu-breadcrumb-sep {
    margin-inline: 3px !important;
    padding-inline: 0 !important;
  }
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > a,
  .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > span,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > a,
  .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > span {
    margin-inline: 0 !important;
  }
}

/* Gallery carousel: arrows sit over the first/last visible thumbs and stay visually centered. */
body.single-product .hgg-wc-thumbs-carousel,
body.woocommerce-page.single-product .hgg-wc-thumbs-carousel {
  overflow: visible !important;
}
body.single-product .hgg-wc-thumbs-arrow,
body.woocommerce-page.single-product .hgg-wc-thumbs-arrow {
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  background: rgba(255,255,255,.92) !important;
  color: var(--hgg-text, #172033) !important;
  border: 1px solid rgba(23,32,51,.10) !important;
  box-shadow: 0 10px 22px rgba(17,34,68,.13) !important;
}
body.single-product .hgg-wc-thumbs-arrow--prev,
body.woocommerce-page.single-product .hgg-wc-thumbs-arrow--prev { left: 8px !important; }
body.single-product .hgg-wc-thumbs-arrow--next,
body.woocommerce-page.single-product .hgg-wc-thumbs-arrow--next { right: 8px !important; }
body.single-product .hgg-wc-thumbs-arrow span,
body.woocommerce-page.single-product .hgg-wc-thumbs-arrow span {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: .8 !important;
  transform: translateY(-1px) !important;
}

/* === V55 WooCommerce gallery: stable thumbnail carousel and native FlexSlider sync === */
body.single-product .woocommerce-product-gallery,
body.woocommerce-page.single-product .woocommerce-product-gallery {
  position: relative !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel {
  --hgg-wc-thumb-gap: 12px;
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 14px !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-viewport,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-viewport {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: var(--hgg-wc-single-thumb-image-radius, var(--hgg-wc-single-featured-image-radius, 18px)) !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: var(--hgg-wc-thumb-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li {
  flex: 0 0 calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  width: calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  min-width: calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  max-width: calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li.hgg-wc-thumb-duplicate,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs li.hgg-wc-thumb-duplicate {
  display: none !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--hgg-wc-single-thumb-image-radius, var(--hgg-wc-single-featured-image-radius, 18px)) !important;
  opacity: .62 !important;
  cursor: pointer !important;
  transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img:hover,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.flex-active,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.is-hover-active,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.is-click-active,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img:hover,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.flex-active,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.is-hover-active,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs img.is-click-active {
  opacity: 1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(17,34,68,.16) !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 20 !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  border: 1px solid rgba(23,32,51,.16) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--hgg-text,#172033) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow: 0 10px 26px rgba(17,34,68,.16) !important;
  backdrop-filter: blur(8px);
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span {
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  font-size: 25px !important;
  line-height: .78 !important;
  text-align: center !important;
  transform: translateY(-1px) !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev { left: 8px !important; }
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next { right: 8px !important; }

body.single-product .woocommerce-product-gallery:not(.hgg-wc-gallery-loading)::after,
body.woocommerce-page.single-product .woocommerce-product-gallery:not(.hgg-wc-gallery-loading)::after {
  content: none !important;
  display: none !important;
}

body.single-product .woocommerce-product-gallery.hgg-wc-gallery-loading::after,
body.woocommerce-page.single-product .woocommerce-product-gallery.hgg-wc-gallery-loading::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 34px !important;
  height: 34px !important;
  margin: -17px 0 0 -17px !important;
  border: 3px solid rgba(23,32,51,.16) !important;
  border-top-color: var(--hgg-wc-button-bg, var(--hgg-primary, #2563eb)) !important;
  border-radius: 999px !important;
  animation: hgg-wc-gallery-spin .75s linear infinite !important;
  z-index: 25 !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel,
  body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel { --hgg-wc-thumb-gap: 8px; }
  body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow,
  body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
  body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span,
  body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span { font-size: 21px !important; }
}

/* v57: stable Woo single gallery thumbnails.
   Keep the native Woo/FlexSlider thumbnail list intact and hidden; render a separate visual carousel. */
body.single-product .woocommerce-product-gallery .flex-control-thumbs.hgg-wc-native-thumbs,
body.woocommerce-page.single-product .woocommerce-product-gallery .flex-control-thumbs.hgg-wc-native-thumbs {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--hgg-wc-thumb-gap, 12px) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  list-style: none !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs li,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs li {
  flex: 0 0 calc((100% - (var(--hgg-wc-thumb-gap, 12px) * 3)) / 4) !important;
  width: calc((100% - (var(--hgg-wc-thumb-gap, 12px) * 3)) / 4) !important;
  min-width: calc((100% - (var(--hgg-wc-thumb-gap, 12px) * 3)) / 4) !important;
  max-width: calc((100% - (var(--hgg-wc-thumb-gap, 12px) * 3)) / 4) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs img,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--hgg-wc-single-thumb-image-radius, var(--hgg-wc-single-image-radius, 18px)) !important;
  opacity: .62 !important;
  cursor: pointer !important;
  transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs img.flex-active,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs li.is-active img,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs img:hover,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs img.flex-active,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs li.is-active img,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .flex-control-thumbs.hgg-wc-visual-thumbs img:hover {
  opacity: 1 !important;
  box-shadow: 0 0 0 2px var(--hgg-wc-button-bg, var(--hgg-primary, #2563eb)) !important;
}

/* Huuguu v58 — stable WooCommerce single gallery thumbnails.
   The native FlexSlider thumbnails remain in the DOM; the visual carousel only dispatches native thumbnail clicks. */
body.single-product div.product .woocommerce-product-gallery {
  position: relative !important;
}
body.single-product div.product .woocommerce-product-gallery.hgg-wc-gallery-loading::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 30px !important;
  height: 30px !important;
  margin: -15px 0 0 -15px !important;
  border: 3px solid rgba(23,32,51,.14) !important;
  border-top-color: var(--hgg-primary, #246de8) !important;
  border-radius: 999px !important;
  z-index: 12 !important;
  animation: hgg-wc-gallery-spin .75s linear infinite !important;
  pointer-events: none !important;
}
body.single-product div.product .woocommerce-product-gallery.hgg-wc-thumbs-carousel-ready:not(.hgg-wc-gallery-loading)::after {
  content: none !important;
  display: none !important;
}
body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image > a,
body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  visibility: visible !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-carousel {
  position: relative !important;
  width: 100% !important;
  margin-top: 14px !important;
  isolation: isolate !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-viewport {
  width: 100% !important;
  overflow: hidden !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-visual-thumbs {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 36px) / 4) !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-visual-thumbs::-webkit-scrollbar { display: none !important; }
body.single-product div.product .woocommerce-product-gallery .hgg-wc-visual-thumbs li {
  width: auto !important;
  float: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  scroll-snap-align: start !important;
  overflow: hidden !important;
  border-radius: var(--hgg-wc-single-thumb-image-radius, var(--hgg-wc-single-featured-image-radius, 18px)) !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-visual-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--hgg-wc-single-thumb-image-radius, var(--hgg-wc-single-featured-image-radius, 18px)) !important;
  opacity: .62 !important;
  cursor: pointer !important;
  transition: opacity .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-visual-thumbs li.is-active img,
body.single-product div.product .woocommerce-product-gallery .hgg-wc-visual-thumbs img.flex-active {
  opacity: 1 !important;
  box-shadow: 0 0 0 2px rgba(36,109,232,.24) !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 9 !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  border: 1px solid rgba(23,32,51,.14) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--hgg-text, #172033) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow: 0 10px 26px rgba(17,34,68,.16) !important;
  cursor: pointer !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev { left: 8px !important; }
body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next { right: 8px !important; }
body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em !important;
  height: 1em !important;
  font-size: 24px !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow:disabled {
  opacity: .38 !important;
  cursor: default !important;
}
@media (max-width: 767px) {
  body.single-product div.product .woocommerce-product-gallery .hgg-wc-visual-thumbs {
    grid-auto-columns: calc((100% - 24px) / 4) !important;
    gap: 8px !important;
  }
  body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
  body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--prev { left: 5px !important; }
  body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow--next { right: 5px !important; }
}

/* v59 - Woo single gallery stable visual thumbnails */
body.single-product .woocommerce-product-gallery .hgg-wc-native-thumbs,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-native-thumbs {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--hgg-wc-thumb-gap, 12px) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  list-style: none !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs li,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs li {
  flex: 0 0 calc((100% - (var(--hgg-wc-thumb-gap, 12px) * 3)) / 4) !important;
  width: calc((100% - (var(--hgg-wc-thumb-gap, 12px) * 3)) / 4) !important;
  min-width: calc((100% - (var(--hgg-wc-thumb-gap, 12px) * 3)) / 4) !important;
  max-width: calc((100% - (var(--hgg-wc-thumb-gap, 12px) * 3)) / 4) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs img,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--hgg-wc-single-thumbnail-radius, var(--hgg-wc-single-image-radius, 12px)) !important;
  opacity: .62 !important;
  cursor: pointer !important;
  transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs li.is-active img,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs img.flex-active,
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs img:hover,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs li.is-active img,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs img.flex-active,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel .hgg-wc-visual-thumbs img:hover {
  opacity: 1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(17,34,68,.16) !important;
}

body.single-product .woocommerce-product-gallery .flex-viewport,
body.woocommerce-page.single-product .woocommerce-product-gallery .flex-viewport {
  background: transparent !important;
}

body.single-product .woocommerce-product-gallery__wrapper,
body.woocommerce-page.single-product .woocommerce-product-gallery__wrapper {
  opacity: 1 !important;
  visibility: visible !important;
}

/* v60: stable WooCommerce product gallery thumbnails.
   Keep Woo/FlexSlider native thumbnails untouched; only style the native list.
   This prevents blank main images on mobile/tablet. */
body.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel,
body.woocommerce-page.single-product .woocommerce-product-gallery .hgg-wc-thumbs-carousel {
  display: none !important;
}
body.single-product div.product .woocommerce-product-gallery,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery {
  position: relative !important;
}
body.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs.hgg-wc-native-thumbs,
body.single-product div.product .woocommerce-product-gallery ul.flex-control-thumbs.hgg-wc-native-thumbs,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs.hgg-wc-native-thumbs,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery ul.flex-control-thumbs.hgg-wc-native-thumbs {
  --hgg-wc-thumb-gap: 12px;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--hgg-wc-thumb-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}
body.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs.hgg-wc-native-thumbs::-webkit-scrollbar,
body.single-product div.product .woocommerce-product-gallery ul.flex-control-thumbs.hgg-wc-native-thumbs::-webkit-scrollbar,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs.hgg-wc-native-thumbs::-webkit-scrollbar,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery ul.flex-control-thumbs.hgg-wc-native-thumbs::-webkit-scrollbar {
  display: none !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs li,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs li {
  flex: 0 0 calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  width: calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  min-width: calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  max-width: calc((100% - (var(--hgg-wc-thumb-gap) * 3)) / 4) !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs img,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--hgg-wc-single-thumb-radius, var(--hgg-wc-single-image-radius, 6px)) !important;
  opacity: .62 !important;
  cursor: pointer !important;
  transition: opacity .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs img.flex-active,
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs img:hover,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs img.flex-active,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs img:hover {
  opacity: 1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(17,34,68,.16) !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow {
  position: absolute !important;
  z-index: 20 !important;
  bottom: 30px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(23,32,51,.16) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--hgg-text,#172033) !important;
  display: inline-grid !important;
  place-items: center !important;
  line-height: 1 !important;
  box-shadow: 0 10px 26px rgba(17,34,68,.16) !important;
  backdrop-filter: blur(8px) !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow--prev,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow--prev { left: 8px !important; }
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow--next,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow--next { right: 8px !important; }
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow span,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow span {
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  font-size: 25px !important;
  line-height: .82 !important;
  text-align: center !important;
}
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow:disabled,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow:disabled {
  opacity: .45 !important;
  cursor: default !important;
}
@media (max-width: 767px) {
  body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs,
  body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs {
    --hgg-wc-thumb-gap: 10px;
  }
  body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow,
  body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    bottom: 24px !important;
  }
  body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow span,
  body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow span {
    font-size: 21px !important;
  }
}

/* Huuguu v61 — WooCommerce gallery rollback/stability layer
   Keep product gallery behavior native. Only visual radius/spacing remains. */
body.single-product div.product .woocommerce-product-gallery,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery {
  opacity: 1 !important;
  visibility: visible !important;
}

body.single-product div.product .woocommerce-product-gallery::after,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery::after {
  content: none !important;
  display: none !important;
}

body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-carousel,
body.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow,
body.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow,
body.single-product div.product .woocommerce-product-gallery .hgg-wc-gallery-arrow,
body.single-product div.product .woocommerce-product-gallery .hgg-wc-gallery-thumbs-carousel,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-carousel,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-thumbs-arrow,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-native-thumbs-arrow,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-gallery-arrow,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .hgg-wc-gallery-thumbs-carousel {
  display: none !important;
}

body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image > a,
body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image > a,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  opacity: 1 !important;
  visibility: visible !important;
}

body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  border-radius: var(--hgg-wc-single-image-radius, 6px) !important;
}

body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
}

body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
  width: calc((100% - 36px) / 4) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--hgg-wc-single-thumb-radius, 6px) !important;
  opacity: .72 !important;
  cursor: pointer !important;
}

body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img:hover,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img:hover {
  opacity: 1 !important;
}

/* Huuguu v63 — Woo native gallery visual rail + correct single meta link token.
   Stable strategy: Woo/FlexSlider keeps click/touch behavior. CSS only makes thumbnails a horizontal rail. */
body.single-product div.product .product_meta a,
body.woocommerce-page.single-product div.product .product_meta a {
  color: var(--hgg-link-color, var(--hgg-primary, #246de8)) !important;
  text-decoration: none !important;
}
body.single-product div.product .product_meta a:hover,
body.single-product div.product .product_meta a:focus-visible,
body.woocommerce-page.single-product div.product .product_meta a:hover,
body.woocommerce-page.single-product div.product .product_meta a:focus-visible {
  color: var(--hgg-link-hover, var(--hgg-primary-dark, #154fad)) !important;
  text-decoration: underline !important;
  text-underline-offset: .18em !important;
}

body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  --hgg-wc-native-thumb-gap: 12px;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--hgg-wc-native-thumb-gap) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 2px 6px !important;
  list-style: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
  height: 0 !important;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 calc((100% - (var(--hgg-wc-native-thumb-gap) * 3)) / 4) !important;
  width: calc((100% - (var(--hgg-wc-native-thumb-gap) * 3)) / 4) !important;
  max-width: calc((100% - (var(--hgg-wc-native-thumb-gap) * 3)) / 4) !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start !important;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--hgg-wc-single-thumb-radius, 6px) !important;
  opacity: .72 !important;
  cursor: pointer !important;
  transition: opacity .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover {
  opacity: 1 !important;
  box-shadow: 0 0 0 2px var(--hgg-wc-button-bg, var(--hgg-primary, #246de8)) inset !important;
}

@media (max-width: 640px) {
  body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs,
  body.woocommerce-page.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    --hgg-wc-native-thumb-gap: 10px;
  }
}

/* v65: Header and breadcrumb width/min-height customizer binding. */
.site-header {
  min-height: var(--hgg-header-min-height-desktop, var(--hgg-header-min-height, 80px));
}

.site-header .site-header-inner,
.site-header .huuguu-header-shell.site-header-inner {
  width: min(100%, var(--hgg-header-container, var(--hgg-container, 1240px)));
  max-width: var(--hgg-header-container, var(--hgg-container, 1240px));
  margin-left: auto;
  margin-right: auto;
  padding: var(--hgg-header-padding, var(--hgg-structure-pad-y, 0) var(--hgg-structure-pad-x, 16px));
  box-sizing: border-box;
  min-width: 0;
}

.huuguu-breadcrumb--compact .container,
.huuguu-breadcrumb--compact .huuguu-breadcrumb-container {
  width: min(100%, var(--hgg-breadcrumb-container, var(--hgg-container, 1240px)));
  max-width: var(--hgg-breadcrumb-container, var(--hgg-container, 1240px));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  min-width: 0;
}

.huuguu-breadcrumb--full .container,
.huuguu-breadcrumb--full .huuguu-breadcrumb-container {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
  min-width: 0;
}

.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-container .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-container .huuguu-breadcrumb-ready {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 1024px) {
  .site-header {
    min-height: var(--hgg-header-min-height-tablet, var(--hgg-header-min-height, 72px));
  }
}

@media (max-width: 767px) {
  .site-header {
    min-height: var(--hgg-header-min-height-mobile, var(--hgg-header-min-height, 64px));
  }

  .site-header .site-header-inner,
  .site-header .huuguu-header-shell.site-header-inner {
    width: min(100%, var(--hgg-header-container, var(--hgg-container, 100%)));
    max-width: var(--hgg-header-container, var(--hgg-container, 100%));
  }
}

/* v66: Breadcrumb compact must use the same visual site/header container, not a content-sized row. */
.huuguu-global-breadcrumb-bar {
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.huuguu-global-breadcrumb-bar.huuguu-breadcrumb--compact > .huuguu-breadcrumb-container,
.huuguu-global-breadcrumb-bar.huuguu-breadcrumb--compact > .container.huuguu-breadcrumb-container {
  width: min(100%, var(--hgg-header-container, var(--hgg-container, 1240px))) !important;
  max-width: var(--hgg-header-container, var(--hgg-container, 1240px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

.huuguu-global-breadcrumb-bar.huuguu-breadcrumb--full > .huuguu-breadcrumb-container,
.huuguu-global-breadcrumb-bar.huuguu-breadcrumb--full > .container.huuguu-breadcrumb-container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

.huuguu-global-breadcrumb-bar > .huuguu-breadcrumb-container > .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar > .huuguu-breadcrumb-container > .huuguu-breadcrumb-ready,
.huuguu-global-breadcrumb-bar > .container.huuguu-breadcrumb-container > .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar > .container.huuguu-breadcrumb-container > .huuguu-breadcrumb-ready {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  .huuguu-global-breadcrumb-bar.huuguu-breadcrumb--compact > .huuguu-breadcrumb-container,
  .huuguu-global-breadcrumb-bar.huuguu-breadcrumb--compact > .container.huuguu-breadcrumb-container {
    width: min(100%, var(--hgg-header-container, var(--hgg-container, 100%))) !important;
    max-width: var(--hgg-header-container, var(--hgg-container, 100%)) !important;
  }
}
