/* === V30 CLEAN HEADER ARCHITECTURE === */
.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: var(--hgg-header-bg, rgba(255,255,255,.92));
    backdrop-filter: blur(10px);
    border-bottom: var(--hgg-header-border, 1px solid rgba(23,32,51,.08));
    box-shadow: var(--hgg-header-shadow, none);
}

.site-header .huuguu-container {
    width: min(100% - 2rem, var(--hgg-header-container, var(--hgg-container)));
}

.huuguu-header-shell {
    padding-block: .85rem;
}

.huuguu-mobile-topbar,
.huuguu-mobile-panel {
    display: none;
}

.huuguu-header-desktop {
    display: grid;
    align-items: center;
    gap: 1rem var(--hgg-header-gap, 28px);
    min-height: 84px;
}

.huuguu-header-desktop--left {
    grid-template-columns: auto minmax(0,1fr) auto;
}

.huuguu-header-desktop--center {
    grid-template-columns: 1fr auto 1fr;
}

.huuguu-header-desktop--split {
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
}

.header-branding,
.header-nav,
.header-actions,
.header-actions-extras {
    min-width: 0;
}

.header-branding {
    display: flex;
    align-items: center;
}

.header-branding--center {
    justify-content: center;
}

.huuguu-header-desktop--left .header-nav {
    display: flex;
    justify-content: var(--hgg-menu-justify, center);
}

.huuguu-header-desktop--left .header-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.huuguu-header-desktop--center .header-nav--left {
    display: flex;
    justify-content: flex-end;
    padding-right: .75rem;
}

.huuguu-header-desktop--center .header-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-left: .75rem;
}

.huuguu-header-desktop--split .header-nav--left {
    display: flex;
    justify-content: flex-end;
    padding-right: .75rem;
}

.huuguu-header-desktop--split .header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .85rem;
    padding-left: .75rem;
}

.huuguu-header-desktop--split .header-actions-extras {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-left: auto;
}

.site-branding {
    display: flex;
    align-items: center;
    min-height: 0;
    min-width: 0;
}

.huuguu-logo {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 1;
    max-width: 100%;
    text-decoration: none;
}

.huuguu-logo img {
    width: auto;
    height: auto;
    max-width: 100%;
    display: none;
}

.huuguu-logo .logo-desktop {
    display: block;
    max-height: var(--hgg-logo-desktop-height, 60px);
}

.huuguu-logo .logo-tablet,
.huuguu-logo .logo-mobile {
    display: none;
}

.main-navigation {
    width: 100%;
    max-width: 100%;
}

.main-navigation ul,
.main-navigation .menu,
.main-navigation .primary-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation .menu {
    display: flex;
    gap: .95rem;
    align-items: center;
    justify-content: var(--hgg-menu-justify, center);
    flex-wrap: wrap;
}

.main-navigation--split .menu {
    flex-wrap: nowrap;
}

.main-navigation li {
    list-style: none;
}

.main-navigation .menu > li {
    position: relative;
}

.main-navigation .menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
    padding: .7rem 0;
    color: var(--hgg-menu-link, var(--hgg-text));
    font-weight: 600;
    text-decoration: none;
}

.main-navigation .menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    width: .45rem;
    height: .45rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    margin-left: .15rem;
    opacity: .85;
}

.main-navigation .sub-menu {
    list-style: none;
    position: absolute;
    top: calc(100% + .2rem);
    left: 0;
    margin: 0;
    padding: .6rem 0;
    min-width: 220px;
    width: max-content;
    max-width: 320px;
    background: var(--hgg-submenu-bg, #fff);
    border: 1px solid rgba(23,32,51,.08);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(17,34,68,.12);
    display: none;
    z-index: 80;
}

.main-navigation .sub-menu a {
    display: block;
    white-space: nowrap;
    padding: .7rem 1rem;
    line-height: 1.35;
    color: var(--hgg-submenu-link, var(--hgg-text));
    text-decoration: none;
}

.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu {
    display: block;
}

.submenu-toggle {
    display: none;
    margin-left: .4rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--hgg-border);
    background: var(--hgg-surface);
    border-radius: 999px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
}

.submenu-toggle__icon {
    display: inline-block;
    width: .6rem;
    height: .6rem;
    position: relative;
}

.submenu-toggle__icon::before,
.submenu-toggle__icon::after {
    content: "";
    position: absolute;
    background: currentColor;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.submenu-toggle__icon::before { width: .65rem; height: 2px; }
.submenu-toggle__icon::after { width: 2px; height: .65rem; }

.menu-item-submenu-open > .submenu-toggle .submenu-toggle__icon::after {
    display: none;
}

.header-search,
.header-search .search-form {
    min-width: 0;
}

.search-form {
    display: flex;
    gap: .5rem;
}

.search-form label {
    flex: 1 1 auto;
    min-width: 0;
    display: block;
    margin: 0;
}

.search-field {
    min-width: 150px;
    border: 1px solid var(--hgg-border);
    border-radius: 999px;
    padding: .75rem 1rem;
    background: var(--hgg-surface);
    width: 100%;
}

.search-submit,
.header-cta {
    border: 0;
    border-radius: var(--hgg-header-button-radius, 999px);
    background: var(--hgg-header-button-bg, var(--hgg-primary));
    color: var(--hgg-header-button-text, #fff);
    padding: .78rem 1rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.menu-toggle {
    display: none;
    border: 1px solid var(--hgg-menu-toggle-border, var(--hgg-border));
    background: var(--hgg-menu-toggle-bg, var(--hgg-surface));
    color: var(--hgg-menu-toggle-text, var(--hgg-text));
    border-radius: var(--hgg-menu-toggle-radius, 16px);
    min-height: 42px;
    min-width: 42px;
    width: auto;
    max-width: max-content;
    flex: 0 0 auto;
    padding: 0 .85rem;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.menu-toggle--icon {
    width: 42px;
    min-width: 42px;
    padding-left: 0;
    padding-right: 0;
}

.menu-toggle--text-icon {
    padding-left: 1rem;
    padding-right: 1rem;
}

.menu-toggle__text { display: inline-flex; align-items: center; line-height: 1; flex: 0 1 auto; }
.menu-toggle__icon {
    width: 18px;
    flex: 0 0 18px;
    height: 14px;
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
}
.menu-toggle__icon span,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: var(--hgg-menu-toggle-icon, currentColor);
}
.menu-toggle__icon span { top: 6px; }
.menu-toggle__icon::before { top: 0; }
.menu-toggle__icon::after { top: 12px; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon span { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::before { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::after { transform: translateY(-6px) rotate(-45deg); }
.menu-toggle--icon .menu-toggle__text { display: none; }
.menu-toggle--text .menu-toggle__icon { display: none; }

@media (max-width: 1100px) {
    .huuguu-header-desktop {
        display: none !important;
    }

    .huuguu-mobile-topbar {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
        gap: .65rem;
        width: 100%;
    }

    .mobile-branding {
        min-width: 0;
        width: 100%;
    }

    .mobile-branding .site-branding,
    .mobile-branding .huuguu-logo {
        width: 100%;
        justify-content: flex-start;
    }

    .huuguu-logo .logo-desktop {
        display: none;
    }

    .huuguu-logo .logo-tablet {
        display: block;
        max-height: var(--hgg-logo-tablet-height, 50px);
    }

    .menu-toggle {
        display: inline-flex;
        justify-self: end;
    }

    .huuguu-mobile-panel {
        display: none;
        width: 100%;
        margin-top: .75rem;
    }

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

    .huuguu-mobile-panel .main-navigation,
    .huuguu-mobile-panel .main-navigation .menu,
    .huuguu-mobile-panel .main-navigation .menu > li {
        width: 100%;
        max-width: 100%;
    }

    .huuguu-mobile-panel .main-navigation .menu {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding-top: .35rem;
    }

    .huuguu-mobile-panel .main-navigation .menu > li {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
        border-bottom: 1px solid rgba(23,32,51,.06);
        padding: .1rem 0;
    }

    .huuguu-mobile-panel .main-navigation .menu > li > a {
        display: flex;
        width: 100%;
        justify-content: flex-start;
        white-space: normal;
        padding: .9rem 0;
    }

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

    .huuguu-mobile-panel .submenu-toggle {
        display: inline-flex;
        justify-self: end;
    }

    .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;
        display: none;
        width: 100%;
        min-width: 0;
        max-width: none;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        padding: 0 0 .55rem 1rem;
        background: transparent;
        grid-column: 1 / -1;
    }

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

    .mobile-actions {
        margin-top: .65rem;
    }

    .mobile-actions .header-search {
        width: 100%;
        margin-bottom: .2rem;
    }

    .mobile-actions .search-form {
        width: 100%;
        gap: .55rem;
        align-items: center;
    }

    .mobile-actions .header-cta {
        width: 100%;
        margin-top: .2rem;
    }
}

@media (max-width: 600px) {
    .site-header .huuguu-container {
        width: min(100% - 1rem, var(--hgg-header-container, var(--hgg-container)));
    }

    .huuguu-logo .logo-tablet {
        display: none;
    }

    .huuguu-logo .logo-mobile {
        display: block;
        max-height: var(--hgg-logo-mobile-height, 30px);
    }

    .mobile-actions .search-form {
        flex-direction: row;
    }

    .mobile-actions .search-field {
        min-width: 0;
        max-width: 100%;
    }

    .mobile-actions .search-submit {
        min-width: 90px;
        min-height: 42px;
        padding: .66rem .9rem;
    }

    .mobile-actions .header-cta {
        min-height: 42px;
        padding: .72rem 1rem;
    }
}



/* === V29.4 HEADER STABLE RELEASE === */
.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: var(--hgg-header-bg, rgba(255,255,255,.92));
    backdrop-filter: blur(10px);
    border-bottom: var(--hgg-header-border, 1px solid rgba(23,32,51,.08));
    box-shadow: var(--hgg-header-shadow, none);
}

.site-header .huuguu-container {
    width: min(100% - 2rem, var(--hgg-header-container, var(--hgg-container)));
}

.huuguu-header__builder {
    min-height: 84px;
    display: grid;
    align-items: center;
    gap: 1rem var(--hgg-header-gap, 28px);
    padding-block: .85rem;
    grid-template-columns: auto minmax(0,1fr) auto;
    grid-template-areas: "branding nav actions";
}

.huuguu-header__builder.layout-left {
    grid-template-columns: auto minmax(0,1fr) auto;
    grid-template-areas: "branding nav actions";
}

.huuguu-header__builder.layout-center {
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: "nav branding actions";
}

.huuguu-header__builder.layout-split {
    grid-template-columns: 1fr auto auto;
    grid-template-areas: "nav branding actions";
}

.huuguu-mobile-topbar { display: contents; }

.header-left { grid-area: branding; min-width: 0; justify-self: start; }
.header-center { grid-area: nav; min-width: 0; display: flex; justify-content: var(--hgg-menu-justify, center); }
.header-right { grid-area: actions; min-width: 0; display: flex; align-items: center; gap: .75rem; justify-content: flex-end; flex-wrap: wrap; }

.huuguu-header__builder.layout-center .header-left { justify-self: center; }
.huuguu-header__builder.layout-center .header-center { justify-content: flex-end; padding-right: .75rem; }
.huuguu-header__builder.layout-center .header-right { justify-content: flex-start; padding-left: .75rem; }

.huuguu-header__builder.layout-split .header-left { justify-self: center; }
.huuguu-header__builder.layout-split .header-center { justify-content: flex-start; }
.huuguu-header__builder.layout-split .header-right { justify-content: flex-end; }

.site-branding {
    display: flex;
    align-items: center;
    min-height: 0;
    min-width: 0;
}

.huuguu-logo {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 1;
    max-width: 100%;
    text-decoration: none;
}

.huuguu-logo img {
    width: auto;
    height: auto;
    max-width: 100%;
    display: none;
}

.huuguu-logo .logo-desktop { display: block; max-height: var(--hgg-logo-desktop-height, 60px); }
.huuguu-logo .logo-tablet,
.huuguu-logo .logo-mobile { display: none; }

.main-navigation { width: 100%; max-width: 100%; }
.main-navigation ul,
.main-navigation .menu,
.main-navigation .primary-menu { list-style: none; margin: 0; padding: 0; }
.main-navigation .menu {
    display: flex;
    gap: .95rem;
    align-items: center;
    justify-content: var(--hgg-menu-justify, center);
    flex-wrap: wrap;
}
.main-navigation li { list-style: none; }
.main-navigation .menu > li { position: relative; }
.main-navigation .menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
    padding: .7rem 0;
    color: var(--hgg-menu-link, var(--hgg-text));
    font-weight: 600;
    text-decoration: none;
}
.main-navigation .menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    width: .45rem;
    height: .45rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    margin-left: .15rem;
    opacity: .85;
}
.main-navigation .sub-menu {
    list-style: none;
    position: absolute;
    top: calc(100% + .2rem);
    left: 0;
    margin: 0;
    padding: .6rem 0;
    min-width: 220px;
    width: max-content;
    max-width: 320px;
    background: var(--hgg-submenu-bg, #fff);
    border: 1px solid rgba(23,32,51,.08);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(17,34,68,.12);
    display: none;
    z-index: 80;
}
.main-navigation .sub-menu a {
    display: block;
    white-space: nowrap;
    padding: .7rem 1rem;
    line-height: 1.35;
    color: var(--hgg-submenu-link, var(--hgg-text));
    text-decoration: none;
}
.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu { display: block; }

.submenu-toggle {
    display: none;
    margin-left: .4rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--hgg-border);
    background: var(--hgg-surface);
    border-radius: 999px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
}
.submenu-toggle__icon {
    display: inline-block;
    width: .6rem;
    height: .6rem;
    position: relative;
}
.submenu-toggle__icon::before,
.submenu-toggle__icon::after {
    content: "";
    position: absolute;
    background: currentColor;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.submenu-toggle__icon::before { width: .65rem; height: 2px; }
.submenu-toggle__icon::after { width: 2px; height: .65rem; }
.menu-item-submenu-open > .submenu-toggle .submenu-toggle__icon::after { display: none; }

.header-search,
.header-search .search-form { min-width: 0; }
.search-form { display: flex; gap: .5rem; }
.search-form label { flex: 1 1 auto; min-width: 0; display: block; margin: 0; }
.search-field {
    min-width: 160px;
    border: 1px solid var(--hgg-border);
    border-radius: 999px;
    padding: .75rem 1rem;
    background: var(--hgg-surface);
    width: 100%;
}
.search-submit,
.header-cta {
    border: 0;
    border-radius: var(--hgg-header-button-radius, 999px);
    background: var(--hgg-header-button-bg, var(--hgg-primary));
    color: var(--hgg-header-button-text, #fff);
    padding: .78rem 1rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.menu-toggle {
    display: none;
    border: 1px solid var(--hgg-menu-toggle-border, var(--hgg-border));
    background: var(--hgg-menu-toggle-bg, var(--hgg-surface));
    color: var(--hgg-menu-toggle-text, var(--hgg-text));
    border-radius: var(--hgg-menu-toggle-radius, 16px);
    min-height: 52px;
    min-width: 52px;
    padding: 0 1rem;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.menu-toggle__text { display: inline-flex; align-items: center; line-height: 1; }
.menu-toggle__icon {
    width: 18px;
    flex: 0 0 18px;
    height: 14px;
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
}
.menu-toggle__icon span,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: var(--hgg-menu-toggle-icon, currentColor);
}
.menu-toggle__icon span { top: 6px; }
.menu-toggle__icon::before { top: 0; }
.menu-toggle__icon::after { top: 12px; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon span { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::before { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::after { transform: translateY(-6px) rotate(-45deg); }
.menu-toggle--icon .menu-toggle__text { display: none; }
.menu-toggle--text .menu-toggle__icon { display: none; }

@media (max-width:1100px) {
    .huuguu-header__builder,
    .huuguu-header__builder.layout-left,
    .huuguu-header__builder.layout-center,
    .huuguu-header__builder.layout-split {
        grid-template-columns: 1fr;
        grid-template-areas:
            "branding"
            "nav"
            "actions";
        gap: .75rem;
        min-height: auto;
        padding-block: .7rem;
    }

    .huuguu-mobile-topbar {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
        gap: .9rem;
        grid-area: branding;
    }

    .header-left {
        width: 100%;
        justify-self: start !important;
    }
    .header-left .site-branding,
    .header-left .huuguu-logo {
        width: 100%;
        justify-content: flex-start;
    }

    .header-center,
    .header-right {
        display: none;
        width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .header-center.is-open,
    .header-right.is-open { display: block; }

    .huuguu-logo .logo-desktop { display: none; }
    .huuguu-logo .logo-tablet { display: block; max-height: var(--hgg-logo-tablet-height, 50px); }

    .menu-toggle { display: inline-flex; justify-self: end; }

    .main-navigation,
    .main-navigation .menu,
    .main-navigation .menu > li { width: 100%; max-width: 100%; }

    .main-navigation .menu {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding-top: .35rem;
    }
    .main-navigation .menu > li {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
        border-bottom: 1px solid rgba(23,32,51,.06);
        padding: .1rem 0;
    }
    .main-navigation .menu > li > a {
        display: flex;
        width: 100%;
        justify-content: flex-start;
        white-space: normal;
        padding: .9rem 0;
    }
    .main-navigation .menu-item-has-children > a::after { display: none; }
    .submenu-toggle { display: inline-flex; justify-self: end; }

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

    .main-navigation .sub-menu {
        position: static;
        display: none;
        width: 100%;
        min-width: 0;
        max-width: none;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        padding: 0 0 .55rem 1rem;
        background: transparent;
        grid-column: 1 / -1;
    }
    .main-navigation .sub-menu a {
        white-space: normal;
        padding: .7rem 0;
        background: transparent;
    }
    .menu-item-submenu-open > .sub-menu { display: block !important; }

    .header-search { width: 100%; padding-top: .15rem; margin-bottom: .2rem; }
    .search-form { width: 100%; gap: .7rem; align-items: center; }
    .header-cta { width: 100%; margin-top: .15rem; }
}

@media (max-width:600px) {
    .site-header .huuguu-container {
        width: min(100% - 1rem, var(--hgg-header-container, var(--hgg-container)));
    }

    .huuguu-mobile-topbar { gap: .65rem; }
    .huuguu-logo .logo-tablet { display: none; }
    .huuguu-logo .logo-mobile { display: block; max-height: var(--hgg-logo-mobile-height, 30px); }

    .menu-toggle {
        min-height: 42px;
        min-width: 42px;
        padding-inline: .85rem;
    }

    .header-right.is-open {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        gap: .55rem;
        align-items: center;
        width: 100%;
    }
    .header-search {
        grid-column: 1 / -1;
        width: 100%;
        padding-right: 0;
        margin-bottom: .1rem;
    }
    .search-form {
        flex-direction: row;
        width: 100%;
        gap: .55rem;
        align-items: center;
        justify-content: space-between;
    }
    .search-field {
        flex: 1 1 auto;
        min-width: 0;
        max-width: 100%;
        padding: .66rem .9rem;
        margin: 0;
    }
    .search-submit {
        flex: 0 0 auto;
        min-width: 90px;
        min-height: 42px;
        padding: .66rem .9rem;
    }
    .header-cta {
        grid-column: 1 / -1;
        width: 100%;
        min-height: 42px;
        padding: .72rem 1rem;
        margin-top: .2rem;
    }
}



/* === V29.1 HEADER STABILIZATION === */
.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: var(--hgg-header-bg, rgba(255,255,255,.92));
    backdrop-filter: blur(10px);
    border-bottom: var(--hgg-header-border, 1px solid rgba(23,32,51,.08));
    box-shadow: var(--hgg-header-shadow, none);
}

.site-header .huuguu-container {
    width: min(100% - 2rem, var(--hgg-header-container, var(--hgg-container)));
}

.huuguu-header__builder {
    min-height: 84px;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    grid-template-areas: "branding nav actions";
    gap: 1rem var(--hgg-header-gap, 28px);
    align-items: center;
    padding-block: .85rem;
}

.huuguu-mobile-topbar {
    display: contents;
}

.header-left {
    grid-area: branding;
    min-width: 0;
    justify-self: start;
}

.header-center {
    grid-area: nav;
    min-width: 0;
    display: flex;
    justify-content: var(--hgg-menu-justify, center);
}

.header-right {
    grid-area: actions;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.huuguu-header__builder.layout-left {
    grid-template-columns: auto minmax(0,1fr) auto;
    grid-template-areas: "branding nav actions";
}

.huuguu-header__builder.layout-center,
.huuguu-header__builder.layout-split {
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: "nav branding actions";
}

.huuguu-header__builder.layout-center .header-left,
.huuguu-header__builder.layout-split .header-left {
    justify-self: center;
}

.huuguu-header__builder.layout-center .header-center {
    justify-content: flex-end;
    padding-right: 1rem;
}

.huuguu-header__builder.layout-center .header-right {
    justify-content: flex-start;
    padding-left: 1rem;
}

.huuguu-header__builder.layout-split .header-center {
    justify-content: flex-end;
    padding-right: 1rem;
}

.huuguu-header__builder.layout-split .header-right {
    justify-content: flex-start;
    padding-left: 1rem;
}

.header-left .site-branding {
    display: flex;
    align-items: center;
    min-height: 52px;
}

.huuguu-logo,
.custom-logo-link {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    max-width: 100%;
}

.huuguu-logo img {
    display: none;
    height: auto;
    width: auto;
    max-width: 100%;
}

.huuguu-logo .logo-desktop {
    display: block;
    max-height: var(--hgg-logo-desktop-height, 60px);
}

.main-navigation {
    width: 100%;
    max-width: 100%;
}

.main-navigation ul,
.main-navigation .menu,
.main-navigation .primary-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation .menu {
    display: flex;
    gap: 1.2rem;
    align-items: center;
    justify-content: var(--hgg-menu-justify, center);
    flex-wrap: wrap;
}

.main-navigation li {
    list-style: none;
}

.main-navigation .menu > li {
    position: relative;
}

.main-navigation .menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
    padding: .7rem 0;
    color: var(--hgg-menu-link, var(--hgg-text));
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease;
}

.main-navigation .menu > li > a:hover,
.main-navigation .menu > li > a:focus {
    color: var(--hgg-menu-link-hover, var(--hgg-primary));
}

.main-navigation .menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    width: .45rem;
    height: .45rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    margin-left: .15rem;
    opacity: .85;
}

.main-navigation .sub-menu {
    list-style: none;
    position: absolute;
    top: calc(100% + .2rem);
    left: 0;
    margin: 0;
    padding: .6rem 0;
    min-width: 240px;
    width: max-content;
    max-width: 320px;
    background: var(--hgg-submenu-bg, #ffffff);
    border: 1px solid rgba(23,32,51,.08);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(17,34,68,.12);
    display: none;
    z-index: 80;
}

.main-navigation .sub-menu li {
    position: relative;
}

.main-navigation .sub-menu a {
    display: block;
    white-space: nowrap;
    padding: .7rem 1rem;
    line-height: 1.35;
    color: var(--hgg-submenu-link, var(--hgg-text));
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus {
    background: var(--hgg-submenu-hover-bg, #eef3ff);
    color: var(--hgg-submenu-hover-link, var(--hgg-primary));
}

.main-navigation .sub-menu .sub-menu {
    top: -.6rem;
    left: calc(100% + .35rem);
}

.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu {
    display: block;
}

.submenu-toggle {
    display: none;
    margin-left: .4rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--hgg-border);
    background: var(--hgg-surface);
    border-radius: 999px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
}

.submenu-toggle__icon {
    display: inline-block;
    width: .6rem;
    height: .6rem;
    position: relative;
}

.submenu-toggle__icon::before,
.submenu-toggle__icon::after {
    content: "";
    position: absolute;
    background: currentColor;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.submenu-toggle__icon::before {
    width: .65rem;
    height: 2px;
}

.submenu-toggle__icon::after {
    width: 2px;
    height: .65rem;
}

.menu-item-submenu-open > .submenu-toggle .submenu-toggle__icon::after {
    display: none;
}

.header-search,
.header-search .search-form {
    min-width: 0;
}

.search-form {
    display: flex;
    gap: .5rem;
}

.search-form label {
    flex: 1 1 auto;
    min-width: 0;
    display: block;
    margin: 0;
}

.search-form label .search-field {
    width: 100%;
}

.search-field {
    min-width: 220px;
    border: 1px solid var(--hgg-border);
    border-radius: 999px;
    padding: .75rem 1rem;
    background: var(--hgg-surface);
}

.search-field:focus {
    outline: 2px solid var(--hgg-menu-link-hover, var(--hgg-primary));
    outline-offset: 1px;
}

.search-submit,
.hgg-read-more,
.header-cta {
    border: 0;
    border-radius: var(--hgg-header-button-radius, 999px);
    background: var(--hgg-header-button-bg, var(--hgg-primary));
    color: var(--hgg-header-button-text, #ffffff);
    padding: .78rem 1rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.header-cta:hover,
.header-cta:focus,
.search-submit:hover,
.search-submit:focus,
.hgg-read-more:hover,
.hgg-read-more:focus {
    opacity: .92;
    color: var(--hgg-header-button-text, #ffffff);
}

.menu-toggle {
    display: none;
    border: 1px solid var(--hgg-menu-toggle-border, var(--hgg-border));
    background: var(--hgg-menu-toggle-bg, var(--hgg-surface));
    color: var(--hgg-menu-toggle-text, var(--hgg-text));
    border-radius: var(--hgg-menu-toggle-radius, 16px);
    min-height: 52px;
    padding: 0 1.15rem;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.menu-toggle__text {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.menu-toggle__icon {
    width: 18px;
    flex: 0 0 18px;
    height: 14px;
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
}

.menu-toggle__icon span,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: var(--hgg-menu-toggle-icon, currentColor);
    transition: transform .2s ease, opacity .2s ease;
}

.menu-toggle__icon span { top: 6px; }
.menu-toggle__icon::before { top: 0; }
.menu-toggle__icon::after { top: 12px; }

.menu-toggle[aria-expanded="true"] .menu-toggle__icon span { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::before { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::after { transform: translateY(-6px) rotate(-45deg); }

.menu-toggle--icon {
    padding-inline: 1rem;
    min-width: 52px;
}

.menu-toggle--icon .menu-toggle__text { display: none; }
.menu-toggle--text .menu-toggle__icon { display: none; }

@media (max-width:1100px) {
    .huuguu-header__builder,
    .huuguu-header__builder.layout-left,
    .huuguu-header__builder.layout-center,
    .huuguu-header__builder.layout-split {
        grid-template-columns: 1fr;
        grid-template-areas:
            "branding"
            "nav"
            "actions";
        gap: .75rem;
        min-height: auto;
        padding-block: .7rem;
    }

    .huuguu-mobile-topbar {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
        gap: .9rem;
        grid-area: branding;
    }

    .header-left {
        grid-area: branding;
        justify-self: start !important;
    }

    .header-center,
    .header-right {
        display: none;
        width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .header-center.is-open,
    .header-right.is-open,
    .main-navigation.is-open {
        display: block;
    }

    .huuguu-logo .logo-desktop { display: none; }
    .huuguu-logo .logo-tablet {
        display: block;
        max-height: var(--hgg-logo-tablet-height, 50px);
    }

    .menu-toggle {
        display: inline-flex;
        justify-self: end;
        align-self: center;
    }

    .main-navigation,
    .main-navigation.is-open,
    .main-navigation .menu,
    .main-navigation .menu > li {
        width: 100%;
        max-width: 100%;
    }

    .main-navigation .menu {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding-top: .35rem;
    }

    .main-navigation .menu > li {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
        border-bottom: 1px solid rgba(23,32,51,.06);
        padding: .1rem 0;
    }

    .main-navigation .menu > li > a {
        display: flex;
        width: 100%;
        justify-content: flex-start;
        white-space: normal;
        padding: .9rem 0;
    }

    .main-navigation .menu-item-has-children > a::after { display: none; }
    .submenu-toggle { display: inline-flex; justify-self: end; }

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

    .main-navigation .sub-menu {
        position: static;
        display: none;
        width: 100%;
        min-width: 0;
        max-width: none;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        padding: 0 0 .55rem 1rem;
        background: transparent;
        grid-column: 1 / -1;
    }

    .main-navigation .sub-menu a {
        white-space: normal;
        padding: .7rem 0;
        background: transparent;
    }

    .main-navigation .sub-menu a:hover,
    .main-navigation .sub-menu a:focus {
        background: transparent;
        color: var(--hgg-submenu-hover-link, var(--hgg-menu-link-hover, var(--hgg-primary)));
    }

    .main-navigation .sub-menu .sub-menu {
        left: auto;
        top: auto;
        padding-left: 1rem;
    }

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

    .header-search {
        width: 100%;
        padding-top: .15rem;
        margin-bottom: .2rem;
    }

    .search-form {
        width: 100%;
        gap: .7rem;
        align-items: center;
    }

    .header-cta {
        width: 100%;
        margin-top: .15rem;
    }
}

@media (max-width:600px) {
    .site-header .huuguu-container {
        width: min(100% - 1rem, var(--hgg-header-container, var(--hgg-container)));
    }

    .huuguu-mobile-topbar { gap: .8rem; }
    .header-left .site-branding { min-height: 36px; }

    .huuguu-logo .logo-tablet { display: none; }
    .huuguu-logo .logo-mobile {
        display: block;
        max-height: var(--hgg-logo-mobile-height, 30px);
    }

    .menu-toggle {
        min-height: 42px;
        min-width: 42px;
        padding-inline: .85rem;
    }

    .header-right.is-open {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .55rem;
        align-items: center;
        width: 100%;
    }

    .header-search {
        grid-column: 1 / -1;
        width: 100%;
        padding-right: 0;
        margin-bottom: .1rem;
    }

    .search-form {
        flex-direction: row;
        width: 100%;
        gap: .55rem;
        align-items: center;
        justify-content: space-between;
    }

    .search-form label {
        flex: 1 1 auto;
        min-width: 0;
        display: block;
    }

    .search-field {
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
        max-width: 100%;
        padding: .66rem .9rem;
        margin: 0;
    }

    .search-submit {
        flex: 0 0 auto;
        min-width: 96px;
        min-height: 42px;
        padding: .66rem .9rem;
        align-self: stretch;
    }

    .header-cta {
        grid-column: 1 / -1;
        width: 100%;
        min-height: 42px;
        padding: .72rem 1rem;
        margin-top: .2rem;
    }
}


.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: var(--hgg-header-bg, rgba(255,255,255,.92));
    backdrop-filter: blur(10px);
    border-bottom: var(--hgg-header-border, 1px solid rgba(23,32,51,.08));
    box-shadow: var(--hgg-header-shadow, none);
}

.site-header .huuguu-container {
    width: min(100% - 2rem, var(--hgg-header-container, var(--hgg-container)));
}

.huuguu-header__builder {
    min-height: 84px;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 1rem var(--hgg-header-gap, 28px);
    align-items: center;
    padding-block: .85rem;
}

.huuguu-mobile-topbar {
    display: contents;
}

.layout-center.huuguu-header__builder {
    grid-template-columns: 1fr auto 1fr;
}

.layout-center.huuguu-header__builder .header-left {
    justify-self: center;
    order: 2;
}

.layout-center.huuguu-header__builder .header-center {
    order: 1;
    justify-self: start;
}

.layout-center.huuguu-header__builder .header-right {
    order: 3;
    justify-self: end;
}

.layout-split.huuguu-header__builder {
    grid-template-columns: 1fr auto 1fr;
}

.layout-split.huuguu-header__builder .header-left {
    justify-self: center;
    order: 2;
}

.layout-split.huuguu-header__builder .header-center {
    order: 1;
    justify-self: stretch;
}

.layout-split.huuguu-header__builder .header-right {
    order: 3;
    justify-self: end;
}

.header-left,
.header-center,
.header-right {
    min-width: 0;
}

.header-left .site-branding {
    display: flex;
    align-items: center;
    min-height: 52px;
}

.huuguu-logo,
.custom-logo-link {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.huuguu-logo img {
    display: none;
    height: auto;
    width: auto;
    max-width: 100%;
}

.huuguu-logo .logo-desktop {
    display: block;
    max-height: var(--hgg-logo-desktop-height, 60px);
}

.site-title {
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -.04em;
    color: var(--hgg-text);
}

.site-description {
    margin: .2rem 0 0;
    color: var(--hgg-muted);
    font-size: .95rem;
}

.header-center {
    display: flex;
    justify-content: var(--hgg-menu-justify, center);
}

.main-navigation {
    max-width: 100%;
}

.main-navigation .menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 1.2rem;
    align-items: center;
    justify-content: var(--hgg-menu-justify, center);
    flex-wrap: wrap;
}

.main-navigation .menu > li {
    position: relative;
}

.main-navigation .menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
    padding: .7rem 0;
    color: var(--hgg-menu-link, var(--hgg-text));
    font-weight: 600;
    transition: color .2s ease;
}

.main-navigation .menu > li > a:hover,
.main-navigation .menu > li > a:focus {
    color: var(--hgg-menu-link-hover, var(--hgg-primary));
}

.main-navigation .menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    width: .45rem;
    height: .45rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    margin-left: .15rem;
    opacity: .85;
}

.main-navigation .sub-menu {
    list-style: none;
    position: absolute;
    top: calc(100% + .2rem);
    left: 0;
    margin: 0;
    padding: .6rem 0;
    min-width: 240px;
    width: max-content;
    max-width: 320px;
    background: var(--hgg-submenu-bg, #ffffff);
    border: 1px solid rgba(23,32,51,.08);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(17,34,68,.12);
    display: none;
    z-index: 80;
}

.main-navigation .sub-menu li {
    position: relative;
}

.main-navigation .sub-menu a {
    display: block;
    white-space: nowrap;
    padding: .7rem 1rem;
    line-height: 1.35;
    color: var(--hgg-submenu-link, var(--hgg-text));
    transition: background-color .2s ease, color .2s ease;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus {
    background: var(--hgg-submenu-hover-bg, #eef3ff);
    color: var(--hgg-submenu-hover-link, var(--hgg-primary));
}

.main-navigation .sub-menu .sub-menu {
    top: -.6rem;
    left: calc(100% + .35rem);
}

.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu {
    display: block;
}

.submenu-toggle {
    display: none;
    margin-left: .4rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--hgg-border);
    background: var(--hgg-surface);
    border-radius: 999px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
}

.submenu-toggle__icon {
    display: inline-block;
    width: .6rem;
    height: .6rem;
    position: relative;
}

.submenu-toggle__icon::before,
.submenu-toggle__icon::after {
    content: "";
    position: absolute;
    background: currentColor;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.submenu-toggle__icon::before {
    width: .65rem;
    height: 2px;
}

.submenu-toggle__icon::after {
    width: 2px;
    height: .65rem;
}

.menu-item-submenu-open > .submenu-toggle .submenu-toggle__icon::after {
    display: none;
}

.header-right {
    display: flex;
    align-items: center;
    gap: .75rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.header-search,
.header-search .search-form {
    min-width: 0;
}

.search-form {
    display: flex;
    gap: .5rem;
}

.search-form label {
    flex: 1 1 auto;
    min-width: 0;
    display: block;
    margin: 0;
}

.search-form label .search-field {
    width: 100%;
}

.search-field {
    min-width: 220px;
    border: 1px solid var(--hgg-border);
    border-radius: 999px;
    padding: .75rem 1rem;
    background: var(--hgg-surface);
}

.search-field:focus {
    outline: 2px solid var(--hgg-menu-link-hover, var(--hgg-primary));
    outline-offset: 1px;
}

.search-submit,
.hgg-read-more,
.header-cta {
    border: 0;
    border-radius: var(--hgg-header-button-radius, 999px);
    background: var(--hgg-header-button-bg, var(--hgg-primary));
    color: var(--hgg-header-button-text, #ffffff);
    padding: .78rem 1rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.header-cta:hover,
.header-cta:focus,
.search-submit:hover,
.search-submit:focus,
.hgg-read-more:hover,
.hgg-read-more:focus {
    opacity: .92;
    color: var(--hgg-header-button-text, #ffffff);
}

.menu-toggle {
    display: none;
    border: 1px solid var(--hgg-menu-toggle-border, var(--hgg-border));
    background: var(--hgg-menu-toggle-bg, var(--hgg-surface));
    color: var(--hgg-menu-toggle-text, var(--hgg-text));
    border-radius: var(--hgg-menu-toggle-radius, 16px);
    min-height: 52px;
    padding: 0 1.15rem;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.menu-toggle__text {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.menu-toggle__icon {
    width: 18px;
    flex: 0 0 18px;
    height: 14px;
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
}

.menu-toggle__icon span,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: var(--hgg-menu-toggle-icon, currentColor);
    transition: transform .2s ease, opacity .2s ease;
}

.menu-toggle__icon span {
    top: 6px;
}

.menu-toggle__icon::before {
    top: 0;
}

.menu-toggle__icon::after {
    top: 12px;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon span {
    opacity: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon::before {
    transform: translateY(6px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon::after {
    transform: translateY(-6px) rotate(-45deg);
}

.menu-toggle--icon {
    padding-inline: 1rem;
    min-width: 52px;
}

.menu-toggle--icon .menu-toggle__text {
    display: none;
}

.menu-toggle--text .menu-toggle__icon {
    display: none;
}

.site-footer {
    background: #0f1730;
    color: rgba(255,255,255,.82);
    padding: 3rem 0 2rem;
}

.site-footer a {
    color: #fff;
}

.site-footer__widgets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 2rem;
    margin-bottom: 2rem;
}

.footer-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.hgg-card {
    background: var(--hgg-surface);
    border: 1px solid rgba(36,109,232,.08);
    border-radius: var(--hgg-radius);
    box-shadow: var(--hgg-shadow);
    overflow: hidden;
}

.hgg-card__body {
    padding: 1.25rem;
}

.entry-header,
.entry-content,
.entry-footer {
    padding-inline: 1.5rem;
}

.hgg-single-card .entry-content,
.hgg-single-card .entry-footer,
.hgg-single-card .entry-header,
.hgg-page-card .entry-content,
.hgg-page-card .entry-header {
    padding-inline: clamp(1.25rem, 2vw, 2rem);
}

.hgg-single-card .entry-header,
.hgg-page-card .entry-header {
    padding-top: 1.5rem;
}

.hgg-single-card .entry-content,
.hgg-page-card .entry-content {
    padding-bottom: 1.75rem;
}

.entry-meta,
.entry-footer {
    color: var(--hgg-muted);
    font-size: .92rem;
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
}

.page-header {
    margin-bottom: 1.5rem;
}

.archive-description {
    color: var(--hgg-muted);
    max-width: 70ch;
}

.huuguu-post-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1.5rem;
}

.hgg-empty-state {
    padding: 2rem;
}

.widget-area .widget,
.site-footer .widget {
    background: var(--hgg-surface);
    color: var(--hgg-text);
    border-radius: var(--hgg-radius-sm);
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.widget-title {
    font-size: 1rem;
    margin-bottom: .75rem;
}

@media (max-width:1100px) {
    .huuguu-header__builder {
        grid-template-columns: 1fr;
        gap: .75rem;
        min-height: auto;
        padding-block: .7rem;
    }

    .huuguu-mobile-topbar {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
        gap: .9rem;
    }

    .header-center,
    .header-right {
        display: none;
        width: 100%;
    }

    .header-center.is-open,
    .header-right.is-open,
    .main-navigation.is-open {
        display: block;
    }

    .huuguu-logo .logo-desktop {
        display: none;
    }

    .huuguu-logo .logo-tablet {
        display: block;
        max-height: var(--hgg-logo-tablet-height, 50px);
    }

    .menu-toggle {
        display: inline-flex;
        justify-self: end;
        align-self: center;
    }

    .header-center {
        order: 2;
    }

    .header-right {
        order: 3;
    }

    .main-navigation .menu {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding-top: .35rem;
    }

    .main-navigation .menu > li {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        border-bottom: 1px solid rgba(23,32,51,.06);
        padding: .1rem 0;
    }

    .main-navigation .menu > li > a {
        white-space: normal;
        padding: .9rem 0;
    }

    .main-navigation .menu-item-has-children > a::after {
        display: none;
    }

    .submenu-toggle {
        display: inline-flex;
    }

    .main-navigation .sub-menu {
        position: static;
        display: none;
        width: 100%;
        min-width: 0;
        max-width: none;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        padding: 0 0 .55rem 1rem;
        background: transparent;
        grid-column: 1 / -1;
    }

    .main-navigation .sub-menu a {
        white-space: normal;
        padding: .7rem 0;
        background: transparent;
    }

    .main-navigation .sub-menu a:hover,
    .main-navigation .sub-menu a:focus {
        background: transparent;
        color: var(--hgg-submenu-hover-link, var(--hgg-menu-link-hover, var(--hgg-primary)));
    }

    .main-navigation .sub-menu .sub-menu {
        left: auto;
        top: auto;
        padding-left: 1rem;
    }

    .menu-item-submenu-open > .sub-menu {
        display: block;
    }

    .header-right {
        padding-top: .1rem;
    }

    .header-search {
        width: 100%;
        padding-top: .15rem;
    }

    .search-form {
        width: 100%;
        gap: .7rem;
        align-items: center;
    }

    .header-cta {
        width: 100%;
    }
}

@media (max-width:600px) {
    .site-header .huuguu-container {
        width: min(100% - 1rem, var(--hgg-header-container, var(--hgg-container)));
    }

    .huuguu-mobile-topbar {
        gap: .8rem;
    }

    .header-left .site-branding {
        min-height: 36px;
    }

    .huuguu-logo .logo-tablet {
        display: none;
    }

    .huuguu-logo .logo-mobile {
        display: block;
        max-height: var(--hgg-logo-mobile-height, 30px);
    }

    .menu-toggle {
        min-height: 42px;
        min-width: 42px;
        padding-inline: .85rem;
    }

    .header-right {
        display: none;
    }

    .header-right.is-open {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .55rem;
        align-items: center;
        width: 100%;
    }

    .header-search {
        grid-column: 1 / -1;
        width: 100%;
        padding-right: 0;
    }

    .search-form {
        flex-direction: row;
        width: 100%;
        gap: .55rem;
        align-items: center;
        justify-content: space-between;
    }

    .search-form label {
        flex: 1 1 auto;
        min-width: 0;
        display: block;
    }

    .search-field {
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
        max-width: 100%;
        padding: .66rem .9rem;
        margin: 0;
    }

    .search-submit {
        flex: 0 0 auto;
        min-width: 96px;
        min-height: 42px;
        padding: .66rem .9rem;
        align-self: stretch;
    }

    .header-cta {
        grid-column: 1 / -1;
        width: 100%;
        min-height: 42px;
        padding: .72rem 1rem;
    }
}


/* === V18 MOBILE MENU WIDTH FIX === */
@media (max-width:1100px) {
    .header-center {
        display: block;
        width: 100%;
    }

    .main-navigation {
        display: none;
        width: 100%;
    }

    .main-navigation.is-open {
        display: block;
        width: 100%;
    }

    .main-navigation .menu {
        width: 100%;
        max-width: none;
    }

    .main-navigation .menu > li {
        width: 100%;
    }

    .main-navigation .menu > li > a {
        display: flex;
        justify-content: flex-start;
        width: 100%;
    }

    .submenu-toggle {
        justify-self: end;
    }
}

@media (max-width:600px) {
    .huuguu-mobile-topbar,
    .header-center,
    .header-right,
    .main-navigation,
    .main-navigation .menu,
    .main-navigation .menu > li {
        width: 100%;
        max-width: 100%;
    }

    .main-navigation .menu > li {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .main-navigation .menu > li > a {
        width: 100%;
        justify-content: flex-start;
    }
}


/* === V19 MOBILE SUBMENU TOGGLE FIX === */
@media (max-width:1100px) {
    .main-navigation li:hover > .sub-menu,
    .main-navigation li:focus-within > .sub-menu {
        display: none;
    }

    .main-navigation .menu-item-submenu-open > .sub-menu {
        display: block;
    }

    .main-navigation .menu-item-submenu-open > .submenu-toggle .submenu-toggle__icon::after {
        display: none;
    }
}


/* === V20 MOBILE SUBMENU CLICK + HEADER SPACING === */
@media (max-width:1100px) {
    .main-navigation .menu-item-submenu-open > .sub-menu {
        display: block !important;
    }

    .header-search {
        margin-bottom: .2rem;
    }

    .header-cta {
        margin-top: .15rem;
    }
}

@media (max-width:600px) {
    .header-search {
        margin-bottom: .1rem;
    }

    .header-cta {
        margin-top: .2rem;
    }
}


/* === V21/V22 SITE LAYOUT + FOOTER BUILDER BASE === */
body {
    background: var(--hgg-content-bg, #f5f7fb);
}

.site-main {
    background: var(--hgg-content-bg, #f5f7fb);
}

.site-footer {
    background: var(--hgg-footer-bg, #0f1730);
    color: var(--hgg-footer-text, rgba(255,255,255,.82));
}

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

.site-footer__row {
    display: grid;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.site-footer__row--1 {
    grid-template-columns: 1fr;
}

.site-footer__row--2 {
    grid-template-columns: repeat(2, minmax(0,1fr));
}

.site-footer__row--3 {
    grid-template-columns: repeat(3, minmax(0,1fr));
}

.site-footer__row--4 {
    grid-template-columns: repeat(4, minmax(0,1fr));
}

.site-footer__column {
    min-width: 0;
}

@media (max-width:900px) {
    .site-footer__row--2,
    .site-footer__row--3,
    .site-footer__row--4 {
        grid-template-columns: 1fr;
    }
}


/* === V23 CONTENT CONTAINER CONTROLS === */
.hgg-card,
.hgg-page-card,
.hgg-single-card {
    border-color: var(--hgg-content-border-color, rgba(36,109,232,.08));
    border-width: var(--hgg-content-border-width, 1px);
    border-style: solid;
    border-radius: var(--hgg-content-radius, 24px);
    box-shadow: var(--hgg-content-shadow, none);
}


/* === V24/V25 FOOTER BUILDER V2 === */
.huuguu-footer-container {
    width: min(100% - 2rem, var(--hgg-footer-container, var(--hgg-container)));
}

.site-footer {
    padding: var(--hgg-footer-top-padding, 48px) 0 var(--hgg-footer-bottom-padding, 32px);
}

.site-footer a {
    color: var(--hgg-footer-link, var(--hgg-footer-text, #ffffff));
    transition: color .2s ease;
}

.site-footer a:hover,
.site-footer a:focus {
    color: var(--hgg-footer-link-hover, #c9d9ff);
}

.single.single-product .site-footer a {
    text-decoration: none;
}

.site-footer__row {
    display: grid;
    gap: 1.5rem;
    margin-bottom: var(--hgg-footer-row-gap, 24px);
    padding-bottom: var(--hgg-footer-row-gap, 24px);
    border-bottom: var(--hgg-footer-divider-width, 0) solid var(--hgg-footer-divider-color, #26324f);
}

.site-footer__row:last-of-type {
    margin-bottom: 1rem;
}

.site-footer__column {
    min-width: 0;
}

.site-footer__text p:last-child,
.site-info p:last-child {
    margin-bottom: 0;
}

.footer-navigation--slot ul,
.footer-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .75rem;
}

.footer-navigation--slot li,
.footer-navigation li {
    margin: 0;
}

.site-info {
    padding-top: .5rem;
    color: var(--hgg-footer-text, #ffffff);
}


/* === V26 FOOTER VISUAL REFINEMENT === */
.site-footer {
    background: var(--hgg-footer-bg, #0f1730);
    color: var(--hgg-footer-text, #ffffff);
    padding: var(--hgg-footer-top-padding, 48px) 0 var(--hgg-footer-bottom-padding, 32px);
}

.huuguu-footer-container {
    width: min(100% - 2rem, var(--hgg-footer-container, var(--hgg-container)));
}

.site-footer__row {
    display: grid;
    gap: 1.75rem;
    margin-bottom: var(--hgg-footer-row-gap, 24px);
    padding-bottom: var(--hgg-footer-row-gap, 24px);
    border-bottom: var(--hgg-footer-divider-width, 0) solid var(--hgg-footer-divider-color, #26324f);
    align-items: start;
}

.site-footer__row:last-of-type {
    margin-bottom: 1.25rem;
}

.site-footer__column {
    min-width: 0;
}

.site-footer .widget,
.site-footer__text,
.site-footer .menu,
.footer-navigation--slot,
.site-info {
    font-size: .98rem;
    line-height: 1.7;
}

.site-footer .widget {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
    color: inherit;
}

.site-footer .widget + .widget {
    margin-top: 1.5rem;
}

.site-footer .widget-title {
    margin: 0 0 .95rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--hgg-footer-text, #ffffff);
}

.site-footer p,
.site-footer ul,
.site-footer ol {
    margin-top: 0;
}

.site-footer__text > *:last-child,
.site-footer .widget > *:last-child,
.site-info > *:last-child {
    margin-bottom: 0;
}

.footer-navigation--slot ul,
.footer-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .72rem;
}

.footer-navigation--slot a,
.footer-navigation a {
    text-decoration: none;
}

.footer-navigation--slot a:hover,
.footer-navigation--slot a:focus,
.footer-navigation a:hover,
.footer-navigation a:focus {
    text-decoration: underline;
    text-underline-offset: .16em;
}

.site-info {
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 1rem;
    color: var(--hgg-footer-text, #ffffff);
    opacity: .92;
}

@media (max-width: 900px) {
    .site-footer {
        padding-top: max(32px, var(--hgg-footer-top-padding, 48px));
    }

    .site-footer__row {
        gap: 1.2rem;
    }
}


/* === V27 FOOTER USABILITY === */
.site-info {
    text-align: center;
}

.site-footer__text--copyright-slot {
    text-align: center;
}

.site-footer__text--empty {
    min-height: 1px;
}


/* === V28 FOOTER UX === */
.hgg-page-card--no-title .entry-content {
    padding-top: var(--huuguu-home-hidden-title-padding, 32px);
}

.site-footer__helper {
    font-size: .92rem;
    line-height: 1.55;
    opacity: .82;
    padding: .75rem 0;
}

.site-footer__column.hgg-footer-slot--empty {
    min-height: 1px;
}

.site-info {
    text-align: center;
}

.site-footer__text--copyright-slot {
    text-align: center;
}

@media (max-width: 900px) {
    .hgg-page-card--no-title .entry-content {
        padding-top: var(--huuguu-home-hidden-title-padding, 24px);
    }
}


/* === V29.2 HEADER FIT FIX === */
.header-left .site-branding {
    min-height: 0;
}

.huuguu-logo,
.custom-logo-link {
    justify-content: flex-start;
}

.search-field {
    min-width: 180px;
}

.huuguu-header__builder.layout-center .main-navigation .menu,
.huuguu-header__builder.layout-split .main-navigation .menu {
    gap: .9rem;
}

.huuguu-header__builder.layout-center .search-field,
.huuguu-header__builder.layout-split .search-field {
    min-width: 160px;
}

.huuguu-header__builder.layout-center .header-center,
.huuguu-header__builder.layout-split .header-center {
    overflow: hidden;
}

.huuguu-header__builder.layout-center .main-navigation,
.huuguu-header__builder.layout-split .main-navigation {
    min-width: 0;
}

@media (min-width:1101px) {
    .huuguu-header__builder.layout-split {
        grid-template-columns: minmax(0,1fr) auto auto;
        grid-template-areas: "nav branding actions";
    }

    .huuguu-header__builder.layout-split .header-center {
        justify-content: flex-start;
        padding-right: 0;
    }

    .huuguu-header__builder.layout-split .header-right {
        justify-content: flex-end;
        padding-left: 1rem;
    }

    .huuguu-header__builder.layout-center .header-center {
        justify-content: flex-end;
        padding-right: .75rem;
    }

    .huuguu-header__builder.layout-center .header-right {
        justify-content: flex-start;
        padding-left: .75rem;
    }
}

@media (max-width:1100px) {
    .huuguu-mobile-topbar {
        grid-template-columns: minmax(0,1fr) auto;
    }

    .huuguu-mobile-topbar .header-left {
        width: 100%;
        justify-self: start !important;
    }

    .huuguu-mobile-topbar .header-left .site-branding {
        width: 100%;
        min-height: 0;
        justify-content: flex-start;
    }

    .huuguu-mobile-topbar .huuguu-logo,
    .huuguu-mobile-topbar .custom-logo-link {
        width: 100%;
        justify-content: flex-start;
    }

    .huuguu-mobile-topbar .huuguu-logo img,
    .huuguu-mobile-topbar .custom-logo-link img {
        margin-right: auto;
    }

    .menu-toggle {
        justify-self: end;
    }
}

@media (max-width:600px) {
    .huuguu-mobile-topbar {
        gap: .65rem;
    }

    .huuguu-mobile-topbar .header-left {
        overflow: hidden;
    }

    .huuguu-mobile-topbar .huuguu-logo .logo-mobile {
        max-height: var(--hgg-logo-mobile-height, 30px);
        width: auto;
        max-width: 100%;
    }

    .search-field {
        min-width: 0;
    }
}


/* === V29.3 RESPONSIVE LOGO FIX === */
.site-branding .custom-logo-link {
    display: none;
}

.huuguu-logo {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    max-width: 100%;
    text-decoration: none;
}

.huuguu-logo .logo-desktop,
.huuguu-logo .logo-tablet,
.huuguu-logo .logo-mobile {
    width: auto;
    height: auto;
    max-width: 100%;
}

.huuguu-logo .logo-tablet,
.huuguu-logo .logo-mobile {
    display: none;
}

@media (max-width:1100px) {
    .huuguu-logo .logo-desktop {
        display: none;
    }

    .huuguu-logo .logo-tablet {
        display: block;
        max-height: var(--hgg-logo-tablet-height, 50px);
    }
}

@media (max-width:600px) {
    .huuguu-logo .logo-tablet {
        display: none;
    }

    .huuguu-logo .logo-mobile {
        display: block;
        max-height: var(--hgg-logo-mobile-height, 30px);
    }
}


/* === V29.5 MOBILE TOPBAR HARDFIX === */
@media (max-width: 1100px) {
    .site-header .huuguu-header__builder,
    .site-header .huuguu-header__builder.layout-left,
    .site-header .huuguu-header__builder.layout-center,
    .site-header .huuguu-header__builder.layout-split {
        display: block !important;
        min-height: 0 !important;
    }

    .site-header .huuguu-mobile-topbar {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        align-items: center !important;
        column-gap: .75rem !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .site-header .huuguu-mobile-topbar > .header-left {
        grid-column: 1 !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        justify-self: start !important;
        align-self: center !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .site-header .huuguu-mobile-topbar > .menu-toggle {
        grid-column: 2 !important;
        justify-self: end !important;
        align-self: center !important;
        margin: 0 !important;
    }

    .site-header .huuguu-mobile-topbar .site-branding {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    .site-header .huuguu-mobile-topbar .huuguu-logo {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .site-header .huuguu-mobile-topbar .huuguu-logo img {
        margin: 0 !important;
    }

    .site-header .header-center,
    .site-header .header-right {
        display: none !important;
        width: 100% !important;
    }

    .site-header .header-center.is-open {
        display: block !important;
        margin-top: .75rem !important;
    }

    .site-header .header-right.is-open {
        display: grid !important;
        margin-top: .5rem !important;
    }
}

@media (max-width: 600px) {
    .site-header .huuguu-mobile-topbar .huuguu-logo .logo-desktop,
    .site-header .huuguu-mobile-topbar .huuguu-logo .logo-tablet {
        display: none !important;
    }

    .site-header .huuguu-mobile-topbar .huuguu-logo .logo-mobile {
        display: block !important;
        max-height: var(--hgg-logo-mobile-height, 30px) !important;
        width: auto !important;
        max-width: 100% !important;
    }
}

@media (min-width: 601px) and (max-width: 1100px) {
    .site-header .huuguu-mobile-topbar .huuguu-logo .logo-desktop,
    .site-header .huuguu-mobile-topbar .huuguu-logo .logo-mobile {
        display: none !important;
    }

    .site-header .huuguu-mobile-topbar .huuguu-logo .logo-tablet {
        display: block !important;
        max-height: var(--hgg-logo-tablet-height, 50px) !important;
        width: auto !important;
        max-width: 100% !important;
    }
}


/* === V30.2 DESKTOP/MOBILE HEADER SWITCH + FOOTER MENU POLISH === */
.huuguu-mobile-topbar,
.huuguu-mobile-panel {
    display: none !important;
}

.huuguu-header-desktop {
    display: grid !important;
}

@media (max-width: 1100px) {
    .huuguu-header-desktop {
        display: none !important;
    }

    .huuguu-mobile-topbar {
        display: grid !important;
    }

    .huuguu-mobile-panel.is-open {
        display: block !important;
    }
}

/* Footer menu polish */
.footer-navigation--slot ul,
.footer-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-navigation--slot li,
.footer-navigation li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-navigation--slot a,
.footer-navigation a {
    display: inline-block;
    text-decoration: none;
    padding: .1rem 0;
}

.footer-navigation--slot a:hover,
.footer-navigation--slot a:focus,
.footer-navigation a:hover,
.footer-navigation a:focus {
    text-decoration: underline;
    text-underline-offset: .16em;
}

/* Footer responsive rows */
@media (max-width: 1024px) {
    .site-footer__row--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer__row--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .site-footer__row--2,
    .site-footer__row--3,
    .site-footer__row--4 {
        grid-template-columns: 1fr;
    }
}


/* === V30.3 MOBILE NAV CLICK FIX === */
@media (max-width: 1100px) {
    .huuguu-mobile-panel {
        display: none;
        width: 100%;
    }

    .huuguu-mobile-panel.is-open {
        display: block !important;
    }

    .mobile-nav,
    .mobile-actions {
        display: none;
        width: 100%;
    }

    .mobile-nav.is-open,
    .mobile-actions.is-open {
        display: block !important;
    }

    .mobile-nav {
        margin-bottom: .75rem;
    }

    .mobile-nav .main-navigation {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .mobile-nav .main-navigation .menu,
    .mobile-nav .main-navigation ul.menu,
    .mobile-nav .main-navigation ul.primary-menu {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-top: .35rem !important;
    }

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

    .mobile-nav .main-navigation .menu > li > a {
        display: flex !important;
        width: 100% !important;
        justify-content: flex-start !important;
        white-space: normal !important;
        padding: .9rem 0 !important;
    }

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

    .mobile-nav .submenu-toggle {
        display: inline-flex !important;
        justify-self: end !important;
    }

    .mobile-nav .main-navigation li:hover > .sub-menu,
    .mobile-nav .main-navigation li:focus-within > .sub-menu {
        display: none !important;
    }

    .mobile-nav .main-navigation .sub-menu {
        position: static !important;
        display: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-shadow: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        padding: 0 0 .55rem 1rem !important;
        background: transparent !important;
        grid-column: 1 / -1 !important;
    }

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


/* === V30.4 FOOTER COLUMN WIDTH + CUSTOMIZER UX === */
.footer-navigation--slot .menu,
.footer-navigation .menu,
.footer-navigation--slot ul,
.footer-navigation ul {
    display: grid;
    gap: .5rem;
}

.footer-navigation--slot li a,
.footer-navigation li a {
    line-height: 1.45;
}

@media (max-width: 1024px) {
    .site-footer__row[style] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .site-footer__row--1[style],
    .site-footer__row--1 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .site-footer__row,
    .site-footer__row[style] {
        grid-template-columns: 1fr !important;
    }
}


/* === V30.6 FOOTER CONTROL RENDER + BLOCK HEADING COLOR === */
.site-footer .wp-block-heading,
.site-footer .wp-block-latest-posts__post-title,
.site-footer .wp-block-group,
.site-footer .wp-block-group p,
.site-footer .wp-block-latest-posts,
.site-footer .wp-block-latest-posts li,
.site-footer .wp-block-latest-posts a {
    color: var(--hgg-footer-text, #ffffff);
}

.site-footer .wp-block-heading a,
.site-footer .wp-block-latest-posts__post-title {
    color: var(--hgg-footer-link, var(--hgg-footer-text, #ffffff));
}

.site-footer .wp-block-heading a:hover,
.site-footer .wp-block-latest-posts__post-title:hover,
.site-footer .wp-block-latest-posts__post-title:focus {
    color: var(--hgg-footer-link-hover, #c9d9ff);
}


/* === V30.7 FOOTER POLISH + CUSTOMIZER UX === */
.footer-navigation--slot ul,
.footer-navigation ul,
.site-footer .widget_nav_menu ul,
.site-footer .wp-block-latest-posts,
.site-footer .wp-block-latest-posts__list {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.footer-navigation--slot li,
.footer-navigation li,
.site-footer .widget_nav_menu li,
.site-footer .wp-block-latest-posts li {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.footer-navigation--slot a,
.footer-navigation a,
.site-footer .widget_nav_menu a,
.site-footer .wp-block-latest-posts__post-title {
    display: inline-block;
    text-decoration: none;
    padding: .12rem 0;
}

.site-footer .wp-block-heading,
.site-footer .widget-title,
.site-footer .wp-block-group h1,
.site-footer .wp-block-group h2,
.site-footer .wp-block-group h3,
.site-footer .wp-block-group h4,
.site-footer .wp-block-group h5,
.site-footer .wp-block-group h6 {
    color: var(--hgg-footer-text, #ffffff) !important;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 .95rem;
}

.site-footer .wp-block-group,
.site-footer .wp-block-group__inner-container {
    color: var(--hgg-footer-text, #ffffff);
}

.site-footer .wp-block-latest-posts__post-title,
.site-footer .wp-block-latest-posts a {
    color: var(--hgg-footer-link, var(--hgg-footer-text, #ffffff)) !important;
    line-height: 1.5;
}

.site-footer__row {
    align-items: start;
}

.site-footer__column {
    min-width: 0;
}

.site-footer .widget_media_image .wp-block-image,
.site-footer .widget_media_image figure {
    margin: 0;
}

.site-footer .widget_media_image img {
    height: auto !important;
    max-width: 100%;
}

@media (max-width: 1024px) {
    .site-footer {
        padding-top: max(36px, var(--hgg-footer-top-padding, 48px));
    }

    .site-footer__row,
    .site-footer__row[style] {
        gap: 1.5rem !important;
    }

    .site-footer__row--4,
    .site-footer__row--4[style] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .site-footer__row--3,
    .site-footer__row--3[style] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .site-footer__column {
        align-self: start;
    }
}

@media (max-width: 640px) {
    .site-footer__row,
    .site-footer__row[style] {
        grid-template-columns: 1fr !important;
        gap: 1.35rem !important;
    }

    .site-footer .huuguu-footer-container {
        width: min(100% - 1.5rem, var(--hgg-footer-container, var(--hgg-container)));
    }

    .site-footer__column {
        text-align: left;
    }

    .site-footer .widget_media_image .wp-block-image,
    .site-footer .widget_media_image figure.aligncenter {
        text-align: left;
    }

    .site-footer .widget_media_image img {
        max-width: min(260px, 100%);
    }

    .site-info {
        margin-top: .35rem;
        padding-top: .85rem;
    }
}


/* === V30.8 FOOTER GLOBAL CONTROLS RESTORED === */
.site-footer {
    padding: var(--hgg-footer-top-padding, 48px) 0 var(--hgg-footer-bottom-padding, 32px);
}

.site-footer__row {
    margin-bottom: var(--hgg-footer-row-gap, 24px);
    padding-bottom: var(--hgg-footer-row-gap, 24px);
    border-bottom: var(--hgg-footer-divider-width, 0) solid rgba(255,255,255,.08);
}

.site-footer__row:last-of-type {
    margin-bottom: 1rem;
}


/* === V30.9 FOOTER COLUMN ALIGNMENT === */
.site-footer__column[data-column-align="left"] {
    text-align: left;
}

.site-footer__column[data-column-align="center"] {
    text-align: center;
}

.site-footer__column[data-column-align="right"] {
    text-align: right;
}

.site-footer__column[data-column-align="center"] .widget,
.site-footer__column[data-column-align="center"] .site-footer__text,
.site-footer__column[data-column-align="center"] .wp-block-group,
.site-footer__column[data-column-align="center"] .wp-block-group__inner-container {
    text-align: center;
}

.site-footer__column[data-column-align="right"] .widget,
.site-footer__column[data-column-align="right"] .site-footer__text,
.site-footer__column[data-column-align="right"] .wp-block-group,
.site-footer__column[data-column-align="right"] .wp-block-group__inner-container {
    text-align: right;
}

.site-footer__column[data-column-align="center"] .widget_media_image .wp-block-image,
.site-footer__column[data-column-align="center"] .widget_media_image figure,
.site-footer__column[data-column-align="center"] .wp-block-image,
.site-footer__column[data-column-align="center"] figure {
    text-align: center;
}

.site-footer__column[data-column-align="right"] .widget_media_image .wp-block-image,
.site-footer__column[data-column-align="right"] .widget_media_image figure,
.site-footer__column[data-column-align="right"] .wp-block-image,
.site-footer__column[data-column-align="right"] figure {
    text-align: right;
}

.site-footer__column[data-column-align="center"] .widget_media_image img,
.site-footer__column[data-column-align="center"] .wp-block-image img {
    margin-left: auto !important;
    margin-right: auto !important;
}

.site-footer__column[data-column-align="right"] .widget_media_image img,
.site-footer__column[data-column-align="right"] .wp-block-image img {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.site-footer__column[data-column-align="center"] .footer-navigation--slot ul,
.site-footer__column[data-column-align="center"] .footer-navigation ul,
.site-footer__column[data-column-align="center"] .widget_nav_menu ul {
    justify-items: center;
}

.site-footer__column[data-column-align="right"] .footer-navigation--slot ul,
.site-footer__column[data-column-align="right"] .footer-navigation ul,
.site-footer__column[data-column-align="right"] .widget_nav_menu ul {
    justify-items: end;
}

.site-footer__column[data-column-align="center"] .wp-block-latest-posts__list,
.site-footer__column[data-column-align="center"] .wp-block-latest-posts {
    justify-items: center;
}

.site-footer__column[data-column-align="right"] .wp-block-latest-posts__list,
.site-footer__column[data-column-align="right"] .wp-block-latest-posts {
    justify-items: end;
}


/* === V31.0 FOOTER LINK STATES + COLUMN ALIGNMENT === */
.site-footer a,
.footer-navigation--slot a,
.footer-navigation a,
.site-footer .widget a,
.site-footer .wp-block-latest-posts a,
.site-footer .wp-block-latest-posts__post-title {
    color: var(--hgg-footer-link, var(--hgg-footer-text, #ffffff));
}

.site-footer a:hover,
.site-footer a:focus,
.footer-navigation--slot a:hover,
.footer-navigation--slot a:focus,
.footer-navigation a:hover,
.footer-navigation a:focus,
.site-footer .widget a:hover,
.site-footer .widget a:focus,
.site-footer .wp-block-latest-posts a:hover,
.site-footer .wp-block-latest-posts a:focus,
.site-footer .wp-block-latest-posts__post-title:hover,
.site-footer .wp-block-latest-posts__post-title:focus {
    color: var(--hgg-footer-link-hover, #c9d9ff);
}

.site-footer .current-menu-item > a,
.site-footer .current_page_item > a,
.site-footer .current_page_parent > a,
.site-footer .current-menu-ancestor > a,
.site-footer .current_page_ancestor > a {
    color: var(--hgg-footer-link-active, var(--hgg-footer-link, var(--hgg-footer-text, #ffffff)));
}

.site-footer__column[data-column-align="left"] {
    text-align: left;
}

.site-footer__column[data-column-align="center"] {
    text-align: center;
}

.site-footer__column[data-column-align="right"] {
    text-align: right;
}

.site-footer__column[data-column-align="center"] .widget,
.site-footer__column[data-column-align="center"] .site-footer__text,
.site-footer__column[data-column-align="center"] .wp-block-group,
.site-footer__column[data-column-align="center"] .wp-block-group__inner-container {
    text-align: center;
}

.site-footer__column[data-column-align="right"] .widget,
.site-footer__column[data-column-align="right"] .site-footer__text,
.site-footer__column[data-column-align="right"] .wp-block-group,
.site-footer__column[data-column-align="right"] .wp-block-group__inner-container {
    text-align: right;
}

.site-footer__column[data-column-align="center"] .widget_media_image .wp-block-image,
.site-footer__column[data-column-align="center"] .widget_media_image figure,
.site-footer__column[data-column-align="center"] .wp-block-image,
.site-footer__column[data-column-align="center"] figure {
    text-align: center;
}

.site-footer__column[data-column-align="right"] .widget_media_image .wp-block-image,
.site-footer__column[data-column-align="right"] .widget_media_image figure,
.site-footer__column[data-column-align="right"] .wp-block-image,
.site-footer__column[data-column-align="right"] figure {
    text-align: right;
}

.site-footer__column[data-column-align="center"] .widget_media_image img,
.site-footer__column[data-column-align="center"] .wp-block-image img {
    margin-left: auto !important;
    margin-right: auto !important;
}

.site-footer__column[data-column-align="right"] .widget_media_image img,
.site-footer__column[data-column-align="right"] .wp-block-image img {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.site-footer__column[data-column-align="center"] .footer-navigation--slot ul,
.site-footer__column[data-column-align="center"] .footer-navigation ul,
.site-footer__column[data-column-align="center"] .widget_nav_menu ul,
.site-footer__column[data-column-align="center"] .wp-block-latest-posts__list,
.site-footer__column[data-column-align="center"] .wp-block-latest-posts {
    justify-items: center;
}

.site-footer__column[data-column-align="right"] .footer-navigation--slot ul,
.site-footer__column[data-column-align="right"] .footer-navigation ul,
.site-footer__column[data-column-align="right"] .widget_nav_menu ul,
.site-footer__column[data-column-align="right"] .wp-block-latest-posts__list,
.site-footer__column[data-column-align="right"] .wp-block-latest-posts {
    justify-items: end;
}


/* === V31.2 POLISH: SEARCH, ACTIVE STATES, MOBILE INSETS === */
.main-navigation .menu > li.current-menu-item > a,
.main-navigation .menu > li.current_page_item > a,
.main-navigation .menu > li.current-menu-ancestor > a,
.main-navigation .menu > li.current_page_ancestor > a,
.main-navigation .menu > li.current_page_parent > a {
    color: var(--hgg-menu-link-active, var(--hgg-menu-link-hover, var(--hgg-menu-link))) !important;
}

.main-navigation .sub-menu .current-menu-item > a,
.main-navigation .sub-menu .current_page_item > a,
.main-navigation .sub-menu .current-menu-ancestor > a,
.main-navigation .sub-menu .current_page_ancestor > a,
.main-navigation .sub-menu .current_page_parent > a {
    color: var(--hgg-menu-link-active, var(--hgg-menu-link-hover, var(--hgg-menu-link))) !important;
}

.site-footer a,
.site-footer .widget a,
.site-footer .wp-block-latest-posts a,
.site-footer .wp-block-latest-posts__post-title {
    color: var(--hgg-footer-link, var(--hgg-footer-text, #ffffff)) !important;
}

.site-footer a:hover,
.site-footer a:focus,
.site-footer .widget a:hover,
.site-footer .widget a:focus,
.site-footer .wp-block-latest-posts a:hover,
.site-footer .wp-block-latest-posts a:focus,
.site-footer .wp-block-latest-posts__post-title:hover,
.site-footer .wp-block-latest-posts__post-title:focus {
    color: var(--hgg-footer-link-hover, #c9d9ff) !important;
}

.site-footer .current-menu-item > a,
.site-footer .current_page_item > a,
.site-footer .current_page_parent > a,
.site-footer .current-menu-ancestor > a,
.site-footer .current_page_ancestor > a,
.site-footer a:active,
.site-footer .widget a:active,
.site-footer .wp-block-latest-posts a:active,
.site-footer .wp-block-latest-posts__post-title:active {
    color: var(--hgg-footer-link-active, var(--hgg-footer-link, var(--hgg-footer-text, #ffffff))) !important;
}

@media (max-width: 640px) {
    .site-header .huuguu-container {
        width: min(100% - 2rem, var(--hgg-header-container, var(--hgg-container)));
    }

    .site-footer .huuguu-footer-container,
    .site-footer .huuguu-container {
        width: min(100% - 2rem, var(--hgg-footer-container, var(--hgg-container)));
    }
}


/* === V32 FOOTER PREMIUM === */
.site-footer {
    background: var(--hgg-footer-bg, #241d36);
    color: var(--hgg-footer-text, #ffffff);
}

.site-footer .huuguu-footer-container {
    position: relative;
}

.site-footer--premium .site-footer__row {
    gap: clamp(1.5rem, 2vw, 2.5rem);
}

.site-footer--premium .site-footer__column {
    position: relative;
}

.site-footer--premium .site-footer__column .widget,
.site-footer--premium .site-footer__column .site-footer__text,
.site-footer--premium .site-footer__column .wp-block-group {
    position: relative;
    z-index: 1;
}

.site-footer--premium .widget-title,
.site-footer--premium .wp-block-heading,
.site-footer--premium .site-footer__title,
.site-footer .widget-title,
.site-footer .wp-block-heading {
    color: var(--hgg-footer-heading, var(--hgg-footer-text, #ffffff)) !important;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .01em;
    margin: 0 0 1rem;
}

.site-footer--premium .hgg-footer-slot--widgets:first-child .widget_media_image img,
.site-footer--premium .hgg-footer-slot--text:first-child img {
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.16));
}

.site-footer--premium .hgg-footer-slot--widgets:first-child .widget_media_image,
.site-footer--premium .hgg-footer-slot--text:first-child {
    max-width: 340px;
}

.site-footer--premium .site-footer__column p,
.site-footer--premium .site-footer__column li,
.site-footer--premium .site-footer__column a,
.site-footer--premium .site-footer__column .wp-block-latest-posts__post-title {
    font-size: 1rem;
    line-height: 1.55;
}

.site-footer--premium a,
.site-footer--premium .widget a,
.site-footer--premium .wp-block-latest-posts__post-title {
    transition: color .18s ease, transform .18s ease, opacity .18s ease;
}

.site-footer--premium .widget_nav_menu a:hover,
.site-footer--premium .widget_nav_menu a:focus,
.site-footer--premium .footer-navigation a:hover,
.site-footer--premium .footer-navigation a:focus {
    transform: translateX(2px);
}

.site-footer--premium .wp-block-latest-posts li {
    margin-bottom: .35rem;
}

.site-footer--premium .wp-block-latest-posts__post-title {
    display: inline-block;
    max-width: 100%;
}

.site-footer--premium .site-info {
    font-size: .95rem;
    opacity: .92;
}

.site-footer--premium .site-footer__row {
    border-bottom-color: var(--hgg-footer-divider-color, rgba(255,255,255,.08));
}

.site-footer--classic .widget-title,
.site-footer--classic .wp-block-heading {
    font-size: 1rem;
    font-weight: 700;
}

.site-footer--minimal .site-footer__row {
    gap: 1.25rem;
    padding-bottom: 1rem;
}

.site-footer--minimal .widget-title,
.site-footer--minimal .wp-block-heading {
    font-size: .98rem;
    margin-bottom: .7rem;
}

.site-footer--minimal .site-info {
    opacity: .85;
    font-size: .92rem;
}

@media (max-width: 1024px) {
    .site-footer--premium .site-footer__column {
        padding-right: .25rem;
    }

    .site-footer--premium .hgg-footer-slot--widgets:first-child .widget_media_image,
    .site-footer--premium .hgg-footer-slot--text:first-child {
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .site-footer--premium .site-footer__row,
    .site-footer--classic .site-footer__row,
    .site-footer--minimal .site-footer__row {
        gap: 1.45rem !important;
    }

    .site-footer--premium .widget-title,
    .site-footer--premium .wp-block-heading {
        margin-bottom: .8rem;
    }

    .site-footer--premium .site-info {
        text-align: center;
    }
}


/* === V32.1 FOOTER CENTER ALIGNMENT FIX === */
.site-footer--premium .hgg-footer-slot--widgets:first-child .widget_media_image,
.site-footer--premium .hgg-footer-slot--text:first-child {
    max-width: 340px;
}

.site-footer__column[data-column-align="center"] .hgg-footer-slot--widgets:first-child .widget_media_image,
.site-footer__column[data-column-align="center"].hgg-footer-slot--widgets:first-child .widget_media_image,
.site-footer__column[data-column-align="center"] .hgg-footer-slot--text:first-child,
.site-footer__column[data-column-align="center"].hgg-footer-slot--text:first-child {
    margin-left: auto;
    margin-right: auto;
}

.site-footer__column[data-column-align="center"] .widget,
.site-footer__column[data-column-align="center"] .widget_media_image,
.site-footer__column[data-column-align="center"] .wp-block-image,
.site-footer__column[data-column-align="center"] figure,
.site-footer__column[data-column-align="center"] .wp-block-group,
.site-footer__column[data-column-align="center"] .site-footer__text {
    margin-left: auto;
    margin-right: auto;
}

.site-footer__column[data-column-align="center"] .widget_nav_menu .menu,
.site-footer__column[data-column-align="center"] .footer-navigation .menu,
.site-footer__column[data-column-align="center"] .wp-block-latest-posts__list {
    justify-items: center;
}


/* === V32.2 FOOTER RIGHT ALIGNMENT FIX === */
.site-footer__column[data-column-align="right"] .widget,
.site-footer__column[data-column-align="right"] .widget_media_image,
.site-footer__column[data-column-align="right"] .wp-block-image,
.site-footer__column[data-column-align="right"] figure,
.site-footer__column[data-column-align="right"] .wp-block-group,
.site-footer__column[data-column-align="right"] .site-footer__text {
    margin-left: auto;
    margin-right: 0;
}

.site-footer__column[data-column-align="right"] .hgg-footer-slot--widgets:first-child .widget_media_image,
.site-footer__column[data-column-align="right"].hgg-footer-slot--widgets:first-child .widget_media_image,
.site-footer__column[data-column-align="right"] .hgg-footer-slot--text:first-child,
.site-footer__column[data-column-align="right"].hgg-footer-slot--text:first-child {
    margin-left: auto;
    margin-right: 0;
}

.site-footer__column[data-column-align="right"] .widget_media_image img,
.site-footer__column[data-column-align="right"] .wp-block-image img,
.site-footer__column[data-column-align="right"] .custom-logo,
.site-footer__column[data-column-align="right"] img {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.site-footer__column[data-column-align="right"] .wp-block-image,
.site-footer__column[data-column-align="right"] .widget_media_image,
.site-footer__column[data-column-align="right"] .widget_media_image .wp-block-image,
.site-footer__column[data-column-align="right"] figure.aligncenter,
.site-footer__column[data-column-align="right"] figure {
    text-align: right !important;
}

.site-footer__column[data-column-align="right"] .widget_media_image .wp-block-image > figure,
.site-footer__column[data-column-align="right"] .wp-block-image > figure {
    margin-left: auto !important;
    margin-right: 0 !important;
}

.site-footer__column[data-column-align="right"] .footer-navigation--slot ul,
.site-footer__column[data-column-align="right"] .footer-navigation ul,
.site-footer__column[data-column-align="right"] .widget_nav_menu ul,
.site-footer__column[data-column-align="right"] .wp-block-latest-posts__list,
.site-footer__column[data-column-align="right"] .wp-block-latest-posts {
    justify-items: end;
}



/* === V33/V34 WOOCOMMERCE CUSTOMIZER BASE + SINGLE FOUNDATION (CLEANED) === */
.woocommerce:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap,
.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)));
}

.post-type-archive-product .huuguu-content-wrap,
.tax-product_cat .huuguu-content-wrap,
.tax-product_tag .huuguu-content-wrap {
    width: min(100% - 2rem, var(--hgg-wc-taxonomy-container, var(--hgg-container)));
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product {
    display: grid;
    grid-template-columns: minmax(0, var(--hgg-wc-single-gallery-ratio, 48%)) minmax(0, var(--hgg-wc-single-summary-ratio, 52%));
    gap: var(--hgg-wc-single-gap, 40px);
    max-width: var(--hgg-wc-single-content-max, 1360px);
    margin-inline: auto;
    align-items: start;
}

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

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    position: relative;
    padding: var(--hgg-wc-single-summary-spacing, 24px);
    border-radius: var(--hgg-wc-single-card-radius, 24px);
    border: var(--hgg-wc-single-card-border, 1px) solid rgba(23,32,51,.08);
    box-shadow: var(--hgg-wc-single-card-shadow, none);
    background: var(--hgg-surface, #fff);
}

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

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .price,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .price {
    color: var(--hgg-wc-single-price, var(--hgg-text)) !important;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .button,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .single_add_to_cart_button,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .button,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .single_add_to_cart_button {
    border-radius: var(--hgg-wc-single-button-radius, 16px);
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary > * + *,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary > * + * {
    margin-top: min(var(--hgg-wc-single-summary-spacing, 24px), 1.25rem);
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .related.products {
    max-width: var(--hgg-wc-single-content-max, 1360px);
    margin: 3rem auto 0;
}

.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
    display: grid;
    grid-template-columns: repeat(var(--hgg-wc-archive-columns-desktop, 3), minmax(0, 1fr));
    gap: 1.5rem;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

/* Service product safe mode */
.single-product.huu-service-product-page .huuguu-content-wrap,
.woocommerce-page.huu-service-product-page .huuguu-content-wrap,
.single-product.huuguu-wc-single-service .huuguu-content-wrap,
.woocommerce-page.huuguu-wc-single-service .huuguu-content-wrap,
.single-product .huuguu-content-wrap:has(.huu-service-product),
.woocommerce-page .huuguu-content-wrap:has(.huu-service-product) {
    width: min(100% - 2rem, var(--hgg-container)) !important;
    max-width: none !important;
}

.single-product.huu-service-product-page div.product,
.woocommerce-page.huu-service-product-page div.product,
.single-product.huuguu-wc-single-service div.product,
.woocommerce-page.huuguu-wc-single-service div.product,
.single-product .huuguu-content-wrap:has(.huu-service-product) div.product,
.woocommerce-page .huuguu-content-wrap:has(.huu-service-product) div.product {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    max-width: none !important;
}

.single-product.huu-service-product-page div.product .images,
.single-product.huu-service-product-page div.product .summary,
.woocommerce-page.huu-service-product-page div.product .images,
.woocommerce-page.huu-service-product-page div.product .summary,
.single-product.huuguu-wc-single-service div.product .images,
.single-product.huuguu-wc-single-service div.product .summary,
.woocommerce-page.huuguu-wc-single-service div.product .images,
.woocommerce-page.huuguu-wc-single-service div.product .summary,
.single-product .huuguu-content-wrap:has(.huu-service-product) div.product .images,
.single-product .huuguu-content-wrap:has(.huu-service-product) div.product .summary,
.woocommerce-page .huuguu-content-wrap:has(.huu-service-product) div.product .images,
.woocommerce-page .huuguu-content-wrap:has(.huu-service-product) div.product .summary {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    position: static !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.single-product.huu-service-product-page .huu-service-product,
.single-product.huuguu-wc-single-service .huu-service-product,
.single-product .huuguu-content-wrap:has(.huu-service-product) .huu-service-product {
    max-width: 1180px;
    margin-inline: auto;
}

@media (max-width: 1024px) {
    .single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product {
        grid-template-columns: 1fr;
        gap: max(24px, calc(var(--hgg-wc-single-gap, 40px) * .7));
    }

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

    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .woocommerce:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap,
    .post-type-archive-product .huuguu-content-wrap,
    .tax-product_cat .huuguu-content-wrap,
    .tax-product_tag .huuguu-content-wrap {
        width: min(100% - 2rem, var(--hgg-container));
    }

    .single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
        padding: max(18px, calc(var(--hgg-wc-single-summary-spacing, 24px) * .8));
        border-radius: min(var(--hgg-wc-single-card-radius, 24px), 18px);
    }

    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products {
        grid-template-columns: 1fr;
    }

    .single-product.huu-service-product-page .huuguu-content-wrap,
    .woocommerce-page.huu-service-product-page .huuguu-content-wrap,
    .single-product.huuguu-wc-single-service .huuguu-content-wrap,
    .woocommerce-page.huuguu-wc-single-service .huuguu-content-wrap,
    .single-product .huuguu-content-wrap:has(.huu-service-product),
    .woocommerce-page .huuguu-content-wrap:has(.huu-service-product) {
        width: min(100% - 2rem, var(--hgg-container)) !important;
    }
}


/* === V34.2 SINGLE LAYOUT MODES === */
.single-product.huuguu-wc-single-layout-no_sidebar #secondary,
.single-product.huuguu-wc-single-layout-no_sidebar .widget-area,
.single-product.huuguu-wc-single-layout-no_sidebar aside.sidebar,
.woocommerce-page.huuguu-wc-single-layout-no_sidebar #secondary,
.woocommerce-page.huuguu-wc-single-layout-no_sidebar .widget-area,
.woocommerce-page.huuguu-wc-single-layout-no_sidebar aside.sidebar {
    display: none !important;
}

.single-product.huuguu-wc-single-layout-no_sidebar #primary,
.woocommerce-page.huuguu-wc-single-layout-no_sidebar #primary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

.single-product.huuguu-wc-single-layout-full_width #secondary,
.single-product.huuguu-wc-single-layout-full_width .widget-area,
.single-product.huuguu-wc-single-layout-full_width aside.sidebar,
.woocommerce-page.huuguu-wc-single-layout-full_width #secondary,
.woocommerce-page.huuguu-wc-single-layout-full_width .widget-area,
.woocommerce-page.huuguu-wc-single-layout-full_width aside.sidebar {
    display: none !important;
}

.single-product.huuguu-wc-single-layout-full_width #primary,
.woocommerce-page.huuguu-wc-single-layout-full_width #primary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

.single-product.huuguu-wc-single-layout-full_width .huuguu-content-wrap,
.woocommerce-page.huuguu-wc-single-layout-full_width .huuguu-content-wrap {
    width: calc(100% - (var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) * 2)) !important;
    max-width: none !important;
}

.single-product.huuguu-wc-single-layout-full_width div.product,
.woocommerce-page.huuguu-wc-single-layout-full_width div.product,
.single-product.huuguu-wc-single-layout-full_width .related.products,
.woocommerce-page.huuguu-wc-single-layout-full_width .related.products {
    max-width: none !important;
}

@media (max-width: 640px) {
    .single-product.huuguu-wc-single-layout-full_width .huuguu-content-wrap,
    .woocommerce-page.huuguu-wc-single-layout-full_width .huuguu-content-wrap {
        width: calc(100% - 2rem) !important;
    }
}


/* === V34.3 SERVICE PRODUCT PASSIVE WRAPPER MODE === */
.single-product.huu-service-product-page .huuguu-content-wrap,
.woocommerce-page.huu-service-product-page .huuguu-content-wrap,
.single-product.huuguu-wc-single-service .huuguu-content-wrap,
.woocommerce-page.huuguu-wc-single-service .huuguu-content-wrap,
.single-product .huuguu-content-wrap:has(.huu-service-product),
.woocommerce-page .huuguu-content-wrap:has(.huu-service-product) {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    align-items: initial !important;
}


/* === V35 WOO SINGLE STANDARD POLISH === */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images {
    align-self: start;
}

.single-product.huuguu-wc-single-gallery-soft_border div.product .images,
.woocommerce-page.huuguu-wc-single-gallery-soft_border div.product .images {
    padding: 1rem;
    border: 1px solid rgba(23,32,51,.08);
    border-radius: calc(var(--hgg-wc-single-card-radius, 24px) + 2px);
    background: rgba(255,255,255,.7);
}

.single-product.huuguu-wc-single-gallery-card div.product .images,
.woocommerce-page.huuguu-wc-single-gallery-card div.product .images {
    padding: 1rem;
    border: 1px solid rgba(23,32,51,.08);
    border-radius: calc(var(--hgg-wc-single-card-radius, 24px) + 2px);
    background: #fff;
    box-shadow: 0 12px 30px rgba(17,34,68,.08);
}

.single-product div.product .woocommerce-product-gallery__wrapper,
.woocommerce-page div.product .woocommerce-product-gallery__wrapper {
    border-radius: max(calc(var(--hgg-wc-single-card-radius, 24px) - 8px), 8px);
    overflow: hidden;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    max-width: var(--hgg-wc-single-summary-max, 420px);
    justify-self: end;
}

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

.single-product.huuguu-wc-single-style-card div.product .summary,
.woocommerce-page.huuguu-wc-single-style-card div.product .summary {
    background: #fff;
    box-shadow: 0 20px 48px rgba(17,34,68,.12);
    border-color: rgba(23,32,51,.06);
}

.single-product.huuguu-wc-single-style-soft_card div.product .summary,
.woocommerce-page.huuguu-wc-single-style-soft_card div.product .summary {
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(8px);
    border-color: rgba(23,32,51,.06);
}

.single-product div.product .summary .product_title,
.woocommerce-page div.product .summary .product_title {
    font-size: clamp(2rem, 2vw + 1rem, var(--hgg-wc-single-title-size, 52px));
    line-height: 1.04;
    letter-spacing: -.03em;
    margin-bottom: .9rem;
}

.single-product div.product .summary .price,
.woocommerce-page div.product .summary .price {
    font-size: clamp(1.5rem, 1vw + 1rem, var(--hgg-wc-single-price-size, 36px));
    font-weight: 700;
    line-height: 1.1;
}

.single-product div.product .summary .woocommerce-product-details__short-description,
.woocommerce-page div.product .summary .woocommerce-product-details__short-description {
    color: rgba(23,32,51,.78);
    line-height: 1.65;
}

.single-product div.product form.cart,
.woocommerce-page div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .85rem;
    margin-block: 1rem 1.25rem;
}

.single-product div.product form.cart .quantity,
.woocommerce-page div.product form.cart .quantity {
    margin: 0 !important;
}

.single-product div.product form.cart .quantity:has(input[type="hidden"]),
.woocommerce-page div.product form.cart .quantity:has(input[type="hidden"]) {
    display: none !important;
}

.single-product div.product form.cart .single_add_to_cart_button,
.woocommerce-page div.product form.cart .single_add_to_cart_button {
    min-height: 48px;
    padding-inline: 1.25rem;
}

.single-product div.product .product_meta,
.woocommerce-page div.product .product_meta {
    font-size: .98rem;
    color: rgba(23,32,51,.72);
    border-top: 1px solid rgba(23,32,51,.08);
    padding-top: 1rem;
}

.single-product .woocommerce-tabs,
.woocommerce-page .woocommerce-tabs {
    max-width: var(--hgg-wc-single-content-max, 1360px);
    margin: 2.25rem auto 0;
}

.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs,
.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: 0 0 1rem !important;
    padding: 0 !important;
    border-bottom: 0 !important;
}

.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs::before,
.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs::after,
.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs::before,
.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li,
.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li {
    border: 0 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li a,
.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 1rem;
    border: 1px solid rgba(23,32,51,.10);
    border-radius: var(--hgg-wc-single-tabs-radius, 14px);
    background: rgba(255,255,255,.82);
    color: var(--hgg-text);
}

.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs ul.tabs li.active a {
    background: #fff;
    box-shadow: 0 8px 20px rgba(17,34,68,.08);
    border-color: rgba(23,32,51,.14);
}

.single-product.huuguu-wc-single-tabs-modern .woocommerce-tabs .panel,
.woocommerce-page.huuguu-wc-single-tabs-modern .woocommerce-tabs .panel {
    padding: calc(var(--hgg-wc-single-tabs-spacing, 18px) + 8px);
    border: 1px solid rgba(23,32,51,.08);
    border-radius: calc(var(--hgg-wc-single-tabs-radius, 14px) + 4px);
    background: rgba(255,255,255,.82);
}

.single-product .related.products > h2,
.woocommerce-page .related.products > h2 {
    font-size: clamp(1.8rem, 1vw + 1rem, 2.4rem);
    line-height: 1.1;
    margin-bottom: 1rem;
}

@media (max-width: 1024px) {
    .single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
        max-width: none;
        justify-self: stretch;
    }
}

@media (max-width: 640px) {
    .single-product div.product .summary .product_title,
    .woocommerce-page div.product .summary .product_title {
        line-height: 1.08;
    }

    .single-product div.product form.cart,
    .woocommerce-page div.product form.cart {
        align-items: stretch;
    }

    .single-product div.product form.cart .single_add_to_cart_button,
    .woocommerce-page div.product form.cart .single_add_to_cart_button {
        width: 100%;
        justify-content: center;
    }
}


/* === V35.1 REAL SINGLE LAYOUT MODES === */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) .huuguu-content-wrap {
    align-items: start;
}

.single-product.huuguu-wc-single-layout-contained_no_sidebar .huuguu-content-wrap,
.woocommerce-page.huuguu-wc-single-layout-contained_no_sidebar .huuguu-content-wrap {
    display: block !important;
    width: min(100% - 2rem, var(--hgg-wc-single-container, var(--hgg-container))) !important;
    max-width: none !important;
}

.single-product.huuguu-wc-single-layout-contained_no_sidebar #secondary,
.single-product.huuguu-wc-single-layout-contained_no_sidebar .widget-area,
.single-product.huuguu-wc-single-layout-contained_no_sidebar aside.sidebar,
.woocommerce-page.huuguu-wc-single-layout-contained_no_sidebar #secondary,
.woocommerce-page.huuguu-wc-single-layout-contained_no_sidebar .widget-area,
.woocommerce-page.huuguu-wc-single-layout-contained_no_sidebar aside.sidebar {
    display: none !important;
}

.single-product.huuguu-wc-single-layout-contained_no_sidebar #primary,
.woocommerce-page.huuguu-wc-single-layout-contained_no_sidebar #primary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 auto !important;
}

.single-product.huuguu-wc-single-layout-contained_sidebar .huuguu-content-wrap,
.woocommerce-page.huuguu-wc-single-layout-contained_sidebar .huuguu-content-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 2rem;
    width: min(100% - 2rem, var(--hgg-wc-single-container, var(--hgg-container))) !important;
    max-width: none !important;
}

.single-product.huuguu-wc-single-layout-contained_sidebar #primary,
.woocommerce-page.huuguu-wc-single-layout-contained_sidebar #primary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

.single-product.huuguu-wc-single-layout-contained_sidebar #secondary,
.single-product.huuguu-wc-single-layout-contained_sidebar .widget-area,
.single-product.huuguu-wc-single-layout-contained_sidebar aside.sidebar,
.woocommerce-page.huuguu-wc-single-layout-contained_sidebar #secondary,
.woocommerce-page.huuguu-wc-single-layout-contained_sidebar .widget-area,
.woocommerce-page.huuguu-wc-single-layout-contained_sidebar aside.sidebar {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    float: none !important;
    margin: 0 !important;
}

.single-product.huuguu-wc-single-layout-full_no_sidebar .huuguu-content-wrap,
.woocommerce-page.huuguu-wc-single-layout-full_no_sidebar .huuguu-content-wrap {
    display: block !important;
    width: calc(100% - 2rem) !important;
    max-width: none !important;
}

.single-product.huuguu-wc-single-layout-full_no_sidebar #secondary,
.single-product.huuguu-wc-single-layout-full_no_sidebar .widget-area,
.single-product.huuguu-wc-single-layout-full_no_sidebar aside.sidebar,
.woocommerce-page.huuguu-wc-single-layout-full_no_sidebar #secondary,
.woocommerce-page.huuguu-wc-single-layout-full_no_sidebar .widget-area,
.woocommerce-page.huuguu-wc-single-layout-full_no_sidebar aside.sidebar {
    display: none !important;
}

.single-product.huuguu-wc-single-layout-full_no_sidebar #primary,
.woocommerce-page.huuguu-wc-single-layout-full_no_sidebar #primary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

.single-product.huuguu-wc-single-layout-full_sidebar .huuguu-content-wrap,
.woocommerce-page.huuguu-wc-single-layout-full_sidebar .huuguu-content-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 2rem;
    width: calc(100% - 2rem) !important;
    max-width: none !important;
}

.single-product.huuguu-wc-single-layout-full_sidebar #primary,
.woocommerce-page.huuguu-wc-single-layout-full_sidebar #primary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

.single-product.huuguu-wc-single-layout-full_sidebar #secondary,
.single-product.huuguu-wc-single-layout-full_sidebar .widget-area,
.single-product.huuguu-wc-single-layout-full_sidebar aside.sidebar,
.woocommerce-page.huuguu-wc-single-layout-full_sidebar #secondary,
.woocommerce-page.huuguu-wc-single-layout-full_sidebar .widget-area,
.woocommerce-page.huuguu-wc-single-layout-full_sidebar aside.sidebar {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    float: none !important;
    margin: 0 !important;
}

@media (max-width: 1024px) {
    .single-product.huuguu-wc-single-layout-contained_sidebar .huuguu-content-wrap,
    .single-product.huuguu-wc-single-layout-full_sidebar .huuguu-content-wrap,
    .woocommerce-page.huuguu-wc-single-layout-contained_sidebar .huuguu-content-wrap,
    .woocommerce-page.huuguu-wc-single-layout-full_sidebar .huuguu-content-wrap {
        grid-template-columns: 1fr !important;
    }

    .single-product.huuguu-wc-single-layout-contained_sidebar #secondary,
    .single-product.huuguu-wc-single-layout-full_sidebar #secondary,
    .woocommerce-page.huuguu-wc-single-layout-contained_sidebar #secondary,
    .woocommerce-page.huuguu-wc-single-layout-full_sidebar #secondary {
        max-width: none !important;
    }
}


/* === V35.2 SITE WIDTH + WOO INHERITENCE === */
.woocommerce div.product,
.woocommerce-page div.product {
    background: var(--hgg-content-bg, var(--hgg-surface, #fff));
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, rgba(23,32,51,.08));
    border-radius: var(--hgg-content-radius, 24px);
    box-shadow: var(--hgg-content-shadow, none);
}

.single-product .woocommerce-product-gallery__trigger,
.woocommerce-page .woocommerce-product-gallery__trigger {
    z-index: 2 !important;
}

.single-product .woocommerce-product-gallery,
.woocommerce-page .woocommerce-product-gallery {
    overflow: hidden;
}

.single-product .woocommerce-tabs .panel,
.woocommerce-page .woocommerce-tabs .panel {
    border-radius: var(--hgg-content-radius, 24px);
}

@media (max-width: 640px) {
    .site-header .huuguu-container,
    .site-footer .huuguu-container,
    .site-footer .huuguu-footer-container,
    .huuguu-container {
        width: min(100% - 2rem, var(--hgg-container));
    }
}


/* === V35.3 WOO SINGLE MUST FOLLOW SITE LAYOUT TOKENS === */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, rgba(23,32,51,.08));
    border-radius: var(--hgg-content-radius, 24px);
    box-shadow: var(--hgg-content-shadow, none);
}

.single-product.huuguu-wc-single-style-clean div.product .summary,
.woocommerce-page.huuguu-wc-single-style-clean div.product .summary {
    border-color: transparent;
    box-shadow: none;
}

.single-product.huuguu-wc-single-gallery-soft_border div.product .images,
.woocommerce-page.huuguu-wc-single-gallery-soft_border div.product .images,
.single-product.huuguu-wc-single-gallery-card div.product .images,
.woocommerce-page.huuguu-wc-single-gallery-card div.product .images {
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, rgba(23,32,51,.08));
    border-radius: var(--hgg-content-radius, 24px);
}

.single-product.huuguu-wc-single-gallery-card div.product .images,
.woocommerce-page.huuguu-wc-single-gallery-card div.product .images {
    box-shadow: var(--hgg-content-shadow, none);
}


/* === V35.4 WOO QTY + TABS + BUTTON COLORS === */
.single-product div.product form.cart .quantity .qty,
.woocommerce-page div.product form.cart .quantity .qty {
    min-width: 68px;
    height: 48px;
    padding: 0 .75rem;
    border: 1px solid var(--hgg-content-border-color, rgba(23,32,51,.12));
    border-radius: 12px;
    background: #fff;
    color: var(--hgg-text);
    text-align: center;
    box-shadow: none;
}

.single-product div.product form.cart .quantity,
.woocommerce-page div.product form.cart .quantity {
    display: inline-flex;
    align-items: center;
}

.single-product div.product form.cart .single_add_to_cart_button,
.woocommerce-page div.product form.cart .single_add_to_cart_button,
.woocommerce .button,
.woocommerce-page .button {
    background: var(--hgg-wc-button-bg, var(--hgg-primary)) !important;
    color: var(--hgg-wc-button-text, #fff) !important;
}

.single-product div.product form.cart .single_add_to_cart_button:hover,
.single-product div.product form.cart .single_add_to_cart_button:focus,
.woocommerce-page div.product form.cart .single_add_to_cart_button:hover,
.woocommerce-page div.product form.cart .single_add_to_cart_button:focus,
.woocommerce .button:hover,
.woocommerce .button:focus,
.woocommerce-page .button:hover,
.woocommerce-page .button:focus {
    background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark)) !important;
    color: var(--hgg-wc-button-hover-text, #fff) !important;
}

.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page .woocommerce-tabs ul.tabs {
    padding-left: 0 !important;
}

.single-product .woocommerce-tabs .panel,
.woocommerce-page .woocommerce-tabs .panel {
    padding: max(20px, calc(var(--hgg-wc-single-tabs-spacing, 18px) + 10px)) !important;
}

.single-product .woocommerce-Tabs-panel--description,
.single-product .woocommerce-Tabs-panel--reviews,
.single-product .woocommerce-Tabs-panel--additional_information,
.woocommerce-page .woocommerce-Tabs-panel--description,
.woocommerce-page .woocommerce-Tabs-panel--reviews,
.woocommerce-page .woocommerce-Tabs-panel--additional_information {
    line-height: 1.75;
}

.single-product .woocommerce-tabs .panel > :last-child,
.woocommerce-page .woocommerce-tabs .panel > :last-child {
    margin-bottom: 0;
}


/* === V35.5 WOO SINGLE GALLERY + SUMMARY FIXES === */

/* 1) Tabs must always span the full width below gallery + summary */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    align-self: start;
}

/* 2) Summary card must use Single controls, not Site Layout controls */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    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;
    overflow: hidden;
}

/* Clean mode remains clean */
.single-product.huuguu-wc-single-style-clean div.product .summary,
.woocommerce-page.huuguu-wc-single-style-clean div.product .summary {
    border-color: transparent !important;
    box-shadow: none !important;
}

/* 3) Gallery frame/card must use Gallery frame controls again */
.single-product.huuguu-wc-single-gallery-none div.product .images,
.woocommerce-page.huuguu-wc-single-gallery-none div.product .images {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.single-product.huuguu-wc-single-gallery-soft_border div.product .images,
.woocommerce-page.huuguu-wc-single-gallery-soft_border div.product .images {
    padding: 1rem !important;
    border: 1px solid rgba(23,32,51,.08) !important;
    border-radius: calc(var(--hgg-wc-single-card-radius, 24px) + 2px) !important;
    background: rgba(255,255,255,.7) !important;
    box-shadow: none !important;
}

.single-product.huuguu-wc-single-gallery-card div.product .images,
.woocommerce-page.huuguu-wc-single-gallery-card div.product .images {
    padding: 1rem !important;
    border: 1px solid rgba(23,32,51,.08) !important;
    border-radius: calc(var(--hgg-wc-single-card-radius, 24px) + 2px) !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(17,34,68,.08) !important;
}

/* 4) Main gallery image: radius must work, including top-right corner */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a,
.woocommerce-page .woocommerce-product-gallery,
.woocommerce-page .woocommerce-product-gallery__image,
.woocommerce-page .woocommerce-product-gallery__image > a {
    border-radius: max(calc(var(--hgg-wc-single-card-radius, 24px) - 8px), 8px);
}

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a,
.woocommerce-page .woocommerce-product-gallery__image,
.woocommerce-page .woocommerce-product-gallery__image > a {
    overflow: hidden;
}

/* 5) Thumbnail strip needs breathing room */
.single-product .flex-control-thumbs,
.woocommerce-page .flex-control-thumbs {
    margin-top: 1rem !important;
    display: grid !important;
    gap: .75rem !important;
}

.single-product .flex-control-thumbs li,
.woocommerce-page .flex-control-thumbs li {
    padding: 0 !important;
}

.single-product .flex-control-thumbs img,
.woocommerce-page .flex-control-thumbs img {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(23,32,51,.08);
}

/* 6) Keep zoom icon inside the rounded frame */
.single-product .woocommerce-product-gallery__trigger,
.woocommerce-page .woocommerce-product-gallery__trigger {
    top: 12px !important;
    right: 12px !important;
    z-index: 2 !important;
}

/* 7) When sticky summary is disabled, avoid awkward vertical drift */
body:not(.huuguu-wc-single-sticky-summary).single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
body:not(.huuguu-wc-single-sticky-summary).woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product {
    align-items: start !important;
}

@media (max-width: 1024px) {
    .single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
    .single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper {
        grid-column: auto !important;
    }
}


/* === V35.6 WOO TABS + STICKY + THUMBS FIX === */

/* tabs labels need more inner breathing room */
.single-product .woocommerce-tabs ul.tabs li a,
.woocommerce-page .woocommerce-tabs ul.tabs li a {
    padding: 0 1.15rem !important;
    min-height: 46px;
    line-height: 1.1;
}

/* tabs block needs stronger separation from top area */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper {
    margin-top: 2rem !important;
    position: relative;
    z-index: 3;
}

/* if summary is sticky, tabs should visually win when they meet */
.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    z-index: 1;
}

.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper {
    background: var(--hgg-content-bg, #fff);
}

/* thumbnails should stay on the same row whenever there is space */
.single-product .flex-control-thumbs,
.woocommerce-page .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .75rem !important;
    align-items: stretch;
}

.single-product .flex-control-thumbs li,
.woocommerce-page .flex-control-thumbs li {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

.single-product .flex-control-thumbs li img,
.woocommerce-page .flex-control-thumbs li img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

@media (max-width: 640px) {
    .single-product .flex-control-thumbs,
    .woocommerce-page .flex-control-thumbs {
        grid-template-columns: repeat(3, minmax(88px, 1fr)) !important;
    }

    .single-product .woocommerce-tabs ul.tabs li a,
    .woocommerce-page .woocommerce-tabs ul.tabs li a {
        padding: 0 .95rem !important;
    }
}


/* === V35.7 CONTENT + META + SALE + STICKY POLISH === */

/* apply global inner padding to article/page bodies */
.entry-content,
.page-content,
.post-content {
    padding: 24px;
}

/* tabs: cleaner spacing */
.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page .woocommerce-tabs ul.tabs {
    margin-bottom: .9rem !important;
}

.single-product .woocommerce-tabs ul.tabs li,
.woocommerce-page .woocommerce-tabs ul.tabs li {
    margin-right: .35rem !important;
}

.single-product .woocommerce-tabs ul.tabs li a,
.woocommerce-page .woocommerce-tabs ul.tabs li a {
    padding: .8rem 1.15rem !important;
    min-height: 0 !important;
}

/* tab panel should not feel cramped */
.single-product .woocommerce-tabs .panel,
.woocommerce-page .woocommerce-tabs .panel {
    padding: max(22px, 24px) !important;
}

/* quantity input stronger */
.single-product div.product form.cart .quantity .qty,
.woocommerce-page div.product form.cart .quantity .qty {
    min-width: 84px;
    height: 52px;
    border: 1px solid rgba(23,32,51,.18);
    border-radius: 14px;
    font-size: 1.05rem;
    font-weight: 600;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

/* sale badge prettier */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
    min-width: 0;
    min-height: 0;
    padding: .7rem .95rem;
    border-radius: 999px;
    background: var(--hgg-wc-sale-badge-bg, var(--hgg-primary));
    color: var(--hgg-wc-sale-badge-text, #fff);
    font-size: .92rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.01em;
    box-shadow: 0 12px 24px rgba(17,34,68,.12);
    left: 1rem;
    top: 1rem;
}

/* tax suffix should not shout inline with the price */
.single-product div.product .summary .price .woocommerce-price-suffix,
.woocommerce-page div.product .summary .price .woocommerce-price-suffix {
    display: block;
    margin-top: .3rem;
    font-size: .42em;
    line-height: 1.25;
    font-weight: 700;
    color: rgba(23,32,51,.72);
}

/* meta one per line */
.single-product div.product .product_meta > span,
.woocommerce-page div.product .product_meta > span {
    display: block;
    margin-bottom: .45rem;
}

.single-product div.product .product_meta > span:last-child,
.woocommerce-page div.product .product_meta > span:last-child {
    margin-bottom: 0;
}

/* sticky needs better clipping + lower aggression */
.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    top: calc(var(--hgg-wc-single-sticky-top, 110px) + 8px);
    z-index: 2;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper {
    padding-top: .75rem;
}

/* if sticky is disabled, summary shouldn't leave a huge visual void */
body:not(.huuguu-wc-single-sticky-summary).single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary,
body:not(.huuguu-wc-single-sticky-summary).woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary {
    position: relative !important;
    top: auto !important;
}

/* entry content on mobile needs a bit of breathing room, but not too much */
@media (max-width: 640px) {
    .entry-content,
    .page-content,
    .post-content {
        padding: calc(24px * .75) calc(24px * .75);
    }

    .woocommerce span.onsale,
    .woocommerce-page span.onsale {
        left: .75rem;
        top: .75rem;
        padding: .62rem .82rem;
        font-size: .86rem;
    }
}


/* === V35.8 GLOBAL CONTENT + WOO GENERAL + STICKY MEDIA === */

/* Site Layout tokens must affect regular pages/posts too */
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .page-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .post-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post {
    padding: 24px 24px !important;
    border-radius: var(--hgg-content-radius, 24px);
    border: var(--hgg-content-border-width, 1px) solid var(--hgg-content-border-color, rgba(23,32,51,.08));
    box-shadow: var(--hgg-content-shadow, none);
    background: var(--hgg-content-bg, var(--hgg-surface, #fff));
}

/* prevent double-card look when inner blocks are used */
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-post .entry-content {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* Woo sale badge colors must always win */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
    background: var(--hgg-wc-sale-badge-bg, var(--hgg-primary)) !important;
    color: var(--hgg-wc-sale-badge-text, #fff) !important;
    border: 0 !important;
}

/* sticky should live on the gallery/media, not the summary */
.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images {
    position: sticky;
    top: calc(var(--hgg-wc-single-sticky-top, 110px) + 8px);
    align-self: start;
    z-index: 2;
}

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

/* tabs and body content should always sit above after scroll crossing */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper {
    position: relative;
    z-index: 4;
    background: var(--hgg-content-bg, #fff);
}

/* quantity stronger, including tiny arrows zone */
.single-product div.product form.cart .quantity .qty,
.woocommerce-page div.product form.cart .quantity .qty {
    border-width: 2px;
    padding-right: 1rem;
}

/* more elegant meta rhythm */
.single-product div.product .product_meta,
.woocommerce-page div.product .product_meta {
    line-height: 1.65;
}

@media (max-width: 1024px) {
    .huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images,
    .huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images {
        position: relative;
        top: auto;
    }
}


/* === V35.9 WOO SINGLE REFINEMENT === */

/* title + price controls must win */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .product_title,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .product_title {
    font-size: var(--hgg-wc-single-title-size, 52px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.03em;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .price,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .price {
    font-size: var(--hgg-wc-single-price-size, 36px) !important;
    line-height: 1.08 !important;
}

/* make sticky apply only to the main media wrapper, not the whole gallery column */
.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .images {
    position: relative !important;
    top: auto !important;
}

.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery__wrapper,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery__wrapper {
    position: sticky;
    top: calc(var(--hgg-wc-single-sticky-top, 110px) + 8px);
    z-index: 2;
}

@media (max-width: 1024px) {
    .huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery__wrapper,
    .huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery__wrapper {
        position: relative;
        top: auto;
    }
}

/* tabs softer and cleaner */
.single-product .woocommerce-tabs ul.tabs li a,
.woocommerce-page .woocommerce-tabs ul.tabs li a {
    border-radius: calc(var(--hgg-wc-single-tabs-radius, 14px) - 2px) !important;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page .woocommerce-tabs ul.tabs li.active a {
    border-color: rgba(23,32,51,.16) !important;
    box-shadow: 0 10px 22px rgba(17,34,68,.06);
}

/* quantity UI more polished */
.single-product div.product form.cart .quantity,
.woocommerce-page div.product form.cart .quantity {
    position: relative;
}

.single-product div.product form.cart .quantity .qty,
.woocommerce-page div.product form.cart .quantity .qty {
    min-width: 92px;
    height: 54px;
    border-radius: 16px;
    font-size: 1.08rem;
    border-color: rgba(23,32,51,.24);
    box-shadow: 0 8px 18px rgba(17,34,68,.04);
}

/* meta more premium */
.single-product div.product .product_meta,
.woocommerce-page div.product .product_meta {
    font-size: .97rem;
    color: rgba(23,32,51,.78);
}

.single-product div.product .product_meta > span,
.woocommerce-page div.product .product_meta > span {
    padding-left: .25rem;
}

.single-product div.product .product_meta a,
.woocommerce-page div.product .product_meta a {
    font-weight: 600;
}

/* sale badge more premium */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
    border-radius: 14px;
    padding: .72rem .92rem;
    font-size: .88rem;
    box-shadow: 0 16px 32px rgba(17,34,68,.16);
    transform: translateZ(0);
}

/* thumbs refined */
.single-product .flex-control-thumbs,
.woocommerce-page .flex-control-thumbs {
    margin-top: .9rem !important;
    gap: .9rem !important;
}

.single-product .flex-control-thumbs img,
.woocommerce-page .flex-control-thumbs img {
    border-radius: 14px;
    border: 1px solid rgba(23,32,51,.08);
    background: #fff;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.single-product .flex-control-thumbs li img.flex-active,
.woocommerce-page .flex-control-thumbs li img.flex-active,
.single-product .flex-control-thumbs li img:hover,
.woocommerce-page .flex-control-thumbs li img:hover {
    border-color: rgba(36,109,232,.28);
    box-shadow: 0 10px 22px rgba(17,34,68,.08);
    transform: translateY(-1px);
}

/* avoid tabs visually eating the gallery: create a true separation block */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper {
    margin-top: 2.5rem !important;
    padding-top: 0 !important;
    background: transparent !important;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs .panel,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper .panel,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs .panel,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper .panel {
    background: var(--hgg-content-bg, #fff) !important;
}

/* on small screens, keep everything natural */
@media (max-width: 767px) {
    .single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .product_title,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .product_title {
        font-size: clamp(2rem, 8vw, var(--hgg-wc-single-title-size, 52px)) !important;
    }

    .single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .price,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .summary .price {
        font-size: clamp(1.5rem, 6vw, var(--hgg-wc-single-price-size, 36px)) !important;
    }

    .single-product .flex-control-thumbs,
    .woocommerce-page .flex-control-thumbs {
        gap: .65rem !important;
    }
}


/* === V36 UX POLISH GENERAL === */

/* ---------------------------------
   Woo reviews form
--------------------------------- */
.woocommerce #reviews #comments ol.commentlist {
    margin: 0 0 2rem;
    padding: 0;
}

.woocommerce #reviews #comments ol.commentlist li {
    list-style: none;
    margin: 0 0 1rem;
}

.woocommerce #reviews #comments ol.commentlist li .comment_container {
    padding: 1.2rem;
    border: 1px solid rgba(23,32,51,.08);
    border-radius: 18px;
    background: var(--hgg-content-bg, #fff);
    box-shadow: 0 8px 22px rgba(17,34,68,.05);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
    border-radius: 999px;
    border: 2px solid rgba(23,32,51,.08);
}

.woocommerce #reviews #comments .star-rating {
    color: #ffc107;
}

.woocommerce #review_form_wrapper {
    margin-top: 2rem;
}

.woocommerce #review_form {
    background: var(--hgg-content-bg, #fff);
    padding: max(22px, 24px);
    border-radius: var(--hgg-content-radius, 18px);
    border: 1px solid rgba(23,32,51,.08);
    box-shadow: 0 12px 28px rgba(17,34,68,.06);
}

.woocommerce #review_form #reply-title {
    display: block;
    font-size: 1.4rem;
    line-height: 1.15;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--hgg-text);
}

.woocommerce #review_form .comment-reply-title small {
    display: inline-block;
    margin-left: .5rem;
}

.woocommerce #review_form .comment-form-rating,
.woocommerce #review_form .comment-form-comment,
.woocommerce #review_form .comment-form-author,
.woocommerce #review_form .comment-form-email,
.woocommerce #review_form .comment-form-cookies-consent {
    margin-bottom: 1rem;
}

.woocommerce #review_form label {
    display: block;
    margin-bottom: .45rem;
    font-weight: 600;
    color: var(--hgg-text);
}

.woocommerce #review_form input[type="text"],
.woocommerce #review_form input[type="email"],
.woocommerce #review_form input[type="url"],
.woocommerce #review_form textarea {
    width: 100%;
    padding: .9rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(23,32,51,.15);
    background: #fff;
    color: var(--hgg-text);
    font-size: .97rem;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    box-shadow: none;
}

.woocommerce #review_form input[type="text"]:focus,
.woocommerce #review_form input[type="email"]:focus,
.woocommerce #review_form input[type="url"]:focus,
.woocommerce #review_form textarea:focus {
    border-color: var(--hgg-primary);
    box-shadow: 0 0 0 3px rgba(36,109,232,.12);
    outline: none;
}

.woocommerce #review_form textarea {
    min-height: 150px;
    resize: vertical;
}

.woocommerce #review_form .comment-form-author,
.woocommerce #review_form .comment-form-email {
    width: calc(50% - .5rem);
    display: inline-block;
    vertical-align: top;
}

.woocommerce #review_form .comment-form-author {
    margin-right: 1rem;
}

.woocommerce #review_form .comment-form-cookies-consent {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    font-size: .94rem;
}

.woocommerce #review_form .comment-form-cookies-consent input {
    margin-top: .2rem;
}

.woocommerce #review_form button.submit,
.woocommerce #review_form input.submit {
    margin-top: .4rem;
    min-height: 48px;
    padding: .9rem 1.35rem;
    border-radius: 14px;
    background: var(--hgg-wc-button-bg, var(--hgg-primary));
    color: var(--hgg-wc-button-text, #fff);
    border: 0;
    font-weight: 700;
    box-shadow: none;
}

.woocommerce #review_form button.submit:hover,
.woocommerce #review_form input.submit:hover,
.woocommerce #review_form button.submit:focus,
.woocommerce #review_form input.submit:focus {
    background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark));
    color: var(--hgg-wc-button-hover-text, #fff);
}

.woocommerce #review_form .stars {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.woocommerce #review_form .stars a {
    color: #d0d7e6;
    font-size: 1.45rem;
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
}

.woocommerce #review_form .stars a:hover,
.woocommerce #review_form .stars a.active {
    color: #ffc107;
    transform: translateY(-1px);
}

/* ---------------------------------
   Woo forms / account / checkout
--------------------------------- */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    font-weight: 600;
    margin-bottom: .45rem;
    color: var(--hgg-text);
}

.woocommerce form .input-text,
.woocommerce-page form .input-text,
.woocommerce form select,
.woocommerce-page form select,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    min-height: 48px;
    border-radius: 14px !important;
    border: 1px solid rgba(23,32,51,.14) !important;
    background: #fff !important;
}

.woocommerce form .input-text,
.woocommerce-page form .input-text,
.woocommerce form textarea,
.woocommerce-page form textarea,
.woocommerce form select,
.woocommerce-page form select {
    padding: .85rem 1rem;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.woocommerce form .input-text:focus,
.woocommerce-page form .input-text:focus,
.woocommerce form textarea:focus,
.woocommerce-page form textarea:focus,
.woocommerce form select:focus,
.woocommerce-page form select:focus {
    border-color: var(--hgg-primary) !important;
    box-shadow: 0 0 0 3px rgba(36,109,232,.12);
    outline: none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
    padding-left: 1rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout-review-order,
.woocommerce-form-login,
.woocommerce-form-register {
    background: var(--hgg-content-bg, #fff);
    border: 1px solid rgba(23,32,51,.08);
    border-radius: var(--hgg-content-radius, 18px);
    box-shadow: 0 10px 24px rgba(17,34,68,.05);
    padding: max(20px, 24px);
}

.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(23,32,51,.08);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table th,
.woocommerce-page table.shop_table td {
    padding: 1rem;
}

/* ---------------------------------
   Notices
--------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border: 0;
    border-radius: 16px;
    padding: 1rem 1.1rem 1rem 3rem !important;
    box-shadow: 0 8px 18px rgba(17,34,68,.05);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    top: 1rem;
    left: 1rem;
}

/* ---------------------------------
   Empty states / misc polish
--------------------------------- */
.woocommerce .return-to-shop .button,
.woocommerce-page .return-to-shop .button {
    min-height: 48px;
}

.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li {
    padding: .75rem 0;
}

@media (max-width: 768px) {
    .woocommerce #review_form .comment-form-author,
    .woocommerce #review_form .comment-form-email {
        width: 100%;
        margin-right: 0;
    }

    .woocommerce #review_form {
        padding: 1.1rem;
    }

    .woocommerce-checkout #customer_details,
    .woocommerce-account .woocommerce-MyAccount-content,
    .woocommerce-cart .cart-collaterals,
    .woocommerce-checkout-review-order,
    .woocommerce-form-login,
    .woocommerce-form-register {
        padding: 1rem;
    }
}


/* === V36.1 SINGLE META TABLE + LINK INHERIT === */

/* sitewide content links should follow theme instead of default blue */
.entry-content a,
.page-content a,
.post-content a,
.woocommerce-tabs .panel a,
.product_meta a,
.woocommerce-Reviews a,
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
    color: var(--hgg-link-color, var(--hgg-primary));
    text-decoration-thickness: .08em;
    text-underline-offset: .12em;
}

.entry-content a:hover,
.page-content a:hover,
.post-content a:hover,
.woocommerce-tabs .panel a:hover,
.product_meta a:hover,
.woocommerce-Reviews a:hover,
.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)));
}

/* Woo single meta as a clean visual table */
.single-product div.product .product_meta,
.woocommerce-page div.product .product_meta {
    display: grid !important;
    grid-template-columns: minmax(88px, 120px) minmax(0, 1fr);
    gap: .55rem 1rem;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid rgba(23,32,51,.08);
    font-size: .96rem;
    line-height: 1.55;
}

.single-product div.product .product_meta > span,
.woocommerce-page div.product .product_meta > span {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product div.product .product_meta .sku_wrapper::before,
.woocommerce-page div.product .product_meta .sku_wrapper::before {
    content: "SKU";
    font-weight: 700;
    color: var(--hgg-text);
    opacity: .88;
}

.single-product div.product .product_meta .posted_in::before,
.woocommerce-page div.product .product_meta .posted_in::before {
    content: "Category";
    font-weight: 700;
    color: var(--hgg-text);
    opacity: .88;
}

.single-product div.product .product_meta .tagged_as::before,
.woocommerce-page div.product .product_meta .tagged_as::before {
    content: "Etiquetas";
    font-weight: 700;
    color: var(--hgg-text);
    opacity: .88;
}

/* common plugin/extra taxonomies printed as product_meta spans */
.single-product div.product .product_meta [class*="brand"]::before,
.woocommerce-page div.product .product_meta [class*="brand"]::before {
    content: "Marca";
    font-weight: 700;
    color: var(--hgg-text);
    opacity: .88;
}

.single-product div.product .product_meta > span > a,
.single-product div.product .product_meta > span > span,
.woocommerce-page div.product .product_meta > span > a,
.woocommerce-page div.product .product_meta > span > span {
    grid-column: 2;
}

.single-product div.product .product_meta a,
.woocommerce-page div.product .product_meta a {
    color: var(--hgg-link-color, var(--hgg-primary)) !important;
    font-weight: 600;
}

.single-product div.product .product_meta a:hover,
.woocommerce-page div.product .product_meta a:hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary))) !important;
}

/* if multiple links are inline, make them breathe */
.single-product div.product .product_meta .posted_in a + a::before,
.single-product div.product .product_meta .tagged_as a + a::before,
.woocommerce-page div.product .product_meta .posted_in a + a::before,
.woocommerce-page div.product .product_meta .tagged_as a + a::before {
    content: ", ";
    color: rgba(23,32,51,.55);
}

@media (max-width: 640px) {
    .single-product div.product .product_meta,
    .woocommerce-page div.product .product_meta {
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    .single-product div.product .product_meta .sku_wrapper::before,
    .single-product div.product .product_meta .posted_in::before,
    .single-product div.product .product_meta .tagged_as::before,
    .single-product div.product .product_meta [class*="brand"]::before,
    .woocommerce-page div.product .product_meta .sku_wrapper::before,
    .woocommerce-page div.product .product_meta .posted_in::before,
    .woocommerce-page div.product .product_meta .tagged_as::before,
    .woocommerce-page div.product .product_meta [class*="brand"]::before {
        display: block;
        margin-bottom: .1rem;
    }

    .single-product div.product .product_meta > span > a,
    .single-product div.product .product_meta > span > span,
    .woocommerce-page div.product .product_meta > span > a,
    .woocommerce-page div.product .product_meta > span > span {
        grid-column: auto;
    }
}


/* === V36.2 DARK UI + WOO BLOCKS + ACCOUNT MENU === */

/* Site Layout global text/link system */
body,
button,
input,
select,
textarea {
    color: var(--hgg-text);
}

.entry-content,
.page-content,
.post-content,
.woocommerce-page,
.woocommerce,
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    color: var(--hgg-text);
}

/* Woo single product and tabs panel backgrounds configurable */
.woocommerce div.product,
.woocommerce-page div.product {
    background: var(--hgg-wc-single-product-bg, var(--hgg-content-bg, #fff));
}

.single-product .woocommerce-tabs .panel,
.woocommerce-page .woocommerce-tabs .panel {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
}

/* Tabs scroll horizontally on mobile instead of wrapping badly */
@media (max-width: 767px) {
    .single-product .woocommerce-tabs ul.tabs,
    .woocommerce-page .woocommerce-tabs ul.tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
        padding-bottom: .25rem !important;
    }
    .single-product .woocommerce-tabs ul.tabs li,
    .woocommerce-page .woocommerce-tabs ul.tabs li {
        flex: 0 0 auto;
    }
}

/* Hide repeated inner tab title to avoid duplication */
.single-product .woocommerce-Tabs-panel > h2:first-child,
.woocommerce-page .woocommerce-Tabs-panel > h2:first-child,
.single-product .woocommerce-Tabs-panel--description > h2:first-child,
.single-product .woocommerce-Tabs-panel--reviews > h2:first-child,
.single-product .woocommerce-Tabs-panel--additional_information > h2:first-child,
.woocommerce-page .woocommerce-Tabs-panel--description > h2:first-child,
.woocommerce-page .woocommerce-Tabs-panel--reviews > h2:first-child,
.woocommerce-page .woocommerce-Tabs-panel--additional_information > h2:first-child {
    display: none;
}

/* Woo blocks: cart / checkout */
.wc-block-components-main,
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart {
    color: var(--hgg-text);
}

.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar,
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar {
    color: var(--hgg-text);
}

.wc-block-cart-items__row,
.wc-block-checkout__form,
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-components-order-summary-item,
.wc-block-checkout__actions_row,
.wc-block-components-order-summary__content,
.wc-block-checkout__payment-method,
.wc-block-components-checkout-step,
.wc-block-components-panel,
.wc-block-components-text-input input,
.wc-block-components-text-input select,
.wc-block-components-combobox-control .components-combobox-control__input,
.wc-block-components-textarea,
.wc-block-components-textarea textarea {
    color: var(--hgg-text) !important;
}

.wc-block-components-sidebar,
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar,
.wc-block-checkout__form,
.wc-block-components-order-summary,
.wc-block-components-panel,
.wc-block-components-checkout-step {
    background: var(--hgg-content-bg, #fff);
    border: var(--hgg-content-border-width,1px) solid var(--hgg-content-border-color, rgba(23,32,51,.08));
    border-radius: var(--hgg-content-radius, 18px);
    box-shadow: var(--hgg-content-shadow, none);
}

.wc-block-components-text-input input,
.wc-block-components-text-input select,
.wc-block-components-combobox-control .components-combobox-control__input,
.wc-block-components-textarea textarea {
    min-height: 48px;
    border-radius: 14px !important;
    border: 1px solid rgba(23,32,51,.16) !important;
    background: #fff !important;
    color: var(--hgg-text) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input select:focus,
.wc-block-components-combobox-control .components-combobox-control__input:focus,
.wc-block-components-textarea textarea:focus {
    box-shadow: 0 0 0 3px rgba(36,109,232,.12);
    border-color: var(--hgg-primary) !important;
    outline: none;
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-totals-coupon__button,
.wc-block-components-address-card__edit,
.wc-block-components-product-badge,
.wc-block-components-form .components-button {
    background: var(--hgg-wc-button-bg, var(--hgg-primary)) !important;
    color: var(--hgg-wc-button-text, #fff) !important;
    border: 0 !important;
    border-radius: 14px !important;
    min-height: 48px;
    box-shadow: none !important;
}

.wc-block-components-address-card__edit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 72px;
    padding: 0 14px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    cursor: pointer;
}

.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-address-card__edit:hover,
.wc-block-components-form .components-button:hover {
    background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark)) !important;
    color: var(--hgg-wc-button-hover-text, #fff) !important;
}

/* My account navigation pretty menu */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--hgg-content-bg, #fff);
    border: var(--hgg-content-border-width,1px) solid var(--hgg-content-border-color, rgba(23,32,51,.08));
    border-radius: var(--hgg-content-radius, 18px);
    box-shadow: var(--hgg-content-shadow, none);
    padding: 1rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li + li {
    margin-top: .35rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: .8rem 1rem;
    border-radius: 12px;
    color: var(--hgg-text);
    text-decoration: none;
    font-weight: 600;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: rgba(36,109,232,.08);
    color: var(--hgg-link-hover-color, var(--hgg-primary));
    transform: translateX(1px);
}

/* General forms and buttons around account pages */
.woocommerce-account .woocommerce form .button,
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .button,
.woocommerce form .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
    background: var(--hgg-wc-button-bg, var(--hgg-primary)) !important;
    color: var(--hgg-wc-button-text, #fff) !important;
    border-radius: 14px !important;
}

.woocommerce-account .woocommerce form .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .button:hover,
.woocommerce form .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
    background: var(--hgg-wc-button-hover-bg, var(--hgg-primary-dark)) !important;
    color: var(--hgg-wc-button-hover-text, #fff) !important;
}


/* === V36.3 PRODUCT META FIX === */
.single-product div.product .product_meta.huuguu-meta-ready,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid rgba(23,32,51,.08);
    font-size: .96rem;
    line-height: 1.55;
}

.single-product div.product .product_meta.huuguu-meta-ready > span,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span {
    display: grid !important;
    grid-template-columns: minmax(88px, 120px) minmax(0, 1fr) !important;
    gap: 1rem !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: start;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label {
    font-weight: 700;
    color: var(--hgg-text);
    opacity: .9;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
    min-width: 0;
    color: rgba(23,32,51,.82);
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a {
    color: var(--hgg-link-color, var(--hgg-primary)) !important;
    font-weight: 600;
    text-decoration: none;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary))) !important;
    text-decoration: underline;
}

@media (max-width: 640px) {
    .single-product div.product .product_meta.huuguu-meta-ready > span,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span {
        grid-template-columns: 1fr !important;
        gap: .15rem !important;
    }
}


/* === V36.4 PRODUCT META FINAL DEDUPE === */
.single-product div.product .product_meta.huuguu-meta-ready > span::before,
.single-product div.product .product_meta.huuguu-meta-ready > span::after,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span::after {
    content: none !important;
    display: none !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .sku_wrapper::before,
.single-product div.product .product_meta.huuguu-meta-ready .posted_in::before,
.single-product div.product .product_meta.huuguu-meta-ready .tagged_as::before,
.single-product div.product .product_meta.huuguu-meta-ready [class*="brand"]::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .sku_wrapper::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .posted_in::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .tagged_as::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready [class*="brand"]::before {
    content: none !important;
    display: none !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
    word-break: break-word;
}


/* === V36.5 PRODUCT META TWO COLUMNS === */
.single-product div.product .product_meta.huuguu-meta-ready,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 2rem !important;
    row-gap: .85rem !important;
    align-items: start;
}

.single-product div.product .product_meta.huuguu-meta-ready > span,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    column-gap: .9rem !important;
    row-gap: .15rem !important;
    align-items: start;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label {
    margin: 0;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
    min-width: 0;
}

@media (max-width: 820px) {
    .single-product div.product .product_meta.huuguu-meta-ready,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
        grid-template-columns: 1fr !important;
    }
}


/* === V36.6 SITE TEXT + LINK TOKENS FIX === */

/* real page/post content card must inherit Site Layout colors */
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) .type-page .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .type-post .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .page-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .post-content {
    color: var(--hgg-text) !important;
}

/* ensure descendants inherit content text color instead of old defaults */
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page :where(p, li, ul, ol, blockquote, cite, span, strong, em, small, dd, dt, td, th, h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post :where(p, li, ul, ol, blockquote, cite, span, strong, em, small, dd, dt, td, th, h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page .entry-content :where(p, li, ul, ol, blockquote, cite, span, strong, em, small, dd, dt, td, th, h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post .entry-content :where(p, li, ul, ol, blockquote, cite, span, strong, em, small, dd, dt, td, th, h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page .page-content :where(p, li, ul, ol, blockquote, cite, span, strong, em, small, dd, dt, td, th, h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post .post-content :where(p, li, ul, ol, blockquote, cite, span, strong, em, small, dd, dt, td, th, h1, h2, h3, h4, h5, h6) {
    color: inherit !important;
}

/* links inside normal site content must always follow Site Layout controls */
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page > .entry-content a:not(.button):not(.hgg-read-more),
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page > .page-content a:not(.button):not(.hgg-read-more),
body.single-post:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post > .entry-content a:not(.button):not(.hgg-read-more),
body.single-post:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post > .post-content a:not(.button):not(.hgg-read-more) {
    color: var(--hgg-link-color, var(--hgg-primary)) !important;
}

body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page > .entry-content a:not(.button):not(.hgg-read-more):hover,
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page > .page-content a:not(.button):not(.hgg-read-more):hover,
body.single-post:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post > .entry-content a:not(.button):not(.hgg-read-more):hover,
body.single-post:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post > .post-content a:not(.button):not(.hgg-read-more):hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary))) !important;
}

/* if content background is dark, headings also need to inherit correctly */
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page :where(h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post :where(h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page .entry-content :where(h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post .entry-content :where(h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page .page-content :where(h1, h2, h3, h4, h5, h6),
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post .post-content :where(h1, h2, h3, h4, h5, h6) {
    color: inherit !important;
}

/* tables/lists inside dark content should not keep mismatched borders */
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .entry-content table,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .page-content table,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .post-content table {
    color: inherit;
    border-color: rgba(255,255,255,.12);
}


/* === V36.7 SITE TEXT + LINK HARD FIX === */
body.page:not(.elementor-page) .site-main article.type-page,
body.single-post:not(.elementor-page) .site-main article.type-post {
    color: var(--hgg-text);
    background: var(--hgg-content-bg, #fff);
}

body:not(.elementor-page) .site-main .entry-content p,
body:not(.elementor-page) .site-main .entry-content li,
body:not(.elementor-page) .site-main .entry-content ul,
body:not(.elementor-page) .site-main .entry-content ol,
body:not(.elementor-page) .site-main .entry-content span,
body:not(.elementor-page) .site-main .entry-content strong,
body:not(.elementor-page) .site-main .entry-content em,
body:not(.elementor-page) .site-main .entry-content small,
body:not(.elementor-page) .site-main .entry-content blockquote,
body:not(.elementor-page) .site-main .entry-content cite,
body:not(.elementor-page) .site-main .entry-content dd,
body:not(.elementor-page) .site-main .entry-content dt,
body:not(.elementor-page) .site-main .entry-content td,
body:not(.elementor-page) .site-main .entry-content th,
body:not(.elementor-page) .site-main .page-content p,
body:not(.elementor-page) .site-main .page-content li,
body:not(.elementor-page) .site-main .page-content ul,
body:not(.elementor-page) .site-main .page-content ol,
body:not(.elementor-page) .site-main .page-content span,
body:not(.elementor-page) .site-main .page-content strong,
body:not(.elementor-page) .site-main .page-content em,
body:not(.elementor-page) .site-main .page-content small,
body:not(.elementor-page) .site-main .page-content blockquote,
body:not(.elementor-page) .site-main .page-content cite,
body:not(.elementor-page) .site-main .page-content dd,
body:not(.elementor-page) .site-main .page-content dt,
body:not(.elementor-page) .site-main .page-content td,
body:not(.elementor-page) .site-main .page-content th,
body:not(.elementor-page) .site-main .post-content p,
body:not(.elementor-page) .site-main .post-content li,
body:not(.elementor-page) .site-main .post-content ul,
body:not(.elementor-page) .site-main .post-content ol,
body:not(.elementor-page) .site-main .post-content span,
body:not(.elementor-page) .site-main .post-content strong,
body:not(.elementor-page) .site-main .post-content em,
body:not(.elementor-page) .site-main .post-content small,
body:not(.elementor-page) .site-main .post-content blockquote,
body:not(.elementor-page) .site-main .post-content cite,
body:not(.elementor-page) .site-main .post-content dd,
body:not(.elementor-page) .site-main .post-content dt,
body:not(.elementor-page) .site-main .post-content td,
body:not(.elementor-page) .site-main .post-content th,
body:not(.elementor-page) .site-main article.type-page p,
body:not(.elementor-page) .site-main article.type-page li,
body:not(.elementor-page) .site-main article.type-page ul,
body:not(.elementor-page) .site-main article.type-page ol,
body:not(.elementor-page) .site-main article.type-page span,
body:not(.elementor-page) .site-main article.type-page strong,
body:not(.elementor-page) .site-main article.type-page em,
body:not(.elementor-page) .site-main article.type-page small,
body:not(.elementor-page) .site-main article.type-page blockquote,
body:not(.elementor-page) .site-main article.type-page cite,
body:not(.elementor-page) .site-main article.type-page dd,
body:not(.elementor-page) .site-main article.type-page dt,
body:not(.elementor-page) .site-main article.type-page td,
body:not(.elementor-page) .site-main article.type-page th,
body:not(.elementor-page) .site-main article.type-post p,
body:not(.elementor-page) .site-main article.type-post li,
body:not(.elementor-page) .site-main article.type-post ul,
body:not(.elementor-page) .site-main article.type-post ol,
body:not(.elementor-page) .site-main article.type-post span,
body:not(.elementor-page) .site-main article.type-post strong,
body:not(.elementor-page) .site-main article.type-post em,
body:not(.elementor-page) .site-main article.type-post small,
body:not(.elementor-page) .site-main article.type-post blockquote,
body:not(.elementor-page) .site-main article.type-post cite,
body:not(.elementor-page) .site-main article.type-post dd,
body:not(.elementor-page) .site-main article.type-post dt,
body:not(.elementor-page) .site-main article.type-post td,
body:not(.elementor-page) .site-main article.type-post th {
    color: inherit !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 .page-content h1,
body:not(.elementor-page) .site-main .page-content h2,
body:not(.elementor-page) .site-main .page-content h3,
body:not(.elementor-page) .site-main .page-content h4,
body:not(.elementor-page) .site-main .page-content h5,
body:not(.elementor-page) .site-main .page-content h6,
body:not(.elementor-page) .site-main .post-content h1,
body:not(.elementor-page) .site-main .post-content h2,
body:not(.elementor-page) .site-main .post-content h3,
body:not(.elementor-page) .site-main .post-content h4,
body:not(.elementor-page) .site-main .post-content h5,
body:not(.elementor-page) .site-main .post-content h6,

body.page:not(.elementor-page) .site-main > article.type-page > .entry-content a:not(.button):not(.hgg-read-more),
body.page:not(.elementor-page) .site-main > article.type-page > .page-content a:not(.button):not(.hgg-read-more),
body.single-post:not(.elementor-page) .site-main > article.type-post > .entry-content a:not(.button):not(.hgg-read-more),
body.single-post:not(.elementor-page) .site-main > article.type-post > .post-content a:not(.button):not(.hgg-read-more) {
    color: var(--hgg-link-color, var(--hgg-primary)) !important;
}

body.page:not(.elementor-page) .site-main > article.type-page > .entry-content a:not(.button):not(.hgg-read-more):hover,
body.page:not(.elementor-page) .site-main > article.type-page > .page-content a:not(.button):not(.hgg-read-more):hover,
body.single-post:not(.elementor-page) .site-main > article.type-post > .entry-content a:not(.button):not(.hgg-read-more):hover,
body.single-post:not(.elementor-page) .site-main > article.type-post > .post-content a:not(.button):not(.hgg-read-more):hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary))) !important;
}

body:not(.elementor-page) .site-main > article.type-page > .entry-content hr,
body:not(.elementor-page) .site-main > article.type-page > .page-content hr,
body:not(.elementor-page) .site-main > article.type-post > .entry-content hr,
body:not(.elementor-page) .site-main > article.type-post > .post-content hr {
    border-color: rgba(255,255,255,.12) !important;
}


/* === V36.8 SITE LAYOUT COLOR VARS FIX === */
:root {
    --hgg-text: var(--hgg-text, #172033);
    --hgg-link-color: var(--hgg-link-color, var(--hgg-primary));
    --hgg-link-hover-color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)));
}


/* === V36.9 SINGLE META + BACKGROUND FIX === */

/* single product background controls must win over older rules */
.single-product .woocommerce div.product,
.single-product.woocommerce-page div.product,
.woocommerce-page.single-product div.product {
    background: var(--hgg-wc-single-product-bg, var(--hgg-content-bg, #fff)) !important;
}

.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
}

/* meta should be a true 2-column table: label | content */
.single-product div.product .product_meta.huuguu-meta-ready,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
    display: grid !important;
    grid-template-columns: 120px minmax(0, 1fr) !important;
    column-gap: 1rem !important;
    row-gap: .85rem !important;
    align-items: start;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid rgba(23,32,51,.08);
}

.single-product div.product .product_meta.huuguu-meta-ready > span,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label {
    font-weight: 700;
    color: var(--hgg-text) !important;
    opacity: .92;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
    min-width: 0;
    color: var(--hgg-text) !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a {
    color: var(--hgg-link-color, var(--hgg-primary)) !important;
    font-weight: 600;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary))) !important;
}

@media (max-width: 640px) {
    .single-product div.product .product_meta.huuguu-meta-ready,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
        grid-template-columns: 1fr !important;
        row-gap: .2rem !important;
    }
}


/* === V37 TABS META FINAL FIX === */

/* tab content wrapper must stay above the tabs nav and have clear spacing */
.single-product .woocommerce-tabs,
.woocommerce-page.single-product .woocommerce-tabs,
.single-product .wc-tabs-wrapper,
.woocommerce-page.single-product .wc-tabs-wrapper {
    position: relative;
    z-index: 5;
}

.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs {
    margin: 0 0 1rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    position: relative;
    z-index: 6;
}

.single-product .woocommerce-tabs ul.tabs::before,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs::before {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li {
    border: 0 !important;
    background: transparent !important;
    margin: 0 .35rem 0 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li::before,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: .85rem 1.15rem !important;
    border: 1px solid rgba(23,32,51,.14) !important;
    border-radius: 14px 14px 0 0 !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: none !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    border-color: rgba(23,32,51,.16) !important;
    border-bottom-color: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
}

.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel {
    margin-top: 0 !important;
    padding: max(22px, 24px) !important;
    border: 1px solid rgba(23,32,51,.12) !important;
    border-radius: 0 16px 16px 16px !important;
    box-shadow: none !important;
    position: relative;
    z-index: 5;
}

/* meta: true 2-column label/content and remove all pseudo legacy output */
.single-product div.product .product_meta.huuguu-meta-ready,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
    display: grid !important;
    grid-template-columns: 120px minmax(0, 1fr) !important;
    gap: .85rem 1rem !important;
    align-items: start;
    padding-top: 1rem !important;
    margin-top: 1rem !important;
    border-top: 1px solid rgba(23,32,51,.08) !important;
}

.single-product div.product .product_meta.huuguu-meta-ready > span,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span {
    display: contents !important;
}

.single-product div.product .product_meta.huuguu-meta-ready > span::before,
.single-product div.product .product_meta.huuguu-meta-ready > span::after,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span::after,
.single-product div.product .product_meta.huuguu-meta-ready .sku_wrapper::before,
.single-product div.product .product_meta.huuguu-meta-ready .posted_in::before,
.single-product div.product .product_meta.huuguu-meta-ready .tagged_as::before,
.single-product div.product .product_meta.huuguu-meta-ready [class*="brand"]::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .sku_wrapper::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .posted_in::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .tagged_as::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready [class*="brand"]::before {
    content: none !important;
    display: none !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label {
    grid-column: 1;
    font-weight: 700 !important;
    color: var(--hgg-text) !important;
    line-height: 1.5;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
    grid-column: 2;
    color: var(--hgg-text) !important;
    line-height: 1.5;
    min-width: 0;
    word-break: break-word;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a {
    color: var(--hgg-link-color, var(--hgg-primary)) !important;
    font-weight: 600 !important;
    text-decoration: none;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary))) !important;
    text-decoration: underline;
}

@media (max-width: 640px) {
    .single-product .woocommerce-tabs ul.tabs,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        padding-bottom: .25rem !important;
    }

    .single-product div.product .product_meta.huuguu-meta-ready,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
        grid-template-columns: 1fr !important;
        gap: .2rem !important;
    }

    .single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
    .single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
        grid-column: auto;
    }
}


/* === V38 BREADCRUMB + META + TAB BG POLISH === */

/* Breadcrumb */
.woocommerce-breadcrumb.huuguu-breadcrumb-ready,
.woocommerce .woocommerce-breadcrumb.huuguu-breadcrumb-ready,
.woocommerce-page .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    padding: var(--hgg-wc-breadcrumb-pad-y, 14px) var(--hgg-wc-breadcrumb-pad-x, 18px);
    background: var(--hgg-wc-breadcrumb-bg, #f6f7fb);
    color: var(--hgg-wc-breadcrumb-text, #172033);
    border-radius: var(--hgg-wc-breadcrumb-radius, 0px);
    line-height: 1.35;
    font-size: .95rem;
}

.woocommerce-breadcrumb.huuguu-breadcrumb-ready a,
.woocommerce .woocommerce-breadcrumb.huuguu-breadcrumb-ready a,
.woocommerce-page .woocommerce-breadcrumb.huuguu-breadcrumb-ready a {
    color: var(--hgg-wc-breadcrumb-text, #172033) !important;
    text-decoration: none;
}

.woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-current,
.woocommerce .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-current,
.woocommerce-page .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-current {
    color: var(--hgg-wc-breadcrumb-current, #9aa4b5) !important;
}

.woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep,
.woocommerce .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep,
.woocommerce-page .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep {
    color: rgba(23,32,51,.58);
}

.woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-home::before,
.woocommerce .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-home::before,
.woocommerce-page .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-home::before {
    content: "⌂";
    display: inline-block;
    margin-right: .35rem;
    font-size: .92em;
    line-height: 1;
}

/* Tabs */
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .wc-tabs-wrapper ul.tabs li.active a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active a,
.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
}

/* Meta cleanup */
.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
    white-space: normal;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a + a::before,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a + a::before {
    content: none !important;
}


/* === V38.1 TABS ACTIVE + SPACING + PANEL BG FIX === */

/* Better spacing between thumbnails area and tabs */
.single-product .woocommerce-tabs,
.single-product .wc-tabs-wrapper,
.woocommerce-page.single-product .woocommerce-tabs,
.woocommerce-page.single-product .wc-tabs-wrapper {
    margin-top: 1.35rem !important;
}

/* Tabs bar should not sit on top of the dark/previous block awkwardly */
.single-product .woocommerce-tabs ul.tabs,
.single-product .wc-tabs-wrapper ul.tabs,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
    display: flex !important;
    align-items: flex-end;
    gap: .55rem;
    margin: 0 0 .9rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs li,
.single-product .wc-tabs-wrapper ul.tabs li,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a,
.single-product .wc-tabs-wrapper ul.tabs li a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li a {
    display: block;
    padding: .9rem 1.2rem !important;
    border: 1px solid rgba(23,32,51,.14) !important;
    border-radius: 14px 14px 0 0 !important;
    background: rgba(255,255,255,.72) !important;
    color: var(--hgg-text) !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.single-product .woocommerce-tabs ul.tabs li:hover a,
.single-product .wc-tabs-wrapper ul.tabs li:hover a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li:hover a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li:hover a {
    background: rgba(255,255,255,.86) !important;
    border-color: rgba(23,32,51,.22) !important;
}

/* True active state */
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .wc-tabs-wrapper ul.tabs li.active a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active a {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    color: var(--hgg-text) !important;
    border-color: rgba(23,32,51,.16) !important;
    border-bottom-color: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    box-shadow: 0 -1px 0 0 var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) inset !important;
    position: relative;
    transform: translateY(1px);
    z-index: 7;
}

/* Panel must clearly follow the chosen tabs panel background color */
.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    padding: max(22px, 24px) !important;
    border: 1px solid rgba(23,32,51,.12) !important;
    border-radius: 0 18px 18px 18px !important;
    box-shadow: none !important;
    margin-top: 0 !important;
    position: relative;
    z-index: 5;
}

/* Remove awkward extra dark strip feeling under tabs by resetting wrapper bg */
.single-product .woocommerce-tabs,
.single-product .wc-tabs-wrapper,
.woocommerce-page.single-product .woocommerce-tabs,
.woocommerce-page.single-product .wc-tabs-wrapper {
    background: transparent !important;
}

/* Mobile: keep horizontal scroll and spacing sane */
@media (max-width: 767px) {
    .single-product .woocommerce-tabs ul.tabs,
    .single-product .wc-tabs-wrapper ul.tabs,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs,
    .woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding-bottom: .2rem !important;
        gap: .45rem;
    }

    .single-product .woocommerce-tabs ul.tabs li,
    .single-product .wc-tabs-wrapper ul.tabs li,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs li,
    .woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li {
        flex: 0 0 auto;
    }

    .single-product .woocommerce-tabs ul.tabs li a,
    .single-product .wc-tabs-wrapper ul.tabs li a,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs li a,
    .woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li a {
        padding: .82rem 1rem !important;
    }
}


/* === V38.2 SITE LAYOUT BREADCRUMB + TABS FINAL === */

/* Tabs wrapper spacing + remove heavy dark strip */
.single-product .woocommerce-tabs,
.single-product .wc-tabs-wrapper,
.woocommerce-page.single-product .woocommerce-tabs,
.woocommerce-page.single-product .wc-tabs-wrapper {
    margin-top: 1.25rem !important;
    background: transparent !important;
    position: relative;
    z-index: 5;
}

/* Tabs nav */
.single-product .woocommerce-tabs ul.tabs,
.single-product .wc-tabs-wrapper ul.tabs,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
    display: flex !important;
    align-items: flex-end;
    gap: .6rem !important;
    margin: 0 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    position: relative;
    z-index: 7;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .wc-tabs-wrapper ul.tabs::before,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs::before,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs::before {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li,
.single-product .wc-tabs-wrapper ul.tabs li,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after,
.single-product .wc-tabs-wrapper ul.tabs li::before,
.single-product .wc-tabs-wrapper ul.tabs li::after,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li::before,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li::after,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li::before,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li::after {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a,
.single-product .wc-tabs-wrapper ul.tabs li a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li a {
    display: block;
    padding: .95rem 1.2rem !important;
    border: 1px solid rgba(23,32,51,.12) !important;
    border-radius: 16px 16px 0 0 !important;
    background: rgba(255,255,255,.78) !important;
    color: var(--hgg-text) !important;
    box-shadow: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.single-product .woocommerce-tabs ul.tabs li:hover a,
.single-product .wc-tabs-wrapper ul.tabs li:hover a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li:hover a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li:hover a {
    background: rgba(255,255,255,.9) !important;
    border-color: rgba(23,32,51,.18) !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .wc-tabs-wrapper ul.tabs li.active a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active a {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    color: var(--hgg-text) !important;
    border-color: rgba(23,32,51,.16) !important;
    border-bottom-color: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    box-shadow: 0 2px 0 0 var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    transform: translateY(1px);
    position: relative;
    z-index: 8;
}

/* Panel must follow chosen background and sit attached to active tab */
.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    margin-top: -1px !important;
    padding: max(22px, 24px) !important;
    border: 1px solid rgba(23,32,51,.12) !important;
    border-radius: 0 18px 18px 18px !important;
    position: relative;
    z-index: 6;
}

/* Breadcrumb spacing below header and styling remains global */
.huuguu-breadcrumb-wrap,
.woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    margin-top: 1rem;
}

/* Mobile tabs */
@media (max-width: 767px) {
    .single-product .woocommerce-tabs ul.tabs,
    .single-product .wc-tabs-wrapper ul.tabs,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs,
    .woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding-bottom: .2rem !important;
    }

    .single-product .woocommerce-tabs ul.tabs li,
    .single-product .wc-tabs-wrapper ul.tabs li,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs li,
    .woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li {
        flex: 0 0 auto;
    }
}


/* === V38.3 GLOBAL BREADCRUMB + TABS CONTRAST FIX === */

/* Global breadcrumb bar below header, full width */
.huuguu-global-breadcrumb-bar {
    width: 100%;
    background: var(--hgg-wc-breadcrumb-bg, #f6f7fb);
    border-top: 1px solid rgba(23,32,51,.05);
    border-bottom: 1px solid rgba(23,32,51,.07);
    margin: 0 0 1.25rem;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem;
    width: min(100% - 2rem, var(--hgg-container));
    margin: 0 auto !important;
    padding: var(--hgg-wc-breadcrumb-pad-y, 14px) var(--hgg-wc-breadcrumb-pad-x, 18px);
    background: transparent !important;
    color: var(--hgg-wc-breadcrumb-text, #172033);
    border-radius: 0;
    font-size: .95rem;
    line-height: 1.35;
}

/* nicer home icon */
.woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-home::before,
.woocommerce .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-home::before,
.woocommerce-page .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-home::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-right: .45rem;
    vertical-align: -1px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.woocommerce-breadcrumb.huuguu-breadcrumb-ready,
.huuguu-breadcrumb-wrap,
.site-main .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    margin-top: 0 !important;
}

/* Tabs with real active/inactive contrast */
.single-product .woocommerce-tabs,
.single-product .wc-tabs-wrapper,
.woocommerce-page.single-product .woocommerce-tabs,
.woocommerce-page.single-product .wc-tabs-wrapper {
    margin-top: 1.3rem !important;
    background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs,
.single-product .wc-tabs-wrapper ul.tabs,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
    display: flex !important;
    align-items: flex-end;
    gap: .6rem !important;
    margin: 0 0 -.5rem !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    position: relative;
    z-index: 5;
}

.single-product .woocommerce-tabs ul.tabs li,
.single-product .wc-tabs-wrapper ul.tabs li,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a,
.single-product .wc-tabs-wrapper ul.tabs li a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li a {
    display: block;
    padding: .95rem 1.2rem !important;
    border: 1px solid rgba(23,32,51,.16) !important;
    border-radius: 16px 16px 0 0 !important;
    background: var(--hgg-wc-single-tabs-inactive-bg, rgba(255,255,255,.78)) !important;
    color: var(--hgg-wc-single-tabs-text, var(--hgg-text)) !important;
    opacity: .72;
    transition: opacity .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.single-product .woocommerce-tabs ul.tabs li:hover a,
.single-product .wc-tabs-wrapper ul.tabs li:hover a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li:hover a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li:hover a {
    background: var(--hgg-wc-single-tabs-hover-bg, rgba(255,255,255,.92)) !important;
    opacity: .9;
}

.single-product .woocommerce-tabs ul.tabs li.active,
.single-product .wc-tabs-wrapper ul.tabs li.active,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active {
    position: relative;
    z-index: 8;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .wc-tabs-wrapper ul.tabs li.active a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active a {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    color: var(--hgg-wc-single-tabs-text, var(--hgg-text)) !important;
    opacity: 1 !important;
    border-color: rgba(23,32,51,.16) !important;
    border-bottom-color: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    transform: translateY(1px);
    box-shadow: 0 2px 0 0 var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
}

.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.single-product .woocommerce-Tabs-panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-Tabs-panel {
    background: var(--hgg-wc-single-tabs-bg, var(--hgg-content-bg, #fff)) !important;
    color: var(--hgg-wc-single-tabs-text, var(--hgg-text)) !important;
    margin-top: 0 !important;
    padding: max(22px, 24px) !important;
    border: 1px solid rgba(23,32,51,.12) !important;
    border-radius: 0 18px 18px 18px !important;
    position: relative;
    z-index: 6;
}

.single-product .woocommerce-tabs .panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th),
.single-product .woocommerce-Tabs-panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th),
.woocommerce-page.single-product .woocommerce-tabs .panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th),
.woocommerce-page.single-product .woocommerce-Tabs-panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th) {
    color: inherit !important;
}

@media (max-width: 767px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
        width: min(100% - 1rem, var(--hgg-container));
        padding-inline: 1rem;
    }

    .single-product .woocommerce-tabs ul.tabs,
    .single-product .wc-tabs-wrapper ul.tabs,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs,
    .woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
    }

    .single-product .woocommerce-tabs ul.tabs li,
    .single-product .wc-tabs-wrapper ul.tabs li,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs li,
    .woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li {
        flex: 0 0 auto;
    }
}


/* === V38.3.1 TABS PANEL BLACK FIX === */

/* Force chosen tabs background color into the actual Woo tab panels */
.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.single-product .woocommerce-Tabs-panel,
.single-product div.product .woocommerce-tabs .panel,
.single-product div.product .wc-tabs-wrapper .panel,
.single-product div.product .woocommerce-Tabs-panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-Tabs-panel,
.woocommerce-page.single-product div.product .woocommerce-tabs .panel,
.woocommerce-page.single-product div.product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product div.product .woocommerce-Tabs-panel {
    background: var(--hgg-wc-single-tabs-bg) !important;
    background-color: var(--hgg-wc-single-tabs-bg) !important;
    color: var(--hgg-wc-single-tabs-text, var(--hgg-text)) !important;
}

/* Ensure all content inside the panel becomes readable on dark backgrounds */
.single-product .woocommerce-tabs .panel *,
.single-product .wc-tabs-wrapper .panel *,
.single-product .woocommerce-Tabs-panel *,
.woocommerce-page.single-product .woocommerce-tabs .panel *,
.woocommerce-page.single-product .wc-tabs-wrapper .panel *,
.woocommerce-page.single-product .woocommerce-Tabs-panel * {
    color: inherit;
}

/* The active tab must visibly match the chosen panel background */
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .wc-tabs-wrapper ul.tabs li.active a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active a {
    background: var(--hgg-wc-single-tabs-bg) !important;
    background-color: var(--hgg-wc-single-tabs-bg) !important;
    color: var(--hgg-wc-single-tabs-text, var(--hgg-text)) !important;
    opacity: 1 !important;
}

/* Inactive tabs stay separated so active is clearly visible */
.single-product .woocommerce-tabs ul.tabs li:not(.active) a,
.single-product .wc-tabs-wrapper ul.tabs li:not(.active) a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li:not(.active) a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li:not(.active) a {
    color: var(--hgg-wc-single-tabs-text, var(--hgg-text)) !important;
    opacity: .68 !important;
}

/* Small visual line so active tab never disappears into the wrapper */
.single-product .woocommerce-tabs ul.tabs li.active,
.single-product .wc-tabs-wrapper ul.tabs li.active,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active {
    box-shadow: 0 0 0 1px rgba(255,255,255,.06);
}


/* === V38.4 PREMIUM TABS + BREADCRUMB SYSTEM === */

/* force the actual live panel to use the Woo single tabs background, never the global content bg */
.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.single-product .woocommerce-Tabs-panel,
.single-product div.product .woocommerce-tabs .panel,
.single-product div.product .wc-tabs-wrapper .panel,
.single-product div.product .woocommerce-Tabs-panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-Tabs-panel,
.woocommerce-page.single-product div.product .woocommerce-tabs .panel,
.woocommerce-page.single-product div.product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product div.product .woocommerce-Tabs-panel {
    background: var(--hgg-wc-single-tabs-bg) !important;
    background-color: var(--hgg-wc-single-tabs-bg) !important;
    color: var(--hgg-wc-single-tabs-text, var(--hgg-text)) !important;
    border-color: var(--hgg-wc-single-tabs-border, rgba(23,32,51,.12)) !important;
}

/* all children inherit the panel color */
.single-product .woocommerce-tabs .panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th,div,a),
.single-product .wc-tabs-wrapper .panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th,div,a),
.single-product .woocommerce-Tabs-panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th,div,a),
.woocommerce-page.single-product .woocommerce-tabs .panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th,div,a),
.woocommerce-page.single-product .wc-tabs-wrapper .panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th,div,a),
.woocommerce-page.single-product .woocommerce-Tabs-panel :is(p,li,ul,ol,span,strong,em,small,h1,h2,h3,h4,h5,h6,label,td,th,div,a) {
    color: inherit !important;
}

.single-product .woocommerce-tabs ul.tabs,
.single-product .wc-tabs-wrapper ul.tabs,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
    display: flex !important;
    align-items: flex-end;
    gap: .65rem !important;
    margin: 0 0 -.55rem !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    position: relative;
    z-index: 9;
}

.single-product .woocommerce-tabs ul.tabs li,
.single-product .wc-tabs-wrapper ul.tabs li,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after,
.single-product .wc-tabs-wrapper ul.tabs li::before,
.single-product .wc-tabs-wrapper ul.tabs li::after,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li::before,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li::after,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li::before,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li::after,
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .wc-tabs-wrapper ul.tabs::before,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs::before,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs::before {
    display: none !important;
    content: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a,
.single-product .wc-tabs-wrapper ul.tabs li a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li a {
    display: block;
    padding: .95rem 1.2rem !important;
    border: 1px solid var(--hgg-wc-single-tabs-border, rgba(23,32,51,.12)) !important;
    border-radius: 16px 16px 0 0 !important;
    background: var(--hgg-wc-single-tabs-inactive-bg, rgba(255,255,255,.78)) !important;
    color: var(--hgg-wc-single-tabs-text, var(--hgg-text)) !important;
    opacity: .62;
    box-shadow: none !important;
    transition: opacity .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease, color .18s ease;
}

.single-product .woocommerce-tabs ul.tabs li:hover a,
.single-product .wc-tabs-wrapper ul.tabs li:hover a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li:hover a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li:hover a {
    background: var(--hgg-wc-single-tabs-hover-bg, rgba(255,255,255,.92)) !important;
    opacity: .86;
}

.single-product .woocommerce-tabs ul.tabs li.active,
.single-product .wc-tabs-wrapper ul.tabs li.active,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active {
    position: relative;
    z-index: 10;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .wc-tabs-wrapper ul.tabs li.active a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active a {
    background: var(--hgg-wc-single-tabs-bg) !important;
    background-color: var(--hgg-wc-single-tabs-bg) !important;
    color: var(--hgg-wc-single-tabs-active-text, var(--hgg-wc-single-tabs-text, var(--hgg-text))) !important;
    opacity: 1 !important;
    border-color: var(--hgg-wc-single-tabs-border, rgba(23,32,51,.12)) !important;
    border-bottom-color: var(--hgg-wc-single-tabs-bg) !important;
    transform: translateY(1px);
    box-shadow: 0 2px 0 0 var(--hgg-wc-single-tabs-bg) !important;
}

/* remove dead empty white look by guaranteeing min readable content area */
.single-product .woocommerce-Tabs-panel--description,
.single-product #tab-description,
.woocommerce-page.single-product .woocommerce-Tabs-panel--description,
.woocommerce-page.single-product #tab-description {
    min-height: 0;
}

/* premium global breadcrumb */
.huuguu-global-breadcrumb-bar {
    width: 100%;
    background: var(--hgg-wc-breadcrumb-bg, #f6f7fb);
    border-top: 1px solid rgba(23,32,51,.05);
    border-bottom: 1px solid rgba(23,32,51,.07);
    margin: 0 0 1rem;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    width: min(100% - 2rem, var(--hgg-container));
    margin: 0 auto !important;
    padding: var(--hgg-wc-breadcrumb-pad-y, 14px) var(--hgg-wc-breadcrumb-pad-x, 18px);
    background: transparent !important;
    color: var(--hgg-wc-breadcrumb-text, #172033);
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.35;
    font-size: .95rem;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready > * {
    display: inline;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready a,
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep {
    color: var(--hgg-wc-breadcrumb-text, #172033) !important;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-current {
    color: var(--hgg-wc-breadcrumb-current, #9aa4b5) !important;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-home::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-right: .42rem;
    vertical-align: -1px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

@media (max-width: 767px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
        width: min(100% - 1rem, var(--hgg-container));
        padding-inline: 1rem;
        font-size: .92rem;
    }

    .single-product .woocommerce-tabs ul.tabs,
    .single-product .wc-tabs-wrapper ul.tabs,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs,
    .woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding-bottom: .15rem !important;
    }

    .single-product .woocommerce-tabs ul.tabs li,
    .single-product .wc-tabs-wrapper ul.tabs li,
    .woocommerce-page.single-product .woocommerce-tabs ul.tabs li,
    .woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li {
        flex: 0 0 auto;
    }
}


/* === V38.4.1 BREADCRUMB SPACE + TAB SEAM POLISH === */

/* explicit spacing around breadcrumb separators */
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep {
    display: inline-block;
    margin-inline: .28rem;
}

/* soften the little tab seam / overlap artifact */
.single-product .woocommerce-tabs ul.tabs,
.single-product .wc-tabs-wrapper ul.tabs,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
    margin-bottom: -.4rem !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .wc-tabs-wrapper ul.tabs li.active a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active a {
    box-shadow: 0 3px 0 0 var(--hgg-wc-single-tabs-bg) !important;
}

/* fill the tiny gap line between active tab and panel */
.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.single-product .woocommerce-Tabs-panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-Tabs-panel {
    margin-top: -2px !important;
}


/* === V38.4.2 BREADCRUMB + TAB JOIN REAL FIX === */

/* real visible separators with spaces preserved */
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep {
    display: inline-block;
    margin: 0 .48rem;
    opacity: .68;
}

/* stronger active tab / panel connection */
.single-product .woocommerce-tabs ul.tabs,
.single-product .wc-tabs-wrapper ul.tabs,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs {
    margin-bottom: -1px !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .wc-tabs-wrapper ul.tabs li.active a,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active a {
    position: relative;
    z-index: 12;
}

/* cover the tiny seam under the active tab */
.single-product .woocommerce-tabs ul.tabs li.active a::after,
.single-product .wc-tabs-wrapper ul.tabs li.active a::after,
.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a::after,
.woocommerce-page.single-product .wc-tabs-wrapper ul.tabs li.active a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 4px;
    background: var(--hgg-wc-single-tabs-bg) !important;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
}

/* panel sits directly under tabs without ghost line */
.single-product .woocommerce-tabs .panel,
.single-product .wc-tabs-wrapper .panel,
.single-product .woocommerce-Tabs-panel,
.woocommerce-page.single-product .woocommerce-tabs .panel,
.woocommerce-page.single-product .wc-tabs-wrapper .panel,
.woocommerce-page.single-product .woocommerce-Tabs-panel {
    margin-top: -1px !important;
}


/* === V39 FOOTER POWERED BY LAYOUT === */
.site-info {
    display: grid;
    gap: .65rem;
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 1rem;
    color: var(--hgg-footer-text, #ffffff);
    opacity: .96;
}

.site-info__copyright,
.site-info__powered {
    min-width: 0;
}

.site-info__copyright a,
.site-info__powered a {
    color: var(--hgg-footer-link, var(--hgg-footer-text, #ffffff));
    text-decoration: none;
}

.site-info__copyright a:hover,
.site-info__powered a:hover,
.site-info__copyright a:focus,
.site-info__powered a:focus {
    color: var(--hgg-footer-link-hover, #c9d9ff);
    text-decoration: underline;
}

.site-info--centered {
    justify-items: center;
    text-align: center;
}

.site-info--around {
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    text-align: left;
}

.site-info--around .site-info__powered {
    justify-self: end;
    text-align: right;
}

@media (max-width: 767px) {
    .site-info--around,
    .site-info--centered {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .site-info--around .site-info__powered {
        justify-self: center;
        text-align: center;
    }
}


/* === V39.1 FOOTER CENTERED INLINE FIX === */
.site-info--centered {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: .5rem 1rem;
    text-align: center;
}

.site-info--centered .site-info__copyright,
.site-info--centered .site-info__powered {
    display: inline;
}

.site-info--centered .site-info__powered::before {
    content: "|";
    display: inline-block;
    margin-right: 1rem;
    opacity: .78;
}

@media (max-width: 767px) {
    .site-info--centered {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: .45rem;
    }

    .site-info--centered .site-info__powered::before {
        content: none;
        display: none;
    }
}


/* === V41 BLOG ARCHIVE + SINGLE FOUNDATION === */
.huuguu-blog-archive .huuguu-content-wrap {
    width: min(100% - 2rem, var(--hgg-blog-archive-container, var(--hgg-container)));
}

.huuguu-blog-single .huuguu-content-wrap {
    width: min(100% - 2rem, var(--hgg-blog-single-container, var(--hgg-container)));
    display: grid;
    gap: 2rem;
    align-items: start;
}

.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-single .huuguu-blog-wrap {
    grid-template-columns: minmax(0, 1fr);
}

.huuguu-blog-layout-contained_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-layout-contained_sidebar.huuguu-blog-single .huuguu-blog-wrap {
    grid-template-columns: minmax(0, 1fr) 320px;
}

.huuguu-blog-layout-full_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-layout-full_sidebar.huuguu-blog-single .huuguu-blog-wrap {
    grid-template-columns: minmax(0, 1fr) 320px;
    width: calc(100% - 2rem) !important;
    max-width: none !important;
}

.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive .huuguu-content-wrap,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single .huuguu-content-wrap,
.huuguu-blog-layout-full_sidebar.huuguu-blog-archive .huuguu-content-wrap,
.huuguu-blog-layout-full_sidebar.huuguu-blog-single .huuguu-content-wrap {
    width: calc(100% - 2rem) !important;
    max-width: none !important;
}

.huuguu-blog-primary {
    min-width: 0;
}

.huuguu-blog-archive .widget-area,
.huuguu-blog-single .widget-area {
    min-width: 0;
    width: 100%;
}

.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive #secondary,
.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single #secondary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive #secondary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single #secondary {
    display: none !important;
}

@media (max-width: 960px) {
    .huuguu-blog-layout-contained_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
    .huuguu-blog-layout-contained_sidebar.huuguu-blog-single .huuguu-blog-wrap,
    .huuguu-blog-layout-full_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
    .huuguu-blog-layout-full_sidebar.huuguu-blog-single .huuguu-blog-wrap {
        grid-template-columns: 1fr;
    }
}


/* === V41.1 BLOG POLISH === */
.huuguu-post-grid {
    display: grid;
    grid-template-columns: repeat(var(--hgg-blog-cols, 2), minmax(0, 1fr));
    gap: var(--hgg-blog-archive-gap, 28px);
}

.huuguu-blog-archive-columns-1 { --hgg-blog-cols: 1; }
.huuguu-blog-archive-columns-2 { --hgg-blog-cols: 2; }
.huuguu-blog-archive-columns-3 { --hgg-blog-cols: 3; }
.huuguu-blog-archive-columns-4 { --hgg-blog-cols: 4; }

.hgg-post-card,
.huuguu-related-posts .hgg-post-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--hgg-blog-archive-card-radius, 18px);
    box-shadow: var(--hgg-blog-archive-card-shadow, none);
    background: var(--hgg-content-bg, #fff);
    border: 1px solid rgba(23,32,51,.08);
}

.hgg-post-card .post-thumbnail {
    display: block;
}

.hgg-post-card .post-thumbnail img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.hgg-post-card .hgg-card__body {
    padding: 1.15rem 1.15rem 1.2rem;
}

.hgg-post-card .entry-title {
    margin: 0 0 .55rem;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.12;
}

.hgg-post-card .entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .9rem;
    font-size: .92rem;
    opacity: .8;
    margin-bottom: .8rem;
}

.hgg-post-card .entry-summary {
    color: var(--hgg-text-muted, #52607a);
    line-height: 1.72;
}

.hgg-post-card .hgg-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: .8rem 1.1rem;
    border-radius: 14px;
    text-decoration: none;
}

/* List style for archive */
.huuguu-blog-archive-style-list .huuguu-post-grid {
    grid-template-columns: 1fr;
}

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

.huuguu-blog-archive-style-list .hgg-post-card .post-thumbnail,
.huuguu-blog-archive-style-list .hgg-post-card .post-thumbnail img {
    height: 100%;
}

.huuguu-blog-archive-style-list .hgg-post-card .post-thumbnail img {
    aspect-ratio: auto;
}

/* Single post polish */
.hgg-single-card {
    padding: 1.4rem;
    border-radius: 20px;
    border: 1px solid rgba(23,32,51,.08);
    background: var(--hgg-content-bg, #fff);
}

.hgg-single-card .entry-title {
    margin: 0 0 .8rem;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.05;
}

.hgg-single-card .entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    opacity: .8;
    margin-bottom: 1rem;
}

.hgg-single-card .post-thumbnail {
    margin-bottom: 1.2rem;
    overflow: hidden;
    border-radius: 18px;
}

.hgg-single-card .post-thumbnail img {
    width: 100%;
    display: block;
}

.hgg-single-card .entry-content {
    line-height: 1.85;
}

.huuguu-related-posts {
    margin-top: 2rem;
}

.huuguu-related-posts__title {
    margin: 0 0 1rem;
    font-size: clamp(1.4rem, 2.2vw, 2rem);
}

.huuguu-related-posts__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--hgg-blog-archive-gap, 28px);
}

@media (max-width: 1100px) {
    .huuguu-blog-archive-columns-3,
    .huuguu-blog-archive-columns-4 {
        --hgg-blog-cols: 2;
    }

    .huuguu-related-posts__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .huuguu-post-grid,
    .huuguu-related-posts__grid {
        grid-template-columns: 1fr;
    }

    .huuguu-blog-archive-style-list .hgg-post-card {
        grid-template-columns: 1fr;
    }
}


/* === V41.2 BLOG GENERAL COLORS + TABLET FIX === */
.hgg-post-card .entry-title,
.hgg-single-card .entry-title,
.hgg-post-card .entry-title a,
.hgg-single-card .entry-title a,
.huuguu-blog-primary .page-title,
.huuguu-related-posts__title {
    color: var(--hgg-blog-title, var(--hgg-text));
}

.hgg-post-card .entry-title a:hover,
.hgg-single-card .entry-title a:hover,
.hgg-post-card .entry-title a:focus,
.hgg-single-card .entry-title a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-blog-title, var(--hgg-text)));
}

.hgg-post-card .entry-meta,
.hgg-single-card .entry-meta {
    color: var(--hgg-blog-meta, rgba(23,32,51,.75));
}

.hgg-post-card .entry-meta a,
.hgg-single-card .entry-meta a,
.hgg-single-card .entry-footer a,
.hgg-single-card .entry-content a,
.hgg-post-card .entry-summary a {
    color: var(--hgg-blog-link, var(--hgg-link, #1769ff));
}

.hgg-post-card .entry-meta a:hover,
.hgg-single-card .entry-meta a:hover,
.hgg-single-card .entry-footer a:hover,
.hgg-single-card .entry-content a:hover,
.hgg-post-card .entry-summary a:hover {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover, #0b4ec2));
}

.hgg-post-card .entry-summary,
.hgg-single-card .entry-content,
.hgg-single-card .entry-footer {
    color: var(--hgg-blog-excerpt, var(--hgg-text-muted, #52607a));
}

.hgg-post-card .hgg-read-more {
    color: var(--hgg-blog-readmore-text, #ffffff);
    background: var(--hgg-blog-readmore-bg, var(--hgg-button-bg, #5f8f00));
}

.hgg-post-card .hgg-read-more:hover,
.hgg-post-card .hgg-read-more:focus {
    color: var(--hgg-blog-readmore-hover-text, var(--hgg-blog-readmore-text, #ffffff));
    background: var(--hgg-blog-readmore-hover-bg, var(--hgg-button-hover-bg, #4a7200));
}

/* tablet: always 2 columns for card archive */
@media (min-width: 781px) and (max-width: 1100px) {
    .huuguu-blog-archive-style-card .huuguu-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* === V41.3 BLOG FIXES + PAGINATION === */

/* force title color to win over global link styles */
.hgg-post-card .entry-title,
.hgg-post-card .entry-title a,
.hgg-single-card .entry-title,
.hgg-single-card .entry-title a,
.huuguu-blog-primary .page-title,
.huuguu-related-posts__title {
    color: var(--hgg-blog-title, var(--hgg-text)) !important;
}

/* archive card radius + shadow must always apply */
.hgg-post-card,
.huuguu-related-posts .hgg-post-card {
    border-radius: var(--hgg-blog-archive-card-radius, 18px) !important;
    box-shadow: var(--hgg-blog-archive-card-shadow, none) !important;
    overflow: hidden !important;
}

.hgg-post-card .post-thumbnail,
.hgg-post-card .post-thumbnail img {
    border-radius: 0 !important;
}

/* read more button must ignore header button colors */
.hgg-post-card .hgg-read-more,
.huuguu-related-posts .hgg-read-more {
    color: var(--hgg-blog-readmore-text, #ffffff) !important;
    background: var(--hgg-blog-readmore-bg, var(--hgg-button-bg, #5f8f00)) !important;
}

.hgg-post-card .hgg-read-more:hover,
.hgg-post-card .hgg-read-more:focus,
.huuguu-related-posts .hgg-read-more:hover,
.huuguu-related-posts .hgg-read-more:focus {
    color: var(--hgg-blog-readmore-hover-text, var(--hgg-blog-readmore-text, #ffffff)) !important;
    background: var(--hgg-blog-readmore-hover-bg, var(--hgg-button-hover-bg, #4a7200)) !important;
    opacity: 1 !important;
}

/* styled numbered pagination */
.huuguu-blog-primary .navigation.pagination,
.huuguu-blog-primary .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    align-items: center;
    margin-top: 2rem;
}

.huuguu-blog-primary .nav-links .page-numbers {
    display: inline-flex;
    min-width: 46px;
    min-height: 46px;
    padding: .7rem .95rem;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    text-decoration: none;
    font-weight: 700;
    border: 1px solid rgba(23,32,51,.10);
    background: var(--hgg-blog-pagination-bg, #ffffff);
    color: var(--hgg-blog-pagination-text, var(--hgg-text)) !important;
    box-shadow: 0 8px 22px rgba(23,32,51,.06);
}

.huuguu-blog-primary .nav-links .page-numbers.current {
    background: var(--hgg-blog-pagination-current-bg, var(--hgg-button-bg, #5f8f00));
    color: var(--hgg-blog-pagination-current-text, #ffffff) !important;
    border-color: transparent;
}

.huuguu-blog-primary .nav-links .page-numbers:hover,
.huuguu-blog-primary .nav-links .page-numbers:focus {
    color: var(--hgg-blog-pagination-current-text, #ffffff) !important;
    background: var(--hgg-blog-pagination-current-bg, var(--hgg-button-hover-bg, #4a7200));
}

/* keep 2 columns on tablet even when 3 or 4 desktop cols */
@media (min-width: 781px) and (max-width: 1100px) {
    .huuguu-blog-archive .huuguu-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* === V41.4 BLOG HARD FIXES + PAGE TITLE ALIGN === */

/* stronger blog color isolation from global theme links */
.huuguu-blog-primary .hgg-post-card .entry-title,
.huuguu-blog-primary .hgg-post-card .entry-title a,
.huuguu-blog-primary .hgg-single-card .entry-title,
.huuguu-blog-primary .hgg-single-card .entry-title a,
.huuguu-blog-primary .page-title,
.huuguu-blog-primary .hgg-post-card .entry-title a:visited,
.huuguu-blog-primary .hgg-single-card .entry-title a:visited {
    color: var(--hgg-blog-title, var(--hgg-text)) !important;
}

.huuguu-blog-primary .hgg-post-card .hgg-read-more,
.huuguu-blog-primary .huuguu-related-posts .hgg-read-more,
.huuguu-blog-primary a.hgg-read-more,
.huuguu-blog-primary a.hgg-read-more:visited {
    color: var(--hgg-blog-readmore-text, #ffffff) !important;
    background-color: var(--hgg-blog-readmore-bg, var(--hgg-button-bg, #5f8f00)) !important;
    border-color: transparent !important;
}

.huuguu-blog-primary .hgg-post-card .hgg-read-more:hover,
.huuguu-blog-primary .hgg-post-card .hgg-read-more:focus,
.huuguu-blog-primary .huuguu-related-posts .hgg-read-more:hover,
.huuguu-blog-primary .huuguu-related-posts .hgg-read-more:focus,
.huuguu-blog-primary a.hgg-read-more:hover,
.huuguu-blog-primary a.hgg-read-more:focus {
    color: var(--hgg-blog-readmore-hover-text, var(--hgg-blog-readmore-text, #ffffff)) !important;
    background-color: var(--hgg-blog-readmore-hover-bg, var(--hgg-button-hover-bg, #4a7200)) !important;
    border-color: transparent !important;
}

/* center pagination */
.huuguu-blog-primary .navigation.pagination,
.huuguu-blog-primary .nav-links {
    justify-content: center !important;
}

/* general page title / main h1 alignment */
.site-main .page-header .page-title,
.site-main > article .entry-header > .entry-title,
.site-main .type-page > .entry-header > .entry-title,
.site-main .type-post > .entry-header > .entry-title {
    text-align: var(--hgg-page-title-align, left);
}

/* ensure archive card radius/shadow always visible */
.huuguu-blog-primary .hgg-post-card,
.huuguu-blog-primary .huuguu-related-posts .hgg-post-card {
    border-radius: var(--hgg-blog-archive-card-radius, 18px) !important;
    box-shadow: var(--hgg-blog-archive-card-shadow, none) !important;
    overflow: hidden !important;
    background-clip: padding-box !important;
}


/* === V42 TYPOGRAPHY SYSTEM === */
.site-main .page-header .page-title,
.site-main > article .entry-header > .entry-title,
.site-main .type-page > .entry-header > .entry-title,
.site-main .type-post > .entry-header > .entry-title,
.site-main .archive .page-title,
.site-main .search .page-title {
    text-align: var(--hgg-page-title-align, left) !important;
    font-size: clamp(1.8rem, calc(var(--hgg-page-title-size, 48px) * 0.45), var(--hgg-page-title-size, 48px)) !important;
    font-weight: var(--hgg-page-title-weight, 700) !important;
    color: var(--hgg-page-title-color, var(--hgg-text)) !important;
    line-height: 1.08;
}

@media (max-width: 767px) {
    .site-main .page-header .page-title,
    .site-main > article .entry-header > .entry-title,
    .site-main .type-page > .entry-header > .entry-title,
    .site-main .type-post > .entry-header > .entry-title,
    .site-main .archive .page-title,
    .site-main .search .page-title {
        font-size: clamp(1.6rem, calc(var(--hgg-page-title-size, 48px) * 0.38), calc(var(--hgg-page-title-size, 48px) * 0.72)) !important;
    }
}


/* === V42.6 BLOG BREADCRUMB + COMMENTS + READMORE === */

/* blog read more must override generic header button colors */
.huuguu-blog-primary .hgg-read-more,
.huuguu-blog-primary .hgg-read-more:visited,
.huuguu-blog-primary a.hgg-read-more,
.huuguu-blog-primary a.hgg-read-more:visited {
    color: var(--hgg-blog-readmore-text, #ffffff) !important;
    background: var(--hgg-blog-readmore-bg, #5f8f00) !important;
    border-color: transparent !important;
}

.huuguu-blog-primary .hgg-read-more:hover,
.huuguu-blog-primary .hgg-read-more:focus,
.huuguu-blog-primary a.hgg-read-more:hover,
.huuguu-blog-primary a.hgg-read-more:focus {
    color: var(--hgg-blog-readmore-hover-text, var(--hgg-blog-readmore-text, #ffffff)) !important;
    background: var(--hgg-blog-readmore-hover-bg, #4a7200) !important;
    border-color: transparent !important;
    opacity: 1 !important;
}

/* blog/global breadcrumb with one-line mobile ellipsis */
.huuguu-global-breadcrumb-bar {
    width: 100%;
    background: var(--hgg-wc-breadcrumb-bg, #f6f7fb);
    border-top: 1px solid rgba(23,32,51,.05);
    border-bottom: 1px solid rgba(23,32,51,.07);
    margin: 0 0 1.25rem;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: .45rem;
    width: min(100% - 2rem, var(--hgg-container));
    margin: 0 auto !important;
    padding: var(--hgg-wc-breadcrumb-pad-y, 14px) var(--hgg-wc-breadcrumb-pad-x, 18px);
    background: transparent !important;
    color: var(--hgg-wc-breadcrumb-text, #172033);
    border-radius: 0;
    font-size: .95rem;
    line-height: 1.35;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready > * {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready a,
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready a:visited {
    color: var(--hgg-wc-breadcrumb-text, #172033) !important;
    text-decoration: none;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-current {
    color: var(--hgg-wc-breadcrumb-current, #9aa4b5) !important;
}

.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-home::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-right: .45rem;
    vertical-align: -1px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* comments */
.huuguu-comments-card {
    margin-top: 2.5rem;
    padding: 1.5rem;
    background: var(--hgg-surface, #ffffff);
    border: 1px solid rgba(23,32,51,.10);
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(23,32,51,.05);
}

.huuguu-comments-card .comments-title,
.huuguu-comments-card .comment-reply-title {
    margin: 0 0 1rem;
    font-size: 1.55rem;
    line-height: 1.15;
}

.huuguu-comments-card .comment-list {
    list-style: none;
    margin: 0 0 2rem;
    padding: 0;
}

.huuguu-comments-card .comment-list .comment {
    margin: 0 0 1rem;
    padding: 1rem 1rem 1rem 0;
    border-bottom: 1px solid rgba(23,32,51,.08);
}

.huuguu-comments-card .comment-body {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 1rem;
}

.huuguu-comments-card .comment-author img {
    border-radius: 999px;
}

.huuguu-comments-card .comment-metadata {
    font-size: .92rem;
    color: var(--hgg-muted, #677287);
    margin-top: .2rem;
}

.huuguu-comments-card .comment-content p {
    margin: .75rem 0 0;
}

.huuguu-comment-form {
    display: grid;
    gap: 1rem;
}

.huuguu-comment-form p {
    margin: 0;
}

.huuguu-comment-form label {
    display: block;
    margin-bottom: .45rem;
    font-weight: 600;
    color: var(--hgg-text, #172033);
}

.huuguu-comment-form input[type="text"],
.huuguu-comment-form input[type="email"],
.huuguu-comment-form input[type="url"],
.huuguu-comment-form textarea {
    width: 100%;
    padding: .9rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(23,32,51,.15);
    background: #fff;
    color: var(--hgg-text, #172033);
    font-size: .97rem;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    box-shadow: none;
}

.huuguu-comment-form input[type="text"]:focus,
.huuguu-comment-form input[type="email"]:focus,
.huuguu-comment-form input[type="url"]:focus,
.huuguu-comment-form textarea:focus {
    border-color: var(--hgg-primary, #246de8);
    box-shadow: 0 0 0 3px rgba(36,109,232,.12);
    outline: none;
}

.huuguu-comment-form textarea {
    min-height: 180px;
    resize: vertical;
}

.huuguu-comment-form .comment-form-author,
.huuguu-comment-form .comment-form-email,
.huuguu-comment-form .comment-form-url {
    display: grid;
    gap: .45rem;
}

.huuguu-comment-form .comment-form-cookies-consent {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    font-size: .94rem;
}

.huuguu-comment-form .submit {
    align-self: start;
}

@media (min-width: 768px) {
    .huuguu-comment-form {
        grid-template-columns: 1fr;
    }
}


/* === V42.7 BLOG SINGLE LAYOUT CORRECTION === */

/* single post title own alignment override */
.single-post .site-main > article .entry-header > .entry-title,
.single-post .site-main .type-post > .entry-header > .entry-title {
    text-align: var(--hgg-blog-single-title-align, var(--hgg-page-title-align, left)) !important;
}

/* related posts must adapt to actual count */
.huuguu-related-posts {
    display: grid;
    gap: 1.5rem;
}

.huuguu-related-posts.count-1 {
    grid-template-columns: minmax(0, 1fr);
    max-width: 420px;
}

.huuguu-related-posts.count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 900px;
}

.huuguu-related-posts.count-3,
.huuguu-related-posts.count-4,
.huuguu-related-posts.count-5,
.huuguu-related-posts.count-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
    .huuguu-related-posts,
    .huuguu-related-posts.count-2,
    .huuguu-related-posts.count-3,
    .huuguu-related-posts.count-4,
    .huuguu-related-posts.count-5,
    .huuguu-related-posts.count-6 {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

/* breadcrumb full-width and placed before main */
.huuguu-global-breadcrumb-bar {
    margin: 0 0 1.25rem !important;
}

/* comment inputs one per line */
.huuguu-comment-form .comment-form-author,
.huuguu-comment-form .comment-form-email,
.huuguu-comment-form .comment-form-url {
    grid-column: 1 / -1;
}


/* === V42.7.2 HARD FIXES === */

/* archive and single read more: force text + hover text from customizer */
.huuguu-blog-primary .hgg-post-card .hgg-read-more,
.huuguu-blog-primary .hgg-post-card .hgg-read-more:visited,
.huuguu-blog-primary .hgg-post-card a.hgg-read-more,
.huuguu-blog-primary .hgg-post-card a.hgg-read-more:visited,
.huuguu-blog-primary .huuguu-related-posts .hgg-read-more,
.huuguu-blog-primary .huuguu-related-posts .hgg-read-more:visited,
.huuguu-blog-primary .huuguu-related-posts a.hgg-read-more,
.huuguu-blog-primary .huuguu-related-posts a.hgg-read-more:visited {
    color: var(--hgg-blog-readmore-text, #ffffff) !important;
    -webkit-text-fill-color: var(--hgg-blog-readmore-text, #ffffff) !important;
    background-color: var(--hgg-blog-readmore-bg, #5f8f00) !important;
    background-image: none !important;
    border-color: transparent !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

.huuguu-blog-primary .hgg-post-card .hgg-read-more:hover,
.huuguu-blog-primary .hgg-post-card .hgg-read-more:focus,
.huuguu-blog-primary .hgg-post-card a.hgg-read-more:hover,
.huuguu-blog-primary .hgg-post-card a.hgg-read-more:focus,
.huuguu-blog-primary .huuguu-related-posts .hgg-read-more:hover,
.huuguu-blog-primary .huuguu-related-posts .hgg-read-more:focus,
.huuguu-blog-primary .huuguu-related-posts a.hgg-read-more:hover,
.huuguu-blog-primary .huuguu-related-posts a.hgg-read-more:focus {
    color: var(--hgg-blog-readmore-hover-text, var(--hgg-blog-readmore-text, #ffffff)) !important;
    -webkit-text-fill-color: var(--hgg-blog-readmore-hover-text, var(--hgg-blog-readmore-text, #ffffff)) !important;
    background-color: var(--hgg-blog-readmore-hover-bg, #4a7200) !important;
    background-image: none !important;
    border-color: transparent !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

/* related posts: the layout lives on the inner grid, not the section */
.huuguu-related-posts {
    max-width: none !important;
}

.huuguu-related-posts .huuguu-related-posts__grid {
    display: grid !important;
    gap: 1.5rem !important;
    align-items: start !important;
}

.huuguu-related-posts.count-1 .huuguu-related-posts__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 420px !important;
}

.huuguu-related-posts.count-2 .huuguu-related-posts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 900px !important;
}

.huuguu-related-posts.count-3 .huuguu-related-posts__grid,
.huuguu-related-posts.count-4 .huuguu-related-posts__grid,
.huuguu-related-posts.count-5 .huuguu-related-posts__grid,
.huuguu-related-posts.count-6 .huuguu-related-posts__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: none !important;
}

@media (max-width: 900px) {
    .huuguu-related-posts .huuguu-related-posts__grid {
        grid-template-columns: 1fr !important;
        max-width: none !important;
    }
}

/* comment fields one per line, no inherited two-column grid */
.huuguu-comment-form {
    grid-template-columns: 1fr !important;
}

.huuguu-comment-form .comment-form-author,
.huuguu-comment-form .comment-form-email,
.huuguu-comment-form .comment-form-url,
.huuguu-comment-form .comment-form-comment,
.huuguu-comment-form .comment-notes,
.huuguu-comment-form .logged-in-as,
.huuguu-comment-form .comment-form-cookies-consent,
.huuguu-comment-form .form-submit {
    grid-column: 1 / -1 !important;
}


/* === V42.7.3 ABSOLUTE HARD FIXES === */

/* final read-more override: archive + related posts */
body .site-main .huuguu-blog-primary .huuguu-post-grid .hgg-post-card a.hgg-read-more,
body .site-main .huuguu-blog-primary .huuguu-post-grid .hgg-post-card a.hgg-read-more:visited,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card a.hgg-read-more,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card a.hgg-read-more:visited {
    color: var(--hgg-blog-readmore-text, #ffffff) !important;
    -webkit-text-fill-color: var(--hgg-blog-readmore-text, #ffffff) !important;
    background: var(--hgg-blog-readmore-bg, #5f8f00) !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

body .site-main .huuguu-blog-primary .huuguu-post-grid .hgg-post-card a.hgg-read-more:hover,
body .site-main .huuguu-blog-primary .huuguu-post-grid .hgg-post-card a.hgg-read-more:focus,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card a.hgg-read-more:hover,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card a.hgg-read-more:focus {
    color: var(--hgg-blog-readmore-hover-text, var(--hgg-blog-readmore-text, #ffffff)) !important;
    -webkit-text-fill-color: var(--hgg-blog-readmore-hover-text, var(--hgg-blog-readmore-text, #ffffff)) !important;
    background: var(--hgg-blog-readmore-hover-bg, #4a7200) !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

/* related posts grid count classes */
body .site-main .huuguu-blog-primary .huuguu-related-posts.count-1 .huuguu-related-posts__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 420px !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts.count-2 .huuguu-related-posts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 920px !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts.count-2 {
    max-width: 920px !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts.count-1 {
    max-width: 420px !important;
}


/* === V42.7.4 TYPOGRAPHY RESTORE + RELATED 50/50 === */

/* restore explicit site layout typography panel if CSS vars exist */
.site-main .page-header .page-title,
.site-main > article .entry-header > .entry-title,
.site-main .type-page > .entry-header > .entry-title,
.site-main .type-post > .entry-header > .entry-title,
.site-main .archive .page-title,
.site-main .search .page-title {
    text-align: var(--hgg-page-title-align, left);
}

/* related posts true 50/50 when there are 2 */
body .site-main .huuguu-blog-primary .huuguu-related-posts {
    width: 100% !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts .huuguu-related-posts__grid {
    width: 100% !important;
    display: grid !important;
    gap: 1.5rem !important;
    justify-content: stretch !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts.count-2 .huuguu-related-posts__grid,
body .site-main .huuguu-blog-primary .huuguu-related-posts[data-count="2"] .huuguu-related-posts__grid {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    max-width: none !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts.count-2 .hgg-post-card,
body .site-main .huuguu-blog-primary .huuguu-related-posts[data-count="2"] .hgg-post-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts.count-1 .huuguu-related-posts__grid,
body .site-main .huuguu-blog-primary .huuguu-related-posts[data-count="1"] .huuguu-related-posts__grid {
    grid-template-columns: minmax(0,1fr) !important;
    max-width: 420px !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts.count-3 .huuguu-related-posts__grid,
body .site-main .huuguu-blog-primary .huuguu-related-posts[data-count="3"] .huuguu-related-posts__grid,
body .site-main .huuguu-blog-primary .huuguu-related-posts.count-4 .huuguu-related-posts__grid,
body .site-main .huuguu-blog-primary .huuguu-related-posts.count-5 .huuguu-related-posts__grid,
body .site-main .huuguu-blog-primary .huuguu-related-posts.count-6 .huuguu-related-posts__grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    max-width: none !important;
}

@media (max-width: 900px) {
    body .site-main .huuguu-blog-primary .huuguu-related-posts .huuguu-related-posts__grid {
        grid-template-columns: 1fr !important;
    }
}


/* === V42.8 TYPOGRAPHY FALLBACK === */
.site-main .page-header .page-title,
.site-main > article .entry-header > .entry-title,
.site-main .type-page > .entry-header > .entry-title,
.site-main .type-post > .entry-header > .entry-title,
.site-main .archive .page-title,
.site-main .search .page-title {
    text-align: var(--hgg-page-title-align, left) !important;
    font-size: clamp(1.8rem, calc(var(--hgg-page-title-size, 48px) * 0.45), var(--hgg-page-title-size, 48px)) !important;
    font-weight: var(--hgg-page-title-weight, 700) !important;
    color: var(--hgg-page-title-color, var(--hgg-text, #172033)) !important;
    line-height: 1.08;
}


/* === V42.9 BLOG SINGLE POLISH === */
.hgg-post-meta-footer {
    margin: 2.5rem 0 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(23,32,51,.10);
}

.hgg-meta-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: .65rem;
    font-size: .95rem;
}

.hgg-meta-group > span {
    font-weight: 700;
    color: var(--hgg-text, #172033);
}

.hgg-tag {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: .35rem .8rem;
    border-radius: 999px;
    background: #f1f5f3;
    color: #1a3d2f !important;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.hgg-tag:hover,
.hgg-tag:focus {
    background: #6a9c0f;
    color: var(--hgg-wc-button-text, #fff) !important;
    transform: translateY(-1px);
}

.hgg-post-navigation {
    display: flex;
    gap: 1.25rem;
    justify-content: space-between;
    margin: 2.5rem 0;
    padding: 1.25rem;
    border: 1px solid rgba(23,32,51,.10);
    border-radius: 14px;
    background: #fafafa;
}

.hgg-post-navigation > div {
    flex: 1 1 0;
    min-width: 0;
}

.hgg-post-navigation .hgg-nav-next {
    text-align: right;
}

.hgg-post-navigation a {
    display: inline-flex;
    flex-direction: column;
    gap: .25rem;
    text-decoration: none;
    color: #222 !important;
    max-width: 100%;
}

.hgg-post-navigation a:hover .hgg-nav-title,
.hgg-post-navigation a:focus .hgg-nav-title {
    color: #6a9c0f;
}

.hgg-post-navigation .hgg-nav-label {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #6b7280;
    font-weight: 700;
}

.hgg-post-navigation .hgg-nav-title {
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 700;
    color: #172033;
    transition: color .2s ease;
}

.huuguu-related-posts {
    margin: 3rem 0 2rem;
}

.huuguu-related-posts > h2 {
    margin-bottom: 1.25rem;
    font-size: 2rem;
    line-height: 1.1;
}

.huuguu-related-posts .huuguu-related-posts__grid {
    width: 100% !important;
    display: grid !important;
    gap: 1.5rem !important;
    align-items: stretch !important;
}

.huuguu-related-posts.count-1 .huuguu-related-posts__grid,
.huuguu-related-posts[data-count="1"] .huuguu-related-posts__grid {
    grid-template-columns: minmax(0, 1fr) !important;
}

.huuguu-related-posts.count-2 .huuguu-related-posts__grid,
.huuguu-related-posts[data-count="2"] .huuguu-related-posts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.huuguu-related-posts.count-3 .huuguu-related-posts__grid,
.huuguu-related-posts[data-count="3"] .huuguu-related-posts__grid,
.huuguu-related-posts.count-4 .huuguu-related-posts__grid,
.huuguu-related-posts[data-count="4"] .huuguu-related-posts__grid,
.huuguu-related-posts.count-5 .huuguu-related-posts__grid,
.huuguu-related-posts[data-count="5"] .huuguu-related-posts__grid,
.huuguu-related-posts.count-6 .huuguu-related-posts__grid,
.huuguu-related-posts[data-count="6"] .huuguu-related-posts__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.huuguu-related-posts .hgg-post-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100%;
}

.huuguu-related-posts .hgg-post-card .hgg-post-thumb img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.huuguu-related-posts .hgg-post-card .entry-title,
.huuguu-related-posts .hgg-post-card h3,
.huuguu-related-posts .hgg-post-card h2 {
    font-size: 1.6rem !important;
    line-height: 1.15 !important;
}

.huuguu-related-posts .hgg-post-card .entry-summary,
.huuguu-related-posts .hgg-post-card .hgg-post-excerpt {
    font-size: .98rem;
    line-height: 1.7;
}

@media (max-width: 900px) {
    .hgg-post-navigation {
        flex-direction: column;
    }

    .hgg-post-navigation .hgg-nav-next {
        text-align: left;
    }

    .huuguu-related-posts .huuguu-related-posts__grid,
    .huuguu-related-posts.count-2 .huuguu-related-posts__grid,
    .huuguu-related-posts[data-count="2"] .huuguu-related-posts__grid,
    .huuguu-related-posts.count-3 .huuguu-related-posts__grid,
    .huuguu-related-posts[data-count="3"] .huuguu-related-posts__grid {
        grid-template-columns: 1fr !important;
    }
}


/* === V42.9.2 BLOG SIDEBAR POLISH === */

/* hide old duplicated top category/meta badges on single post if still printed by template/plugin */
.single-post .site-main .cat-links,
.single-post .site-main .tags-links {
    display: none !important;
}

/* blog single layout with sidebar breathing room */
.single-post.huu-blog-single-layout-contained_sidebar .site-main .site-content,
.single-post.huu-blog-single-layout-full_sidebar .site-main .site-content,
.single-post .site-main .huuguu-blog-primary.huu-has-sidebar {
    align-items: start;
}

/* sidebar widgets as premium cards */
.single-post .widget-area .widget,
.blog .widget-area .widget,
.archive .widget-area .widget,
.search .widget-area .widget {
    margin: 0 0 1.25rem;
    padding: 1.1rem 1.15rem;
    background: #fff;
    border: 1px solid rgba(23,32,51,.09);
    border-radius: 16px;
    box-shadow: 0 10px 26px rgba(23,32,51,.05);
}

.single-post .widget-area .widget:last-child,
.blog .widget-area .widget:last-child,
.archive .widget-area .widget:last-child,
.search .widget-area .widget:last-child {
    margin-bottom: 0;
}

.single-post .widget-area .widget-title,
.blog .widget-area .widget-title,
.archive .widget-area .widget-title,
.search .widget-area .widget-title {
    margin: 0 0 .9rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid rgba(23,32,51,.08);
    font-size: 1.05rem;
    line-height: 1.2;
    font-weight: 800;
    color: var(--hgg-text, #172033);
}

.single-post .widget-area .widget ul,
.blog .widget-area .widget ul,
.archive .widget-area .widget ul,
.search .widget-area .widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.single-post .widget-area .widget li,
.blog .widget-area .widget li,
.archive .widget-area .widget li,
.search .widget-area .widget li {
    margin: 0;
    padding: .45rem 0;
    border-bottom: 1px dashed rgba(23,32,51,.08);
}

.single-post .widget-area .widget li:last-child,
.blog .widget-area .widget li:last-child,
.archive .widget-area .widget li:last-child,
.search .widget-area .widget li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.single-post .widget-area .widget a,
.blog .widget-area .widget a,
.archive .widget-area .widget a,
.search .widget-area .widget a {
    color: #2457d6;
    text-decoration: none;
    line-height: 1.6;
}

.single-post .widget-area .widget a:hover,
.single-post .widget-area .widget a:focus,
.blog .widget-area .widget a:hover,
.blog .widget-area .widget a:focus,
.archive .widget-area .widget a:hover,
.archive .widget-area .widget a:focus,
.search .widget-area .widget a:hover,
.search .widget-area .widget a:focus {
    color: #6a9c0f;
    text-decoration: none;
}

.single-post .widget-area .widget p,
.blog .widget-area .widget p,
.archive .widget-area .widget p,
.search .widget-area .widget p {
    margin: 0 0 .9rem;
    line-height: 1.75;
    color: #556176;
}

.single-post .widget-area .widget p:last-child,
.blog .widget-area .widget p:last-child,
.archive .widget-area .widget p:last-child,
.search .widget-area .widget p:last-child {
    margin-bottom: 0;
}

.single-post .widget-area .widget img,
.blog .widget-area .widget img,
.archive .widget-area .widget img,
.search .widget-area .widget img {
    border-radius: 14px;
}

.single-post .widget-area .widget_search input[type="search"],
.blog .widget-area .widget_search input[type="search"],
.archive .widget-area .widget_search input[type="search"],
.search .widget-area .widget_search input[type="search"] {
    width: 100%;
    min-height: 46px;
    padding: .8rem .95rem;
    border: 1px solid rgba(23,32,51,.14);
    border-radius: 12px;
    background: #fff;
}

.single-post .widget-area .widget_search button,
.blog .widget-area .widget_search button,
.archive .widget-area .widget_search button,
.search .widget-area .widget_search button {
    margin-top: .7rem;
}

/* ensure sidebar column itself has spacing */
.single-post .widget-area,
.blog .widget-area,
.archive .widget-area,
.search .widget-area {
    display: grid;
    gap: 1.25rem;
}

/* small cleanup for related heading and comments spacing */
.huuguu-related-posts + .comments-area {
    margin-top: 2rem;
}


/* === V42.9.3 RELATED GRID AUTOFIT === */
.huuguu-related-posts {
    width: 100% !important;
    max-width: none !important;
}

.huuguu-related-posts .huuguu-related-posts__grid {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    gap: 1.5rem !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    align-items: stretch !important;
    justify-content: stretch !important;
}

.huuguu-related-posts .huuguu-related-posts__grid > * {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.huuguu-related-posts .hgg-post-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

@media (min-width: 901px) {
    .huuguu-related-posts[data-count="1"] .huuguu-related-posts__grid,
    .huuguu-related-posts.count-1 .huuguu-related-posts__grid {
        grid-template-columns: 1fr !important;
    }

    .huuguu-related-posts[data-count="2"] .huuguu-related-posts__grid,
    .huuguu-related-posts.count-2 .huuguu-related-posts__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .huuguu-related-posts[data-count="3"] .huuguu-related-posts__grid,
    .huuguu-related-posts.count-3 .huuguu-related-posts__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}


/* === V42.9.4 RELATED WRAPPER FIX === */
.huuguu-related-posts {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 3rem 0 2rem !important;
}

.huuguu-related-posts > h2,
.huuguu-related-posts > h3 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 1.25rem !important;
}

.huuguu-related-posts .huuguu-related-posts__grid {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
    align-items: stretch !important;
    justify-content: stretch !important;
}

.huuguu-related-posts .huuguu-related-posts__grid > * {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.huuguu-related-posts .hgg-post-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
}

.huuguu-related-posts[data-count="1"] .huuguu-related-posts__grid,
.huuguu-related-posts.count-1 .huuguu-related-posts__grid {
    grid-template-columns: 1fr !important;
}

.huuguu-related-posts[data-count="2"] .huuguu-related-posts__grid,
.huuguu-related-posts.count-2 .huuguu-related-posts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.huuguu-related-posts[data-count="3"] .huuguu-related-posts__grid,
.huuguu-related-posts.count-3 .huuguu-related-posts__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 900px) {
    .huuguu-related-posts .huuguu-related-posts__grid,
    .huuguu-related-posts[data-count="2"] .huuguu-related-posts__grid,
    .huuguu-related-posts.count-2 .huuguu-related-posts__grid,
    .huuguu-related-posts[data-count="3"] .huuguu-related-posts__grid,
    .huuguu-related-posts.count-3 .huuguu-related-posts__grid {
        grid-template-columns: 1fr !important;
    }
}


/* === V42.9.5 BREADCRUMB HEADER ATTACHMENT === */
.huuguu-global-breadcrumb-bar {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--hgg-breadcrumb-bg, #f6f7fb);
    border-top: 1px solid rgba(23, 32, 51, 0.06);
    border-bottom: 1px solid rgba(23, 32, 51, 0.06);
}

.site-header + .huuguu-global-breadcrumb-bar,
#masthead + .huuguu-global-breadcrumb-bar,
header + .huuguu-global-breadcrumb-bar {
    margin-top: 0 !important;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    max-width: var(--hgg-breadcrumb-container, var(--hgg-site-width, 1240px));
    margin: 0 auto !important;
    padding: 12px 0px !important;
    display: block;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.huuguu-global-breadcrumb-bar + .site-main,
.huuguu-global-breadcrumb-bar + main,
.huuguu-global-breadcrumb-bar + #primary {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.site-header {
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
        padding: 10px 16px !important;
    }
}


/* === V42.9.6 WOO BREADCRUMB POSITION PARITY === */
.site-header + .huuguu-global-breadcrumb-bar {
    margin-top: 0 !important;
}

.huuguu-global-breadcrumb-bar + .woocommerce-page,
.huuguu-global-breadcrumb-bar + .woocommerce,
.huuguu-global-breadcrumb-bar + main,
.huuguu-global-breadcrumb-bar + .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* === V42.9.7 BLOG MARGINS + ELEMENTOR LINKS FIX === */

/* restore comfortable top spacing on blog contexts after breadcrumb */
body.blog .huuguu-global-breadcrumb-bar + .site-main,
body.home.blog .huuguu-global-breadcrumb-bar + .site-main,
body.single-post .huuguu-global-breadcrumb-bar + .site-main,
body.archive:not(.woocommerce):not(.woocommerce-page) .huuguu-global-breadcrumb-bar + .site-main,
body.search .huuguu-global-breadcrumb-bar + .site-main {
    padding-top: 1.4rem !important;
}

/* keep Woo breadcrumb attached with no extra gap */
body.woocommerce .huuguu-global-breadcrumb-bar + .site-main,
body.woocommerce-page .huuguu-global-breadcrumb-bar + .site-main,
body.single-product .huuguu-global-breadcrumb-bar + .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Elementor should control its own links/buttons */
body.elementor-page .elementor a,
body.elementor-page .elementor a:hover,
body.elementor-page .elementor a:focus,
body.elementor-page .elementor-widget a,
body.elementor-page .elementor-widget a:hover,
body.elementor-page .elementor-widget a:focus,
body.elementor-page .elementor-widget-text-editor a,
body.elementor-page .elementor-widget-text-editor a:hover,
body.elementor-page .elementor-icon-list-item a,
body.elementor-page .elementor-icon-list-item a:hover,
body.elementor-page .elementor-button,
body.elementor-page .elementor-button:visited,
body.elementor-page .elementor-button:hover,
body.elementor-page .elementor-button:focus,
body.elementor-page .elementor-button-link,
body.elementor-page .elementor-button-link:visited,
body.elementor-page .elementor-button-link:hover,
body.elementor-page .elementor-button-link:focus,
body.elementor-page .elementor-button .elementor-button-text,
body.elementor-page .elementor-button .elementor-button-icon {
    color: inherit !important;
}

/* and elementor containers should not be forced into theme content cards */
body.elementor-page .site-main .entry-content,
body.elementor-page .site-main .page-content,
body.elementor-page .site-main article.type-page,
body.elementor-page .site-main article.type-post {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}


/* === V43.0 GLOBAL SPACING + SHOP SIDEBAR + 404 === */

/* global breathing room after breadcrumb across blog, search, 404, pages and Woo */
.huuguu-global-breadcrumb-bar + .site-main,
.huuguu-global-breadcrumb-bar + main,
.huuguu-global-breadcrumb-bar + #primary {
    /*padding-top: clamp(1rem, 2vw, 1.5rem) !important;*/
    margin-top: 0 !important;
}

/* breadcrumb polish */
.huuguu-global-breadcrumb-bar {
    background: var(--hgg-breadcrumb-bg, #f6f7fb);
    border-top: 1px solid rgba(23,32,51,.05);
    border-bottom: 1px solid rgba(23,32,51,.08);
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    line-height: 1.45;
}

.huuguu-breadcrumb-sep {
    opacity: .55;
    margin-inline: .55rem;
}

@media (max-width: 767px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* shop/archive products should start from the left and not float around the center */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: flex-start !important;
    align-items: stretch;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
    flex: 0 0 calc((100% - ((var(--hgg-wc-archive-columns-desktop, 3) - 1) * 1.5rem)) / var(--hgg-wc-archive-columns-desktop, 3));
    max-width: calc((100% - ((var(--hgg-wc-archive-columns-desktop, 3) - 1) * 1.5rem)) / var(--hgg-wc-archive-columns-desktop, 3));
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

@media (max-width: 980px) {
    .post-type-archive-product ul.products li.product,
    .tax-product_cat ul.products li.product,
    .tax-product_tag ul.products li.product {
        flex-basis: calc((100% - 1.5rem) / 2);
        max-width: calc((100% - 1.5rem) / 2);
    }
}

@media (max-width: 640px) {
    .post-type-archive-product ul.products li.product,
    .tax-product_cat ul.products li.product,
    .tax-product_tag ul.products li.product {
        flex-basis: 100%;
        max-width: 100%;
    }
}

/* Woo archive toolbar */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
    margin: 0 0 1rem;
    color: var(--hgg-text, #172033);
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
    margin: 0 0 1.5rem 1rem;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
    min-height: 48px;
    padding: .75rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(23,32,51,.12);
    background: #fff;
}

/* Woo pagination ready */
.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
    margin-top: 2rem;
    display: flex;
    justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem;
    border: 0 !important;
    margin: 0;
    padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-page nav.woocommerce-pagination ul li {
    border: 0 !important;
    margin: 0;
    padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce-page nav.woocommerce-pagination ul li a,
.woocommerce-page nav.woocommerce-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    min-height: 46px;
    padding: .65rem .9rem;
    border-radius: 14px;
    border: 1px solid rgba(23,32,51,.10);
    background: #fff;
    color: var(--hgg-text, #172033);
    text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce-page nav.woocommerce-pagination ul li span.current {
    background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8));
    color: var(--hgg-wc-button-text, #fff);
    border-color: transparent;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce-page nav.woocommerce-pagination ul li a:hover {
    background: var(--hgg-wc-button-bg, var(--hgg-primary, #246de8));
    color: var(--hgg-wc-button-text, #fff);
    border-color: transparent;
}

/* dedicated shop sidebar widgets */
body.woocommerce .widget-area .widget,
body.woocommerce-page .widget-area .widget,
.post-type-archive-product .widget-area .widget,
.tax-product_cat .widget-area .widget,
.tax-product_tag .widget-area .widget,
.single-product .widget-area .widget {
    background: #fff;
    border: 1px solid rgba(23,32,51,.09);
    border-radius: 16px;
    box-shadow: 0 10px 26px rgba(23,32,51,.05);
}

/* 404 polish */
.hgg-404-shell {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}

.hgg-404-content {
    padding: 1.25rem 0 0;
}

.hgg-404-lead {
    font-size: 1.08rem;
    color: var(--hgg-muted, #6b7280);
    margin: 0 0 1.5rem;
}

.error-404 .search-form {
    max-width: 760px;
    margin: 0 auto;
}

/* search and 404 titles spacing */
.search .page-header,
.error404 .page-header,
.post-type-archive-product .page-header,
.tax-product_cat .page-header,
.tax-product_tag .page-header,
.single-product .product {
    margin-top: 0;
}


/* === V43.0.2 WOO ARCHIVE/TAXONOMY LAYOUTS === */
.huuguu-woocommerce-primary {
    min-width: 0;
}

.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    justify-content: start !important;
    margin-left: 0 !important;
}

.post-type-archive-product.woocommerce .huuguu-content-wrap,
.tax-product_cat .huuguu-content-wrap,
.tax-product_tag .huuguu-content-wrap,
.tax-product_brand .huuguu-content-wrap {
    align-items: start;
}

.post-type-archive-product.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap,
.tax-product_cat.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap,
.tax-product_tag.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap,
.tax-product_brand.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 2rem;
    width: min(100% - 2rem, var(--hgg-wc-archive-container, var(--hgg-container))) !important;
    max-width: none !important;
}

.post-type-archive-product.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,
.tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,
.tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,
.tax-product_brand.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 2rem;
    width: calc(100% - 2rem) !important;
    max-width: none !important;
}

.post-type-archive-product.huuguu-wc-archive-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
.tax-product_cat.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
.tax-product_tag.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap,
.tax-product_brand.huuguu-wc-taxonomy-layout-contained_no_sidebar .huuguu-woocommerce-wrap {
    display: block !important;
    width: min(100% - 2rem, var(--hgg-wc-archive-container, var(--hgg-container))) !important;
    max-width: none !important;
}

.post-type-archive-product.huuguu-wc-archive-layout-full_no_sidebar .huuguu-woocommerce-wrap,
.tax-product_cat.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,
.tax-product_tag.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap,
.tax-product_brand.huuguu-wc-taxonomy-layout-full_no_sidebar .huuguu-woocommerce-wrap {
    display: block !important;
    width: calc(100% - 2rem) !important;
    max-width: none !important;
}

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

.post-type-archive-product.huuguu-wc-archive-layout-contained_sidebar #secondary,
.post-type-archive-product.huuguu-wc-archive-layout-full_sidebar #secondary,
.tax-product_cat.huuguu-wc-taxonomy-layout-contained_sidebar #secondary,
.tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar #secondary,
.tax-product_tag.huuguu-wc-taxonomy-layout-contained_sidebar #secondary,
.tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar #secondary,
.tax-product_brand.huuguu-wc-taxonomy-layout-contained_sidebar #secondary,
.tax-product_brand.huuguu-wc-taxonomy-layout-full_sidebar #secondary {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 !important;
}

.post-type-archive-product .huuguu-woocommerce-primary .woocommerce-result-count,
.tax-product_cat .huuguu-woocommerce-primary .woocommerce-result-count,
.tax-product_tag .huuguu-woocommerce-primary .woocommerce-result-count,
.tax-product_brand .huuguu-woocommerce-primary .woocommerce-result-count {
    float: left !important;
    margin-left: 0 !important;
}

.post-type-archive-product .huuguu-woocommerce-primary .woocommerce-ordering,
.tax-product_cat .huuguu-woocommerce-primary .woocommerce-ordering,
.tax-product_tag .huuguu-woocommerce-primary .woocommerce-ordering,
.tax-product_brand .huuguu-woocommerce-primary .woocommerce-ordering {
    float: right !important;
    margin-right: 0 !important;
}

@media (max-width: 1024px) {
    .post-type-archive-product.huuguu-wc-archive-layout-contained_sidebar .huuguu-woocommerce-wrap,
    .post-type-archive-product.huuguu-wc-archive-layout-full_sidebar .huuguu-woocommerce-wrap,
    .tax-product_cat.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap,
    .tax-product_cat.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,
    .tax-product_tag.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap,
    .tax-product_tag.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap,
    .tax-product_brand.huuguu-wc-taxonomy-layout-contained_sidebar .huuguu-woocommerce-wrap,
    .tax-product_brand.huuguu-wc-taxonomy-layout-full_sidebar .huuguu-woocommerce-wrap {
        grid-template-columns: 1fr !important;
    }

    .post-type-archive-product .huuguu-woocommerce-primary .woocommerce-ordering,
    .post-type-archive-product .huuguu-woocommerce-primary .woocommerce-result-count,
    .tax-product_cat .huuguu-woocommerce-primary .woocommerce-ordering,
    .tax-product_cat .huuguu-woocommerce-primary .woocommerce-result-count,
    .tax-product_tag .huuguu-woocommerce-primary .woocommerce-ordering,
    .tax-product_tag .huuguu-woocommerce-primary .woocommerce-result-count,
    .tax-product_brand .huuguu-woocommerce-primary .woocommerce-ordering,
    .tax-product_brand .huuguu-woocommerce-primary .woocommerce-result-count {
        float: none !important;
    }
}


/* === V43.0.5 WOO ARCHIVE GRID AUTOFIT === */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 1.5rem !important;
    align-items: stretch !important;
    justify-content: start !important;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.tax-product_brand ul.products li.product {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    display: flex !important;
}

.post-type-archive-product ul.products li.product .hgg-product-card,
.tax-product_cat ul.products li.product .hgg-product-card,
.tax-product_tag ul.products li.product .hgg-product-card,
.tax-product_brand ul.products li.product .hgg-product-card,
.post-type-archive-product ul.products li.product .product,
.tax-product_cat ul.products li.product .product,
.tax-product_tag ul.products li.product .product,
.tax-product_brand ul.products li.product .product {
    width: 100% !important;
    height: 100% !important;
}

@media (max-width: 680px) {
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* === V43.0.6 BREADCRUMB + PROFESSIONAL PRODUCT CARDS === */

/* Use customizer-controlled breadcrumb colors on the outer bar and inner trail */
.huuguu-global-breadcrumb-bar {
    background: var(--hgg-wc-breadcrumb-bg, var(--hgg-breadcrumb-bg, #f6f7fb)) !important;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    color: var(--hgg-wc-breadcrumb-text, #172033) !important;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb a,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready a {
    color: var(--hgg-wc-breadcrumb-text, #172033) !important;
}

.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-current {
    color: var(--hgg-wc-breadcrumb-current, #9aa4b5) !important;
}

@media (max-width: 768px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: .92rem !important;
        line-height: 1.25 !important;
    }
}

/* Professional Woo archive/tax cards */
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.tax-product_brand ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(23,32,51,.07) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 28px rgba(23,32,51,.06) !important;
    padding: 14px !important;
    overflow: hidden !important;
}

.post-type-archive-product ul.products li.product > a:first-of-type,
.tax-product_cat ul.products li.product > a:first-of-type,
.tax-product_tag ul.products li.product > a:first-of-type,
.tax-product_brand ul.products li.product > a:first-of-type {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .9rem !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    text-decoration: none !important;
}

.post-type-archive-product ul.products li.product img,
.tax-product_cat ul.products li.product img,
.tax-product_tag ul.products li.product img,
.tax-product_brand ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 16px !important;
    margin: 0 !important;
}

.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
.tax-product_brand ul.products li.product .woocommerce-loop-product__title {
    margin: 0 !important;
    font-size: 1.18rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: var(--hgg-text, #172033) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 3.6em !important;
}

.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price,
.tax-product_brand ul.products li.product .price {
    margin: 0 !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
    color: var(--hgg-text, #172033) !important;
}

.post-type-archive-product ul.products li.product .price .woocommerce-Price-amount,
.tax-product_cat ul.products li.product .price .woocommerce-Price-amount,
.tax-product_tag ul.products li.product .price .woocommerce-Price-amount,
.tax-product_brand ul.products li.product .price .woocommerce-Price-amount {
    font-weight: 800 !important;
}

.post-type-archive-product ul.products li.product .button,
.post-type-archive-product ul.products li.product a.button,
.post-type-archive-product ul.products li.product .add_to_cart_button,
.tax-product_cat ul.products li.product .button,
.tax-product_cat ul.products li.product a.button,
.tax-product_cat ul.products li.product .add_to_cart_button,
.tax-product_tag ul.products li.product .button,
.tax-product_tag ul.products li.product a.button,
.tax-product_tag ul.products li.product .add_to_cart_button,
.tax-product_brand ul.products li.product .button,
.tax-product_brand ul.products li.product a.button,
.tax-product_brand ul.products li.product .add_to_cart_button {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 1rem 0 0 !important;
    padding: .85rem 1rem !important;
    border-radius: 14px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    align-self: stretch !important;
}

.post-type-archive-product ul.products li.product .button + .added_to_cart,
.tax-product_cat ul.products li.product .button + .added_to_cart,
.tax-product_tag ul.products li.product .button + .added_to_cart,
.tax-product_brand ul.products li.product .button + .added_to_cart {
    display: inline-block !important;
    margin-top: .65rem !important;
}

.post-type-archive-product ul.products li.product .star-rating,
.tax-product_cat ul.products li.product .star-rating,
.tax-product_tag ul.products li.product .star-rating,
.tax-product_brand ul.products li.product .star-rating {
    margin: .1rem 0 .35rem !important;
}

@media (max-width: 680px) {
    .post-type-archive-product ul.products li.product,
    .tax-product_cat ul.products li.product,
    .tax-product_tag ul.products li.product,
    .tax-product_brand ul.products li.product {
        border-radius: 18px !important;
        padding: 12px !important;
    }
}


/* === V43.0.7 WOO BREADCRUMB DEDUP + 404 I18N === */
body.woocommerce-cart main.site-main > .huuguu-global-breadcrumb-bar,
body.woocommerce-checkout main.site-main > .huuguu-global-breadcrumb-bar,
body.woocommerce-account main.site-main > .huuguu-global-breadcrumb-bar {
    display: none !important;
}

.error404 .hgg-404-shell {
    padding: clamp(1rem, 2vw, 2rem) 0 clamp(2rem, 4vw, 3rem);
}

.error404 .hgg-404-content .search-form {
    max-width: 720px;
    margin-inline: auto;
}


/* === V43.1 WOO ARCHIVE WIDTH + GRID POLISH === */

/* Archive/tax main area must really occupy the available width */
.post-type-archive-product .huuguu-content-wrap,
.tax-product_cat .huuguu-content-wrap,
.tax-product_tag .huuguu-content-wrap,
.tax-product_brand .huuguu-content-wrap {
    align-items: start !important;
}

.post-type-archive-product .huuguu-primary,
.tax-product_cat .huuguu-primary,
.tax-product_tag .huuguu-primary,
.tax-product_brand .huuguu-primary,
.post-type-archive-product .huuguu-woocommerce-primary,
.tax-product_cat .huuguu-woocommerce-primary,
.tax-product_tag .huuguu-woocommerce-primary,
.tax-product_brand .huuguu-woocommerce-primary {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
	padding-top:25px;
}

/* Keep the product list aligned from the left edge of the usable area */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: start !important;
    justify-items: stretch !important;
    align-items: stretch !important;
    justify-self: start !important;
}

/* Woo floats/pseudo-clears can create awkward gaps when theme switches to grid */
.post-type-archive-product ul.products::before,
.post-type-archive-product ul.products::after,
.tax-product_cat ul.products::before,
.tax-product_cat ul.products::after,
.tax-product_tag ul.products::before,
.tax-product_tag ul.products::after,
.tax-product_brand ul.products::before,
.tax-product_brand ul.products::after {
    display: none !important;
    content: none !important;
}

/* Explicit desktop behavior so cards start on the first column without a dead zone */
@media (min-width: 1025px) {
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 681px) and (max-width: 1024px) {
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* === V43.2 WOO ARCHIVE POLISH + BREADCRUMB === */

/* Breadcrumb on Woo archive/tax/single restored and cleaner */
.huuguu-global-breadcrumb-bar {
    position: relative;
    z-index: 2;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Better archive header layout */
.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count,
.tax-product_brand .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-ordering {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count,
.tax-product_brand .woocommerce-result-count {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px;
}

.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-ordering {
    display: inline-flex !important;
    align-items: center !important;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select,
.tax-product_tag .woocommerce-ordering select,
.tax-product_brand .woocommerce-ordering select {
    min-height: 48px;
}

@media (max-width: 768px) {
    .post-type-archive-product .woocommerce-result-count,
    .tax-product_cat .woocommerce-result-count,
    .tax-product_tag .woocommerce-result-count,
    .tax-product_brand .woocommerce-result-count,
    .post-type-archive-product .woocommerce-ordering,
    .tax-product_cat .woocommerce-ordering,
    .tax-product_tag .woocommerce-ordering,
    .tax-product_brand .woocommerce-ordering {
        display: flex !important;
        float: none !important;
        justify-content: center !important;
        width: 100% !important;
        text-align: center !important;
    }

    .post-type-archive-product .woocommerce-ordering,
    .tax-product_cat .woocommerce-ordering,
    .tax-product_tag .woocommerce-ordering,
    .tax-product_brand .woocommerce-ordering {
        margin-top: .75rem !important;
    }

    .post-type-archive-product .woocommerce-ordering select,
    .tax-product_cat .woocommerce-ordering select,
    .tax-product_tag .woocommerce-ordering select,
    .tax-product_brand .woocommerce-ordering select {
        width: min(100%, 320px) !important;
        margin-inline: auto !important;
    }
}

/* Archive cards premium hover + alignment controls */
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.tax-product_brand ul.products li.product {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.post-type-archive-product ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover,
.tax-product_tag ul.products li.product:hover,
.tax-product_brand ul.products li.product:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 36px rgba(23,32,51,.10) !important;
    border-color: rgba(23,32,51,.12) !important;
}

.post-type-archive-product ul.products li.product > a:first-of-type,
.tax-product_cat ul.products li.product > a:first-of-type,
.tax-product_tag ul.products li.product > a:first-of-type,
.tax-product_brand ul.products li.product > a:first-of-type {
    text-align: var(--hgg-wc-archive-content-align, left) !important;
}

.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
.tax-product_brand ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price,
.tax-product_brand ul.products li.product .price {
    text-align: var(--hgg-wc-archive-content-align, left) !important;
}

.post-type-archive-product ul.products li.product .button,
.post-type-archive-product ul.products li.product a.button,
.post-type-archive-product ul.products li.product .add_to_cart_button,
.tax-product_cat ul.products li.product .button,
.tax-product_cat ul.products li.product a.button,
.tax-product_cat ul.products li.product .add_to_cart_button,
.tax-product_tag ul.products li.product .button,
.tax-product_tag ul.products li.product a.button,
.tax-product_tag ul.products li.product .add_to_cart_button,
.tax-product_brand ul.products li.product .button,
.tax-product_brand ul.products li.product a.button,
.tax-product_brand ul.products li.product .add_to_cart_button {
    display: var(--hgg-wc-archive-button-display, flex) !important;
    width: var(--hgg-wc-archive-button-width, 100%) !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (min-width: 1025px) {
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: repeat(var(--hgg-wc-archive-cols-desktop, 4), minmax(0, 1fr)) !important;
    }
}


/* === V43.2.1 RELATED + SHORTCODES MATCH SHOP === */

/*
 * Match the same premium product card treatment used on the shop archive
 * for related products, upsells, cross-sells, and WooCommerce shortcode grids.
 */
.single-product .related ul.products,
.single-product .up-sells ul.products,
.woocommerce-cart .cross-sells ul.products,
.woocommerce .wc-block-grid__products,
.woocommerce ul.products[class*="columns-"],
.woocommerce .products.columns-1,
.woocommerce .products.columns-2,
.woocommerce .products.columns-3,
.woocommerce .products.columns-4,
.woocommerce .products.columns-5,
.woocommerce .products.columns-6 {
    display: grid !important;
    gap: 1.5rem !important;
    align-items: stretch !important;
    justify-content: start !important;
    justify-items: stretch !important;
}

.single-product .related ul.products::before,
.single-product .related ul.products::after,
.single-product .up-sells ul.products::before,
.single-product .up-sells ul.products::after,
.woocommerce-cart .cross-sells ul.products::before,
.woocommerce-cart .cross-sells ul.products::after {
    display: none !important;
    content: none !important;
}

.single-product .related ul.products li.product,
.single-product .up-sells ul.products li.product,
.woocommerce-cart .cross-sells ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    background: #fff !important;
    border: 1px solid rgba(23,32,51,.07) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 28px rgba(23,32,51,.06) !important;
    padding: 14px !important;
    overflow: hidden !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.single-product .related ul.products li.product:hover,
.single-product .up-sells ul.products li.product:hover,
.woocommerce-cart .cross-sells ul.products li.product:hover,
.woocommerce ul.products[class*="columns-"] li.product:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 36px rgba(23,32,51,.10) !important;
    border-color: rgba(23,32,51,.12) !important;
}

.single-product .related ul.products li.product > a:first-of-type,
.single-product .up-sells ul.products li.product > a:first-of-type,
.woocommerce-cart .cross-sells ul.products li.product > a:first-of-type,
.woocommerce ul.products[class*="columns-"] li.product > a:first-of-type {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .9rem !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    text-decoration: none !important;
    text-align: var(--hgg-wc-archive-content-align, left) !important;
}

.single-product .related ul.products li.product img,
.single-product .up-sells ul.products li.product img,
.woocommerce-cart .cross-sells ul.products li.product img,
.woocommerce ul.products[class*="columns-"] li.product img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 16px !important;
    margin: 0 !important;
}

.single-product .related ul.products li.product .woocommerce-loop-product__title,
.single-product .up-sells ul.products li.product .woocommerce-loop-product__title,
.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products[class*="columns-"] li.product .woocommerce-loop-product__title {
    margin: 0 !important;
    font-size: 1.18rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: var(--hgg-text, #172033) !important;
    text-align: var(--hgg-wc-archive-content-align, left) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 3.6em !important;
}

.single-product .related ul.products li.product .price,
.single-product .up-sells ul.products li.product .price,
.woocommerce-cart .cross-sells ul.products li.product .price,
.woocommerce ul.products[class*="columns-"] li.product .price {
    margin: 0 !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
    color: var(--hgg-text, #172033) !important;
    text-align: var(--hgg-wc-archive-content-align, left) !important;
}

.single-product .related ul.products li.product .price .woocommerce-Price-amount,
.single-product .up-sells ul.products li.product .price .woocommerce-Price-amount,
.woocommerce-cart .cross-sells ul.products li.product .price .woocommerce-Price-amount,
.woocommerce ul.products[class*="columns-"] li.product .price .woocommerce-Price-amount {
    font-weight: 800 !important;
}

.single-product .related ul.products li.product .button,
.single-product .related ul.products li.product a.button,
.single-product .related ul.products li.product .add_to_cart_button,
.single-product .up-sells ul.products li.product .button,
.single-product .up-sells ul.products li.product a.button,
.single-product .up-sells ul.products li.product .add_to_cart_button,
.woocommerce-cart .cross-sells ul.products li.product .button,
.woocommerce-cart .cross-sells ul.products li.product a.button,
.woocommerce-cart .cross-sells ul.products li.product .add_to_cart_button,
.woocommerce ul.products[class*="columns-"] li.product .button,
.woocommerce ul.products[class*="columns-"] li.product a.button,
.woocommerce ul.products[class*="columns-"] li.product .add_to_cart_button {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    display: var(--hgg-wc-archive-button-display, flex) !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--hgg-wc-archive-button-width, 100%) !important;
    max-width: none !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 1rem auto 0 !important;
    padding: .85rem 1rem !important;
    border-radius: 14px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    align-self: stretch !important;
}

.single-product .related ul.products li.product .button + .added_to_cart,
.single-product .up-sells ul.products li.product .button + .added_to_cart,
.woocommerce-cart .cross-sells ul.products li.product .button + .added_to_cart,
.woocommerce ul.products[class*="columns-"] li.product .button + .added_to_cart {
    display: inline-block !important;
    margin-top: .65rem !important;
}

.single-product .related > h2,
.single-product .up-sells > h2,
.woocommerce-cart .cross-sells > h2 {
    margin-bottom: 1.2rem !important;
}

/* shortcode / related product columns */
@media (min-width: 1025px) {
    .single-product .related ul.products,
    .single-product .up-sells ul.products,
    .woocommerce-cart .cross-sells ul.products,
    .woocommerce .products.columns-4,
    .woocommerce .products.columns-5,
    .woocommerce .products.columns-6 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .woocommerce .products.columns-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .woocommerce .products.columns-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .woocommerce .products.columns-1 {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 681px) and (max-width: 1024px) {
    .single-product .related ul.products,
    .single-product .up-sells ul.products,
    .woocommerce-cart .cross-sells ul.products,
    .woocommerce .products.columns-1,
    .woocommerce .products.columns-2,
    .woocommerce .products.columns-3,
    .woocommerce .products.columns-4,
    .woocommerce .products.columns-5,
    .woocommerce .products.columns-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .single-product .related ul.products,
    .single-product .up-sells ul.products,
    .woocommerce-cart .cross-sells ul.products,
    .woocommerce .products.columns-1,
    .woocommerce .products.columns-2,
    .woocommerce .products.columns-3,
    .woocommerce .products.columns-4,
    .woocommerce .products.columns-5,
    .woocommerce .products.columns-6 {
        grid-template-columns: 1fr !important;
    }

    .single-product .related ul.products li.product,
    .single-product .up-sells ul.products li.product,
    .woocommerce-cart .cross-sells ul.products li.product,
    .woocommerce ul.products[class*="columns-"] li.product {
        border-radius: 18px !important;
        padding: 12px !important;
    }
}


/* === V43.2.2 LOOP SPACING + CTA TEXTS === */

/* Give the product grid breathing room after result count + ordering row */
.post-type-archive-product .woocommerce-ordering + ul.products,
.post-type-archive-product .woocommerce-result-count + ul.products,
.tax-product_cat .woocommerce-ordering + ul.products,
.tax-product_cat .woocommerce-result-count + ul.products,
.tax-product_tag .woocommerce-ordering + ul.products,
.tax-product_tag .woocommerce-result-count + ul.products,
.tax-product_brand .woocommerce-ordering + ul.products,
.tax-product_brand .woocommerce-result-count + ul.products {
    margin-top: 1.5rem !important;
}

/* When Woo prints count and ordering before the list, keep a stable vertical rhythm */
.post-type-archive-product .woocommerce-notices-wrapper + .woocommerce-result-count,
.post-type-archive-product .woocommerce-notices-wrapper + .woocommerce-ordering,
.tax-product_cat .woocommerce-notices-wrapper + .woocommerce-result-count,
.tax-product_cat .woocommerce-notices-wrapper + .woocommerce-ordering,
.tax-product_tag .woocommerce-notices-wrapper + .woocommerce-result-count,
.tax-product_tag .woocommerce-notices-wrapper + .woocommerce-ordering,
.tax-product_brand .woocommerce-notices-wrapper + .woocommerce-result-count,
.tax-product_brand .woocommerce-notices-wrapper + .woocommerce-ordering {
    margin-top: .25rem !important;
}

/* Shortcode and related grids also deserve the same top spacing rhythm */
.single-product .related ul.products,
.single-product .up-sells ul.products,
.woocommerce-cart .cross-sells ul.products,
.woocommerce ul.products[class*="columns-"] {
    margin-top: 1rem !important;
}


/* === V43.2.3 LOOP SPACING + SERVICE TEXT === */

/*
 * Result count and ordering are floated by WooCommerce on many archives.
 * The product grid must clear those floats, otherwise the visual gap never appears.
 */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    clear: both !important;
    padding-top: 1.35rem !important;
}

/* Keep the first row comfortably separated from the count / ordering line */
.post-type-archive-product .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-result-count,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-result-count,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-result-count,
.tax-product_brand .woocommerce-ordering {
    position: relative;
    z-index: 1;
}


/* === V43.3 LOOP HEADER + HOVER + BADGES + MICRO TYPOGRAPHY === */

/* Reusable loop toolbar */
.hgg-loop-toolbar {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 1rem 1.5rem;
    margin: .5rem 0 1.4rem !important;
    padding: .2rem 0 0 !important;
}

.hgg-loop-toolbar__count,
.woocommerce .hgg-loop-toolbar .woocommerce-result-count,
.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count,
.tax-product_brand .woocommerce-result-count {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px;
    color: var(--hgg-muted, #68758a) !important;
    font-size: .98rem !important;
}

.hgg-loop-toolbar .woocommerce-ordering,
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-ordering {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.hgg-loop-toolbar .woocommerce-ordering select,
.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select,
.tax-product_tag .woocommerce-ordering select,
.tax-product_brand .woocommerce-ordering select {
    min-height: 52px !important;
    border-radius: 16px !important;
}

@media (max-width: 768px) {
    .hgg-loop-toolbar {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        text-align: center !important;
        margin-bottom: 1.2rem !important;
    }

    .hgg-loop-toolbar__count,
    .hgg-loop-toolbar .woocommerce-result-count,
    .hgg-loop-toolbar .woocommerce-ordering {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .hgg-loop-toolbar .woocommerce-ordering select {
        width: min(100%, 320px) !important;
    }
}

/* better vertical space between toolbar and grid */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    clear: both !important;
    padding-top: .35rem !important;
    margin-top: 0 !important;
}

/* Smart badge */
.hgg-loop-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem .7rem;
    border-radius: 999px;
    background: rgba(17,24,39,.88);
    color: #fff;
    font-size: .75rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .02em;
    box-shadow: 0 10px 18px rgba(17,24,39,.16);
}

.post-type-archive-product li.product > a:first-of-type,
.tax-product_cat li.product > a:first-of-type,
.tax-product_tag li.product > a:first-of-type,
.tax-product_brand li.product > a:first-of-type,
.single-product .related li.product > a:first-of-type,
.single-product .up-sells li.product > a:first-of-type,
.woocommerce-cart .cross-sells li.product > a:first-of-type,
.woocommerce ul.products[class*="columns-"] li.product > a:first-of-type {
    position: relative !important;
    overflow: hidden !important;
}

/* richer hover */
.post-type-archive-product li.product img,
.tax-product_cat li.product img,
.tax-product_tag li.product img,
.tax-product_brand li.product img,
.single-product .related li.product img,
.single-product .up-sells li.product img,
.woocommerce-cart .cross-sells li.product img,
.woocommerce ul.products[class*="columns-"] li.product img {
    transition: transform .35s ease, filter .35s ease !important;
}

.post-type-archive-product li.product > a:first-of-type::after,
.tax-product_cat li.product > a:first-of-type::after,
.tax-product_tag li.product > a:first-of-type::after,
.tax-product_brand li.product > a:first-of-type::after,
.single-product .related li.product > a:first-of-type::after,
.single-product .up-sells li.product > a:first-of-type::after,
.woocommerce-cart .cross-sells li.product > a:first-of-type::after,
.woocommerce ul.products[class*="columns-"] li.product > a:first-of-type::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0) 35%, rgba(17,24,39,.08) 100%);
    opacity: 0;
    transition: opacity .28s ease;
    pointer-events: none;
}

.post-type-archive-product li.product:hover img,
.tax-product_cat li.product:hover img,
.tax-product_tag li.product:hover img,
.tax-product_brand li.product:hover img,
.single-product .related li.product:hover img,
.single-product .up-sells li.product:hover img,
.woocommerce-cart .cross-sells li.product:hover img,
.woocommerce ul.products[class*="columns-"] li.product:hover img {
    transform: scale(1.03) !important;
    filter: saturate(1.03) contrast(1.01);
}

.post-type-archive-product li.product:hover > a:first-of-type::after,
.tax-product_cat li.product:hover > a:first-of-type::after,
.tax-product_tag li.product:hover > a:first-of-type::after,
.tax-product_brand li.product:hover > a:first-of-type::after,
.single-product .related li.product:hover > a:first-of-type::after,
.single-product .up-sells li.product:hover > a:first-of-type::after,
.woocommerce-cart .cross-sells li.product:hover > a:first-of-type::after,
.woocommerce ul.products[class*="columns-"] li.product:hover > a:first-of-type::after {
    opacity: 1;
}

/* button micro-animation */
.post-type-archive-product li.product .button,
.tax-product_cat li.product .button,
.tax-product_tag li.product .button,
.tax-product_brand li.product .button,
.single-product .related li.product .button,
.single-product .up-sells li.product .button,
.woocommerce-cart .cross-sells li.product .button,
.woocommerce ul.products[class*="columns-"] li.product .button {
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

.post-type-archive-product li.product:hover .button,
.tax-product_cat li.product:hover .button,
.tax-product_tag li.product:hover .button,
.tax-product_brand li.product:hover .button,
.single-product .related li.product:hover .button,
.single-product .up-sells li.product:hover .button,
.woocommerce-cart .cross-sells li.product:hover .button,
.woocommerce ul.products[class*="columns-"] li.product:hover .button {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 16px rgba(29,78,216,.18) !important;
}

/* micro typography */
.post-type-archive-product li.product .price,
.tax-product_cat li.product .price,
.tax-product_tag li.product .price,
.tax-product_brand li.product .price,
.single-product .related li.product .price,
.single-product .up-sells li.product .price,
.woocommerce-cart .cross-sells li.product .price,
.woocommerce ul.products[class*="columns-"] li.product .price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: var(--hgg-loop-price-justify, flex-start) !important;
    gap: .25rem .45rem !important;
}

.post-type-archive-product li.product .price .woocommerce-Price-amount,
.tax-product_cat li.product .price .woocommerce-Price-amount,
.tax-product_tag li.product .price .woocommerce-Price-amount,
.tax-product_brand li.product .price .woocommerce-Price-amount,
.single-product .related li.product .price .woocommerce-Price-amount,
.single-product .up-sells li.product .price .woocommerce-Price-amount,
.woocommerce-cart .cross-sells li.product .price .woocommerce-Price-amount,
.woocommerce ul.products[class*="columns-"] li.product .price .woocommerce-Price-amount {
    font-size: 1.08rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.post-type-archive-product li.product .price .woocommerce-price-suffix,
.tax-product_cat li.product .price .woocommerce-price-suffix,
.tax-product_tag li.product .price .woocommerce-price-suffix,
.tax-product_brand li.product .price .woocommerce-price-suffix,
.single-product .related li.product .price .woocommerce-price-suffix,
.single-product .up-sells li.product .price .woocommerce-price-suffix,
.woocommerce-cart .cross-sells li.product .price .woocommerce-price-suffix,
.woocommerce ul.products[class*="columns-"] li.product .price .woocommerce-price-suffix {
    font-size: .78rem !important;
    line-height: 1.3 !important;
    color: color-mix(in srgb, var(--hgg-muted, #68758a) 78%, white) !important;
    font-weight: 500 !important;
}


/* === V43.3.1 CARD CONTENT CLEANUP === */
.post-type-archive-product ul.products li.product > a:first-of-type,
.tax-product_cat ul.products li.product > a:first-of-type,
.tax-product_tag ul.products li.product > a:first-of-type,
.tax-product_brand ul.products li.product > a:first-of-type,
.single-product .related ul.products li.product > a:first-of-type,
.single-product .up-sells ul.products li.product > a:first-of-type,
.woocommerce-cart .cross-sells ul.products li.product > a:first-of-type,
.woocommerce ul.products[class*="columns-"] li.product > a:first-of-type {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}


/* === V43.4 HEADER V2 ACCOUNT CART AJAX === */

/* remove the gray hover overlay introduced before */
.post-type-archive-product li.product > a:first-of-type::after,
.tax-product_cat li.product > a:first-of-type::after,
.tax-product_tag li.product > a:first-of-type::after,
.tax-product_brand li.product > a:first-of-type::after,
.single-product .related li.product > a:first-of-type::after,
.single-product .up-sells li.product > a:first-of-type::after,
.woocommerce-cart .cross-sells li.product > a:first-of-type::after,
.woocommerce ul.products[class*="columns-"] li.product > a:first-of-type::after {
    display: none !important;
}

/* desktop account/cart */
.hgg-header-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: .8rem 1rem;
    border: 1px solid rgba(23,32,51,.10);
    border-radius: 16px;
    background: #fff;
    color: var(--hgg-text, #172033) !important;
    text-decoration: none;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.hgg-header-link:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 18px rgba(23,32,51,.08);
    border-color: rgba(23,32,51,.16);
}

.hgg-header-link__label {
    font-weight: 700;
    font-size: .95rem;
}

.hgg-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    margin-left: .55rem;
    padding: 0 .35rem;
    border-radius: 999px;
    background: rgba(23,32,51,.08);
    color: var(--hgg-text, #172033);
    font-size: .75rem;
    font-weight: 800;
}

.hgg-cart-count.has-items {
    background: var(--hgg-button-bg, #246de8);
    color: var(--hgg-button-text, #fff);
}

.mobile-topbar-actions {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    margin-left: auto;
}

.hgg-header-link--mobile-top {
    min-height: 52px;
    min-width: 52px;
    padding: .75rem;
    border-radius: 16px;
}

.hgg-header-link--mobile-top .hgg-header-link__label {
    display: none;
}

.hgg-header-link--mobile-top .hgg-cart-count {
    margin-left: 0;
}

.mobile-utility-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: .85rem;
    width: 100%;
    margin-top: .9rem;
    margin-bottom: .95rem;
}

.hgg-header-link--mobile-panel {
    width: 100%;
    justify-content: center;
    min-height: 52px;
    border-radius: 18px;
}

.hgg-header-link--mobile-panel .hgg-header-link__label {
    font-size: 1rem;
}

.hgg-header-link--desktop {
    min-width: fit-content;
}

.header-actions .hgg-header-link--desktop,
.header-actions-extras .hgg-header-link--desktop {
    flex: 0 0 auto;
}

/* keep desktop hidden on mobile and mobile hidden on desktop */
.hgg-header-link--mobile-top,
.hgg-header-link--mobile-panel {
    display: none;
}

@media (max-width: 980px) {
    .hgg-header-link--desktop {
        display: none !important;
    }

    .hgg-header-link--mobile-top {
        display: inline-flex !important;
    }

    .hgg-header-link--mobile-panel {
        display: inline-flex !important;
    }

    .site-header .huuguu-container {
        width: min(100% - 1rem, var(--hgg-header-container, var(--hgg-container)));
    }

    .huuguu-mobile-topbar {
        min-height: 72px;
        gap: .85rem;
    }

    .mobile-branding {
        min-width: 0;
    }

    .mobile-branding .huuguu-logo img.logo-mobile,
    .mobile-branding .huuguu-logo img.logo-tablet,
    .mobile-branding .huuguu-logo img.logo-desktop {
        max-width: 100%;
    }

    .mobile-actions .header-cta {
        width: 100%;
        justify-content: center;
        min-height: 52px;
        border-radius: 18px;
    }

    .mobile-actions .header-search {
        width: 100%;
    }
}


/* === V43.4.1 HEADER REFINEMENT + EMPTY CART CENTER === */

/* Desktop header actions: cleaner and less bulky */
.header-actions,
.header-actions-extras {
    gap: .65rem !important;
}

.hgg-header-link--desktop {
    min-height: 42px !important;
    padding: .72rem .9rem !important;
    border-radius: 14px !important;
}

.hgg-header-link--desktop .hgg-header-link__label {
    font-size: .92rem !important;
}

.hgg-header-link--desktop .hgg-cart-count {
    min-width: 20px !important;
    height: 20px !important;
    margin-left: .45rem !important;
    font-size: .72rem !important;
}

/* Mobile topbar: cart button must match hamburger size */
.mobile-topbar-actions {
    gap: .6rem !important;
}

.menu-toggle,
.hgg-header-link--mobile-top {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 !important;
    border-radius: 14px !important;
    justify-content: center !important;
}

.hgg-header-link--mobile-top {
    display: inline-flex !important;
    align-items: center !important;
}

.hgg-header-link--mobile-top .hgg-cart-count {
    min-width: 20px !important;
    height: 20px !important;
    font-size: .72rem !important;
}

/* Empty cart / notices: centered layout */
.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop,
.woocommerce-checkout .woocommerce-notice,
.woocommerce-order-received .woocommerce-notice {
    text-align: center !important;
}

.woocommerce-cart .cart-empty {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .85rem !important;
    width: min(100%, 760px) !important;
    margin: 1rem auto 1.35rem !important;
    padding: 1.2rem 1.4rem !important;
    border-radius: 18px !important;
}

.woocommerce-cart .return-to-shop {
    margin-top: 0 !important;
}

.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-order-received .woocommerce-button,
.woocommerce-checkout .button {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Empty cart title area gets better rhythm */
.woocommerce-cart .entry-header,
.woocommerce-cart .page-header,
.woocommerce-cart .woocommerce-breadcrumb + .page-title,
.woocommerce-cart main .page-title {
    text-align: var(--hgg-page-title-align, left) !important;
}

@media (max-width: 980px) {
    .site-header .huuguu-container {
        width: min(100% - 1rem, var(--hgg-header-container, var(--hgg-container))) !important;
    }

    .menu-toggle,
    .hgg-header-link--mobile-top {
        width: 54px !important;
        min-width: 54px !important;
        height: 54px !important;
        min-height: 54px !important;
    }
}


/* === V43.4.2 SEARCH DEVICE CONTROLS + CART POLISH === */

/* cart quantity placeholder for sold individually */
.hgg-cart-fixed-qty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: .35rem .6rem;
    border: 1px solid rgba(23,32,51,.10);
    border-radius: 12px;
    background: #fff;
    color: var(--hgg-text, #172033);
    font-weight: 700;
}

/* coupon area cleanup */
.woocommerce-cart table.cart td.actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text {
    min-width: 180px;
    min-height: 42px;
    border-radius: 12px;
    padding: .7rem .85rem;
}

.woocommerce-cart table.cart td.actions .coupon .button,
.woocommerce-cart table.cart td.actions > .button {
    min-height: 42px;
    border-radius: 12px;
    padding: .72rem 1rem;
}

@media (max-width: 768px) {
    .woocommerce-cart table.cart td.actions {
        justify-content: center;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        width: 100%;
        justify-content: center;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text,
    .woocommerce-cart table.cart td.actions .coupon .button,
    .woocommerce-cart table.cart td.actions > .button {
        width: 100%;
        max-width: 320px;
    }
}


/* === V43.4.3 ADDED TO CART LINK POLISH === */
.post-type-archive-product ul.products li.product .added_to_cart,
.tax-product_cat ul.products li.product .added_to_cart,
.tax-product_tag ul.products li.product .added_to_cart,
.tax-product_brand ul.products li.product .added_to_cart,
.single-product .related ul.products li.product .added_to_cart,
.single-product .up-sells ul.products li.product .added_to_cart,
.woocommerce-cart .cross-sells ul.products li.product .added_to_cart,
.woocommerce ul.products[class*="columns-"] li.product .added_to_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    width: auto !important;
    max-width: 100% !important;
    margin: .85rem auto 0 !important;
    padding: .2rem .15rem !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--hgg-button-bg, #246de8) !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: color .18s ease, transform .18s ease !important;
}

.post-type-archive-product ul.products li.product .added_to_cart::before,
.tax-product_cat ul.products li.product .added_to_cart::before,
.tax-product_tag ul.products li.product .added_to_cart::before,
.tax-product_brand ul.products li.product .added_to_cart::before,
.single-product .related ul.products li.product .added_to_cart::before,
.single-product .up-sells ul.products li.product .added_to_cart::before,
.woocommerce-cart .cross-sells ul.products li.product .added_to_cart::before,
.woocommerce ul.products[class*="columns-"] li.product .added_to_cart::before {
    content: "→";
    font-size: .95em;
    line-height: 1;
    opacity: .8;
}

.post-type-archive-product ul.products li.product .added_to_cart:hover,
.tax-product_cat ul.products li.product .added_to_cart:hover,
.tax-product_tag ul.products li.product .added_to_cart:hover,
.tax-product_brand ul.products li.product .added_to_cart:hover,
.single-product .related ul.products li.product .added_to_cart:hover,
.single-product .up-sells ul.products li.product .added_to_cart:hover,
.woocommerce-cart .cross-sells ul.products li.product .added_to_cart:hover,
.woocommerce ul.products[class*="columns-"] li.product .added_to_cart:hover {
    color: var(--hgg-button-hover-bg, #154fad) !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
}


/* === V43.4.4 HEADER VAR FIX + CART ACTIONS LAYOUT === */

/* Cart action row: coupon left, update right on desktop */
.woocommerce-cart table.cart td.actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    flex: 1 1 auto;
}

.woocommerce-cart table.cart td.actions > .button {
    margin-left: auto !important;
    flex: 0 0 auto;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text {
    min-width: 220px;
}

.woocommerce-cart table.cart td.actions .coupon .button {
    flex: 0 0 auto;
}

/* Product cell breathing room */
.woocommerce-cart table.cart td.product-name {
    line-height: 1.45;
}

.woocommerce-cart table.cart td.product-name dl.variation,
.woocommerce-cart table.cart td.product-name .wc-item-meta {
    margin-top: .45rem;
    color: var(--hgg-muted, #68758a);
}

.woocommerce-cart table.cart td.product-quantity {
    text-align: center;
}

.woocommerce-cart table.cart td.product-quantity .quantity,
.woocommerce-cart table.cart td.product-quantity .hgg-cart-fixed-qty {
    margin-inline: auto;
}

/* Mobile stack */
@media (max-width: 768px) {
    .woocommerce-cart table.cart td.actions {
        justify-content: center;
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        width: 100%;
        justify-content: center;
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text,
    .woocommerce-cart table.cart td.actions .coupon .button,
    .woocommerce-cart table.cart td.actions > .button {
        width: 100%;
        max-width: 320px;
        margin-inline: auto !important;
    }
}


/* === V43.4.7 LOOP PRICE ALIGNMENT FIX === */
/* When loop alignment is Center, the price row must also center its flex content. */
.post-type-archive-product li.product .price,
.tax-product_cat li.product .price,
.tax-product_tag li.product .price,
.tax-product_brand li.product .price,
.single-product .related li.product .price,
.single-product .up-sells li.product .price,
.woocommerce-cart .cross-sells li.product .price,
.woocommerce ul.products[class*="columns-"] li.product .price {
    justify-content: flex-start !important;
}

.post-type-archive-product li.product[style*="--hgg-wc-archive-content-align:center"] .price,
.tax-product_cat li.product[style*="--hgg-wc-archive-content-align:center"] .price,
.tax-product_tag li.product[style*="--hgg-wc-archive-content-align:center"] .price,
.tax-product_brand li.product[style*="--hgg-wc-archive-content-align:center"] .price,
.single-product .related li.product[style*="--hgg-wc-archive-content-align:center"] .price,
.single-product .up-sells li.product[style*="--hgg-wc-archive-content-align:center"] .price,
.woocommerce-cart .cross-sells li.product[style*="--hgg-wc-archive-content-align:center"] .price,
.woocommerce ul.products[class*="columns-"] li.product[style*="--hgg-wc-archive-content-align:center"] .price {
    justify-content: center !important;
}

/* Runtime var version: if theme outputs center alignment globally, respect it. */
:root {
    --hgg-loop-price-justify: flex-start;
}

html:has(body) {
    --hgg-loop-price-justify: flex-start;
}

.post-type-archive-product li.product .price,
.tax-product_cat li.product .price,
.tax-product_tag li.product .price,
.tax-product_brand li.product .price,
.single-product .related li.product .price,
.single-product .up-sells li.product .price,
.woocommerce-cart .cross-sells li.product .price,
.woocommerce ul.products[class*="columns-"] li.product .price {
    justify-content: var(--hgg-loop-price-justify, flex-start) !important;
}

:root[style*="--hgg-wc-archive-content-align:center"] {
    --hgg-loop-price-justify: center;
}

/* Fallback without relying on inline style matching */
.post-type-archive-product .woocommerce-loop-product__title,
.tax-product_cat .woocommerce-loop-product__title,
.tax-product_tag .woocommerce-loop-product__title,
.tax-product_brand .woocommerce-loop-product__title,
.single-product .related .woocommerce-loop-product__title,
.single-product .up-sells .woocommerce-loop-product__title,
.woocommerce-cart .cross-sells .woocommerce-loop-product__title,
.woocommerce ul.products[class*="columns-"] .woocommerce-loop-product__title {
    width: 100%;
}

.post-type-archive-product li.product .button,
.tax-product_cat li.product .button,
.tax-product_tag li.product .button,
.tax-product_brand li.product .button,
.single-product .related li.product .button,
.single-product .up-sells li.product .button,
.woocommerce-cart .cross-sells li.product .button,
.woocommerce ul.products[class*="columns-"] li.product .button {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* === V43.4.8 CART ACTIONS INLINE FIX === */
/* Woo cart action row must keep coupon controls on the left and Update cart on the right */
.woocommerce-cart table.cart td.actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: .75rem !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text {
    width: 220px !important;
    max-width: 220px !important;
    min-width: 220px !important;
    margin: 0 !important;
}

.woocommerce-cart table.cart td.actions .coupon .button {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.woocommerce-cart table.cart td.actions > .button,
.woocommerce-cart table.cart td.actions button[name="update_cart"],
.woocommerce-cart table.cart td.actions input[name="update_cart"] {
    margin-left: auto !important;
    margin-right: 0 !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    align-self: center !important;
}

@media (max-width: 768px) {
    .woocommerce-cart table.cart td.actions {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        flex-direction: column !important;
        width: 100% !important;
        align-items: stretch !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text,
    .woocommerce-cart table.cart td.actions .coupon .button,
    .woocommerce-cart table.cart td.actions > .button,
    .woocommerce-cart table.cart td.actions button[name="update_cart"],
    .woocommerce-cart table.cart td.actions input[name="update_cart"] {
        width: 100% !important;
        max-width: 320px !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* === V43.4.9 CART ACTIONS OVERLAP HOTFIX === */
.woocommerce-cart table.cart td.actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: .75rem !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text {
    flex: 0 0 200px !important;
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    margin: 0 !important;
}

.woocommerce-cart table.cart td.actions .coupon .button {
    flex: 0 0 auto !important;
    width: auto !important;
    white-space: nowrap !important;
    margin: 0 !important;
}

.woocommerce-cart table.cart td.actions > .button,
.woocommerce-cart table.cart td.actions button[name="update_cart"],
.woocommerce-cart table.cart td.actions input[name="update_cart"] {
    flex: 0 0 auto !important;
    width: auto !important;
    white-space: nowrap !important;
    margin: 0 0 0 auto !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
}

@media (max-width: 900px) {
    .woocommerce-cart table.cart td.actions {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        width: 100% !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text,
    .woocommerce-cart table.cart td.actions .coupon .button,
    .woocommerce-cart table.cart td.actions > .button,
    .woocommerce-cart table.cart td.actions button[name="update_cart"],
    .woocommerce-cart table.cart td.actions input[name="update_cart"] {
        width: 100% !important;
        max-width: 320px !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* === V43.5 ELEMENTOR BUTTON COMPATIBILITY === */
body.hgg-theme-buttons-elementor-safe .elementor a.huu-btn,
body.hgg-theme-buttons-elementor-safe .elementor a.huu-btn--primary,
body.hgg-theme-buttons-elementor-safe .elementor a.huu-btn--secondary,
body.hgg-theme-buttons-elementor-safe .elementor .huu-btn,
body.hgg-theme-buttons-elementor-safe .elementor .huu-btn--primary,
body.hgg-theme-buttons-elementor-safe .elementor .huu-btn--secondary,
body.hgg-theme-buttons-elementor-safe .elementor .elementor-button.huu-btn,
body.hgg-theme-buttons-elementor-safe .elementor .elementor-button.huu-btn--primary,
body.hgg-theme-buttons-elementor-safe .elementor .elementor-button.huu-btn--secondary {
    background: initial !important;
    color: initial !important;
    border-color: initial !important;
    box-shadow: initial !important;
    text-decoration: initial !important;
    background-image: none !important;
}

/* Let Elementor keep its own colors and states by default */
body.hgg-theme-buttons-elementor-safe .elementor .elementor-button,
body.hgg-theme-buttons-elementor-safe .elementor .elementor-button:visited,
body.hgg-theme-buttons-elementor-safe .elementor .elementor-button:hover,
body.hgg-theme-buttons-elementor-safe .elementor .elementor-button:focus {
    box-shadow: inherit;
}

/* Screenshot hotfix: avoid locked theme colors in Elementor hero CTAs */
body.hgg-theme-buttons-elementor-safe .elementor a.huu-btn--primary,
body.hgg-theme-buttons-elementor-safe .elementor .huu-btn--primary {
    background: revert !important;
    color: revert !important;
    box-shadow: revert !important;
}


/* === V43.5.1 CART + CHECKOUT UX POLISH === */

/* Cart notices centered */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
    text-align: center !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
    width: min(100%, 1050px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Cart row UX */
.woocommerce-cart table.cart td.product-name a {
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.woocommerce-cart table.cart td.product-thumbnail img {
    border-radius: 12px !important;
    display: block !important;
    margin-inline: auto !important;
}

.woocommerce-cart table.cart td.product-remove {
    text-align: center !important;
}

.woocommerce-cart table.cart td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    line-height: 1 !important;
    font-size: 20px !important;
    background: rgba(23,32,51,.04) !important;
}

.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
    white-space: nowrap !important;
}

/* Checkout spacing */
.woocommerce-checkout .woocommerce {
    row-gap: 2rem !important;
}

.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3 {
    margin-top: 0 !important;
    margin-bottom: 1.1rem !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
    align-self: start !important;
}

.woocommerce-checkout #order_review_heading {
    margin-top: 2rem !important;
}

/* Billing first / last name each on its own row */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_first_name_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_last_name_field {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-right: 0 !important;
}

/* General checkout field rhythm */
.woocommerce-checkout form .form-row {
    margin-bottom: 1rem !important;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    min-height: 48px !important;
    border-radius: 14px !important;
}

.woocommerce-checkout textarea {
    min-height: 120px !important;
}

/* Mobile cart table readability */
@media (max-width: 768px) {
    .woocommerce-cart table.cart td.product-name {
        padding-top: .9rem !important;
    }

    .woocommerce-cart table.cart td.product-price,
    .woocommerce-cart table.cart td.product-quantity,
    .woocommerce-cart table.cart td.product-subtotal {
        text-align: left !important;
    }

    .woocommerce-checkout #order_review_heading {
        margin-top: 1.5rem !important;
    }
}


/* === V43.5.2 CART TABLE + HEADER CART ICON === */

/* header cart should look like a real store cart action */
.hgg-header-link--cart {
    gap: .55rem;
}

.hgg-header-link--cart::before {
    content: "🛒";
    font-size: 1rem;
    line-height: 1;
}

.hgg-header-link--mobile-top.hgg-header-link--cart {
    position: relative;
}

.hgg-header-link--mobile-top.hgg-header-link--cart::before {
    content: "🛒";
    font-size: 1.05rem;
}

.hgg-header-link--mobile-top.hgg-header-link--cart .hgg-cart-count {
    position: absolute;
    top: 7px;
    right: 7px;
    margin-left: 0 !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 .2rem !important;
    font-size: .68rem !important;
    box-shadow: 0 4px 10px rgba(23,32,51,.16);
}

/* cart table desktop layout */
.woocommerce-cart table.cart {
    table-layout: fixed !important;
}

.woocommerce-cart table.cart th.product-remove,
.woocommerce-cart table.cart td.product-remove {
    width: 72px !important;
}

.woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail {
    width: 92px !important;
}

.woocommerce-cart table.cart th.product-price,
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart th.product-quantity,
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart th.product-subtotal,
.woocommerce-cart table.cart td.product-subtotal {
    width: 110px !important;
    text-align: center !important;
}

.woocommerce-cart table.cart td.product-remove,
.woocommerce-cart table.cart td.product-thumbnail,
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart td.product-subtotal {
    vertical-align: middle !important;
}

.woocommerce-cart table.cart td.product-remove a.remove {
    margin-inline: auto !important;
}

.woocommerce-cart table.cart td.product-thumbnail {
    padding-left: .75rem !important;
    padding-right: .75rem !important;
}

.woocommerce-cart table.cart td.product-thumbnail img {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover !important;
}

.woocommerce-cart table.cart td.product-name {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.woocommerce-cart table.cart td.product-name dl.variation {
    margin: .45rem 0 0 !important;
}

.woocommerce-cart table.cart td.product-name dl.variation dt,
.woocommerce-cart table.cart td.product-name dl.variation dd {
    display: inline !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-cart table.cart td.product-name dl.variation dt {
    font-weight: 600 !important;
    color: var(--hgg-muted, #68758a) !important;
    margin-right: .2rem !important;
}

.woocommerce-cart table.cart td.product-name dl.variation dd p {
    display: inline !important;
    margin: 0 !important;
}

.woocommerce-cart table.cart td.product-name dl.variation dd::after {
    content: "";
    display: block;
    height: .25rem;
}

.woocommerce-cart table.cart td.product-price .amount,
.woocommerce-cart table.cart td.product-subtotal .amount {
    font-weight: 700 !important;
}

.woocommerce-cart table.cart td.product-quantity .hgg-cart-fixed-qty {
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
}

@media (max-width: 768px) {
    .woocommerce-cart table.cart th.product-remove,
    .woocommerce-cart table.cart td.product-remove,
    .woocommerce-cart table.cart th.product-thumbnail,
    .woocommerce-cart table.cart td.product-thumbnail,
    .woocommerce-cart table.cart th.product-price,
    .woocommerce-cart table.cart td.product-price,
    .woocommerce-cart table.cart th.product-quantity,
    .woocommerce-cart table.cart td.product-quantity,
    .woocommerce-cart table.cart th.product-subtotal,
    .woocommerce-cart table.cart td.product-subtotal {
        width: auto !important;
    }

    .woocommerce-cart table.cart td.product-thumbnail img {
        width: 64px !important;
        height: 64px !important;
    }

    .hgg-header-link--mobile-top.hgg-header-link--cart .hgg-cart-count {
        top: 6px;
        right: 6px;
    }
}


/* === V43.5.3 CART DESKTOP RIGHT + MOBILE CLEANUP === */

/* Desktop: keep update cart separated on the far right */
@media (min-width: 901px) {
    .woocommerce-cart table.cart td.actions {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        align-items: center !important;
        gap: 1rem !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        justify-self: start !important;
        width: auto !important;
    }

    .woocommerce-cart table.cart td.actions > .button,
    .woocommerce-cart table.cart td.actions button[name="update_cart"],
    .woocommerce-cart table.cart td.actions input[name="update_cart"] {
        justify-self: end !important;
        margin-left: 0 !important;
    }
}

/* Mobile cart: cleaner boxed rows */
@media (max-width: 768px) {
    .woocommerce-cart table.cart {
        border-collapse: separate !important;
        border-spacing: 0 !important;
    }

    .woocommerce-cart table.cart tr.cart_item {
        display: block !important;
        margin-bottom: 1rem !important;
        border: 1px solid rgba(23,32,51,.08) !important;
        border-radius: 18px !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td {
        display: grid !important;
        grid-template-columns: 110px 1fr !important;
        align-items: center !important;
        gap: .85rem !important;
        padding: .9rem 1rem !important;
        border-top: 1px solid rgba(23,32,51,.08) !important;
        text-align: left !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-remove {
        grid-template-columns: 1fr !important;
        justify-items: end !important;
        border-top: 0 !important;
        padding-bottom: .35rem !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-remove::before {
        display: none !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail {
        grid-template-columns: 1fr !important;
        justify-items: start !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail::before {
        display: none !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail img {
        width: 72px !important;
        height: 72px !important;
        border-radius: 14px !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-name {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-name::before {
        content: var(--hgg-cart-label-product, "Product");
        font-weight: 700 !important;
        color: var(--hgg-text, #172033) !important;
        display: block !important;
        margin-bottom: .2rem !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-price::before {
        content: var(--hgg-cart-label-price, "Price") !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-quantity::before {
        content: var(--hgg-cart-label-quantity, "Quantity") !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal::before {
        content: var(--hgg-cart-label-subtotal, "Subtotal") !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-price::before,
    .woocommerce-cart table.cart tbody tr.cart_item td.product-quantity::before,
    .woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal::before {
        font-weight: 700 !important;
        color: var(--hgg-text, #172033) !important;
        display: block !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-price,
    .woocommerce-cart table.cart tbody tr.cart_item td.product-quantity,
    .woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal {
        justify-items: start !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-quantity .hgg-cart-fixed-qty {
        margin: 0 !important;
    }

    .woocommerce-cart table.cart td.actions {
        margin-top: .5rem !important;
        padding-top: 1rem !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text {
        min-height: 46px !important;
    }
}


/* === V43.5.4 CART DESKTOP ACTIONS + EMPTY STATE TUNE === */

/* Empty cart state: tighter and truly centered */
.woocommerce-cart .cart-empty {
    justify-content: center !important;
    text-align: center !important;
    gap: .75rem !important;
}

.woocommerce-cart .return-to-shop .button {
    display: inline-flex !important;
    justify-content: center !important;
}

/* Desktop action row: explicit grid areas to avoid overlap */
@media (min-width: 901px) {
    .woocommerce-cart table.cart td.actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "coupon update" !important;
        align-items: center !important;
        column-gap: 1rem !important;
        row-gap: 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        grid-area: coupon !important;
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: .75rem !important;
        width: max-content !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        margin: 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon .button {
        width: auto !important;
        min-width: fit-content !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .woocommerce-cart table.cart td.actions > .button,
    .woocommerce-cart table.cart td.actions button[name="update_cart"],
    .woocommerce-cart table.cart td.actions input[name="update_cart"] {
        grid-area: update !important;
        justify-self: end !important;
        align-self: center !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        white-space: nowrap !important;
        position: static !important;
    }
}

/* Mobile: less awkward cart item layout */
@media (max-width: 768px) {
    .woocommerce-cart table.cart tbody tr.cart_item td {
        grid-template-columns: 96px 1fr !important;
        gap: .7rem !important;
        padding: .8rem .85rem !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-remove {
        padding-bottom: .2rem !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail img {
        width: 64px !important;
        height: 64px !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-name a {
        font-size: .98rem !important;
        line-height: 1.3 !important;
    }

    .woocommerce-cart table.cart tbody tr.cart_item td.product-name dl.variation {
        margin-top: .35rem !important;
        font-size: .92rem !important;
    }

    .woocommerce-cart table.cart td.actions {
        gap: .75rem !important;
    }

    .woocommerce-cart table.cart td.actions .coupon,
    .woocommerce-cart table.cart td.actions > .button,
    .woocommerce-cart table.cart td.actions button[name="update_cart"],
    .woocommerce-cart table.cart td.actions input[name="update_cart"] {
        width: 100% !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .65rem !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text,
    .woocommerce-cart table.cart td.actions .coupon .button,
    .woocommerce-cart table.cart td.actions > .button,
    .woocommerce-cart table.cart td.actions button[name="update_cart"],
    .woocommerce-cart table.cart td.actions input[name="update_cart"] {
        max-width: 100% !important;
    }
}


/* === V43.5.5 UPDATE CART BUTTON HARD FIX === */
@media (min-width: 901px) {
    .woocommerce-cart table.cart td.actions {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 1rem !important;
        width: 100% !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        gap: .75rem !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        order: 1 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text {
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
        flex: 0 0 170px !important;
        margin: 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon .button {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .woocommerce-cart table.cart td.actions > button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > input[name="update_cart"],
    .woocommerce-cart table.cart td.actions > .button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > .button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        order: 2 !important;
        margin: 0 0 0 auto !important;
        white-space: nowrap !important;
        width: auto !important;
        min-width: max-content !important;
        position: static !important;
        transform: none !important;
        inset: auto !important;
        float: none !important;
        clear: none !important;
    }
}


/* === V43.5.6 CART UPDATE + FRAGMENT HARDFIX === */
@media (min-width: 901px) {
    .woocommerce-cart table.cart td.actions {
        display: grid !important;
        grid-template-columns: max-content 1fr max-content !important;
        align-items: center !important;
        column-gap: 1rem !important;
        row-gap: 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        grid-column: 1 !important;
        display: inline-flex !important;
        width: max-content !important;
        max-width: max-content !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: .75rem !important;
        margin: 0 !important;
        float: none !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        flex: 0 0 180px !important;
        margin: 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon .button {
        width: auto !important;
        min-width: max-content !important;
        margin: 0 !important;
        white-space: nowrap !important;
        flex: 0 0 auto !important;
    }

    .woocommerce-cart table.cart td.actions > button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > input[name="update_cart"],
    .woocommerce-cart table.cart td.actions > .button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > .button {
        grid-column: 3 !important;
        justify-self: end !important;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: max-content !important;
        max-width: none !important;
        margin: 0 !important;
        white-space: nowrap !important;
        position: static !important;
        float: none !important;
        clear: none !important;
        inset: auto !important;
        transform: none !important;
    }
}


/* === V43.5.7 CART ACTIONS TABLE-CELL RESTORE === */
/* Restore real table-cell behavior so the actions row spans the full cart width */
@media (min-width: 901px) {
    .woocommerce-cart table.cart td.actions {
        display: table-cell !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 1.1rem 1rem !important;
        vertical-align: middle !important;
        border-top: 1px solid rgba(23,32,51,.08) !important;
    }

    .woocommerce-cart table.cart td.actions::after {
        content: "";
        display: block;
        clear: both;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        float: left !important;
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: .75rem !important;
        margin: 0 !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        margin: 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon .button {
        width: auto !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .woocommerce-cart table.cart td.actions > button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > input[name="update_cart"],
    .woocommerce-cart table.cart td.actions > .button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > .button {
        float: right !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: max-content !important;
        max-width: none !important;
        margin: 0 !important;
        white-space: nowrap !important;
        position: static !important;
        transform: none !important;
        inset: auto !important;
    }

    .woocommerce-cart table.cart td.product-remove {
        border-right: 0 !important;
    }
}

/* Mobile keeps stacked actions and cleaner card layout */
@media (max-width: 900px) {
    .woocommerce-cart table.cart td.actions {
        display: block !important;
        width: 100% !important;
        padding: 1rem !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .65rem !important;
        float: none !important;
        width: 100% !important;
    }

    .woocommerce-cart table.cart td.actions .coupon input.input-text,
    .woocommerce-cart table.cart td.actions .coupon .button,
    .woocommerce-cart table.cart td.actions > button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > input[name="update_cart"],
    .woocommerce-cart table.cart td.actions > .button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > .button {
        float: none !important;
        width: 100% !important;
        max-width: 320px !important;
        margin: 0 auto !important;
    }
}


/* === V43.5.8 CART NOTICE ICON ALIGNMENT === */
/* Cart / Woo notices: keep icon visually close to the message instead of isolated on the far left */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .7rem !important;
    text-align: center !important;
    padding-inline: 1.2rem !important;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-error::before {
    position: static !important;
    margin: 0 !important;
    transform: none !important;
    flex: 0 0 auto !important;
    line-height: 1 !important;
}

.woocommerce-cart .woocommerce-message a,
.woocommerce-cart .woocommerce-info a,
.woocommerce-cart .woocommerce-error a,
.woocommerce-checkout .woocommerce-message a,
.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout .woocommerce-error a {
    display: inline !important;
}

@media (max-width: 768px) {
    .woocommerce-cart .woocommerce-message,
    .woocommerce-cart .woocommerce-info,
    .woocommerce-cart .woocommerce-error,
    .woocommerce-checkout .woocommerce-message,
    .woocommerce-checkout .woocommerce-info,
    .woocommerce-checkout .woocommerce-error {
        gap: .55rem !important;
        padding-inline: 1rem !important;
    }
}


/* === V36.0 WOO SINGLE STICKY CLEAN === */
.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery {
    position: sticky !important;
    top: calc(var(--hgg-wc-single-sticky-top, 110px) + 8px) !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    align-self: start;
    z-index: 1;
}

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

.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) .hwo-gallery-placeholder,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) .hwo-gallery-placeholder {
    display: none !important;
    height: 0 !important;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper {
    grid-column: 1 / -1;
    width: 100%;
    clear: both;
    position: relative;
    z-index: 2;
    margin-top: max(24px, calc(var(--hgg-wc-single-gap, 40px) * .6));
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .product_meta,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .product_meta {
    line-height: 1.45;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .product_meta .huuguu-meta-row-ready,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .product_meta .huuguu-meta-row-ready {
    gap: .45rem;
    padding-block: .2rem;
}

@media (max-width: 1024px) {
    .huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery,
    .huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product .woocommerce-product-gallery {
        position: relative !important;
        top: auto !important;
    }

    .single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
    .single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .woocommerce-tabs,
    .woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .wc-tabs-wrapper {
        margin-top: 24px;
    }
}

/* === V1.18.16 WOO SINGLE STRUCTURE CLEAN === */
/* Move sticky responsibility into a dedicated top wrapper so media never overlays tabs/related */
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product {
    display: block !important;
    max-width: var(--hgg-wc-single-content-max, 1360px);
    margin-inline: auto;
	padding-top:40px;
}

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

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom {
    margin-top: 1.4rem;
    position: relative;
    z-index: 3;
}

.huuguu-wc-single-sticky-summary.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-main .images,
.huuguu-wc-single-sticky-summary.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-main .images {
    position: sticky !important;
    top: calc(var(--hgg-wc-single-sticky-top, 110px) + 8px) !important;
    align-self: start;
    z-index: 1 !important;
}

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

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-main .summary,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-main .summary {
    position: relative !important;
    top: auto !important;
    z-index: 2 !important;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .woocommerce-tabs,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .wc-tabs-wrapper,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .related,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .upsells,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .woocommerce-tabs,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .wc-tabs-wrapper,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .related,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .upsells {
    position: relative;
    z-index: 3;
}

/* Final compact meta style */
.single-product div.product .product_meta.huuguu-meta-ready,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
    display: grid !important;
    grid-template-columns: minmax(88px, 112px) minmax(0, 1fr) !important;
    column-gap: .95rem !important;
    row-gap: .65rem !important;
    padding-top: .9rem !important;
    margin-top: .95rem !important;
    border-top: 1px solid rgba(23,32,51,.08) !important;
}

.single-product div.product .product_meta.huuguu-meta-ready > span,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span {
    display: contents !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label {
    grid-column: 1;
    font-weight: 700 !important;
    font-size: .95rem !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    color: var(--hgg-text) !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
    grid-column: 2;
    min-width: 0;
    font-size: .95rem !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    color: rgba(23,32,51,.9) !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a {
    font-weight: 500 !important;
    text-decoration: none !important;
}

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

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

@media (max-width: 640px) {
    .single-product div.product .product_meta.huuguu-meta-ready,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
        grid-template-columns: 1fr !important;
        row-gap: .15rem !important;
    }

    .single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
    .single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
        grid-column: auto;
    }
}


/* === V1.18.17 META PLAIN + SINGLE BOTTOM COVER === */
.single-product div.product .product_meta.huuguu-meta-ready,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    column-gap: 1rem !important;
    row-gap: .45rem !important;
    padding-top: .9rem !important;
    margin-top: 1rem !important;
    border-top: 1px solid rgba(23,32,51,.08) !important;
    background: transparent !important;
}

.single-product div.product .product_meta.huuguu-meta-ready > span,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span {
    display: contents !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label {
    grid-column: 1 !important;
    display: block !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--hgg-text) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
    grid-column: 2 !important;
    display: block !important;
    font-size: .95rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: rgba(23,32,51,.9) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a {
    display: inline !important;
    color: var(--hgg-link-color, var(--hgg-primary)) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary))) !important;
    text-decoration: underline !important;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom {
    position: relative !important;
    z-index: 6 !important;
    background: var(--hgg-site-bg, #f5f5f5) !important;
    margin-top: 2rem !important;
    padding-top: .01rem;
}

.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .woocommerce-tabs,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .wc-tabs-wrapper,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .related,
.single-product:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .upsells,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .woocommerce-tabs,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .wc-tabs-wrapper,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .related,
.woocommerce-page:not(.huu-service-product-page):not(.huuguu-wc-single-service) div.product > .huuguu-wc-single-bottom .upsells {
    position: relative !important;
    z-index: 7 !important;
    background: var(--hgg-site-bg, #f5f5f5) !important;
}

@media (max-width: 640px) {
    .single-product div.product .product_meta.huuguu-meta-ready,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
        grid-template-columns: 1fr !important;
        row-gap: .15rem !important;
    }

    .single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
    .single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
    .woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
        grid-column: auto !important;
    }
}


/* === V1.18.18 I18N CLEAN + BADGE CLEANUP === */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
    display: none !important;
}

.hgg-loop-badge--sale {
    left: auto;
    right: 12px;
}

.hgg-loop-badge--new {
    left: 12px;
    right: auto;
}

.single-product div.product .product_meta.huuguu-meta-ready,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    column-gap: 1rem !important;
    row-gap: .4rem !important;
    padding-top: .85rem !important;
    margin-top: .9rem !important;
    border-top: 1px solid rgba(23,32,51,.08) !important;
    background: transparent !important;
}

.single-product div.product .product_meta.huuguu-meta-ready > span,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready > span,
.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-label {
    font-size: .95rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--hgg-text) !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value {
    font-size: .95rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: rgba(23,32,51,.9) !important;
}

/* v1.19.11.12 header branding vertical alignment fix */
.site-branding {
    display: inline-flex;
    align-items: center;
    min-height: var(--hgg-logo-desktop-height, 60px);
}

.site-branding .site-title,
.site-branding .site-title a {
    display: inline-flex;
    align-items: center;
    min-height: var(--hgg-logo-desktop-height, 60px);
    line-height: 1.1;
}

@media (max-width: 1100px) {
    .site-branding,
    .site-branding .site-title,
    .site-branding .site-title a {
        min-height: var(--hgg-logo-tablet-height, 50px);
    }
}

@media (max-width: 600px) {
    .site-branding,
    .site-branding .site-title,
    .site-branding .site-title a {
        min-height: var(--hgg-logo-mobile-height, 30px);
    }
}


/* === V41.6 BLOG LAYOUT + COLOR RECOVERY === */
.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single .huuguu-blog-wrap {
    display: block;
    max-width: var(--hgg-container);
}

.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single .huuguu-blog-wrap {
    display: block;
    width: min(100%, 100vw);
}

.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive .huuguu-blog-primary,
.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single .huuguu-blog-primary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive .huuguu-blog-primary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single .huuguu-blog-primary {
    width: 100%;
    max-width: none;
}

.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive #secondary,
.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single #secondary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive #secondary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single #secondary {
    display: none !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card,
body .site-main .huuguu-blog-primary .hgg-single-card {
    color: var(--hgg-text) !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card .entry-title,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-title a,
body .site-main .huuguu-blog-primary .hgg-single-card .entry-title,
body .site-main .huuguu-blog-primary .hgg-single-card .entry-title a,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-title a:visited,
body .site-main .huuguu-blog-primary .hgg-single-card .entry-title a:visited {
    color: var(--hgg-blog-title, var(--hgg-text)) !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card .entry-summary,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-summary p,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-meta,
body .site-main .huuguu-blog-primary .hgg-single-card .entry-content,
body .site-main .huuguu-blog-primary .hgg-single-card .entry-content p {
    color: var(--hgg-blog-text, var(--hgg-text)) !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card .entry-summary a,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-meta a,
body .site-main .huuguu-blog-primary .hgg-single-card .entry-content a {
    color: var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary))) !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card .entry-summary a:hover,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-meta a:hover,
body .site-main .huuguu-blog-primary .hgg-single-card .entry-content a:hover {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)))) !important;
}

.post-type-archive-product li.product .price .woocommerce-price-suffix,
.tax-product_cat li.product .price .woocommerce-price-suffix,
.tax-product_tag li.product .price .woocommerce-price-suffix,
.tax-product_brand li.product .price .woocommerce-price-suffix,
.single-product .related li.product .price .woocommerce-price-suffix,
.single-product .up-sells li.product .price .woocommerce-price-suffix,
.woocommerce-cart .cross-sells li.product .price .woocommerce-price-suffix,
.woocommerce ul.products[class*="columns-"] li.product .price .woocommerce-price-suffix {
    color: #5f6b7a !important;
}


/* Huuguu 1.19.11.17 blog archive + header search fixes */
.search-field {
    border-radius: var(--hgg-header-search-input-radius, 999px) !important;
}
.search-submit,
.header-search .search-submit {
    border-radius: var(--hgg-header-search-button-radius, 999px) !important;
}

.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single .huuguu-blog-wrap,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single .huuguu-blog-wrap {
    grid-template-columns: minmax(0, 1fr) !important;
}

.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive .huuguu-blog-primary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive .huuguu-blog-primary,
.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single .huuguu-blog-primary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single .huuguu-blog-primary {
    max-width: 100% !important;
}

.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive #secondary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive #secondary,
.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single #secondary,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single #secondary {
    display: none !important;
}

.huuguu-blog-archive-style-list .huuguu-post-grid {
    grid-template-columns: 1fr !important;
}


/* === V1.19.11.18 COMMENTS POLISH === */
.huuguu-comments-card .comment-list > .comment:last-child {
    border-bottom: 0;
}

.huuguu-comments-card .comment-body {
    display: block;
    padding: 0;
}

.huuguu-comments-card .comment-meta {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-areas:
        "avatar author"
        "avatar meta";
    align-items: start;
    gap: .15rem 1rem;
}

.huuguu-comments-card .comment-author {
    grid-area: author;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    min-width: 0;
    margin: 0;
}

.huuguu-comments-card .comment-author .avatar {
    grid-area: avatar;
    float: none;
    margin: 0;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: block;
}

.huuguu-comments-card .comment-author .fn,
.huuguu-comments-card .comment-author .fn a {
    font-style: normal;
    font-weight: 700;
    line-height: 1.25;
    word-break: break-word;
}

.huuguu-comments-card .comment-author .says {
    color: var(--hgg-muted, #677287);
    font-size: .95rem;
}

.huuguu-comments-card .comment-metadata {
    grid-area: meta;
    margin: 0;
    line-height: 1.4;
}

.huuguu-comments-card .comment-metadata a {
    color: var(--hgg-muted, #677287);
}

.huuguu-comments-card .comment-content,
.huuguu-comments-card .reply {
    margin-left: calc(56px + 1rem);
}

.huuguu-comments-card .comment-content {
    margin-top: .85rem;
}

.huuguu-comments-card .reply {
    margin-top: .9rem;
}

.huuguu-comments-card .reply a,
.huuguu-comments-card .comment-edit-link {
    font-weight: 600;
}

.huuguu-comments-card .children {
    list-style: none;
    margin: 1rem 0 0 calc(56px + 1rem);
    padding: 0 0 0 1rem;
    border-left: 1px solid rgba(23,32,51,.08);
}

@media (max-width: 640px) {
    .huuguu-comments-card {
        padding: 1.15rem;
    }

    .huuguu-comments-card .comment-meta {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: .2rem .85rem;
    }

    .huuguu-comments-card .comment-author .avatar {
        width: 44px;
        height: 44px;
    }

    .huuguu-comments-card .comment-content,
    .huuguu-comments-card .reply,
    .huuguu-comments-card .children {
        margin-left: 0;
    }

    .huuguu-comments-card .children {
        padding-left: .85rem;
        margin-top: .85rem;
    }
}


/* === V1.19.11.19 BLOG ARCHIVE TITLE / COLOR ISOLATION FIX === */
.huuguu-blog-primary .huuguu-post-grid .hgg-post-card {
    color: var(--hgg-blog-text, var(--hgg-text)) !important;
}

.huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-title,
.huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-title a,
.huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-title a:visited {
    color: var(--hgg-blog-title, var(--hgg-text)) !important;
}

.huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-summary,
.huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-summary p,
.huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-meta,
.huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-meta span {
    color: var(--hgg-blog-text, var(--hgg-text)) !important;
}

.huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-summary a,
.huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-meta a {
    color: var(--hgg-link-color, var(--hgg-primary)) !important;
}


/* === V1.19.11.20 BLOG ARCHIVE TITLE/LINK SAFETY FIX === */
body.blog .hgg-post-card .entry-title a,
body.archive .hgg-post-card .entry-title a,
body.blog .hgg-post-card .entry-title,
body.archive .hgg-post-card .entry-title {
    color: var(--hgg-blog-link, var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-headings-color, var(--hgg-text))))) !important;
}

body.blog .hgg-post-card .entry-title a:hover,
body.archive .hgg-post-card .entry-title a:hover {
    color: var(--hgg-blog-link-hover, var(--hgg-blog-link, var(--hgg-link-hover-color, var(--hgg-link-color, var(--hgg-primary))))) !important;
}

body.blog .hgg-post-card .entry-summary a,
body.archive .hgg-post-card .entry-summary a,
body.blog .hgg-post-card .entry-meta a,
body.archive .hgg-post-card .entry-meta a {
    color: inherit;
}


/* === V1.19.11.22 BLOG LINK CONTROL NORMAL STATE FIX === */
body.blog .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title,
body.blog .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title a,
body.blog .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title a:visited,
body.archive .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title,
body.archive .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title a,
body.archive .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title a:visited {
    color: var(--hgg-blog-link, var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-headings-color, var(--hgg-text))))) !important;
}

body.blog .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title a:hover,
body.blog .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title a:focus,
body.archive .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title a:hover,
body.archive .huuguu-blog-primary .huuguu-post-grid .hgg-post-card .entry-header .entry-title a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-blog-link, var(--hgg-link-hover-color, var(--hgg-link-color, var(--hgg-primary))))) !important;
}

/* === V1.19.11.23 BLOG ARCHIVE TUNING FIXES === */
body.blog .huuguu-blog-wrap--archive .hgg-post-card .hgg-card__body,
body.archive .huuguu-blog-wrap--archive .hgg-post-card .hgg-card__body {
    padding: 1rem 1rem 1.1rem !important;
}

body.blog .huuguu-blog-wrap--archive .hgg-post-card .entry-header,
body.archive .huuguu-blog-wrap--archive .hgg-post-card .entry-header {
    margin: 0 0 .35rem !important;
    padding: 0 !important;
}

body.blog .huuguu-blog-wrap--archive .hgg-post-card .entry-title,
body.blog .huuguu-blog-wrap--archive .hgg-post-card .entry-title a,
body.blog .huuguu-blog-wrap--archive .hgg-post-card .entry-title a:visited,
body.archive .huuguu-blog-wrap--archive .hgg-post-card .entry-title,
body.archive .huuguu-blog-wrap--archive .hgg-post-card .entry-title a,
body.archive .huuguu-blog-wrap--archive .hgg-post-card .entry-title a:visited {
    font-size: clamp(1.05rem, 1.7vw, 1.45rem) !important;
    line-height: 1.18 !important;
    margin: 0 !important;
    color: var(--hgg-blog-link, var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-headings-color, var(--hgg-text))))) !important;
}

body.blog .huuguu-blog-wrap--archive .hgg-post-card .entry-title a:hover,
body.blog .huuguu-blog-wrap--archive .hgg-post-card .entry-title a:focus,
body.archive .huuguu-blog-wrap--archive .hgg-post-card .entry-title a:hover,
body.archive .huuguu-blog-wrap--archive .hgg-post-card .entry-title a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-blog-link, var(--hgg-link-hover-color, var(--hgg-link-color, var(--hgg-primary))))) !important;
}

body.blog .huuguu-blog-wrap--archive #secondary .widget-title,
body.blog .huuguu-blog-wrap--archive #secondary .wp-block-heading,
body.archive .huuguu-blog-wrap--archive #secondary .widget-title,
body.archive .huuguu-blog-wrap--archive #secondary .wp-block-heading {
    color: var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-headings-color, var(--hgg-text)))) !important;
}

body.blog .huuguu-blog-wrap--archive #secondary .widget a,
body.blog .huuguu-blog-wrap--archive #secondary .widget a:visited,
body.archive .huuguu-blog-wrap--archive #secondary .widget a,
body.archive .huuguu-blog-wrap--archive #secondary .widget a:visited {
    color: var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary))) !important;
}

body.blog .huuguu-blog-wrap--archive #secondary .widget a:hover,
body.blog .huuguu-blog-wrap--archive #secondary .widget a:focus,
body.archive .huuguu-blog-wrap--archive #secondary .widget a:hover,
body.archive .huuguu-blog-wrap--archive #secondary .widget a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)))) !important;
}

body.blog .huuguu-blog-primary .navigation.pagination .page-numbers,
body.blog .huuguu-blog-primary .nav-links .page-numbers,
body.blog .huuguu-blog-primary .nav-links a.page-numbers,
body.blog .huuguu-blog-primary .nav-links a.page-numbers:visited,
body.archive .huuguu-blog-primary .navigation.pagination .page-numbers,
body.archive .huuguu-blog-primary .nav-links .page-numbers,
body.archive .huuguu-blog-primary .nav-links a.page-numbers,
body.archive .huuguu-blog-primary .nav-links a.page-numbers:visited {
    background: var(--hgg-blog-pagination-bg, #ffffff) !important;
    color: var(--hgg-blog-pagination-text, var(--hgg-text)) !important;
    border-color: rgba(23,32,51,.10) !important;
}

body.blog .huuguu-blog-primary .nav-links .page-numbers.current,
body.archive .huuguu-blog-primary .nav-links .page-numbers.current {
    background: var(--hgg-blog-pagination-current-bg, var(--hgg-button-bg, #5f8f00)) !important;
    color: var(--hgg-blog-pagination-current-text, #ffffff) !important;
    border-color: transparent !important;
}

body.blog .huuguu-blog-primary .nav-links a.page-numbers:hover,
body.blog .huuguu-blog-primary .nav-links a.page-numbers:focus,
body.archive .huuguu-blog-primary .nav-links a.page-numbers:hover,
body.archive .huuguu-blog-primary .nav-links a.page-numbers:focus {
    background: var(--hgg-blog-pagination-current-bg, var(--hgg-button-hover-bg, #4a7200)) !important;
    color: var(--hgg-blog-pagination-current-text, #ffffff) !important;
}


/* === V1.19.12 BLOG FINAL POLISH === */
.huuguu-blog-archive .hgg-post-card,
.blog .hgg-post-card,
.archive .hgg-post-card {
    background: var(--hgg-blog-archive-card-bg, #ffffff) !important;
}

.huuguu-blog-archive .hgg-post-card .hgg-card__body,
.blog .hgg-post-card .hgg-card__body,
.archive .hgg-post-card .hgg-card__body {
    padding: 1rem 1rem 1.1rem !important;
}

.huuguu-blog-archive .hgg-post-card .entry-header,
.blog .hgg-post-card .entry-header,
.archive .hgg-post-card .entry-header {
    margin: 0 0 .35rem !important;
}

.huuguu-blog-archive .hgg-post-card .entry-title,
.huuguu-blog-archive .hgg-post-card .entry-title a,
.blog .hgg-post-card .entry-title,
.blog .hgg-post-card .entry-title a,
.archive .hgg-post-card .entry-title,
.archive .hgg-post-card .entry-title a {
    color: var(--hgg-blog-link, var(--hgg-blog-title, var(--hgg-text))) !important;
    font-size: clamp(1.1rem, 1.55vw, 1.85rem) !important;
    line-height: 1.18 !important;
    text-decoration: none !important;
}

.huuguu-blog-archive .hgg-post-card .entry-title a:hover,
.huuguu-blog-archive .hgg-post-card .entry-title a:focus,
.blog .hgg-post-card .entry-title a:hover,
.blog .hgg-post-card .entry-title a:focus,
.archive .hgg-post-card .entry-title a:hover,
.archive .hgg-post-card .entry-title a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-blog-link, var(--hgg-blog-title, var(--hgg-text)))) !important;
}

.blog .widget-area,
.archive .widget-area,
.huuguu-blog-archive .widget-area {
    background: transparent;
}

.blog .widget-area .widget,
.archive .widget-area .widget,
.huuguu-blog-archive .widget-area .widget {
    background: var(--hgg-blog-archive-sidebar-bg, #ffffff) !important;
}

.blog .widget-area .widget-title,
.archive .widget-area .widget-title,
.huuguu-blog-archive .widget-area .widget-title,
.blog .widget-area .wp-block-heading,
.archive .widget-area .wp-block-heading,
.huuguu-blog-archive .widget-area .wp-block-heading {
    color: var(--hgg-blog-title, var(--hgg-text)) !important;
}

.blog .widget-area .widget a,
.archive .widget-area .widget a,
.huuguu-blog-archive .widget-area .widget a {
    color: var(--hgg-blog-link, var(--hgg-link, #2457d6)) !important;
}

.blog .widget-area .widget a:hover,
.blog .widget-area .widget a:focus,
.archive .widget-area .widget a:hover,
.archive .widget-area .widget a:focus,
.huuguu-blog-archive .widget-area .widget a:hover,
.huuguu-blog-archive .widget-area .widget a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-blog-link, var(--hgg-link, #2457d6))) !important;
}

@media (min-width: 961px) {
    body.huuguu-blog-archive.hgg-blog-sidebar-sticky #secondary,
    body.blog.hgg-blog-sidebar-sticky #secondary,
    body.archive.hgg-blog-sidebar-sticky #secondary {
        position: sticky;
        top: calc(var(--hgg-blog-archive-sidebar-sticky-top, 90px) + var(--wp-admin--admin-bar--height, 0px));
        align-self: start;
    }
}

@media (min-width: 768px) {
    body.huuguu-blog-archive.hgg-blog-sidebar-sticky-tablet #secondary,
    body.blog.hgg-blog-sidebar-sticky-tablet #secondary,
    body.archive.hgg-blog-sidebar-sticky-tablet #secondary {
        position: sticky;
        top: calc(var(--hgg-blog-archive-sidebar-sticky-top, 90px) + var(--wp-admin--admin-bar--height, 0px));
        align-self: start;
    }
}

.huuguu-blog-primary .navigation.pagination,
.blog .huuguu-blog-primary .navigation.pagination,
.archive .huuguu-blog-primary .navigation.pagination {
    justify-content: center !important;
    gap: .75rem !important;
}

.huuguu-blog-primary .navigation.pagination .page-numbers,
.blog .huuguu-blog-primary .navigation.pagination .page-numbers,
.archive .huuguu-blog-primary .navigation.pagination .page-numbers {
    border: 0 !important;
    background: var(--hgg-blog-pagination-bg, #ffffff) !important;
    color: var(--hgg-blog-pagination-text, var(--hgg-text)) !important;
}

.huuguu-blog-primary .navigation.pagination .page-numbers.current,
.blog .huuguu-blog-primary .navigation.pagination .page-numbers.current,
.archive .huuguu-blog-primary .navigation.pagination .page-numbers.current {
    background: var(--hgg-blog-pagination-current-bg, var(--hgg-button-bg, #5f8f00)) !important;
    color: var(--hgg-blog-pagination-current-text, #ffffff) !important;
}

.huuguu-blog-primary .navigation.pagination a.page-numbers:hover,
.huuguu-blog-primary .navigation.pagination a.page-numbers:focus,
.blog .huuguu-blog-primary .navigation.pagination a.page-numbers:hover,
.blog .huuguu-blog-primary .navigation.pagination a.page-numbers:focus,
.archive .huuguu-blog-primary .navigation.pagination a.page-numbers:hover,
.archive .huuguu-blog-primary .navigation.pagination a.page-numbers:focus {
    background: var(--hgg-blog-pagination-current-bg, var(--hgg-button-hover-bg, #4a7200)) !important;
    color: var(--hgg-blog-pagination-current-text, #ffffff) !important;
}


/* === V1.19.13 BLOG SINGLE BACKGROUND + STICKY === */
.single-post .huuguu-blog-primary .hgg-single-card,
.single-post .huuguu-blog-primary .hgg-single-card .entry-content,
.single-post .huuguu-blog-primary .hgg-single-card .entry-header,
.single-post .huuguu-blog-primary .hgg-single-card .entry-footer {
    background: var(--hgg-blog-single-content-bg, var(--hgg-content-bg, #ffffff)) !important;
}

.single-post .hgg-post-navigation,
.single-post .comments-area {
    background: var(--hgg-blog-single-content-bg, var(--hgg-content-bg, #ffffff)) !important;
}

.single-post .hgg-post-navigation {
    border-color: rgba(23,32,51,.10);
}

.single-post .comments-area {
    padding: 1.25rem;
    border-radius: 14px;
    border: 1px solid rgba(23,32,51,.10);
}

.single-post .comments-area .comment-respond,
.single-post .comments-area .comment-list > li,
.single-post .comments-area .comment-list .children > li {
    background: transparent;
}

@media (min-width: 961px) {
    body.single-post.hgg-blog-single-sidebar-sticky #secondary {
        position: sticky;
        top: calc(var(--hgg-blog-single-sidebar-sticky-top, 90px) + var(--wp-admin--admin-bar--height, 0px));
        align-self: start;
    }
}

@media (min-width: 768px) {
    body.single-post.hgg-blog-single-sidebar-sticky-tablet #secondary {
        position: sticky;
        top: calc(var(--hgg-blog-single-sidebar-sticky-top, 90px) + var(--wp-admin--admin-bar--height, 0px));
        align-self: start;
    }
}


/* v1.19.13.2 stable blog finish */
.huuguu-related-posts > h2,
.huuguu-related-posts__title {
    color: var(--hgg-blog-title, var(--hgg-text));
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    line-height: 1.15;
    margin: 0 0 1.25rem;
}

.huuguu-related-posts .hgg-post-card,
.huuguu-post-grid .hgg-post-card {
    border-radius: calc(var(--hgg-radius, 22px) + 2px);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.huuguu-related-posts .hgg-post-card:hover,
.huuguu-related-posts .hgg-post-card:focus-within,
.huuguu-post-grid .hgg-post-card:hover,
.huuguu-post-grid .hgg-post-card:focus-within {
    transform: translateY(-3px);
    box-shadow: 0 18px 32px rgba(16,24,40,.10);
    border-color: rgba(36,109,232,.14);
}

.huuguu-related-posts .hgg-post-card .entry-header,
.huuguu-post-grid .hgg-post-card .entry-header {
    padding-inline: 1.1rem;
    padding-top: 1.05rem;
    margin-bottom: .45rem;
}

.huuguu-related-posts .hgg-post-card .entry-title,
.huuguu-post-grid .hgg-post-card .entry-title {
    margin: 0;
    font-size: clamp(1.15rem, 1.9vw, 1.7rem);
    line-height: 1.16;
}

.huuguu-related-posts .hgg-post-card .entry-title a,
.huuguu-related-posts .hgg-post-card .entry-title a:visited,
.huuguu-post-grid .hgg-post-card .entry-title a,
.huuguu-post-grid .hgg-post-card .entry-title a:visited,
body.blog .site-main .hgg-post-card .entry-title a,
body.archive .site-main .hgg-post-card .entry-title a {
    color: var(--hgg-blog-link, var(--hgg-link, #1769ff)) !important;
}

.huuguu-related-posts .hgg-post-card .entry-title a:hover,
.huuguu-related-posts .hgg-post-card .entry-title a:focus,
.huuguu-post-grid .hgg-post-card .entry-title a:hover,
.huuguu-post-grid .hgg-post-card .entry-title a:focus,
body.blog .site-main .hgg-post-card .entry-title a:hover,
body.archive .site-main .hgg-post-card .entry-title a:hover {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover, #0b4ec2)) !important;
}


/* v1.19.13.3 blog single + related polish */
.single-post .huuguu-blog-primary .hgg-single-card {
    background: var(--hgg-blog-single-content-bg, var(--hgg-content-bg, #ffffff)) !important;
    border-radius: var(--hgg-content-radius, 24px) !important;
    overflow: hidden;
}

.single-post .huuguu-blog-primary .hgg-single-card .entry-header,
.single-post .huuguu-blog-primary .hgg-single-card .entry-content,
.single-post .huuguu-blog-primary .hgg-single-card .entry-footer {
    background: transparent !important;
}

.single-post .hgg-post-navigation,
.single-post .comments-area,
.single-post .huuguu-related-posts .hgg-post-card {
    background: var(--hgg-blog-single-content-bg, var(--hgg-content-bg, #ffffff)) !important;
    border-radius: var(--hgg-content-radius, 24px) !important;
}

.single-post .huuguu-related-posts .hgg-post-card,
.blog .huuguu-post-grid .hgg-post-card,
.archive .huuguu-post-grid .hgg-post-card {
    background: var(--hgg-blog-archive-card-bg, var(--hgg-content-bg, #ffffff)) !important;
}

.single-post .huuguu-related-posts .entry-title a,
.single-post .huuguu-related-posts .entry-title a:visited,
.blog .huuguu-post-grid .entry-title a,
.blog .huuguu-post-grid .entry-title a:visited,
.archive .huuguu-post-grid .entry-title a,
.archive .huuguu-post-grid .entry-title a:visited {
    color: var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary))) !important;
}

.single-post .huuguu-related-posts .entry-title a:hover,
.single-post .huuguu-related-posts .entry-title a:focus,
.blog .huuguu-post-grid .entry-title a:hover,
.blog .huuguu-post-grid .entry-title a:focus,
.archive .huuguu-post-grid .entry-title a:hover,
.archive .huuguu-post-grid .entry-title a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)))) !important;
}

.single-post .huuguu-related-posts__title {
    color: var(--hgg-blog-title, var(--hgg-text)) !important;
}

@media (max-width: 767px) {
    .huuguu-blog-primary .navigation.pagination .page-numbers {
        min-width: 42px;
        min-height: 42px;
        padding: .55rem .8rem;
        border-radius: 14px;
        font-size: .95rem;
    }
}


/* === V1.19.13.4 BLOG SINGLE + RELATED + SIDEBAR LINK FIXES === */
/* related post titles must follow the same link scheme as archive cards */
.huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title,
.huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a,
.huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a:visited {
    color: var(--hgg-blog-link, var(--hgg-link, #1769ff)) !important;
}

.huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a:hover,
.huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover, #0b4ec2)) !important;
}

/* single meta author/date links must obey blog link controls */
.single-post .hgg-single-card .entry-meta a,
.single-post .hgg-single-card .entry-meta a:visited,
.single-post .site-main > article .entry-meta a,
.single-post .site-main > article .entry-meta a:visited {
    color: var(--hgg-blog-link, var(--hgg-link, #1769ff)) !important;
}

.single-post .hgg-single-card .entry-meta a:hover,
.single-post .hgg-single-card .entry-meta a:focus,
.single-post .site-main > article .entry-meta a:hover,
.single-post .site-main > article .entry-meta a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover, #0b4ec2)) !important;
}

/* blog sidebar links and headings must obey blog controls */
.huuguu-blog-wrap #secondary a,
.huuguu-blog-wrap aside.sidebar a,
.huuguu-blog-wrap .widget a,
.huuguu-blog-sidebar a,
.huuguu-blog-sidebar .widget a {
    color: var(--hgg-blog-link, var(--hgg-link, #1769ff)) !important;
}

.huuguu-blog-wrap #secondary a:hover,
.huuguu-blog-wrap #secondary a:focus,
.huuguu-blog-wrap aside.sidebar a:hover,
.huuguu-blog-wrap aside.sidebar a:focus,
.huuguu-blog-wrap .widget a:hover,
.huuguu-blog-wrap .widget a:focus,
.huuguu-blog-sidebar a:hover,
.huuguu-blog-sidebar a:focus,
.huuguu-blog-sidebar .widget a:hover,
.huuguu-blog-sidebar .widget a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover, #0b4ec2)) !important;
}

.huuguu-blog-wrap #secondary .widget-title,
.huuguu-blog-wrap #secondary .wp-block-heading,
.huuguu-blog-sidebar .widget-title,
.huuguu-blog-sidebar .wp-block-heading {
    color: var(--hgg-blog-title, var(--hgg-text)) !important;
}

/* single content + sidebar visual parity */
.single-post .hgg-single-card,
.single-post .huuguu-comments-card,
.single-post .huuguu-related-posts .hgg-post-card,
.single-post .post-navigation,
.single-post .huuguu-blog-wrap #secondary,
.single-post .huuguu-blog-wrap aside.sidebar,
.single-post .huuguu-blog-wrap .widget-area {
    border-radius: 18px;
}

/* mobile related posts need one clean column */
@media (max-width: 767px) {
    .huuguu-related-posts .huuguu-related-posts__grid,
    .huuguu-related-posts.count-2 .huuguu-related-posts__grid,
    .huuguu-related-posts.count-3 .huuguu-related-posts__grid,
    .huuguu-related-posts.count-4 .huuguu-related-posts__grid,
    .huuguu-related-posts.count-5 .huuguu-related-posts__grid,
    .huuguu-related-posts.count-6 .huuguu-related-posts__grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .huuguu-related-posts .hgg-post-card {
        min-height: 0 !important;
    }

    .huuguu-related-posts .hgg-post-card .entry-title,
    .huuguu-related-posts .hgg-post-card .entry-title a {
        font-size: clamp(1.35rem, 5vw, 1.75rem) !important;
        line-height: 1.12 !important;
    }

    .huuguu-related-posts .hgg-post-card .hgg-card-body {
        padding: 1rem !important;
    }

    .huuguu-blog-primary .nav-links {
        gap: .45rem;
    }

    .huuguu-blog-primary .nav-links .page-numbers {
        min-width: 40px;
        min-height: 40px;
        padding: .55rem .75rem;
        border-radius: 12px;
        font-size: .95rem;
    }
}


/* === V1.19.13.5 SINGLE + RELATED TITLE/LINK FINISH === */
.single-post .hgg-single-card .entry-meta,
.single-post .site-main > article .entry-meta {
    color: var(--hgg-blog-meta, var(--hgg-text)) !important;
}

.single-post .hgg-single-card .entry-meta .byline,
.single-post .site-main > article .entry-meta .byline {
    color: var(--hgg-blog-meta, var(--hgg-text)) !important;
}

.single-post .hgg-single-card .entry-meta a,
.single-post .hgg-single-card .entry-meta a:visited,
.single-post .site-main > article .entry-meta a,
.single-post .site-main > article .entry-meta a:visited {
    color: var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary))) !important;
    -webkit-text-fill-color: currentColor;
}

.single-post .hgg-single-card .entry-meta a:hover,
.single-post .hgg-single-card .entry-meta a:focus,
.single-post .site-main > article .entry-meta a:hover,
.single-post .site-main > article .entry-meta a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)))) !important;
    -webkit-text-fill-color: currentColor;
}

.single-post .huuguu-related-posts .hgg-post-card .entry-header {
    padding-inline: 1.1rem !important;
    padding-top: 1.05rem !important;
    margin-bottom: .45rem !important;
}

.single-post .huuguu-related-posts .hgg-post-card .entry-title {
    margin: 0 !important;
    font-size: clamp(1.15rem, 1.9vw, 1.7rem) !important;
    line-height: 1.16 !important;
}

.single-post .huuguu-related-posts .hgg-post-card .entry-title,
.single-post .huuguu-related-posts .hgg-post-card .entry-title a,
.single-post .huuguu-related-posts .hgg-post-card .entry-title a:visited,
.single-post .huuguu-related-posts .hgg-post-card h2,
.single-post .huuguu-related-posts .hgg-post-card h2 a,
.single-post .huuguu-related-posts .hgg-post-card h2 a:visited {
    color: var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary))) !important;
    -webkit-text-fill-color: currentColor;
    text-decoration: none !important;
}

.single-post .huuguu-related-posts .hgg-post-card .entry-title a:hover,
.single-post .huuguu-related-posts .hgg-post-card .entry-title a:focus,
.single-post .huuguu-related-posts .hgg-post-card h2 a:hover,
.single-post .huuguu-related-posts .hgg-post-card h2 a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)))) !important;
    -webkit-text-fill-color: currentColor;
}

.single-post .huuguu-blog-wrap #secondary a,
.single-post .huuguu-blog-wrap #secondary a:visited,
.single-post .huuguu-blog-wrap aside.sidebar a,
.single-post .huuguu-blog-wrap aside.sidebar a:visited,
.single-post .huuguu-blog-wrap .widget a,
.single-post .huuguu-blog-wrap .widget a:visited,
.single-post .huuguu-blog-sidebar a,
.single-post .huuguu-blog-sidebar a:visited {
    color: var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary))) !important;
    -webkit-text-fill-color: currentColor;
}

.single-post .huuguu-blog-wrap #secondary a:hover,
.single-post .huuguu-blog-wrap #secondary a:focus,
.single-post .huuguu-blog-wrap aside.sidebar a:hover,
.single-post .huuguu-blog-wrap aside.sidebar a:focus,
.single-post .huuguu-blog-wrap .widget a:hover,
.single-post .huuguu-blog-wrap .widget a:focus,
.single-post .huuguu-blog-sidebar a:hover,
.single-post .huuguu-blog-sidebar a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)))) !important;
    -webkit-text-fill-color: currentColor;
}

@media (max-width: 767px) {
    .single-post .huuguu-related-posts .hgg-post-card .entry-title,
    .single-post .huuguu-related-posts .hgg-post-card .entry-title a,
    .single-post .huuguu-related-posts .hgg-post-card h2,
    .single-post .huuguu-related-posts .hgg-post-card h2 a {
        font-size: clamp(1.2rem, 5.2vw, 1.55rem) !important;
        line-height: 1.14 !important;
    }

    .single-post .huuguu-related-posts .hgg-post-card .hgg-card__body,
    .single-post .huuguu-related-posts .hgg-post-card .hgg-card-body {
        padding: 1rem !important;
    }
}

/* === V1.19.13.6 SINGLE RELATED + META + SIDEBAR FINAL FIX === */
.single-post .huuguu-related-posts .hgg-post-card {
    background: var(--hgg-blog-archive-card-bg, var(--hgg-content-bg, #ffffff)) !important;
}

.single-post .huuguu-related-posts .hgg-post-card .hgg-card__body,
.single-post .huuguu-related-posts .hgg-post-card .hgg-card-body {
    padding: 1rem 1rem 1.1rem !important;
}

.single-post .huuguu-related-posts .hgg-post-card .entry-header {
    margin: 0 0 .35rem !important;
    padding: 0 !important;
}

.single-post .huuguu-related-posts .hgg-post-card .entry-title,
.single-post .huuguu-related-posts .hgg-post-card h2,
.single-post .huuguu-related-posts .hgg-post-card h3 {
    margin: 0 !important;
    display: block !important;
    font-size: clamp(1.05rem, 1.7vw, 1.45rem) !important;
    line-height: 1.18 !important;
    color: var(--hgg-blog-link, var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-headings-color, var(--hgg-text))))) !important;
}

.single-post .huuguu-related-posts .hgg-post-card .entry-title a,
.single-post .huuguu-related-posts .hgg-post-card .entry-title a:visited,
.single-post .huuguu-related-posts .hgg-post-card h2 a,
.single-post .huuguu-related-posts .hgg-post-card h2 a:visited,
.single-post .huuguu-related-posts .hgg-post-card h3 a,
.single-post .huuguu-related-posts .hgg-post-card h3 a:visited {
    color: var(--hgg-blog-link, var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-headings-color, var(--hgg-text))))) !important;
    -webkit-text-fill-color: currentColor;
    text-decoration: none !important;
}

.single-post .huuguu-related-posts .hgg-post-card .entry-title a:hover,
.single-post .huuguu-related-posts .hgg-post-card .entry-title a:focus,
.single-post .huuguu-related-posts .hgg-post-card h2 a:hover,
.single-post .huuguu-related-posts .hgg-post-card h2 a:focus,
.single-post .huuguu-related-posts .hgg-post-card h3 a:hover,
.single-post .huuguu-related-posts .hgg-post-card h3 a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-blog-link, var(--hgg-link-hover-color, var(--hgg-link-color, var(--hgg-primary))))) !important;
    -webkit-text-fill-color: currentColor;
}

.single-post .huuguu-related-posts .hgg-post-card .entry-summary,
.single-post .huuguu-related-posts .hgg-post-card .entry-summary p,
.single-post .huuguu-related-posts .hgg-post-card .hgg-post-excerpt {
    color: var(--hgg-blog-text, var(--hgg-text)) !important;
}

.single-post .hgg-single-card .entry-meta,
.single-post .hgg-single-card .entry-meta .posted-on,
.single-post .hgg-single-card .entry-meta .byline,
.single-post .hgg-single-card .entry-meta span,
.single-post .site-main > article .entry-meta,
.single-post .site-main > article .entry-meta .posted-on,
.single-post .site-main > article .entry-meta .byline,
.single-post .site-main > article .entry-meta span {
    color: var(--hgg-blog-meta, var(--hgg-text)) !important;
}

.single-post .hgg-single-card .entry-meta a,
.single-post .hgg-single-card .entry-meta a:visited,
.single-post .site-main > article .entry-meta a,
.single-post .site-main > article .entry-meta a:visited {
    color: var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary))) !important;
    -webkit-text-fill-color: currentColor;
}

.single-post .hgg-single-card .entry-meta a:hover,
.single-post .hgg-single-card .entry-meta a:focus,
.single-post .site-main > article .entry-meta a:hover,
.single-post .site-main > article .entry-meta a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)))) !important;
    -webkit-text-fill-color: currentColor;
}

.single-post .huuguu-blog-wrap #secondary .widget a,
.single-post .huuguu-blog-wrap #secondary .widget a:visited,
.single-post .huuguu-blog-wrap .widget-area .widget a,
.single-post .huuguu-blog-wrap .widget-area .widget a:visited,
.single-post .huuguu-blog-wrap aside.sidebar .widget a,
.single-post .huuguu-blog-wrap aside.sidebar .widget a:visited {
    color: var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary))) !important;
    -webkit-text-fill-color: currentColor;
}

.single-post .huuguu-blog-wrap #secondary .widget a:hover,
.single-post .huuguu-blog-wrap #secondary .widget a:focus,
.single-post .huuguu-blog-wrap .widget-area .widget a:hover,
.single-post .huuguu-blog-wrap .widget-area .widget a:focus,
.single-post .huuguu-blog-wrap aside.sidebar .widget a:hover,
.single-post .huuguu-blog-wrap aside.sidebar .widget a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)))) !important;
    -webkit-text-fill-color: currentColor;
}


/* v1.19.13.7 – keep blog controls out of related card titles while styling single meta/sidebar links */
body.single-post .site-main .entry-meta a,
body.single-post .site-main .posted-on a,
body.single-post .site-main .byline a,
body.single-post .site-main .nav-links a,
body.single-post .site-main .widget-area a,
body.single-post .site-main .sidebar a,
body.single-post .site-main #secondary a,
body.single-post .hgg-sidebar a {
    color: var(--hgg-blog-link-color, var(--hgg-link-color, var(--hgg-primary)));
}

body.single-post .site-main .entry-meta a:hover,
body.single-post .site-main .posted-on a:hover,
body.single-post .site-main .byline a:hover,
body.single-post .site-main .nav-links a:hover,
body.single-post .site-main .widget-area a:hover,
body.single-post .site-main .sidebar a:hover,
body.single-post .site-main #secondary a:hover,
body.single-post .hgg-sidebar a:hover {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary))));
}

body.single-post .hgg-related-posts .entry-title,
body.single-post .hgg-related-posts .entry-title a,
body.single-post .hgg-related-posts .entry-title a:visited {
    color: var(--hgg-blog-link-color, var(--hgg-link-color, var(--hgg-primary))) !important;
}

body.single-post .hgg-related-posts .entry-title a:hover,
body.single-post .hgg-related-posts .entry-title a:focus {
    color: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)))) !important;
}

/* === V42.8 BLOG CSS CONSOLIDATION === */
/* Single-source override block to stabilize archive, single, sidebar and related posts. */

:root {
    --huu-blog-card-bg-final: var(--hgg-blog-card-bg, var(--hgg-content-bg, #ffffff));
    --huu-blog-sidebar-bg-final: var(--hgg-blog-sidebar-bg, transparent);
    --huu-blog-link-final: var(--hgg-blog-link-color, var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary))));
    --huu-blog-link-hover-final: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary))));
    --huu-blog-title-final: var(--hgg-blog-title, var(--hgg-text));
    --huu-blog-excerpt-final: var(--hgg-blog-excerpt, var(--hgg-text-muted, #52607a));
}

/* Archive cards + related cards */
body .site-main .huuguu-blog-primary .hgg-post-card,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card {
    background: var(--huu-blog-card-bg-final) !important;
    border-radius: var(--hgg-blog-archive-card-radius, 18px) !important;
    box-shadow: var(--hgg-blog-archive-card-shadow, none) !important;
    overflow: hidden !important;
    border: 1px solid rgba(23,32,51,.08) !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card .hgg-card__body,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .hgg-card__body {
    padding: 1rem 1rem 1.15rem !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card .entry-header,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-header {
    margin: 0 0 .75rem !important;
    padding: 0 !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card .entry-title,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-title a,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-title a:visited,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a:visited {
    color: var(--huu-blog-title-final) !important;
    text-decoration: none !important;
    font-size: clamp(1.1rem, 2vw, 1.55rem) !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card .entry-title a:hover,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-title a:focus,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a:hover,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a:focus {
    color: var(--huu-blog-link-hover-final) !important;
}

body .site-main .huuguu-blog-primary .hgg-post-card .entry-summary,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-summary,
body .site-main .huuguu-blog-primary .hgg-post-card .entry-summary p,
body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-summary p {
    color: var(--huu-blog-excerpt-final) !important;
}

/* Archive sidebar and single sidebar links */
body .site-main .huuguu-blog-wrap #secondary,
body .site-main .huuguu-blog-wrap aside.sidebar,
body .site-main .huuguu-blog-wrap .widget-area {
    background: transparent;
}

body .site-main .huuguu-blog-wrap #secondary .widget,
body .site-main .huuguu-blog-wrap aside.sidebar .widget,
body .site-main .huuguu-blog-wrap .widget-area .widget {
    background: var(--huu-blog-sidebar-bg-final) !important;
    border-radius: 18px !important;
}

body .site-main .huuguu-blog-wrap #secondary .widget a,
body .site-main .huuguu-blog-wrap aside.sidebar .widget a,
body .site-main .huuguu-blog-wrap .widget-area .widget a,
body.single-post .site-main .entry-meta a,
body.single-post .site-main .posted-on a,
body.single-post .site-main .byline a,
body.single-post .site-main .nav-links a {
    color: var(--huu-blog-link-final) !important;
    text-decoration: none;
}

body .site-main .huuguu-blog-wrap #secondary .widget a:hover,
body .site-main .huuguu-blog-wrap aside.sidebar .widget a:hover,
body .site-main .huuguu-blog-wrap .widget-area .widget a:hover,
body.single-post .site-main .entry-meta a:hover,
body.single-post .site-main .posted-on a:hover,
body.single-post .site-main .byline a:hover,
body.single-post .site-main .nav-links a:hover {
    color: var(--huu-blog-link-hover-final) !important;
}

/* Single article card background and radius without bleeding into inner content blocks */
body.single-post:not(.elementor-page) .site-main article.type-post.hgg-single-card,
body.page:not(.elementor-page) .site-main article.type-page.hgg-single-card {
    background: var(--hgg-content-bg, #ffffff) !important;
    border-radius: 20px !important;
    overflow: hidden;
}

body.single-post:not(.elementor-page) .site-main article.type-post.hgg-single-card > .entry-header,
body.page:not(.elementor-page) .site-main article.type-page.hgg-single-card > .entry-header {
    background: transparent !important;
}

/* Single title stays on title color, author/meta links on blog link color */
body.single-post .site-main article.type-post.hgg-single-card > .entry-header > .entry-title,
body.single-post .site-main article.type-post.hgg-single-card > .entry-header > .entry-title a,
body.single-post .site-main article.type-post.hgg-single-card > .entry-header > .entry-title a:visited {
    color: var(--huu-blog-title-final) !important;
}

/* Related posts grid: desktop 2 cols, mobile 1 col */
body .site-main .huuguu-blog-primary .huuguu-related-posts {
    margin-top: 2rem !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts > h2,
body .site-main .huuguu-blog-primary .huuguu-related-posts > h3,
body .site-main .huuguu-blog-primary .huuguu-related-posts__title {
    color: var(--huu-blog-title-final) !important;
    margin: 0 0 1.1rem !important;
    font-size: clamp(1.45rem, 2.4vw, 2rem) !important;
    line-height: 1.12 !important;
}

body .site-main .huuguu-blog-primary .huuguu-related-posts .huuguu-related-posts__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
    align-items: start !important;
}

@media (max-width: 782px) {
    body .site-main .huuguu-blog-primary .huuguu-related-posts .huuguu-related-posts__grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .hgg-card__body {
        padding: .9rem .9rem 1rem !important;
    }

    body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title,
    body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a,
    body .site-main .huuguu-blog-primary .huuguu-related-posts .hgg-post-card .entry-title a:visited {
        font-size: 1.2rem !important;
        line-height: 1.2 !important;
    }

    body .site-main .huuguu-blog-primary .nav-links {
        gap: .4rem !important;
    }

    body .site-main .huuguu-blog-primary .nav-links .page-numbers {
        min-width: 40px !important;
        min-height: 40px !important;
        padding: .55rem .75rem !important;
        border-radius: 12px !important;
        font-size: .95rem !important;
    }

    body .huuguu-global-breadcrumb-bar .huuguu-breadcrumbs,
    body .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-current,
    body .huuguu-global-breadcrumb-bar a {
        font-size: .95rem !important;
        line-height: 1.35 !important;
        overflow-wrap: anywhere;
    }
}


/* === V43.2.2 BLOG CARD LINK SCOPE + MOBILE BREADCRUMB ALIGNMENT === */
/* Keep article content link overrides away from related cards and card titles. */
body .site-main .huuguu-related-posts .hgg-post-card .entry-title,
body .site-main .huuguu-related-posts .hgg-post-card .entry-title a,
body .site-main .huuguu-post-grid .hgg-post-card .entry-title,
body .site-main .huuguu-post-grid .hgg-post-card .entry-title a {
    color: var(--hgg-blog-card-title, #172033) !important;
}

body .site-main .huuguu-related-posts .hgg-post-card .entry-title a:hover,
body .site-main .huuguu-related-posts .hgg-post-card .entry-title a:focus,
body .site-main .huuguu-post-grid .hgg-post-card .entry-title a:hover,
body .site-main .huuguu-post-grid .hgg-post-card .entry-title a:focus {
    color: var(--hgg-blog-card-title-hover, var(--hgg-primary)) !important;
}

/* Slash separators stay centered on mobile. */
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready .huuguu-breadcrumb-sep {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    line-height: 1;
}

@media (max-width: 768px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: .4rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready > *,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > * {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready .huuguu-breadcrumb-sep {
        margin-inline: .35rem;
        transform: translateY(-1px);
    }
}


/* === V1.19.14.1 BLOG BACKGROUND REAL FIX + MOBILE BREADCRUMB SEP === */
:root {
    --huu-blog-archive-card-bg-final: var(--hgg-blog-archive-card-bg, var(--hgg-content-bg, #ffffff));
    --huu-blog-archive-sidebar-bg-final: var(--hgg-blog-archive-sidebar-bg, transparent);
    --huu-blog-single-content-bg-final: var(--hgg-blog-single-content-bg, var(--hgg-content-bg, #ffffff));
}

/* Archive card background must follow the archive card customizer color. */
body.blog .site-main .huuguu-blog-primary .hgg-post-card,
body.archive:not(.single) .site-main .huuguu-blog-primary .hgg-post-card,
body.home.blog .site-main .huuguu-blog-primary .hgg-post-card {
    background: var(--huu-blog-archive-card-bg-final) !important;
}

body.blog .site-main .huuguu-blog-primary .hgg-post-card .hgg-card__body,
body.archive:not(.single) .site-main .huuguu-blog-primary .hgg-post-card .hgg-card__body,
body.home.blog .site-main .huuguu-blog-primary .hgg-post-card .hgg-card__body,
body.blog .site-main .huuguu-blog-primary .hgg-post-card .entry-header,
body.archive:not(.single) .site-main .huuguu-blog-primary .hgg-post-card .entry-header,
body.home.blog .site-main .huuguu-blog-primary .hgg-post-card .entry-header {
    background: transparent !important;
}

/* Archive sidebar/widget background must follow the archive sidebar customizer color. */
body.blog .site-main .huuguu-blog-wrap #secondary .widget,
body.archive:not(.single) .site-main .huuguu-blog-wrap #secondary .widget,
body.home.blog .site-main .huuguu-blog-wrap #secondary .widget,
body.blog .site-main .huuguu-blog-wrap aside.sidebar .widget,
body.archive:not(.single) .site-main .huuguu-blog-wrap aside.sidebar .widget,
body.home.blog .site-main .huuguu-blog-wrap aside.sidebar .widget,
body.blog .site-main .huuguu-blog-wrap .widget-area .widget,
body.archive:not(.single) .site-main .huuguu-blog-wrap .widget-area .widget,
body.home.blog .site-main .huuguu-blog-wrap .widget-area .widget {
    background: var(--huu-blog-archive-sidebar-bg-final) !important;
}

/* Single post/article area must follow the single content background customizer color. */
body.single-post:not(.elementor-page) .site-main article.type-post.hgg-single-card,
body.single-post:not(.elementor-page) .site-main article.type-post.hgg-single-card > .entry-header,
body.single-post:not(.elementor-page) .site-main article.type-post.hgg-single-card > .entry-content,
body.single-post:not(.elementor-page) .site-main article.type-post.hgg-single-card > .entry-footer,
body.single-post .site-main .hgg-post-navigation,
body.single-post .site-main .comments-area,
body.single-post .site-main .comments-area .comment-respond,
body.single-post .site-main .comments-area .comment-list > li,
body.single-post .site-main .comments-area .comment-list .children > li {
    background: var(--huu-blog-single-content-bg-final) !important;
}

body.single-post .site-main .comments-area .comment-respond,
body.single-post .site-main .comments-area .comment-list > li,
body.single-post .site-main .comments-area .comment-list .children > li {
    border-radius: 14px;
}

/* Related posts inside single posts should follow the single content background. */
body.single-post .site-main .huuguu-related-posts,
body.single-post .site-main .huuguu-related-posts .huuguu-related-posts__grid,
body.single-post .site-main .huuguu-related-posts .hgg-post-card,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .hgg-card__body,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-header,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-summary {
    background: var(--huu-blog-single-content-bg-final) !important;
}

/* Breadcrumb separator vertical alignment on mobile. */
@media (max-width: 768px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb {
        align-items: center !important;
    }

    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready .huuguu-breadcrumb-sep {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;
        line-height: 1 !important;
        transform: none !important;
        margin-inline: .2rem !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        vertical-align: middle !important;
    }
}


/* === V43.0.7 BLOG SINGLE + BREADCRUMB + NOTICE POLISH === */
/* Single sidebar background should be configurable independently from archive */
.single-post .widget-area .widget {
    background: var(--hgg-blog-single-sidebar-bg, var(--hgg-blog-archive-sidebar-bg, #ffffff));
}

/* Keep blog archive widgets on their own archive color */
.blog .widget-area .widget,
.archive .widget-area .widget,
.search .widget-area .widget {
    background: var(--hgg-blog-archive-sidebar-bg, #ffffff);
}

/* On phones, related posts must render one per row and the single layout must breathe */
@media (max-width: 767px) {
    .single-post .huuguu-blog-wrap,
    .single-post .huuguu-content-wrap,
    .single-post .huuguu-blog-primary,
    .single-post #secondary,
    .single-post .widget-area,
    .single-post .hgg-single-card,
    .single-post .huuguu-related-posts,
    .single-post .comments-area,
    .single-post .post-navigation {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .single-post .huuguu-blog-wrap {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

    .single-post .huuguu-related-posts .huuguu-related-posts__grid,
    .single-post .huuguu-related-posts[data-count="2"] .huuguu-related-posts__grid,
    .single-post .huuguu-related-posts[data-count="3"] .huuguu-related-posts__grid,
    .single-post .huuguu-related-posts.count-2 .huuguu-related-posts__grid,
    .single-post .huuguu-related-posts.count-3 .huuguu-related-posts__grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .single-post .huuguu-related-posts .hgg-post-card {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }
}

/* Breadcrumb: on mobile, prefer clean horizontal flow with swipe over awkward truncation */
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

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

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

.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-sep {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    opacity: .45;
    margin-inline: .45rem;
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        text-overflow: clip !important;
        font-size: .92rem !important;
        line-height: 1.25 !important;
        padding: 10px 16px !important;
        -webkit-overflow-scrolling: touch;
    }
}

/* Woo add-to-cart notice should look integrated with the theme */
.single-product .woocommerce-notices-wrapper {
    margin-top: 1rem;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product .woocommerce-error {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    min-height: 72px;
    border: 1px solid rgba(36,109,232,.18) !important;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(23,32,51,.06);
    padding: 1.15rem 1.4rem 1.15rem 3.2rem !important;
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before,
.single-product .woocommerce-message::before,
.single-product .woocommerce-info::before,
.single-product .woocommerce-error::before {
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
}

.woocommerce-notices-wrapper .woocommerce-message .button,
.woocommerce-notices-wrapper .woocommerce-info .button,
.woocommerce-notices-wrapper .woocommerce-error .button,
.single-product .woocommerce-message .button,
.single-product .woocommerce-info .button,
.single-product .woocommerce-error .button {
    order: 2;
    flex: 0 0 auto;
    margin-left: auto;
    margin-bottom: 0 !important;
    white-space: nowrap;
    border-radius: 999px;
}

@media (max-width: 767px) {
    .woocommerce-notices-wrapper .woocommerce-message,
    .woocommerce-notices-wrapper .woocommerce-info,
    .woocommerce-notices-wrapper .woocommerce-error,
    .single-product .woocommerce-message,
    .single-product .woocommerce-info,
    .single-product .woocommerce-error {
        align-items: flex-start;
        flex-direction: column;
        padding-right: 1rem !important;
    }

    .woocommerce-notices-wrapper .woocommerce-message .button,
    .woocommerce-notices-wrapper .woocommerce-info .button,
    .woocommerce-notices-wrapper .woocommerce-error .button,
    .single-product .woocommerce-message .button,
    .single-product .woocommerce-info .button,
    .single-product .woocommerce-error .button {
        order: 3;
        margin-left: 0;
        margin-top: .5rem;
    }
}


/* === V1.19.14.3 BLOG SINGLE SIDEBAR + SINGLE TYPOGRAPHY FIX === */
:root {
    --huu-blog-single-sidebar-bg-final: var(--hgg-blog-single-sidebar-bg, transparent);
    --huu-blog-title-final-safe: var(--hgg-blog-title, var(--hgg-heading-color, var(--hgg-headings-color, var(--hgg-text, #172033))));
    --huu-blog-link-final-safe: var(--hgg-blog-link, var(--hgg-link-color, var(--hgg-primary, #2457d6)));
    --huu-blog-link-hover-final-safe: var(--hgg-blog-link-hover, var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary, #2457d6))));
    --huu-blog-text-final-safe: var(--hgg-blog-text, var(--hgg-text, #172033));
}

/* Blog single sidebar background must follow its own customizer control. */
body.single-post .site-main .huuguu-blog-wrap #secondary .widget,
body.single-post .site-main .huuguu-blog-wrap aside.sidebar .widget,
body.single-post .site-main .huuguu-blog-wrap .widget-area .widget {
    background: var(--huu-blog-single-sidebar-bg-final) !important;
}

/* Single-post content typography must not inherit unrelated white heading styles. */
body.single-post .site-main article.type-post.hgg-single-card .entry-title,
body.single-post .site-main article.type-post.hgg-single-card .entry-title a,
body.single-post .site-main article.type-post.hgg-single-card .entry-title a:visited,
body.single-post .site-main article.type-post.hgg-single-card .entry-content h1,
body.single-post .site-main article.type-post.hgg-single-card .entry-content h2,
body.single-post .site-main article.type-post.hgg-single-card .entry-content h3,
body.single-post .site-main article.type-post.hgg-single-card .entry-content h4,
body.single-post .site-main article.type-post.hgg-single-card .entry-content h5,
body.single-post .site-main article.type-post.hgg-single-card .entry-content h6,
body.single-post .site-main .huuguu-related-posts > h2,
body.single-post .site-main .huuguu-related-posts > h3,
body.single-post .site-main .huuguu-related-posts__title,
body.single-post .site-main .comments-area .comments-title,
body.single-post .site-main .comments-area .comment-reply-title,
body.single-post .site-main .hgg-post-navigation .hgg-nav-title,
body.single-post .site-main .widget-area .widget-title {
    color: var(--huu-blog-title-final-safe) !important;
}

body.single-post .site-main article.type-post.hgg-single-card,
body.single-post .site-main article.type-post.hgg-single-card .entry-content,
body.single-post .site-main article.type-post.hgg-single-card .entry-content p,
body.single-post .site-main article.type-post.hgg-single-card .entry-content li,
body.single-post .site-main article.type-post.hgg-single-card .entry-content blockquote,
body.single-post .site-main .comments-area,
body.single-post .site-main .comments-area p,
body.single-post .site-main .comments-area li,
body.single-post .site-main .hgg-post-navigation,
body.single-post .site-main .widget-area .widget {
    color: var(--huu-blog-text-final-safe) !important;
}

body.single-post .site-main article.type-post.hgg-single-card .entry-content a,
body.single-post .site-main article.type-post.hgg-single-card .entry-content a:visited,
body.single-post .site-main .comments-area a,
body.single-post .site-main .comments-area a:visited,
body.single-post .site-main .widget-area .widget a,
body.single-post .site-main .widget-area .widget a:visited,
body.single-post .site-main .hgg-post-navigation a,
body.single-post .site-main .hgg-post-navigation a:visited {
    color: var(--huu-blog-link-final-safe) !important;
}

body.single-post .site-main article.type-post.hgg-single-card .entry-content a:hover,
body.single-post .site-main article.type-post.hgg-single-card .entry-content a:focus,
body.single-post .site-main .comments-area a:hover,
body.single-post .site-main .comments-area a:focus,
body.single-post .site-main .widget-area .widget a:hover,
body.single-post .site-main .widget-area .widget a:focus,
body.single-post .site-main .hgg-post-navigation a:hover,
body.single-post .site-main .hgg-post-navigation a:focus {
    color: var(--huu-blog-link-hover-final-safe) !important;
}


/* === V1.19.14.5 NOTICE SPACING + RELATED BACKGROUND REAL FIX === */
body.single-post .site-main .huuguu-related-posts,
body.single-post .site-main .huuguu-related-posts .huuguu-related-posts__grid,
body.single-post .site-main .huuguu-related-posts .hgg-post-card,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .hgg-card__body,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-header,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-summary {
    background: var(--huu-blog-single-content-bg-final) !important;
}

body.single-post .site-main .huuguu-related-posts .hgg-post-card {
    border-radius: var(--hgg-blog-archive-card-radius, 18px) !important;
}

body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-summary,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-meta {
    color: var(--huu-blog-text-final-safe) !important;
}

body.single-post .site-main .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .site-main .woocommerce-message {
    gap: 1.75rem !important;
    min-height: 88px !important;
    padding: 1.4rem 1.8rem 1.4rem 3.4rem !important;
}

body.single-post .site-main .woocommerce-notices-wrapper .woocommerce-message .button,
body.single-product .site-main .woocommerce-message .button {
    margin-left: 1.75rem !important;
}

@media (max-width: 780px) {
    body.single-post .site-main .huuguu-related-posts .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts.count-2 .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts[data-count="2"] .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts.count-3 .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts[data-count="3"] .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts.count-4 .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts[data-count="4"] .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts.count-5 .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts[data-count="5"] .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts.count-6 .huuguu-related-posts__grid,
    body.single-post .site-main .huuguu-related-posts[data-count="6"] .huuguu-related-posts__grid {
        grid-template-columns: 1fr !important;
    }
}


/* === V1.19.14.5 MOBILE NOTICE BREATHING === */
@media (max-width: 767px) {
    body.single-product .site-main .woocommerce-notices-wrapper .woocommerce-message,
    body.single-product .site-main .woocommerce-message {
        gap: .9rem !important;
        min-height: 0 !important;
        padding: 1rem 1rem 1rem 2.9rem !important;
    }

    body.single-product .site-main .woocommerce-notices-wrapper .woocommerce-message .button,
    body.single-product .site-main .woocommerce-message .button {
        margin-top: .8rem !important;
    }
}


/* === V1.19.14.6 RELATED RADIUS + NOTICE TOP SPACE REAL FIX === */
body.single-post .site-main .huuguu-related-posts,
body.single-post .site-main .huuguu-related-posts .huuguu-related-posts__grid {
    border-radius: var(--hgg-blog-archive-card-radius, 18px) !important;
}

body.single-post .site-main .huuguu-related-posts .hgg-post-card,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .hgg-card__body,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-header,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-summary,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .hgg-post-thumb,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .hgg-post-thumb img {
    border-radius: var(--hgg-blog-archive-card-radius, 18px) !important;
}

body.single-post .site-main .huuguu-related-posts .hgg-post-card {
    overflow: hidden !important;
}

body.single-product .huuguu-global-breadcrumb-bar + .site-main,
body.woocommerce-page .huuguu-global-breadcrumb-bar + .site-main,
body.woocommerce .huuguu-global-breadcrumb-bar + .site-main,
body.single-product .huuguu-global-breadcrumb-bar + main,
body.woocommerce-page .huuguu-global-breadcrumb-bar + main,
body.woocommerce .huuguu-global-breadcrumb-bar + main {
    padding-top: 1.2rem !important;
}

body.single-product .site-main .woocommerce-notices-wrapper,
body.woocommerce-page .site-main .woocommerce-notices-wrapper,
body.woocommerce .site-main .woocommerce-notices-wrapper {
    margin-top: .9rem !important;
}

body.single-product .site-main .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .site-main .woocommerce-message {
    margin-top: 0 !important;
}

@media (max-width: 1024px) {
    .huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive .huuguu-content-wrap,
    .huuguu-blog-layout-contained_sidebar.huuguu-blog-archive .huuguu-content-wrap {
        width: min(calc(100% - (var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 15px))) * 2)), var(--hgg-blog-archive-container, var(--hgg-container))) !important;
    }

    .huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single .huuguu-content-wrap,
    .huuguu-blog-layout-contained_sidebar.huuguu-blog-single .huuguu-content-wrap {
        width: min(calc(100% - (var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 15px))) * 2)), var(--hgg-blog-single-container, var(--hgg-container))) !important;
    }

    .huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive .huuguu-content-wrap,
    .huuguu-blog-layout-full_sidebar.huuguu-blog-archive .huuguu-content-wrap,
    .huuguu-blog-layout-full_no_sidebar.huuguu-blog-single .huuguu-content-wrap,
    .huuguu-blog-layout-full_sidebar.huuguu-blog-single .huuguu-content-wrap {
        width: calc(100% - (var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 15px))) * 2)) !important;
    }
}

@media (max-width: 767px) {
    body.single-product .huuguu-global-breadcrumb-bar + .site-main,
    body.woocommerce-page .huuguu-global-breadcrumb-bar + .site-main,
    body.woocommerce .huuguu-global-breadcrumb-bar + .site-main,
    body.single-product .huuguu-global-breadcrumb-bar + main,
    body.woocommerce-page .huuguu-global-breadcrumb-bar + main,
    body.woocommerce .huuguu-global-breadcrumb-bar + main {
        padding-top: .95rem !important;
    }

    body.single-product .site-main .woocommerce-notices-wrapper,
    body.woocommerce-page .site-main .woocommerce-notices-wrapper,
    body.woocommerce .site-main .woocommerce-notices-wrapper {
        margin-top: .75rem !important;
    }
}


/* === V1.19.14.7 BLOG CONTAINER + BREADCRUMB + NOTICE CLEAN FIX === */
/* Unify archive and single content container logic so both screens breathe the same way. */
.huuguu-blog-archive .huuguu-content-wrap,
.huuguu-blog-single .huuguu-content-wrap {
    width: min(100% - 2rem, var(--hgg-breadcrumb-container, var(--hgg-site-width, var(--hgg-container, 1240px)))) !important;
    margin-inline: auto !important;
}

.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-single .huuguu-blog-wrap {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.huuguu-blog-layout-contained_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-layout-contained_sidebar.huuguu-blog-single .huuguu-blog-wrap,
.huuguu-blog-layout-full_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
.huuguu-blog-layout-full_sidebar.huuguu-blog-single .huuguu-blog-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 2rem !important;
}

.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive .huuguu-content-wrap,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single .huuguu-content-wrap,
.huuguu-blog-layout-full_sidebar.huuguu-blog-archive .huuguu-content-wrap,
.huuguu-blog-layout-full_sidebar.huuguu-blog-single .huuguu-content-wrap {
    width: min(100% - 2rem, 100%) !important;
    max-width: none !important;
}

@media (max-width: 960px) {
    .huuguu-blog-archive .huuguu-content-wrap,
    .huuguu-blog-single .huuguu-content-wrap {
        width: min(100% - 1.5rem, var(--hgg-site-width, var(--hgg-container, 1240px))) !important;
    }

    .huuguu-blog-layout-contained_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
    .huuguu-blog-layout-contained_sidebar.huuguu-blog-single .huuguu-blog-wrap,
    .huuguu-blog-layout-full_sidebar.huuguu-blog-archive .huuguu-blog-wrap,
    .huuguu-blog-layout-full_sidebar.huuguu-blog-single .huuguu-blog-wrap {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 1.5rem !important;
    }
}

@media (max-width: 767px) {
    .huuguu-blog-archive .huuguu-content-wrap,
    .huuguu-blog-single .huuguu-content-wrap {
        width: min(100% - 1rem, var(--hgg-site-width, var(--hgg-container, 1240px))) !important;
    }

    .single-post .huuguu-blog-wrap,
    .single-post .huuguu-blog-primary,
    .single-post #secondary,
    .single-post .widget-area,
    .single-post .hgg-single-card,
    .single-post .huuguu-related-posts,
    .single-post .comments-area,
    .single-post .post-navigation {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .single-post .huuguu-blog-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 1rem !important;
    }
}

/* Related posts should inherit the same card radius the archive uses. */
body.single-post .site-main .huuguu-related-posts .hgg-post-card,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .hgg-card__body,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-header,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .entry-summary,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .hgg-post-thumb,
body.single-post .site-main .huuguu-related-posts .hgg-post-card .hgg-post-thumb img {
    border-radius: var(--hgg-blog-archive-card-radius, 18px) !important;
}

body.single-post .site-main .huuguu-related-posts .hgg-post-card {
    overflow: hidden !important;
}

/* Breadcrumb: stop forcing ellipsis on each crumb and keep a cleaner mobile trail. */
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    text-overflow: clip !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

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

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > *,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > * {
    flex: 0 0 auto !important;
    min-width: auto !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-sep {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    line-height: 1 !important;
    opacity: .45 !important;
    margin-inline: .38rem !important;
    transform: none !important;
}

@media (max-width: 768px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
        font-size: .88rem !important;
        line-height: 1.2 !important;
        padding: 9px 14px !important;
        -webkit-overflow-scrolling: touch;
    }

    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-sep {
        margin-inline: .3rem !important;
    }
}

/* Woo notice needs real separation from the breadcrumb bar. */
body.single-product .huuguu-global-breadcrumb-bar + .site-main,
body.woocommerce-page .huuguu-global-breadcrumb-bar + .site-main,
body.woocommerce .huuguu-global-breadcrumb-bar + .site-main,
body.single-product .huuguu-global-breadcrumb-bar + main,
body.woocommerce-page .huuguu-global-breadcrumb-bar + main,
body.woocommerce .huuguu-global-breadcrumb-bar + main {
    padding-top: 1.5rem !important;
}

body.single-product .site-main .woocommerce-notices-wrapper,
body.woocommerce-page .site-main .woocommerce-notices-wrapper,
body.woocommerce .site-main .woocommerce-notices-wrapper {
    margin-top: 1.15rem !important;
}

body.single-product .site-main .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .site-main .woocommerce-message {
    margin-top: 0 !important;
}

@media (max-width: 767px) {
    body.single-product .huuguu-global-breadcrumb-bar + .site-main,
    body.woocommerce-page .huuguu-global-breadcrumb-bar + .site-main,
    body.woocommerce .huuguu-global-breadcrumb-bar + .site-main,
    body.single-product .huuguu-global-breadcrumb-bar + main,
    body.woocommerce-page .huuguu-global-breadcrumb-bar + main,
    body.woocommerce .huuguu-global-breadcrumb-bar + main {
        padding-top: 1.1rem !important;
    }

    body.single-product .site-main .woocommerce-notices-wrapper,
    body.woocommerce-page .site-main .woocommerce-notices-wrapper,
    body.woocommerce .site-main .woocommerce-notices-wrapper {
        margin-top: .9rem !important;
    }
}


/* === V1.19.15.5.1 BLOG STRUCTURE SPACING RESPECT + MOBILE BREADCRUMB + WOO NOTICE GAP === */
.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive .huuguu-content-wrap,
.huuguu-blog-layout-contained_sidebar.huuguu-blog-archive .huuguu-content-wrap {
    width: min(calc(100% - (var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) * 2)), var(--hgg-blog-archive-container, var(--hgg-container))) !important;
    max-width: none !important;
    margin-inline: auto;
}

.huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single .huuguu-content-wrap,
.huuguu-blog-layout-contained_sidebar.huuguu-blog-single .huuguu-content-wrap {
    width: min(calc(100% - (var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) * 2)), var(--hgg-blog-single-container, var(--hgg-container))) !important;
    max-width: none !important;
    margin-inline: auto;
}

.huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive .huuguu-content-wrap,
.huuguu-blog-layout-full_sidebar.huuguu-blog-archive .huuguu-content-wrap,
.huuguu-blog-layout-full_no_sidebar.huuguu-blog-single .huuguu-content-wrap,
.huuguu-blog-layout-full_sidebar.huuguu-blog-single .huuguu-content-wrap {
    width: calc(100% - 2rem) !important;
    max-width: none !important;
    margin-inline: auto;
}

body.single-product .site-main .woocommerce-notices-wrapper,
body.woocommerce-page .site-main .woocommerce-notices-wrapper,
body.woocommerce .site-main .woocommerce-notices-wrapper {
    margin-top: 1.35rem !important;
}

body.single-product .site-main .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .site-main .woocommerce-message {
    margin-top: 0 !important;
}

@media (max-width: 767px) {
    .huuguu-blog-layout-contained_no_sidebar.huuguu-blog-archive .huuguu-content-wrap,
    .huuguu-blog-layout-contained_sidebar.huuguu-blog-archive .huuguu-content-wrap {
        width: min(calc(100% - (var(--hgg-structure-pad-x-mobile, var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 12px)))) * 2)), var(--hgg-blog-archive-container, var(--hgg-container))) !important;
    }

    .huuguu-blog-layout-contained_no_sidebar.huuguu-blog-single .huuguu-content-wrap,
    .huuguu-blog-layout-contained_sidebar.huuguu-blog-single .huuguu-content-wrap,
    .huuguu-blog-layout-full_no_sidebar.huuguu-blog-archive .huuguu-content-wrap,
    .huuguu-blog-layout-full_sidebar.huuguu-blog-archive .huuguu-content-wrap,
    .huuguu-blog-layout-full_no_sidebar.huuguu-blog-single .huuguu-content-wrap,
    .huuguu-blog-layout-full_sidebar.huuguu-blog-single .huuguu-content-wrap {
        width: calc(100% - (var(--hgg-structure-pad-x-mobile, var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 12px)))) * 2)) !important;
    }

    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
        display: flex !important;
        align-items: center;
        flex-wrap: nowrap;
        gap: .35rem;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        text-overflow: clip;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

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

    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb > *,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready > *,
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready > * {
        flex: 0 0 auto;
        min-width: auto;
        overflow: visible;
        text-overflow: clip;
        white-space: nowrap;
    }

    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-sep,
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready .huuguu-breadcrumb-sep {
        margin: 0 .14rem;
        opacity: .58;
    }

    body.single-product .site-main .woocommerce-notices-wrapper,
    body.woocommerce-page .site-main .woocommerce-notices-wrapper,
    body.woocommerce .site-main .woocommerce-notices-wrapper {
        margin-top: 1rem !important;
    }
}


/* === V36 GLOBAL STRUCTURE SPACING SYSTEM === */
.site-header .huuguu-container,
.site-main > .huuguu-content-wrap,
.site-main > .huuguu-container,
.site-footer .huuguu-footer-container {
    margin-inline: auto;
    box-sizing: border-box;
}

.site-header .huuguu-container {
    width: min(calc(100% - (var(--hgg-structure-pad-x, 16px) * 2)), var(--hgg-header-container, var(--hgg-container)));
}

.site-main > .huuguu-content-wrap,
.site-main > .huuguu-container {
    width: min(calc(100% - (var(--hgg-structure-pad-x, 16px) * 2)), var(--hgg-structure-main-container, var(--hgg-container)));
    padding-top: var(--hgg-structure-pad-y, 0px);
    padding-bottom: var(--hgg-structure-pad-y, 0px);
}

.site-footer .huuguu-footer-container {
    width: min(calc(100% - (var(--hgg-structure-pad-x, 16px) * 2)), var(--hgg-footer-container, var(--hgg-container)));
    padding-top: var(--hgg-structure-pad-y, 0px);
    padding-bottom: var(--hgg-structure-pad-y, 0px);
}

.huuguu-header-shell {
    padding-top: calc(.85rem + var(--hgg-structure-pad-y, 0px));
    padding-bottom: calc(.85rem + var(--hgg-structure-pad-y, 0px));
    padding-left: 0;
    padding-right: 0;
}

body.single-product .site-main .woocommerce-notices-wrapper {
    margin-top: max(14px, calc(var(--hgg-structure-pad-y, 0px) + 14px)) !important;
}

body.single-product .site-main .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .site-main .woocommerce-message {
    margin-top: 0 !important;
}

@media (max-width: 1024px) {
    .site-header .huuguu-container {
        width: min(calc(100% - (var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x, 16px)) * 2)), var(--hgg-header-container, var(--hgg-container)));
    }

    .site-main > .huuguu-content-wrap,
    .site-main > .huuguu-container {
        width: min(calc(100% - (var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x, 16px)) * 2)), var(--hgg-structure-main-container, var(--hgg-container)));
    }

    .site-footer .huuguu-footer-container {
        width: min(calc(100% - (var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x, 16px)) * 2)), var(--hgg-footer-container, var(--hgg-container)));
    }
}

@media (max-width: 767px) {
    .site-header .huuguu-container {
        width: min(calc(100% - (var(--hgg-structure-pad-x-mobile, var(--hgg-structure-pad-x, 12px)) * 2)), var(--hgg-header-container, var(--hgg-container)));
    }

    .site-main > .huuguu-content-wrap,
    .site-main > .huuguu-container {
        width: min(calc(100% - (var(--hgg-structure-pad-x-mobile, var(--hgg-structure-pad-x, 12px)) * 2)), var(--hgg-structure-main-container, var(--hgg-container)));
    }

    .site-footer .huuguu-footer-container {
        width: min(calc(100% - (var(--hgg-structure-pad-x-mobile, var(--hgg-structure-pad-x, 12px)) * 2)), var(--hgg-footer-container, var(--hgg-container)));
    }

    .huuguu-header-shell {
        padding-top: calc(.75rem + var(--hgg-structure-pad-y-mobile, var(--hgg-structure-pad-y, 0px)));
        padding-bottom: calc(.75rem + var(--hgg-structure-pad-y-mobile, var(--hgg-structure-pad-y, 0px)));
    }
}


/* sold individually button alignment */
.single-product div.product form.cart:not(.variations_form):has(.quantity input[type="hidden"]) .single_add_to_cart_button,
.woocommerce-page div.product form.cart:not(.variations_form):has(.quantity input[type="hidden"]) .single_add_to_cart_button {
    margin-inline-start: 0 !important;
}

/* related products surface should not add an extra block tint in pro mode */
body.huuguu-pro-active.single-product .related.products,
body.huuguu-pro-active.woocommerce-page.single-product .related.products {
    background: transparent !important;
}


/* === V1.19.15.5.2 PAGE + POST STRUCTURE PADDING CLEANUP === */
/* Remove legacy fixed card padding so page/post cards obey the structural wrapper spacing. */
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page.hgg-page-card,
body.single-post:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post.hgg-single-card {
    padding: 0 !important;
}

body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page.hgg-page-card > .entry-content,
body.single-post:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post.hgg-single-card > .entry-content {
    padding-top: 0 !important;
    padding-inline: clamp(1.25rem, 2vw, 2rem) !important;
    padding-bottom: 1.75rem !important;
}

body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page.hgg-page-card > .entry-header,
body.single-post:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post.hgg-single-card > .entry-header {
    padding-inline: clamp(1.25rem, 2vw, 2rem) !important;
    padding-top: 1.5rem !important;
}

@media (max-width: 640px) {
    body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page.hgg-page-card > .entry-content,
    body.single-post:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post.hgg-single-card > .entry-content {
        padding-top: 0 !important;
        padding-inline: clamp(1rem, 4vw, 1.25rem) !important;
        padding-bottom: 1.25rem !important;
    }

    body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-page.hgg-page-card > .entry-header,
    body.single-post:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main > article.type-post.hgg-single-card > .entry-header {
        padding-inline: clamp(1rem, 4vw, 1.25rem) !important;
        padding-top: 1.15rem !important;
    }
}


/* v1.19.15.5.6 global structure wrapper fix */
/* Keep header shell untouched. Apply structural spacing only to main and footer wrappers. */
.site-main-inner > .huuguu-content-wrap,
.site-main-inner > .huuguu-container,
.site-main .site-main-inner > .huuguu-content-wrap,
.site-main .site-main-inner > .huuguu-container,
.site-footer .huuguu-footer-container {
    width: min(100%, var(--hgg-footer-container, var(--hgg-container))) !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
}

.site-main-inner > .huuguu-content-wrap,
.site-main-inner > .huuguu-container,
.site-main .site-main-inner > .huuguu-content-wrap,
.site-main .site-main-inner > .huuguu-container {
    max-width: var(--hgg-structure-main-container, var(--hgg-container)) !important;
    padding-left: var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) !important;
    padding-right: var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) !important;
    padding-top: var(--hgg-structure-pad-y-desktop, var(--hgg-structure-pad-y, 0px)) !important;
    padding-bottom: var(--hgg-structure-pad-y-desktop, var(--hgg-structure-pad-y, 0px)) !important;
}

.site-footer .huuguu-footer-container {
    max-width: var(--hgg-footer-container, var(--hgg-container)) !important;
    padding-left: var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) !important;
    padding-right: var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) !important;
    padding-top: var(--hgg-footer-top-padding, var(--hgg-structure-pad-y-desktop, var(--hgg-structure-pad-y, 0px))) !important;
    padding-bottom: var(--hgg-footer-bottom-padding, var(--hgg-structure-pad-y-desktop, var(--hgg-structure-pad-y, 0px))) !important;
}

@media (max-width: 1024px) {
    .site-main-inner > .huuguu-content-wrap,
    .site-main-inner > .huuguu-container,
    .site-main .site-main-inner > .huuguu-content-wrap,
    .site-main .site-main-inner > .huuguu-container {
        padding-left: var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px))) !important;
        padding-right: var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px))) !important;
        padding-top: var(--hgg-structure-pad-y-tablet, var(--hgg-structure-pad-y-desktop, var(--hgg-structure-pad-y, 0px))) !important;
        padding-bottom: var(--hgg-structure-pad-y-tablet, var(--hgg-structure-pad-y-desktop, var(--hgg-structure-pad-y, 0px))) !important;
    }

    .site-footer .huuguu-footer-container {
        padding-left: var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px))) !important;
        padding-right: var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px))) !important;
        padding-top: var(--hgg-footer-top-padding, var(--hgg-structure-pad-y-tablet, var(--hgg-structure-pad-y-desktop, var(--hgg-structure-pad-y, 0px)))) !important;
        padding-bottom: var(--hgg-footer-bottom-padding, var(--hgg-structure-pad-y-tablet, var(--hgg-structure-pad-y-desktop, var(--hgg-structure-pad-y, 0px)))) !important;
    }
}



/* === V1.19.15.5.5 GLOBAL STRUCTURE PAGE/POST INNER CLEANUP === */
/* The new structural spacing must live on the wrapper, not inside page/post cards. */
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.type-page.hgg-page-card,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post.hgg-single-card {
    padding: 0 !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.hgg-page-card > .entry-header,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page.hgg-page-card > .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page.hgg-page-card > .entry-footer,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post.hgg-single-card > .entry-header,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post.hgg-single-card > .entry-content,
body:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-post.hgg-single-card > .entry-footer {
    padding-inline: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media (max-width: 640px) {
    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-post > .entry-content,
    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 {
        padding: 0 !important;
    }
}


/* === V1.19.15.5.9 PAGE TITLE + BLOG SINGLE INNER SPACING RESTORE === */
/* Page titles need a visual top gap inside the page header without changing global structure. */
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .entry-header,
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page.hgg-page-card > .entry-header {
    padding-top: clamp(1.25rem, 2vw, 2rem) !important;
}

/* Restore inner spacing for blog single only; page cleanup must not strip the post card internals. */
body.single-post .site-main .huuguu-blog-primary .hgg-single-card > .entry-header {
    padding-inline: clamp(1.25rem, 2vw, 2rem) !important;
    padding-top: clamp(1.25rem, 2vw, 2rem) !important;
    padding-bottom: 0 !important;
}

body.single-post .site-main .huuguu-blog-primary .hgg-single-card > .entry-content {
    padding-inline: clamp(1.25rem, 2vw, 2rem) !important;
    padding-top: 0 !important;
    padding-bottom: 1.75rem !important;
}

body.single-post .site-main .huuguu-blog-primary .hgg-single-card > .entry-footer {
    padding-inline: clamp(1.25rem, 2vw, 2rem) !important;
    padding-top: 0 !important;
    padding-bottom: 1.25rem !important;
}

/* Related posts wrapper in single blog needs its own inner spacing when a surface color is active. */
body.single-post .site-main .huuguu-blog-primary .huuguu-related-posts {
    padding: clamp(1.25rem, 2vw, 2rem) !important;
    border-radius: var(--hgg-blog-archive-card-radius, 18px);
    box-sizing: border-box;
}

/* Keep count layouts intact after adding wrapper padding. */
body.single-post .site-main .huuguu-blog-primary .huuguu-related-posts.count-1,
body.single-post .site-main .huuguu-blog-primary .huuguu-related-posts.count-2,
body.single-post .site-main .huuguu-blog-primary .huuguu-related-posts.count-3,
body.single-post .site-main .huuguu-blog-primary .huuguu-related-posts.count-4,
body.single-post .site-main .huuguu-blog-primary .huuguu-related-posts.count-5,
body.single-post .site-main .huuguu-blog-primary .huuguu-related-posts.count-6 {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 640px) {
    body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .entry-header,
    body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page.hgg-page-card > .entry-header,
    body.single-post .site-main .huuguu-blog-primary .hgg-single-card > .entry-header,
    body.single-post .site-main .huuguu-blog-primary .hgg-single-card > .entry-content,
    body.single-post .site-main .huuguu-blog-primary .hgg-single-card > .entry-footer,
    body.single-post .site-main .huuguu-blog-primary .huuguu-related-posts {
        padding-inline: 1.25rem !important;
    }

    body.single-post .site-main .huuguu-blog-primary .hgg-single-card > .entry-header {
        padding-top: 1.25rem !important;
    }

    body.single-post .site-main .huuguu-blog-primary .hgg-single-card > .entry-content {
        padding-bottom: 1.25rem !important;
    }

    body.single-post .site-main .huuguu-blog-primary .huuguu-related-posts {
        padding-block: 1.25rem !important;
    }
}


/* Structural content wrapper: connect global left/right spacing to the real main wrapper. */
.site-main .site-main-inner > .huuguu-content-wrap,
.site-main .site-main-inner > .huuguu-container,
.site-main-inner > .huuguu-content-wrap,
.site-main-inner > .huuguu-container {
    width: min(calc(100% - (var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) * 2)), var(--hgg-structure-main-container, var(--hgg-container))) !important;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1024px) {
    .site-main .site-main-inner > .huuguu-content-wrap,
    .site-main .site-main-inner > .huuguu-container,
    .site-main-inner > .huuguu-content-wrap,
    .site-main-inner > .huuguu-container {
        width: min(calc(100% - (var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px))) * 2)), var(--hgg-structure-main-container, var(--hgg-container))) !important;
    }
}

@media (max-width: 767px) {
    .site-main .site-main-inner > .huuguu-content-wrap,
    .site-main .site-main-inner > .huuguu-container,
    .site-main-inner > .huuguu-content-wrap,
    .site-main-inner > .huuguu-container {
        width: min(calc(100% - (var(--hgg-structure-pad-x-mobile, var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 12px)))) * 2)), var(--hgg-structure-main-container, var(--hgg-container))) !important;
    }
}


/* Huuguu 1.19.15.6.2 — single blog/page card inner spacing controls */
body.single-post:not(.elementor-page) .hgg-single-card .entry-header,
body.page:not(.elementor-page) article.type-page.hgg-page-card .entry-header {
  padding-top: var(--hgg-blog-single-header-pad-y, 24px) !important;
  padding-bottom: max(0.625rem, calc(var(--hgg-blog-single-header-pad-y, 24px) * .5)) !important;
  padding-left: var(--hgg-blog-single-header-pad-x, 24px) !important;
  padding-right: var(--hgg-blog-single-header-pad-x, 24px) !important;
}

body.single-post:not(.elementor-page) .hgg-single-card .entry-content,
body.single-post:not(.elementor-page) .hgg-single-card .entry-footer {
  padding-top: 0 !important;
  padding-bottom: var(--hgg-blog-single-content-pad-y, 24px) !important;
  padding-left: var(--hgg-blog-single-content-pad-x, 24px) !important;
  padding-right: var(--hgg-blog-single-content-pad-x, 24px) !important;
}

body.single-post:not(.elementor-page) .huuguu-related-posts {
  padding-top: var(--hgg-blog-single-related-pad-y, 24px) !important;
  padding-bottom: var(--hgg-blog-single-related-pad-y, 24px) !important;
  padding-left: var(--hgg-blog-single-related-pad-x, 24px) !important;
  padding-right: var(--hgg-blog-single-related-pad-x, 24px) !important;
}


/* Final breadcrumb padding connection */
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
.woocommerce-breadcrumb.huuguu-breadcrumb-ready,
.site-main .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    padding-top: var(--hgg-wc-breadcrumb-pad-y, 14px) !important;
    padding-bottom: var(--hgg-wc-breadcrumb-pad-y, 14px) !important;
    padding-left: var(--hgg-wc-breadcrumb-pad-x, 2px) !important;
    padding-right: var(--hgg-wc-breadcrumb-pad-x, 2px) !important;
}




/* === V1.19.16.0 STRUCTURE + BLOG SINGLE + HEADER CART BADGE CLEANUP === */
/* Consolidated single post spacing controls so legacy clamp-based blocks do not win anymore. */
body.single-post:not(.elementor-page) .site-main .huuguu-blog-primary article.type-post.hgg-single-card > .entry-header {
  padding-top: var(--hgg-blog-single-header-pad-y, 24px) !important;
  padding-bottom: var(--hgg-blog-single-header-pad-y, 24px) !important;
  padding-left: var(--hgg-blog-single-header-pad-x, 24px) !important;
  padding-right: var(--hgg-blog-single-header-pad-x, 24px) !important;
}

body.single-post:not(.elementor-page) .site-main .huuguu-blog-primary article.type-post.hgg-single-card > .post-thumbnail {
  margin-top: var(--hgg-blog-single-image-space-top, 12px) !important;
  margin-bottom: var(--hgg-blog-single-image-space-bottom, 20px) !important;
  margin-left: var(--hgg-blog-single-image-space-x, var(--hgg-blog-single-content-pad-x, 24px)) !important;
  margin-right: var(--hgg-blog-single-image-space-x, var(--hgg-blog-single-content-pad-x, 24px)) !important;
}

body.single-post:not(.elementor-page) .site-main .huuguu-blog-primary article.type-post.hgg-single-card > .entry-content,
body.single-post:not(.elementor-page) .site-main .huuguu-blog-primary article.type-post.hgg-single-card > .entry-footer {
  padding-top: var(--hgg-blog-single-content-pad-y, 24px) !important;
  padding-bottom: var(--hgg-blog-single-content-pad-y, 24px) !important;
  padding-left: var(--hgg-blog-single-content-pad-x, 24px) !important;
  padding-right: var(--hgg-blog-single-content-pad-x, 24px) !important;
}

body.single-post:not(.elementor-page) .site-main .huuguu-blog-primary .huuguu-related-posts {
  padding-top: var(--hgg-blog-single-related-pad-y, 24px) !important;
  padding-bottom: var(--hgg-blog-single-related-pad-y, 24px) !important;
  padding-left: var(--hgg-blog-single-related-pad-x, 24px) !important;
  padding-right: var(--hgg-blog-single-related-pad-x, 24px) !important;
}

/* Page titles keep a small visual top gap without affecting the global structure wrapper. */
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page > .entry-header,
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) article.type-page.hgg-page-card > .entry-header {
  padding-top: clamp(1.25rem, 2vw, 2rem) !important;
}

/* Header cart counter badge colors should be user-controlled while preserving size/shape. */
.hgg-cart-count.has-items {
  background: var(--hgg-header-cart-badge-bg, var(--hgg-button-bg, #246de8)) !important;
  color: var(--hgg-header-cart-badge-text, #ffffff) !important;
}


/* v1.19.2 meta links and empty rows polish */
.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a {
    color: var(--hgg-link-color, var(--hgg-primary)) !important;
    text-decoration-thickness: .08em;
    text-underline-offset: .12em;
    transition: color .2s ease, text-decoration-color .2s ease;
}

.single-product div.product .product_meta > span[style*="display: none"],
.woocommerce-page.single-product div.product .product_meta > span[style*="display: none"] {
    display: none !important;
}


/* === V1.19.2 SALE PRICE VISIBILITY FIX === */
.single-product div.product .summary .price del,
.woocommerce-page div.product .summary .price del,
.post-type-archive-product li.product .price del,
.tax-product_cat li.product .price del,
.tax-product_tag li.product .price del,
.tax-product_brand li.product .price del,
.single-product .related li.product .price del,
.single-product .up-sells li.product .price del,
.woocommerce-cart .cross-sells li.product .price del,
.woocommerce ul.products[class*="columns-"] li.product .price del {
    display: inline-flex !important;
    align-items: baseline !important;
    margin: 0 .45rem 0 0 !important;
    padding: 0 !important;
    color: var(--hgg-muted, #68758a) !important;
    opacity: .72 !important;
    font-weight: 600 !important;
    text-decoration: line-through !important;
    text-decoration-thickness: .08em !important;
    text-decoration-color: currentColor !important;
}

.single-product div.product .summary .price del .woocommerce-Price-amount,
.woocommerce-page div.product .summary .price del .woocommerce-Price-amount,
.post-type-archive-product li.product .price del .woocommerce-Price-amount,
.tax-product_cat li.product .price del .woocommerce-Price-amount,
.tax-product_tag li.product .price del .woocommerce-Price-amount,
.tax-product_brand li.product .price del .woocommerce-Price-amount,
.single-product .related li.product .price del .woocommerce-Price-amount,
.single-product .up-sells li.product .price del .woocommerce-Price-amount,
.woocommerce-cart .cross-sells li.product .price del .woocommerce-Price-amount,
.woocommerce ul.products[class*="columns-"] li.product .price del .woocommerce-Price-amount {
    color: inherit !important;
    font-weight: 700 !important;
    font-size: .92em !important;
}

.single-product div.product .summary .price ins,
.woocommerce-page div.product .summary .price ins,
.post-type-archive-product li.product .price ins,
.tax-product_cat li.product .price ins,
.tax-product_tag li.product .price ins,
.tax-product_brand li.product .price ins,
.single-product .related li.product .price ins,
.single-product .up-sells li.product .price ins,
.woocommerce-cart .cross-sells li.product .price ins,
.woocommerce ul.products[class*="columns-"] li.product .price ins {
    display: inline-flex !important;
    align-items: baseline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hgg-wc-single-price, var(--hgg-primary, #5e9200)) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    background: transparent !important;
}

.single-product div.product .summary .price ins .woocommerce-Price-amount,
.woocommerce-page div.product .summary .price ins .woocommerce-Price-amount,
.post-type-archive-product li.product .price ins .woocommerce-Price-amount,
.tax-product_cat li.product .price ins .woocommerce-Price-amount,
.tax-product_tag li.product .price ins .woocommerce-Price-amount,
.tax-product_brand li.product .price ins .woocommerce-Price-amount,
.single-product .related li.product .price ins .woocommerce-Price-amount,
.single-product .up-sells li.product .price ins .woocommerce-Price-amount,
.woocommerce-cart .cross-sells li.product .price ins .woocommerce-Price-amount,
.woocommerce ul.products[class*="columns-"] li.product .price ins .woocommerce-Price-amount {
    color: inherit !important;
    font-weight: 800 !important;
}

.single-product div.product .summary .price > .woocommerce-Price-amount:first-child:last-child,
.woocommerce-page div.product .summary .price > .woocommerce-Price-amount:first-child:last-child,
.post-type-archive-product li.product .price > .woocommerce-Price-amount:first-child:last-child,
.tax-product_cat li.product .price > .woocommerce-Price-amount:first-child:last-child,
.tax-product_tag li.product .price > .woocommerce-Price-amount:first-child:last-child,
.tax-product_brand li.product .price > .woocommerce-Price-amount:first-child:last-child,
.single-product .related li.product .price > .woocommerce-Price-amount:first-child:last-child,
.single-product .up-sells li.product .price > .woocommerce-Price-amount:first-child:last-child,
.woocommerce-cart .cross-sells li.product .price > .woocommerce-Price-amount:first-child:last-child,
.woocommerce ul.products[class*="columns-"] li.product .price > .woocommerce-Price-amount:first-child:last-child {
    color: var(--hgg-wc-single-price, var(--hgg-primary, #5e9200)) !important;
}


/* === V1.19.2.1 FINAL HARD FIX: sale price + product meta links === */
.single-product div.product .summary .price,
.woocommerce-page.single-product div.product .summary .price,
.post-type-archive-product li.product .price,
.tax-product_cat li.product .price,
.tax-product_tag li.product .price,
.tax-product_brand li.product .price,
.single-product .related li.product .price,
.single-product .up-sells li.product .price,
.woocommerce-cart .cross-sells li.product .price,
.woocommerce ul.products[class*="columns-"] li.product .price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: .45rem !important;
}

.single-product div.product .summary .price del,
.woocommerce-page.single-product div.product .summary .price del,
.post-type-archive-product li.product .price del,
.tax-product_cat li.product .price del,
.tax-product_tag li.product .price del,
.tax-product_brand li.product .price del,
.single-product .related li.product .price del,
.single-product .up-sells li.product .price del,
.woocommerce-cart .cross-sells li.product .price del,
.woocommerce ul.products[class*="columns-"] li.product .price del {
    display: inline-flex !important;
    visibility: visible !important;
    color: #7a8699 !important;
    opacity: 1 !important;
    margin-right: .15rem !important;
}

.single-product div.product .summary .price ins,
.woocommerce-page.single-product div.product .summary .price ins,
.post-type-archive-product li.product .price ins,
.tax-product_cat li.product .price ins,
.tax-product_tag li.product .price ins,
.tax-product_brand li.product .price ins,
.single-product .related li.product .price ins,
.single-product .up-sells li.product .price ins,
.woocommerce-cart .cross-sells li.product .price ins,
.woocommerce ul.products[class*="columns-"] li.product .price ins {
    display: inline-flex !important;
    visibility: visible !important;
    color: var(--hgg-wc-single-price, var(--hgg-primary, #5e9200)) !important;
    opacity: 1 !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value,
.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a {
    color: var(--hgg-text, #172033) !important;
}

.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover,
.woocommerce-page.single-product div.product .product_meta.huuguu-meta-ready .huuguu-meta-value a:hover {
    color: var(--hgg-primary, #5e9200) !important;
}


/* === V1.19.3 FISCAL PRICE SUFFIX CUSTOMIZER CONTROLS === */
.single-product div.product .summary .price .woocommerce-price-suffix,
.woocommerce-page div.product .summary .price .woocommerce-price-suffix,
.post-type-archive-product li.product .price .woocommerce-price-suffix,
.tax-product_cat li.product .price .woocommerce-price-suffix,
.tax-product_tag li.product .price .woocommerce-price-suffix,
.tax-product_brand li.product .price .woocommerce-price-suffix,
.single-product .related li.product .price .woocommerce-price-suffix,
.single-product .up-sells li.product .price .woocommerce-price-suffix,
.woocommerce-cart .cross-sells li.product .price .woocommerce-price-suffix,
.woocommerce ul.products[class*="columns-"] li.product .price .woocommerce-price-suffix {
    font-size: var(--hgg-wc-price-suffix-size, 14px) !important;
    color: var(--hgg-wc-price-suffix-color, #5f6b7a) !important;
    font-weight: var(--hgg-wc-price-suffix-weight, 700) !important;
    margin-top: var(--hgg-wc-price-suffix-spacing, 6px) !important;
    line-height: 1.25 !important;
}

.single-product div.product .summary .price > .woocommerce-price-suffix,
.woocommerce-page div.product .summary .price > .woocommerce-price-suffix {
    display: block !important;
    flex-basis: 100% !important;
}


/* === V1.19.3.1 WOO BLOCKS CART/CHECKOUT TITLE + LINK FIX === */
body.woocommerce-cart:not(.elementor-page) .site-main .entry-content h1,
body.woocommerce-cart:not(.elementor-page) .site-main .entry-content h2,
body.woocommerce-cart:not(.elementor-page) .site-main .entry-content h3,
body.woocommerce-cart:not(.elementor-page) .site-main .entry-content h4,
body.woocommerce-cart:not(.elementor-page) .site-main .entry-content h5,
body.woocommerce-cart:not(.elementor-page) .site-main .entry-content h6,
body.woocommerce-checkout:not(.elementor-page) .site-main .entry-content h1,
body.woocommerce-checkout:not(.elementor-page) .site-main .entry-content h2,
body.woocommerce-checkout:not(.elementor-page) .site-main .entry-content h3,
body.woocommerce-checkout:not(.elementor-page) .site-main .entry-content h4,
body.woocommerce-checkout:not(.elementor-page) .site-main .entry-content h5,
body.woocommerce-checkout:not(.elementor-page) .site-main .entry-content h6,
body.woocommerce-cart:not(.elementor-page) .site-main .page-content h1,
body.woocommerce-cart:not(.elementor-page) .site-main .page-content h2,
body.woocommerce-cart:not(.elementor-page) .site-main .page-content h3,
body.woocommerce-cart:not(.elementor-page) .site-main .page-content h4,
body.woocommerce-cart:not(.elementor-page) .site-main .page-content h5,
body.woocommerce-cart:not(.elementor-page) .site-main .page-content h6,
body.woocommerce-checkout:not(.elementor-page) .site-main .page-content h1,
body.woocommerce-checkout:not(.elementor-page) .site-main .page-content h2,
body.woocommerce-checkout:not(.elementor-page) .site-main .page-content h3,
body.woocommerce-checkout:not(.elementor-page) .site-main .page-content h4,
body.woocommerce-checkout:not(.elementor-page) .site-main .page-content h5,
body.woocommerce-checkout:not(.elementor-page) .site-main .page-content h6,
body.woocommerce-cart .wp-block-woocommerce-cart h1,
body.woocommerce-cart .wp-block-woocommerce-cart h2,
body.woocommerce-cart .wp-block-woocommerce-cart h3,
body.woocommerce-cart .wp-block-woocommerce-cart h4,
body.woocommerce-cart .wp-block-woocommerce-cart h5,
body.woocommerce-cart .wp-block-woocommerce-cart h6,
body.woocommerce-checkout .wp-block-woocommerce-checkout h1,
body.woocommerce-checkout .wp-block-woocommerce-checkout h2,
body.woocommerce-checkout .wp-block-woocommerce-checkout h3,
body.woocommerce-checkout .wp-block-woocommerce-checkout h4,
body.woocommerce-checkout .wp-block-woocommerce-checkout h5,
body.woocommerce-checkout .wp-block-woocommerce-checkout h6,
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-cart .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-cart .wc-block-components-order-summary__title,
body.woocommerce-checkout .wc-block-components-order-summary__title,
body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__label {
    color: var(--hgg-heading-color, var(--hgg-headings-color, var(--hgg-text, #172033))) !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-product-name:hover,
body.woocommerce-checkout .wc-block-components-product-name:hover,
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-cart .wc-block-components-order-summary-item__description a,
body.woocommerce-checkout .wc-block-components-order-summary-item__description a,
body.woocommerce-cart .wc-block-components-totals-coupon-link,
body.woocommerce-checkout .wc-block-components-totals-coupon-link,
body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-checkbox__label {
    color: var(--hgg-text, #172033) !important;
}


/* === V43.5.4 EMPTY CART WOO BLOCKS MATCH SHOP CARDS === */
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 1.5rem !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    margin: 1.5rem auto 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(23,32,51,.07) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 28px rgba(23,32,51,.06) !important;
    padding: 14px !important;
    overflow: hidden !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 36px rgba(23,32,51,.10) !important;
    border-color: rgba(23,32,51,.12) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-image,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-image img,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 16px !important;
    margin: 0 !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-title a {
    margin: 1rem 0 0 !important;
    font-size: 1.18rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: var(--hgg-text, #172033) !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 3.6em !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-price,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-price.price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: .4rem !important;
    margin: .75rem 0 0 !important;
    color: var(--hgg-text, #172033) !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-price .woocommerce-Price-amount {
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-price del {
    color: rgba(23,32,51,.55) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-price ins {
    color: var(--hgg-wc-single-price, var(--hgg-primary, #5f9200)) !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product .wp-block-button,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-add-to-cart {
    margin-top: auto !important;
    text-align: var(--hgg-loop-content-align, left) !important;
}


body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product .wp-block-button__link,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product .add_to_cart_button,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 1rem 0 0 !important;
    padding: .85rem 1rem !important;
    border-radius: 16px !important;
    border: 1px solid var(--hgg-primary, #5f9200) !important;
    background: var(--hgg-primary, #5f9200) !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product .wp-block-button__link:hover,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product .add_to_cart_button:hover,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product .button:hover {
    background: var(--hgg-wc-button-hover-bg, var(--hgg-wc-button-bg, #5f9200)) !important;
    color: var(--hgg-wc-button-hover-text, var(--hgg-wc-button-text, #fff)) !important;
    filter: none !important;
    transform: translateY(-1px) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-product-badge,
body.woocommerce-cart .wc-block-cart__empty-cart__products .onsale {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 2 !important;
    min-height: auto !important;
    min-width: auto !important;
    margin: 0 !important;
    padding: .45rem .8rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--hgg-wc-sale-badge-bg, #2f3750) !important;
    color: var(--hgg-wc-sale-badge-text, #fff) !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: 0 10px 18px rgba(23,32,51,.14) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-image {
    position: relative !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__products {
        grid-template-columns: 1fr !important;
    }
}

/* === V43.5.5 EMPTY CART PRODUCT COLLECTION HARD SYNC === */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-collection,
body.woocommerce-cart .wc-block-cart__empty-cart__products,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__products {
    max-width: 100% !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-collection ul,
body.woocommerce-cart .wc-block-cart__empty-cart__products ul.wc-block-grid__products {
    margin: 24px auto 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block li.wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
body.woocommerce-cart .wc-block-cart__empty-cart__products li.wc-block-grid__product {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px !important;
    background: #fff !important;
    border: 1px solid rgba(23,32,51,.07) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 28px rgba(23,32,51,.06) !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product > *,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product > * {
    width: 100% !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-image,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-link {
    display: block !important;
    margin: 0 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product img,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    margin: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title a,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-name,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-name a,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-title a,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-components-product-name a {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 3.5em !important;
    margin: 16px 0 0 !important;
    color: var(--hgg-text, #172033) !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart__empty-cart__products .price,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-price,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-components-product-price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin: 12px 0 0 !important;
    color: var(--hgg-text, #172033) !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .price *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-price *,
body.woocommerce-cart .wc-block-cart__empty-cart__products .price *,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-price *,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-components-product-price * {
    color: inherit !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block del,
body.woocommerce-cart .wc-block-cart__empty-cart__products del {
    color: rgba(23,32,51,.55) !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ins,
body.woocommerce-cart .wc-block-cart__empty-cart__products ins {
    color: var(--hgg-primary, #5f9200) !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wp-block-button,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-add-to-cart {
    margin-top: auto !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .add_to_cart_button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .button,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wp-block-button__link,
body.woocommerce-cart .wc-block-cart__empty-cart__products .add_to_cart_button,
body.woocommerce-cart .wc-block-cart__empty-cart__products .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 16px 0 0 !important;
    padding: .85rem 1rem !important;
    border-radius: 16px !important;
    border: 1px solid var(--hgg-primary, #5f9200) !important;
    background: var(--hgg-primary, #5f9200) !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-badge,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .onsale,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-product-badge,
body.woocommerce-cart .wc-block-cart__empty-cart__products .onsale {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 3 !important;
    margin: 0 !important;
    padding: .45rem .8rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #2f3750 !important;
    color: #fff !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products,
    body.woocommerce-cart .wc-block-cart__empty-cart__products ul.wc-block-grid__products {
        grid-template-columns: 1fr !important;
    }
}


/* === V1.19.3.6 EMPTY CART PRODUCT NEW REAL SYNC === */
body.woocommerce-cart .is-empty .wp-block-product-new,
body.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new,
.woocommerce-cart .is-empty .wp-block-product-new,
.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new,
.wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new {
    max-width: 1240px !important;
    margin: 24px auto 0 !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__products,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__products {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 20px !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
body.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__product,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__product {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 100% !important;
    padding: 14px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(23,32,51,.07) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 28px rgba(23,32,51,.06) !important;
    overflow: hidden !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product > *,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product > *,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product > *,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product > * {
    width: 100% !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-link,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-link,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-link {
    display: block !important;
    text-decoration: none !important;
    margin: 0 !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-image,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-image,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-image,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-image {
    margin: 0 !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-image img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-image img,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-image img,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-image img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    margin: 0 !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-title,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-title,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
    min-height: 3.6em !important;
    margin: 18px 0 0 !important;
    color: var(--hgg-text, #172033) !important;
    font-size: clamp(1.05rem, 1.1vw, 1.35rem) !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    text-align: var(--hgg-loop-content-align, left) !important;
}


body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin: 14px 0 0 !important;
    color: var(--hgg-text, #172033) !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    text-align: var(--hgg-loop-content-align, left) !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price .amount,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price .amount,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price .amount,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price .amount {
    font-size: 1.12rem !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price del,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price del,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price del,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price del {
    color: rgba(23,32,51,.55) !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price ins,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price ins,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price ins,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price ins {
    color: var(--hgg-primary, #5f9200) !important;
    text-decoration: none !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price .woocommerce-price-suffix,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price .woocommerce-price-suffix,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price .woocommerce-price-suffix,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price .woocommerce-price-suffix {
    font-size: var(--hgg-woo-tax-size, .92rem) !important;
    color: var(--hgg-woo-tax-color, currentColor) !important;
    font-weight: var(--hgg-woo-tax-weight, 600) !important;
    margin-left: .15rem !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart {
    margin-top: auto !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart .add_to_cart_button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart .add_to_cart_button,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart .add_to_cart_button,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart .add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 16px 0 0 !important;
    padding: .95rem 1rem !important;
    border: 1px solid var(--hgg-wc-button-bg, var(--hgg-primary, #5f9200)) !important;
    border-radius: var(--hgg-wc-single-button-radius, 10px) !important;
    background: var(--hgg-wc-button-bg, var(--hgg-primary, #5f9200)) !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    filter: brightness(.96) !important;
}

body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product .onsale,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product .onsale,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product .onsale,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product .onsale {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: .45rem .8rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #2f3750 !important;
    color: #fff !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products,
    .woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
    .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products {
        grid-template-columns: 1fr !important;
    }
}


/* === V1.19.3.12 TYPOGRAPHY + EMPTY CART BLOCK FIXES === */
.site-main .woocommerce-products-header .page-title,
.site-main .woocommerce-products-header__title,
body.woocommerce-page .site-main .entry-header > .entry-title,
body.woocommerce-cart .site-main .entry-header > .entry-title,
body.woocommerce-account .site-main .entry-header > .entry-title {
    text-align: var(--hgg-page-title-align, left) !important;
    font-size: clamp(1.8rem, calc(var(--hgg-page-title-size, 48px) * 0.45), var(--hgg-page-title-size, 48px)) !important;
    font-weight: var(--hgg-page-title-weight, 700) !important;
    color: var(--hgg-page-title-color, var(--hgg-text, #172033)) !important;
    line-height: 1.08;
}

@media (max-width: 767px) {
    .site-main .woocommerce-products-header .page-title,
    .site-main .woocommerce-products-header__title,
    body.woocommerce-page .site-main .entry-header > .entry-title,
    body.woocommerce-cart .site-main .entry-header > .entry-title,
    body.woocommerce-account .site-main .entry-header > .entry-title {
        font-size: clamp(1.6rem, calc(var(--hgg-page-title-size, 48px) * 0.38), calc(var(--hgg-page-title-size, 48px) * 0.72)) !important;
    }
}

.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button),
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button) {
    color: inherit;
}

.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):hover,
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary)));
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-collection ul,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__products,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(var(--hgg-wc-archive-cols-desktop, 4), minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-title a,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title a,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-components-product-name a,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-name,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-name a,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-title,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-title,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-title {
    text-align: var(--hgg-loop-content-align, var(--hgg-wc-archive-content-align, left)) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .price,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-price,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-components-product-price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-components-product-price,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price {
    justify-content: var(--hgg-loop-price-justify, flex-start) !important;
    text-align: var(--hgg-loop-content-align, var(--hgg-wc-archive-content-align, left)) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wp-block-button,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart {
    text-align: var(--hgg-loop-content-align, var(--hgg-wc-archive-content-align, left)) !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__products,
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products,
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-collection ul,
    body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
    body.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__products,
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products,
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__products,
    .woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
    .woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__products,
    .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__products {
        grid-template-columns: 1fr !important;
    }
}


/* === V1.19.3.13 SHOP TITLE + EMPTY CART GRID FIXES === */
body.post-type-archive-product .site-main .woocommerce-products-header,
body.woocommerce-shop .site-main .woocommerce-products-header,
body.tax-product_cat .site-main .woocommerce-products-header,
body.tax-product_tag .site-main .woocommerce-products-header,
body.tax-product_brand .site-main .woocommerce-products-header {
    text-align: var(--hgg-page-title-align, left) !important;
}

body.post-type-archive-product .site-main .woocommerce-products-header .page-title,
body.woocommerce-shop .site-main .woocommerce-products-header .page-title,
body.tax-product_cat .site-main .woocommerce-products-header .page-title,
body.tax-product_tag .site-main .woocommerce-products-header .page-title,
body.tax-product_brand .site-main .woocommerce-products-header .page-title,
body.post-type-archive-product .site-main .woocommerce-products-header__title,
body.woocommerce-shop .site-main .woocommerce-products-header__title,
body.tax-product_cat .site-main .woocommerce-products-header__title,
body.tax-product_tag .site-main .woocommerce-products-header__title,
body.tax-product_brand .site-main .woocommerce-products-header__title {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: var(--hgg-page-title-align, left) !important;
}

body.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button),
body.woocommerce-account .page-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button),
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button) {
    color: var(--hgg-text, #172033) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__products[class*="has-"] .wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products[class*="has-"] .wc-block-grid__product,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products[class*="has-"] .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products[class*="has-"] .wc-block-grid__product {
    max-width: none !important;
    flex-basis: auto !important;
}

/* === V1.19.3.14 PAGE TITLE + ACCOUNT LINKS + EMPTY CART FINAL FIX === */
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main article.type-page > .entry-header,
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main article.type-page.hgg-page-card > .entry-header,
body.home:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main article.type-page > .entry-header,
body.home:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main article.type-page.hgg-page-card > .entry-header {
    width: 100% !important;
    text-align: var(--hgg-page-title-align, left) !important;
}

body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main article.type-page > .entry-header > .entry-title,
body.page:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main article.type-page.hgg-page-card > .entry-header > .entry-title,
body.home:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main article.type-page > .entry-header > .entry-title,
body.home:not(.woocommerce):not(.woocommerce-page):not(.elementor-page) .site-main article.type-page.hgg-page-card > .entry-header > .entry-title,
body.post-type-archive-product .site-main .woocommerce-products-header .page-title,
body.woocommerce-shop .site-main .woocommerce-products-header .page-title,
body.tax-product_cat .site-main .woocommerce-products-header .page-title,
body.tax-product_tag .site-main .woocommerce-products-header .page-title,
body.tax-product_brand .site-main .woocommerce-products-header .page-title,
body.post-type-archive-product .site-main .woocommerce-products-header__title,
body.woocommerce-shop .site-main .woocommerce-products-header__title,
body.tax-product_cat .site-main .woocommerce-products-header__title,
body.tax-product_tag .site-main .woocommerce-products-header__title,
body.tax-product_brand .site-main .woocommerce-products-header__title {
    display: block !important;
    width: 100% !important;
    text-align: var(--hgg-page-title-align, left) !important;
}

body.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button),
body.woocommerce-account .page-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button),
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button),
body.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):visited,
body.woocommerce-account .page-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):visited,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):visited {
    color: var(--hgg-link-color, var(--hgg-primary, #246de8)) !important;
}

body.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):hover,
body.woocommerce-account .page-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):hover,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary, #246de8))) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-collection ul,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__products,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__products,
.woocommerce-cart .is-empty .wc-block-grid.wp-block-product-new .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new .wc-block-grid__products {
    --hgg-empty-cart-cols: var(--hgg-wc-archive-cols-desktop, 4);
    --hgg-empty-cart-gap: 20px;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--hgg-empty-cart-gap) !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    margin: 24px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    flex: 0 0 calc((100% - ((var(--hgg-empty-cart-cols) - 1) * var(--hgg-empty-cart-gap))) / var(--hgg-empty-cart-cols)) !important;
    max-width: calc((100% - ((var(--hgg-empty-cart-cols) - 1) * var(--hgg-empty-cart-gap))) / var(--hgg-empty-cart-cols)) !important;
    width: calc((100% - ((var(--hgg-empty-cart-cols) - 1) * var(--hgg-empty-cart-gap))) / var(--hgg-empty-cart-cols)) !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-title a,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title a,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-title,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-title a,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-title,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-title a {
    text-align: var(--hgg-loop-content-align, var(--hgg-wc-archive-content-align, left)) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-price,
body.woocommerce-cart .wc-block-cart__empty-cart__products .price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .price,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-price,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price {
    display: flex !important;
    justify-content: var(--hgg-loop-price-justify, flex-start) !important;
    text-align: var(--hgg-loop-content-align, var(--hgg-wc-archive-content-align, left)) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-add-to-cart {
    text-align: var(--hgg-loop-content-align, var(--hgg-wc-archive-content-align, left)) !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product,
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
    body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
    .woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
    .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
        flex-basis: 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* === V1.19.3.15 PAGE/SHOP TITLE + EMPTY CART HOVER POLISH === */
body.page .site-main article.type-page > .entry-header,
body.page .site-main article.type-page.hgg-page-card > .entry-header,
body.home .site-main article.type-page > .entry-header,
body.home .site-main article.type-page.hgg-page-card > .entry-header,
body.blog .site-main .page-header,
body.archive .site-main .page-header,
body.post-type-archive-product .site-main .woocommerce-products-header,
body.woocommerce-shop .site-main .woocommerce-products-header,
body.tax-product_cat .site-main .woocommerce-products-header,
body.tax-product_tag .site-main .woocommerce-products-header,
body.tax-product_brand .site-main .woocommerce-products-header {
    width: 100% !important;
    text-align: var(--hgg-page-title-align, left) !important;
}

body.page .site-main article.type-page > .entry-header > .entry-title,
body.page .site-main article.type-page.hgg-page-card > .entry-header > .entry-title,
body.home .site-main article.type-page > .entry-header > .entry-title,
body.home .site-main article.type-page.hgg-page-card > .entry-header > .entry-title,
body.blog .site-main .page-header .page-title,
body.archive .site-main .page-header .page-title,
body.post-type-archive-product .site-main .woocommerce-products-header .page-title,
body.woocommerce-shop .site-main .woocommerce-products-header .page-title,
body.tax-product_cat .site-main .woocommerce-products-header .page-title,
body.tax-product_tag .site-main .woocommerce-products-header .page-title,
body.tax-product_brand .site-main .woocommerce-products-header .page-title,
body.post-type-archive-product .site-main .woocommerce-products-header__title,
body.woocommerce-shop .site-main .woocommerce-products-header__title,
body.tax-product_cat .site-main .woocommerce-products-header__title,
body.tax-product_tag .site-main .woocommerce-products-header__title,
body.tax-product_brand .site-main .woocommerce-products-header__title {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: var(--hgg-page-title-align, left) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-image,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-image,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-link,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-image,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-link {
    position: relative !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product img,
body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-image img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product img,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-image img,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product img,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-image img {
    transition: transform .35s ease, filter .35s ease !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product-link::after,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link::after,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product-link::after,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0) 35%, rgba(17,24,39,.08) 100%);
    opacity: 0;
    transition: opacity .28s ease;
    pointer-events: none;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product:hover img,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover img,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product:hover img,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product:hover img {
    transform: scale(1.03) !important;
    filter: saturate(1.03) contrast(1.01) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__products .wc-block-grid__product:hover .wc-block-grid__product-link::after,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-link::after,
body.woocommerce-cart .is-empty .wp-block-product-new .wc-block-grid__product:hover .wc-block-grid__product-link::after,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product:hover .wc-block-grid__product-link::after {
    opacity: 1 !important;
}


/* === V1.19.3.16 ARCHIVE TITLE FINAL FIX === */
:root {
    --hgg-page-title-justify: flex-start;
}

:root[style*="--hgg-page-title-align:center"] {
    --hgg-page-title-justify: center;
}

:root[style*="--hgg-page-title-align:right"] {
    --hgg-page-title-justify: flex-end;
}

body.home .site-main .page-header,
body.blog .site-main .page-header,
body.archive .site-main .page-header,
body.search .site-main .page-header,
body.post-type-archive-product .site-main .woocommerce-products-header,
body.woocommerce-shop .site-main .woocommerce-products-header,
body.tax-product_cat .site-main .woocommerce-products-header,
body.tax-product_tag .site-main .woocommerce-products-header,
body.tax-product_brand .site-main .woocommerce-products-header,
body.page .site-main article.type-page > .entry-header,
body.woocommerce-cart .site-main article.type-page > .entry-header,
body.woocommerce-account .site-main article.type-page > .entry-header {
    width: 100% !important;
    display: block !important;
    text-align: var(--hgg-page-title-align, left) !important;
}

body.home .site-main .page-header,
body.blog .site-main .page-header,
body.archive .site-main .page-header,
body.search .site-main .page-header,
body.post-type-archive-product .site-main .woocommerce-products-header,
body.woocommerce-shop .site-main .woocommerce-products-header,
body.tax-product_cat .site-main .woocommerce-products-header,
body.tax-product_tag .site-main .woocommerce-products-header,
body.tax-product_brand .site-main .woocommerce-products-header {
    display: flex !important;
    flex-direction: column !important;
    justify-content: var(--hgg-page-title-justify, flex-start) !important;
    align-items: stretch !important;
}

body.home .site-main .page-header .page-title,
body.blog .site-main .page-header .page-title,
body.archive .site-main .page-header .page-title,
body.search .site-main .page-header .page-title,
body.page .site-main article.type-page > .entry-header > .entry-title,
body.woocommerce-cart .site-main article.type-page > .entry-header > .entry-title,
body.woocommerce-account .site-main article.type-page > .entry-header > .entry-title,
body.post-type-archive-product .site-main .woocommerce-products-header .page-title,
body.woocommerce-shop .site-main .woocommerce-products-header .page-title,
body.tax-product_cat .site-main .woocommerce-products-header .page-title,
body.tax-product_tag .site-main .woocommerce-products-header .page-title,
body.tax-product_brand .site-main .woocommerce-products-header .page-title,
body.post-type-archive-product .site-main .woocommerce-products-header__title,
body.woocommerce-shop .site-main .woocommerce-products-header__title,
body.tax-product_cat .site-main .woocommerce-products-header__title,
body.tax-product_tag .site-main .woocommerce-products-header__title,
body.tax-product_brand .site-main .woocommerce-products-header__title {
    width: 100% !important;
    display: block !important;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: var(--hgg-page-title-align, left) !important;
}

body.post-type-archive-product .site-main .term-description,
body.woocommerce-shop .site-main .term-description,
body.tax-product_cat .site-main .term-description,
body.tax-product_tag .site-main .term-description,
body.tax-product_brand .site-main .term-description,
body.archive .site-main .archive-description {
    width: 100% !important;
    text-align: var(--hgg-page-title-align, left) !important;
}

body.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button),
body.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):visited,
body.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):active,
body.woocommerce-account .page-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button),
body.woocommerce-account .page-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):visited,
body.woocommerce-account .page-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):active,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button),
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):visited,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):active,
body.woocommerce-account .woocommerce-MyAccount-content p a,
body.woocommerce-account .woocommerce-MyAccount-content p a:visited,
body.woocommerce-account .woocommerce-MyAccount-content p a:active {
    color: var(--hgg-link-color, var(--hgg-primary, #246de8)) !important;
}

body.woocommerce-account .entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):hover,
body.woocommerce-account .page-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):hover,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-Button):not(.components-button):hover,
body.woocommerce-account .woocommerce-MyAccount-content p a:hover {
    color: var(--hgg-link-hover-color, var(--hgg-primary-dark, var(--hgg-primary, #246de8))) !important;
}


/* === V1.19.3.17 DIRECT WOO ARCHIVE TITLE ALIGN FIX === */
body.post-type-archive-product .site-main .huuguu-woocommerce-primary > .page-title,
body.woocommerce-shop .site-main .huuguu-woocommerce-primary > .page-title,
body.tax-product_cat .site-main .huuguu-woocommerce-primary > .page-title,
body.tax-product_tag .site-main .huuguu-woocommerce-primary > .page-title,
body.tax-product_brand .site-main .huuguu-woocommerce-primary > .page-title,
body.post-type-archive-product .site-main .huuguu-woocommerce-primary > .woocommerce-products-header > .page-title,
body.woocommerce-shop .site-main .huuguu-woocommerce-primary > .woocommerce-products-header > .page-title,
body.tax-product_cat .site-main .huuguu-woocommerce-primary > .woocommerce-products-header > .page-title,
body.tax-product_tag .site-main .huuguu-woocommerce-primary > .woocommerce-products-header > .page-title,
body.tax-product_brand .site-main .huuguu-woocommerce-primary > .woocommerce-products-header > .page-title {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: var(--hgg-page-title-align, left) !important;
}

body.post-type-archive-product .site-main .huuguu-woocommerce-primary,
body.woocommerce-shop .site-main .huuguu-woocommerce-primary,
body.tax-product_cat .site-main .huuguu-woocommerce-primary,
body.tax-product_tag .site-main .huuguu-woocommerce-primary,
body.tax-product_brand .site-main .huuguu-woocommerce-primary {
    --hgg-archive-title-align: var(--hgg-page-title-align, left);
}

body.post-type-archive-product .site-main .huuguu-woocommerce-primary > .page-title,
body.woocommerce-shop .site-main .huuguu-woocommerce-primary > .page-title,
body.tax-product_cat .site-main .huuguu-woocommerce-primary > .page-title,
body.tax-product_tag .site-main .huuguu-woocommerce-primary > .page-title,
body.tax-product_brand .site-main .huuguu-woocommerce-primary > .page-title {
    text-align: var(--hgg-archive-title-align, left) !important;
}


/* v1.33 logo text vertical alignment + breadcrumb compact horizontal padding */
.site-branding .site-title-wrap {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: var(--hgg-logo-desktop-height, 60px);
}

.site-branding .site-title-wrap .site-title,
.site-branding .site-title-wrap .site-title a {
    margin: 0;
    display: inline-flex;
    align-items: center;
}

.site-branding .site-title-wrap .site-description {
    margin-top: .2rem;
}

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

@media (max-width: 600px) {
    .site-branding .site-title-wrap {
        min-height: var(--hgg-logo-mobile-height, 30px);
    }
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb {
    padding-inline: var(--hgg-wc-breadcrumb-pad-x, 2px);
}


/* === V1.40 LAYOUT CONSISTENCY === */
body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    max-width: none !important;
    width: 100% !important;
}

body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    padding-left: max(24px, env(safe-area-inset-left)) !important;
    padding-right: max(24px, env(safe-area-inset-right)) !important;
}

body.home .hgg-page-card--front-hidden-title,
body.blog .hgg-page-card--front-hidden-title,
body.page .hgg-page-card--front-hidden-title {
    margin-top: 0;
}

body.home .hgg-page-card--front-hidden-title .entry-content,
body.blog .hgg-page-card--front-hidden-title .entry-content,
body.page .hgg-page-card--front-hidden-title .entry-content {
    padding-top: 1.75rem;
}


/* === V1.41 WIDTH ARCHITECTURE CLEANUP === */
body.huuguu-site-width-full .site-main-inner > .huuguu-content-wrap,
body.huuguu-site-width-full .site-main-inner > .huuguu-container,
body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-container {
    width: calc(100% - (var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) * 2)) !important;
    max-width: none !important;
}

.huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
.huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
    width: min(100% - 2rem, var(--hgg-breadcrumb-container, var(--hgg-site-width, var(--hgg-container, 1240px)))) !important;
}

@media (max-width: 960px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
        width: min(100% - 1.5rem, var(--hgg-breadcrumb-container, var(--hgg-site-width, var(--hgg-container, 1240px)))) !important;
    }
}

@media (max-width: 767px) {
    .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb,
    .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready {
        width: min(100% - 1rem, var(--hgg-breadcrumb-container, var(--hgg-site-width, var(--hgg-container, 1240px)))) !important;
    }
}


/* === V1.41.3 FULL WIDTH + HOME HIDDEN TITLE CLEANUP === */
body.huuguu-site-width-full .site-header .huuguu-container,
body.huuguu-site-width-full .site-main-inner > .huuguu-content-wrap,
body.huuguu-site-width-full .site-main-inner > .huuguu-container,
body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-container,
body.huuguu-site-width-full .site-footer .huuguu-footer-container,
body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    max-width: none !important;
    box-sizing: border-box !important;
}

body.huuguu-site-width-full .site-header .huuguu-container {
    width: calc(100% - (var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) * 2)) !important;
}

body.huuguu-site-width-full .site-main-inner > .huuguu-content-wrap,
body.huuguu-site-width-full .site-main-inner > .huuguu-container,
body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-content-wrap,
body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-container {
    width: calc(100% - (var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) * 2)) !important;
}

body.huuguu-site-width-full .site-footer .huuguu-footer-container,
body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
    width: calc(100% - (var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px)) * 2)) !important;
}

body.home .hgg-page-card--no-title > .entry-content,
body.home .hgg-page-card--front-hidden-title > .entry-content,
body.home .hgg-page-card--no-title .entry-content,
body.home .hgg-page-card--front-hidden-title .entry-content,
body.front-page .hgg-page-card--no-title > .entry-content,
body.front-page .hgg-page-card--front-hidden-title > .entry-content,
body.front-page .hgg-page-card--no-title .entry-content,
body.front-page .hgg-page-card--front-hidden-title .entry-content,
body.home article.type-page.hgg-page-card--no-title > .entry-content,
body.front-page article.type-page.hgg-page-card--no-title > .entry-content {
    padding-top: var(--hgg-home-hidden-title-padding-top, 32px) !important;
}

@media (max-width: 1024px) {
    body.huuguu-site-width-full .site-header .huuguu-container,
    body.huuguu-site-width-full .site-main-inner > .huuguu-content-wrap,
    body.huuguu-site-width-full .site-main-inner > .huuguu-container,
    body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-content-wrap,
    body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-container,
    body.huuguu-site-width-full .site-footer .huuguu-footer-container,
    body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
    body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
        width: calc(100% - (var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 16px))) * 2)) !important;
    }
}

@media (max-width: 767px) {
    body.huuguu-site-width-full .site-header .huuguu-container,
    body.huuguu-site-width-full .site-main-inner > .huuguu-content-wrap,
    body.huuguu-site-width-full .site-main-inner > .huuguu-container,
    body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-content-wrap,
    body.huuguu-site-width-full .site-main .site-main-inner > .huuguu-container,
    body.huuguu-site-width-full .site-footer .huuguu-footer-container,
    body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .huuguu-breadcrumb-ready,
    body.huuguu-site-width-full .huuguu-global-breadcrumb-bar .woocommerce-breadcrumb.huuguu-breadcrumb-ready {
        width: calc(100% - (var(--hgg-structure-pad-x-mobile, var(--hgg-structure-pad-x-tablet, var(--hgg-structure-pad-x-desktop, var(--hgg-structure-pad-x, 12px)))) * 2)) !important;
    }
}
