
/* BEGUIGO canonical shop / product-category navigation cards */
.beguigo-shop-categories{
    width:min(100%,1120px);
    margin:0 auto;
    padding:1rem 0 1.5rem;
}
.beguigo-shop-category-grid{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    align-items:stretch;
}
.beguigo-shop-category-grid>.beguigo-shop-category-card{
    flex:1 1 calc((100% - 44px)/3);
    max-width:100%;
}
.beguigo-shop-category-card,
.woocommerce ul.products li.product-category.product{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:24px;
    border:1px solid #243248;
    border-radius:20px;
    background:#111a2b;
    color:#fff;
    box-shadow:0 14px 34px rgba(0,0,0,.18);
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.beguigo-shop-category-card:hover,
.woocommerce ul.products li.product-category.product:hover{
    transform:translateY(-4px);
    border-color:rgba(129,140,248,.48);
    box-shadow:0 20px 42px rgba(0,0,0,.28),0 0 26px rgba(99,102,241,.10);
}
.beguigo-shop-category-title,
.woocommerce ul.products li.product-category.product .woocommerce-loop-category__title{
    margin:0 0 20px!important;
    color:#ff6b72!important;
    font-size:clamp(1.05rem,2vw,1.25rem)!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    text-transform:uppercase!important;
}
.woocommerce ul.products li.product-category.product .count{
    display:none!important;
}
.beguigo-shop-category-image,
.woocommerce ul.products li.product-category.product>a{
    display:flex;
    flex-direction:column;
    flex:1;
    min-height:0;
    color:inherit!important;
    text-decoration:none!important;
}
.beguigo-shop-category-image{
    align-items:center;
    justify-content:center;
}
.beguigo-shop-category-image img,
.woocommerce ul.products li.product-category.product>a>img{
    display:block;
    width:100%!important;
    max-width:330px!important;
    height:280px!important;
    margin:0 auto 20px!important;
    object-fit:contain!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.beguigo-shop-category-cta,
.woocommerce ul.products li.product-category.product .beguigo-native-category-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:48px;
    margin-top:auto;
    padding:.82rem 1rem;
    box-sizing:border-box;
    border:0;
    border-radius:14px;
    background:linear-gradient(135deg,#7c83f5,#6265ee);
    color:#fff!important;
    font-size:.95rem;
    font-weight:850;
    line-height:1;
    text-align:center;
    text-decoration:none!important;
    box-shadow:0 10px 24px rgba(99,102,241,.23);
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.beguigo-shop-category-cta:hover,
.woocommerce ul.products li.product-category.product .beguigo-native-category-cta:hover{
    transform:translateY(-2px);
    background:linear-gradient(135deg,#8a90ff,#6d70f4);
    box-shadow:0 14px 30px rgba(99,102,241,.32);
}
.woocommerce ul.products li.product-category.product{
    float:none!important;
    width:auto!important;
    margin:0!important;
}
.woocommerce ul.products li.product-category.product>a>.woocommerce-loop-category__title{
    order:-1;
}
.woocommerce ul.products li.product-category.product .beguigo-native-category-cta{
    margin-top:auto;
}

/* Product-category-only lists use wrapping flex rows. Each incomplete row
   expands to consume the available width: 2 cards = 50/50, 1 card = 100%. */
.woocommerce ul.products:has(>li.product-category.product):not(:has(>li.product:not(.product-category))){
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:stretch!important;
    gap:22px!important;
}
.woocommerce ul.products:has(>li.product-category.product):not(:has(>li.product:not(.product-category)))>li.product-category.product{
    flex:1 1 calc((100% - 44px)/3)!important;
    max-width:100%!important;
}

/* The BEGUIGO site already uses a dark surface; keep the component stable
   whether dark mode is explicit or inherited from the theme. */
body.dark-mode .beguigo-shop-category-card,
body.dark-mode .woocommerce ul.products li.product-category.product{
    background:#111827;
    border-color:#253247;
}

@media(max-width:980px){
    .beguigo-shop-category-grid>.beguigo-shop-category-card,
    .woocommerce ul.products:has(>li.product-category.product):not(:has(>li.product:not(.product-category)))>li.product-category.product{
        flex-basis:calc((100% - 22px)/2)!important;
    }
}
@media(max-width:640px){
    .beguigo-shop-categories{padding:.5rem 0 1rem}
    .beguigo-shop-category-grid,
    .woocommerce ul.products:has(>li.product-category.product):not(:has(>li.product:not(.product-category))){
        gap:16px!important;
    }
    .beguigo-shop-category-grid>.beguigo-shop-category-card,
    .woocommerce ul.products:has(>li.product-category.product):not(:has(>li.product:not(.product-category)))>li.product-category.product{
        flex-basis:100%!important;
    }
    .beguigo-shop-category-card,
    .woocommerce ul.products li.product-category.product{padding:18px;border-radius:18px}
    .beguigo-shop-category-image img,
    .woocommerce ul.products li.product-category.product>a>img{height:230px!important}
}

.beguigo-shop-categories--challenges{max-width:760px}
.beguigo-shop-categories--challenges .beguigo-shop-category-grid>.beguigo-shop-category-card{
    flex-basis:calc((100% - 22px)/2);
}
.woocommerce ul.products li.product-category.product .beguigo-native-category-cta{pointer-events:none}
@media(max-width:640px){
    .beguigo-shop-categories--challenges .beguigo-shop-category-grid>.beguigo-shop-category-card{
        flex-basis:100%;
    }
}


/* v1.2.37 — Canonical WooCommerce product-category archive heading.
   Category-selector pages and category product lists use the same heading
   treatment (e.g. Active Challenges and Premium). */
body.tax-product_cat .woocommerce-products-header{
    width:100%;
    max-width:1120px;
    margin:0 auto clamp(2rem,4vw,3rem)!important;
    padding:clamp(.35rem,1vw,.75rem) 0 0;
    box-sizing:border-box;
    text-align:center!important;
}
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title.page-title,
body.tax-product_cat .woocommerce .page-title{
    display:block;
    width:100%;
    margin:0!important;
    color:#fff!important;
    font-size:clamp(2.65rem,5.2vw,3.65rem)!important;
    font-weight:900!important;
    line-height:1.02!important;
    letter-spacing:-.05em!important;
    text-align:center!important;
    text-transform:none!important;
    text-shadow:0 2px 18px rgba(0,0,0,.18);
}
body.tax-product_cat .woocommerce-products-header .term-description{
    max-width:760px;
    margin:.85rem auto 0;
    text-align:center;
}
@media(max-width:640px){
    body.tax-product_cat .woocommerce-products-header{margin-bottom:1.6rem!important}
    body.tax-product_cat .woocommerce-products-header__title,
    body.tax-product_cat .woocommerce-products-header__title.page-title,
    body.tax-product_cat .woocommerce .page-title{font-size:clamp(2.15rem,11vw,2.85rem)!important}
}


/* v1.2.38 — Restore and style WooCommerce breadcrumbs on product-category archives.
   The main /shop/ landing remains intentionally breadcrumb-free. */
body.tax-product_cat .woocommerce-breadcrumb{
    width:100%;
    max-width:1120px;
    margin:clamp(1rem,2.2vw,1.65rem) auto clamp(1.15rem,2.5vw,1.8rem)!important;
    padding:0!important;
    box-sizing:border-box;
    color:#7f91ad!important;
    font-size:.78rem!important;
    font-weight:700!important;
    line-height:1.5!important;
    letter-spacing:.01em;
}
body.tax-product_cat .woocommerce-breadcrumb a{
    color:#aebbd0!important;
    text-decoration:none!important;
    transition:color .18s ease;
}
body.tax-product_cat .woocommerce-breadcrumb a:hover{
    color:#fff!important;
}
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb *{
    border:0;
}
body.tax-product_cat .woocommerce-breadcrumb::first-letter{
    text-transform:none;
}
@media(max-width:640px){
    body.tax-product_cat .woocommerce-breadcrumb{
        margin:.8rem auto 1.15rem!important;
        padding:0 2px!important;
        font-size:.72rem!important;
        overflow-wrap:anywhere;
    }
}


/* v1.2.42 — Fluid incomplete category rows.
   Desktop targets 3 cards per complete row, tablet 2, mobile 1.
   flex-grow makes incomplete rows use the full width automatically:
   2 cards on desktop become 50/50; 1 card becomes 100%. */
