/* === 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-content-surface-bg, #ffffff);

    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-content-surface-bg, #ffffff);

    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-site-bg, var(--hgg-bg, #ffffff));
}



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



.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: var(--hgg-h2-font-size, 36px);

    line-height: 1.15;

    margin-bottom: var(--hgg-space-md, 24px);

}



@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-surface-bg, #ffffff);

    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-surface-bg, #ffffff);

}



/* 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 === */



/* Retired: regular page/post content surfaces are handled by assets/css/overrides/system-fixes.css. */


/* === V27 Woo single mobile add-to-cart alignment and quantity stepper === */
.single-product div.product form.cart .quantity.huuguu-qty-enhanced,
.woocommerce-page div.product form.cart .quantity.huuguu-qty-enhanced {
    display: inline-grid !important;
    grid-template-columns: 44px minmax(48px, 1fr) 44px;
    align-items: stretch;
    width: min(100%, 168px);
    min-height: 44px;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(23,32,51,.14);
    border-radius: var(--hgg-wc-button-radius, var(--hgg-wc-single-button-radius, 6px));
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

.single-product div.product form.cart .quantity.huuguu-qty-enhanced .qty,
.woocommerce-page div.product form.cart .quantity.huuguu-qty-enhanced .qty {
    min-width: 0 !important;
    width: 100% !important;
    height: 44px !important;
    padding: 0 .25rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 700;
    appearance: textfield;
    -moz-appearance: textfield;
}

.single-product div.product form.cart .quantity.huuguu-qty-enhanced .qty::-webkit-outer-spin-button,
.single-product div.product form.cart .quantity.huuguu-qty-enhanced .qty::-webkit-inner-spin-button,
.woocommerce-page div.product form.cart .quantity.huuguu-qty-enhanced .qty::-webkit-outer-spin-button,
.woocommerce-page div.product form.cart .quantity.huuguu-qty-enhanced .qty::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
}

.single-product div.product form.cart .huuguu-qty-step,
.woocommerce-page div.product form.cart .huuguu-qty-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(23,32,51,.68);
    font-size: 1.55rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
}

.single-product div.product form.cart .huuguu-qty-step:hover,
.single-product div.product form.cart .huuguu-qty-step:focus,
.woocommerce-page div.product form.cart .huuguu-qty-step:hover,
.woocommerce-page div.product form.cart .huuguu-qty-step:focus {
    background: rgba(23,32,51,.045);
    color: var(--hgg-wc-button-bg, var(--hgg-primary));
}

@media (max-width: 640px) {
    .single-product div.product form.cart,
    .woocommerce-page div.product form.cart {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: .75rem !important;
    }

    .single-product div.product form.cart .quantity.huuguu-qty-enhanced,
    .woocommerce-page div.product form.cart .quantity.huuguu-qty-enhanced {
        flex: 0 0 min(42%, 156px);
        width: min(42%, 156px);
    }

    .single-product div.product form.cart .single_add_to_cart_button,
    .woocommerce-page div.product form.cart .single_add_to_cart_button {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 44px !important;
        height: 44px;
        padding-inline: .9rem !important;
        justify-content: center !important;
        white-space: nowrap;
    }

    .single-product div.product form.cart .quantity:has(input[type="hidden"]) + .single_add_to_cart_button,
    .woocommerce-page div.product form.cart .quantity:has(input[type="hidden"]) + .single_add_to_cart_button {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}

/* === V37 Woo archive/taxonomy loop visual refinement === */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.woocommerce.post-type-archive-product ul.products,
.woocommerce.tax-product_cat ul.products,
.woocommerce.tax-product_tag ul.products {
    align-items: stretch;
    gap: clamp(1.25rem, 2.4vw, 2rem) !important;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.woocommerce.post-type-archive-product ul.products li.product,
.woocommerce.tax-product_cat ul.products li.product,
.woocommerce.tax-product_tag ul.products li.product {
    position: relative;
    display: flex !important;
    flex-direction: column;
    min-height: 100%;
    padding: clamp(1rem, 1.6vw, 1.25rem) !important;
    overflow: hidden;
    border: 1px solid rgba(23,32,51,.08) !important;
    border-radius: var(--hgg-wc-card-radius, var(--hgg-content-radius, 20px)) !important;
    background: var(--hgg-surface, #fff) !important;
    box-shadow: 0 18px 46px rgba(17,34,68,.075) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.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,
.woocommerce.post-type-archive-product ul.products li.product:hover,
.woocommerce.tax-product_cat ul.products li.product:hover,
.woocommerce.tax-product_tag ul.products li.product:hover {
    transform: translateY(-2px);
    border-color: rgba(36,109,232,.18) !important;
    box-shadow: 0 22px 58px rgba(17,34,68,.115) !important;
}

.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    gap: .78rem;
    color: inherit !important;
    text-decoration: none !important;
}

.post-type-archive-product ul.products li.product a img,
.tax-product_cat ul.products li.product a img,
.tax-product_tag ul.products li.product a img,
.woocommerce.post-type-archive-product ul.products li.product a img,
.woocommerce.tax-product_cat ul.products li.product a img,
.woocommerce.tax-product_tag ul.products li.product a img {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    height: auto !important;
    margin: 0 0 .65rem !important;
    object-fit: cover;
    object-position: center center;
    border-radius: max(calc(var(--hgg-wc-card-radius, var(--hgg-content-radius, 20px)) - 8px), 10px);
    background: rgba(23,32,51,.04);
    transition: transform .22s ease, opacity .22s ease;
}

.post-type-archive-product ul.products li.product:hover a img,
.tax-product_cat ul.products li.product:hover a img,
.tax-product_tag ul.products li.product:hover a img,
.woocommerce.post-type-archive-product ul.products li.product:hover a img,
.woocommerce.tax-product_cat ul.products li.product:hover a img,
.woocommerce.tax-product_tag ul.products li.product:hover a img {
    transform: scale(1.015);
}

.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,
.woocommerce.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.woocommerce.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.woocommerce.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    min-height: 2.7em;
    margin: .1rem 0 0 !important;
    overflow: hidden;
    color: var(--hgg-wc-loop-title, var(--hgg-text, #172033)) !important;
    font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
    text-align: center;
    text-wrap: balance;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.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,
.woocommerce.post-type-archive-product ul.products li.product .star-rating,
.woocommerce.tax-product_cat ul.products li.product .star-rating,
.woocommerce.tax-product_tag ul.products li.product .star-rating {
    margin: .15rem auto .1rem !important;
    color: var(--hgg-wc-rating-color, #f5a623);
}

.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,
.woocommerce.post-type-archive-product ul.products li.product .price,
.woocommerce.tax-product_cat ul.products li.product .price,
.woocommerce.tax-product_tag ul.products li.product .price {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: .35rem .48rem;
    min-height: 1.65rem;
    margin: .15rem 0 1rem !important;
    color: var(--hgg-wc-loop-price, var(--hgg-wc-single-price, var(--hgg-text, #172033))) !important;
    font-size: clamp(1.02rem, 1.2vw, 1.14rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: center;
}

.post-type-archive-product ul.products li.product .price small,
.post-type-archive-product ul.products li.product .price .woocommerce-price-suffix,
.tax-product_cat ul.products li.product .price small,
.tax-product_cat ul.products li.product .price .woocommerce-price-suffix,
.tax-product_tag ul.products li.product .price small,
.tax-product_tag ul.products li.product .price .woocommerce-price-suffix,
.woocommerce.post-type-archive-product ul.products li.product .price small,
.woocommerce.post-type-archive-product ul.products li.product .price .woocommerce-price-suffix,
.woocommerce.tax-product_cat ul.products li.product .price small,
.woocommerce.tax-product_cat ul.products li.product .price .woocommerce-price-suffix,
.woocommerce.tax-product_tag ul.products li.product .price small,
.woocommerce.tax-product_tag ul.products li.product .price .woocommerce-price-suffix {
    display: inline-flex;
    align-items: center;
    margin: 0 !important;
    color: var(--hgg-muted, #5d6781) !important;
    font-size: .72em !important;
    font-weight: 700 !important;
    line-height: 1.2;
    white-space: nowrap;
}

.post-type-archive-product ul.products li.product .button,
.tax-product_cat ul.products li.product .button,
.tax-product_tag ul.products li.product .button,
.woocommerce.post-type-archive-product ul.products li.product .button,
.woocommerce.tax-product_cat ul.products li.product .button,
.woocommerce.tax-product_tag ul.products li.product .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin: auto 0 0 !important;
    padding: .8rem 1rem !important;
    border-radius: var(--hgg-wc-button-radius, 10px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center;
}

.post-type-archive-product ul.products li.product .onsale,
.tax-product_cat ul.products li.product .onsale,
.tax-product_tag ul.products li.product .onsale,
.woocommerce.post-type-archive-product ul.products li.product .onsale,
.woocommerce.tax-product_cat ul.products li.product .onsale,
.woocommerce.tax-product_tag ul.products li.product .onsale {
    position: absolute !important;
    top: .95rem !important;
    left: .95rem !important;
    right: auto !important;
    z-index: 3;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: .38rem .72rem !important;
    border-radius: 999px !important;
    background: var(--hgg-wc-sale-badge-bg, var(--hgg-wc-button-bg, var(--hgg-primary))) !important;
    color: var(--hgg-wc-sale-badge-text, #fff) !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    box-shadow: 0 10px 22px rgba(17,34,68,.14);
}

@media (max-width: 782px) {
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .woocommerce.post-type-archive-product ul.products,
    .woocommerce.tax-product_cat ul.products,
    .woocommerce.tax-product_tag ul.products {
        gap: 1rem !important;
    }

    .post-type-archive-product ul.products li.product,
    .tax-product_cat ul.products li.product,
    .tax-product_tag ul.products li.product,
    .woocommerce.post-type-archive-product ul.products li.product,
    .woocommerce.tax-product_cat ul.products li.product,
    .woocommerce.tax-product_tag ul.products li.product {
        padding: .92rem !important;
    }
}
