/* ==========================================================
   QINELLE UNIFIED CATALOG CARD V1
   SINGLE PRODUCT-CARD AUTHORITY

   Applies only where PHP adds:
   body.qinelle-unified-catalog

   PRODUCT HIERARCHY
   IMAGE
   PRODUCT NAME
   PRICE
   RATING
   CTA
   ========================================================== */

body.qinelle-unified-catalog{
    --qcard-text:#382c2f;
    --qcard-price:#513a40;
    --qcard-muted:#9d8e91;

    --qcard-border:#eadcdf;
    --qcard-border-hover:#ddc9ce;

    --qcard-bg:#ffffff;
    --qcard-image-bg:#faf7f8;

    --qcard-cta-bg:#f1e0e3;
    --qcard-cta-border:#dfc4c9;
    --qcard-cta-text:#49353a;
    --qcard-accent:#875963;

    --qcard-radius:18px;
}


/* ==========================================================
   GRID — ONE RESPONSIVE SYSTEM
   ========================================================== */

body.qinelle-unified-catalog
.woocommerce ul.products{
    display:grid!important;

    grid-template-columns:
        repeat(4,minmax(0,1fr))!important;

    gap:20px 16px!important;

    margin-left:0!important;
    margin-right:0!important;

    padding-left:0!important;
    padding-right:0!important;
}

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

body.qinelle-unified-catalog
.woocommerce ul.products > li.product:not([hidden]){
    float:none!important;
    clear:none!important;

    display:flex!important;
    flex-direction:column!important;

    width:auto!important;
    min-width:0!important;
    height:100%!important;

    margin:0!important;
    padding:0!important;

    overflow:hidden!important;

    border:1px solid var(--qcard-border)!important;
    border-radius:var(--qcard-radius)!important;

    background:var(--qcard-bg)!important;

    box-shadow:
        0 7px 20px rgba(80,58,64,.045)!important;

    text-align:left!important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease!important;
}

body.qinelle-unified-catalog
.woocommerce ul.products > li.product:hover{
    transform:translateY(-2px)!important;

    border-color:var(--qcard-border-hover)!important;

    box-shadow:
        0 12px 28px rgba(80,58,64,.075)!important;
}


/* ==========================================================
   IMAGE STAGE — ONE SIZE
   ========================================================== */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap{
    position:relative!important;

    display:block!important;

    width:100%!important;

    margin:0!important;
    padding:0!important;

    overflow:hidden!important;

    border-radius:
        var(--qcard-radius)
        var(--qcard-radius)
        0 0!important;

    background:var(--qcard-image-bg)!important;
}

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap
> a.woocommerce-LoopProduct-link{
    display:block!important;

    width:100%!important;
    aspect-ratio:4 / 5!important;

    margin:0!important;
    padding:0!important;

    overflow:hidden!important;

    background:var(--qcard-image-bg)!important;
}

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap img{
    display:block!important;

    width:100%!important;
    max-width:none!important;
    height:100%!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    border-radius:0!important;

    object-fit:cover!important;
    object-position:center top!important;
}


/* Remove duplicate image-overlay select-options control */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap
> .ast-select-options-trigger{
    display:none!important;
}


/* ==========================================================
   SALE — ALWAYS A SMALL PILL
   ========================================================== */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
:is(.onsale,.ast-onsale-card){
    position:absolute!important;

    top:9px!important;
    left:9px!important;
    right:auto!important;
    bottom:auto!important;

    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:auto!important;
    max-width:max-content!important;

    min-width:0!important;
    min-height:0!important;
    height:auto!important;

    margin:0!important;
    padding:5px 8px!important;

    border:1px solid rgba(135,89,99,.13)!important;
    border-radius:999px!important;

    color:#68494f!important;
    background:rgba(255,251,251,.96)!important;

    box-shadow:
        0 3px 9px rgba(80,58,64,.055)!important;

    font-family:
        Jost,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;

    font-size:9px!important;
    font-weight:600!important;
    line-height:1!important;

    letter-spacing:.02em!important;
    text-transform:none!important;

    white-space:nowrap!important;

    z-index:5!important;
}


/* ==========================================================
   SUMMARY
   ========================================================== */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-summary-wrap{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;

    min-width:0!important;

    margin:0!important;
    padding:12px 12px 13px!important;

    font-family:
        Jost,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;
}


/* Category is page context, not card information */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.ast-woo-product-category{
    display:none!important;
}


/* ==========================================================
   PRODUCT NAME
   ========================================================== */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.ast-loop-product__link{
    order:1!important;

    min-width:0!important;

    color:inherit!important;
    text-decoration:none!important;
}

body.qinelle-unified-catalog
.woocommerce ul.products li.product
h2.woocommerce-loop-product__title{
    display:-webkit-box!important;

    min-height:39px!important;
    max-height:39px!important;

    margin:0 0 7px!important;
    padding:0!important;

    overflow:hidden!important;

    color:var(--qcard-text)!important;

    font-family:
        Jost,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;

    font-size:14px!important;
    font-weight:600!important;
    line-height:1.38!important;

    letter-spacing:0!important;
    text-transform:none!important;

    word-break:normal!important;
    overflow-wrap:normal!important;

    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
}


/* ==========================================================
   PRICE
   ========================================================== */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-summary-wrap > .price{
    order:2!important;

    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;

    gap:4px!important;

    min-height:21px!important;

    margin:0 0 5px!important;
    padding:0!important;

    color:var(--qcard-price)!important;

    font-family:
        Jost,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;

    font-size:14px!important;
    font-weight:700!important;
    line-height:1.25!important;
}

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.price ins{
    color:var(--qcard-price)!important;

    font-weight:700!important;
    text-decoration:none!important;
}

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.price del{
    margin-right:2px!important;

    color:var(--qcard-muted)!important;

    font-size:12px!important;
    font-weight:400!important;

    opacity:.76!important;
}


/* ==========================================================
   RATING
   ========================================================== */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-summary-wrap > .review-rating{
    order:3!important;

    display:flex!important;
    align-items:center!important;

    min-height:17px!important;

    margin:0 0 9px!important;
    padding:0!important;
}

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.review-rating .star-rating{
    margin:0!important;

    font-size:11px!important;

    transform:none!important;

    opacity:.80!important;
}


/* ==========================================================
   CTA
   ========================================================== */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-summary-wrap > a.button{
    order:4!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:100%!important;
    max-width:none!important;

    min-height:40px!important;

    margin:auto 0 0!important;
    padding:9px 8px!important;

    border:1px solid var(--qcard-cta-border)!important;
    border-radius:999px!important;

    color:var(--qcard-cta-text)!important;
    background:var(--qcard-cta-bg)!important;

    box-shadow:none!important;

    font-family:
        Jost,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif!important;

    font-size:10px!important;
    font-weight:700!important;
    line-height:1!important;

    letter-spacing:.035em!important;
    text-transform:uppercase!important;

    text-align:center!important;

    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
}

body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-summary-wrap > a.button:hover,
body.qinelle-unified-catalog
.woocommerce ul.products li.product
.astra-shop-summary-wrap > a.button:focus{
    color:#fff!important;

    border-color:var(--qcard-accent)!important;
    background:var(--qcard-accent)!important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1100px){

    body.qinelle-unified-catalog
    .woocommerce ul.products{
        grid-template-columns:
            repeat(3,minmax(0,1fr))!important;

        gap:18px 14px!important;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:760px){

    body.qinelle-unified-catalog
    .woocommerce ul.products{
        grid-template-columns:
            repeat(2,minmax(0,1fr))!important;

        gap:14px 10px!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products > li.product{
        border-radius:14px!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products li.product
    .astra-shop-thumbnail-wrap{
        border-radius:14px 14px 0 0!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products li.product
    .astra-shop-summary-wrap{
        padding:10px 9px 11px!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products li.product
    h2.woocommerce-loop-product__title{
        min-height:50px!important;
        max-height:50px!important;

        margin-bottom:6px!important;

        font-size:12.5px!important;
        line-height:1.32!important;

        -webkit-line-clamp:3!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products li.product
    .astra-shop-summary-wrap > .price{
        min-height:19px!important;

        margin-bottom:5px!important;

        font-size:13px!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products li.product
    .price del{
        font-size:11px!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products li.product
    .astra-shop-summary-wrap > .review-rating{
        min-height:15px!important;

        margin-bottom:7px!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products li.product
    .review-rating .star-rating{
        font-size:10px!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products li.product
    .astra-shop-summary-wrap > a.button{
        min-height:39px!important;

        padding:8px 4px!important;

        font-size:9.5px!important;
        letter-spacing:.025em!important;
    }

    body.qinelle-unified-catalog
    .woocommerce ul.products li.product
    :is(.onsale,.ast-onsale-card){
        top:7px!important;
        left:7px!important;

        padding:4px 7px!important;

        font-size:8.5px!important;
    }


    /* Floating cart must not dominate or cover CTA */

    body.qinelle-unified-catalog
    #moderncart-floating-cart{
        --moderncart-floating-icon-width:46px!important;

        right:7px!important;

        bottom:max(
            8px,
            env(safe-area-inset-bottom)
        )!important;

        width:46px!important;
        height:46px!important;
    }

    body.qinelle-unified-catalog
    .moderncart-floating-cart-button{
        right:7px!important;

        bottom:max(
            8px,
            env(safe-area-inset-bottom)
        )!important;

        transform:scale(.72)!important;
        transform-origin:right bottom!important;
    }
}


/* Very narrow phones only */

@media(max-width:359px){

    body.qinelle-unified-catalog
    .woocommerce ul.products{
        grid-template-columns:1fr!important;
    }
}


/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

body.qinelle-unified-catalog
.woocommerce ul.products li.product
a:focus-visible{
    outline:2px solid var(--qcard-accent)!important;
    outline-offset:2px!important;
}

@media(prefers-reduced-motion:reduce){

    body.qinelle-unified-catalog
    .woocommerce ul.products > li.product{
        transition:none!important;
    }
}



/* ==========================================================
   QINELLE UNIFIED CARD AUTHORITY LOCK V1

   Purpose:
   Legacy hub styles frequently use an ID selector + !important.
   This final layer uses the same ID-level specificity plus a
   stronger commerce chain, so ONE shared card system truly wins.

   .site-content keeps pages without a Qinelle root compatible.
   ========================================================== */


/* ==========================================================
   GRID
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products{
    display:grid!important;

    grid-template-columns:
        repeat(4,minmax(0,1fr))!important;

    gap:20px 16px!important;

    margin-left:0!important;
    margin-right:0!important;

    padding-left:0!important;
    padding-right:0!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products > li.product:not([hidden]){
    float:none!important;
    clear:none!important;

    display:flex!important;
    flex-direction:column!important;

    width:auto!important;
    min-width:0!important;
    height:100%!important;

    margin:0!important;
    padding:0!important;

    overflow:hidden!important;

    border:1px solid var(--qcard-border)!important;
    border-radius:var(--qcard-radius)!important;

    background:#fff!important;

    box-shadow:
        0 7px 20px rgba(80,58,64,.045)!important;

    text-align:left!important;
}


/* ==========================================================
   IMAGE STAGE
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap{
    position:relative!important;

    display:block!important;

    width:100%!important;

    margin:0!important;
    padding:0!important;

    overflow:hidden!important;

    border-radius:
        var(--qcard-radius)
        var(--qcard-radius)
        0 0!important;

    background:var(--qcard-image-bg)!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap
> a.woocommerce-LoopProduct-link{
    display:block!important;

    width:100%!important;
    aspect-ratio:4 / 5!important;

    margin:0!important;
    padding:0!important;

    overflow:hidden!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap img{
    display:block!important;

    width:100%!important;
    max-width:none!important;
    height:100%!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    border-radius:0!important;

    aspect-ratio:auto!important;

    object-fit:cover!important;
    object-position:center top!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap
> .ast-select-options-trigger{
    display:none!important;
}


/* ==========================================================
   SALE
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
:is(.onsale,.ast-onsale-card){
    position:absolute!important;

    top:9px!important;
    left:9px!important;
    right:auto!important;
    bottom:auto!important;

    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:auto!important;
    max-width:max-content!important;

    min-width:0!important;
    min-height:0!important;
    height:auto!important;

    margin:0!important;
    padding:5px 8px!important;

    border:1px solid rgba(135,89,99,.13)!important;
    border-radius:999px!important;

    color:#68494f!important;
    background:rgba(255,251,251,.96)!important;

    box-shadow:
        0 3px 9px rgba(80,58,64,.055)!important;

    font-family:Jost,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:9px!important;
    font-weight:600!important;
    line-height:1!important;

    letter-spacing:.02em!important;
    text-transform:none!important;

    white-space:nowrap!important;

    z-index:5!important;
}


/* ==========================================================
   SUMMARY
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-summary-wrap{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;

    min-width:0!important;

    margin:0!important;
    padding:12px 12px 13px!important;

    font-family:Jost,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.ast-woo-product-category{
    display:none!important;
}


/* ==========================================================
   TITLE
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.ast-loop-product__link{
    order:1!important;

    min-width:0!important;

    color:inherit!important;
    text-decoration:none!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
h2.woocommerce-loop-product__title{
    display:-webkit-box!important;

    min-height:39px!important;
    max-height:39px!important;

    margin:0 0 7px!important;
    padding:0!important;

    overflow:hidden!important;

    color:var(--qcard-text)!important;

    font-family:Jost,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.38!important;

    letter-spacing:0!important;
    text-transform:none!important;

    word-break:normal!important;
    overflow-wrap:normal!important;

    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
}


/* ==========================================================
   PRICE
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-summary-wrap > .price{
    order:2!important;

    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;

    gap:4px!important;

    min-height:21px!important;

    margin:0 0 5px!important;
    padding:0!important;

    color:var(--qcard-price)!important;

    font-family:Jost,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.25!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.price del{
    margin-right:2px!important;

    color:var(--qcard-muted)!important;

    font-size:12px!important;
    font-weight:400!important;

    opacity:.76!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.price ins{
    color:var(--qcard-price)!important;
    font-weight:700!important;
    text-decoration:none!important;
}


/* ==========================================================
   RATING
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-summary-wrap > .review-rating{
    order:3!important;

    display:flex!important;
    align-items:center!important;

    min-height:17px!important;

    margin:0 0 9px!important;
    padding:0!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.review-rating .star-rating{
    margin:0!important;

    font-size:11px!important;

    transform:none!important;

    opacity:.80!important;
}


/* ==========================================================
   CTA
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-summary-wrap > a.button{
    order:4!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:100%!important;
    max-width:none!important;

    min-height:40px!important;

    margin:auto 0 0!important;
    padding:9px 8px!important;

    border:1px solid var(--qcard-cta-border)!important;
    border-radius:999px!important;

    color:var(--qcard-cta-text)!important;
    background:var(--qcard-cta-bg)!important;

    box-shadow:none!important;

    font-family:Jost,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1!important;

    letter-spacing:.035em!important;
    text-transform:uppercase!important;

    text-align:center!important;

    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1100px){

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products{
        grid-template-columns:
            repeat(3,minmax(0,1fr))!important;

        gap:18px 14px!important;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:760px){

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products{
        grid-template-columns:
            repeat(2,minmax(0,1fr))!important;

        gap:14px 10px!important;
    }

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products > li.product{
        border-radius:14px!important;
    }

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products li.product
    .astra-shop-summary-wrap{
        padding:10px 9px 11px!important;
    }

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products li.product
    h2.woocommerce-loop-product__title{
        min-height:50px!important;
        max-height:50px!important;

        margin-bottom:6px!important;

        font-size:12.5px!important;
        line-height:1.32!important;

        -webkit-line-clamp:3!important;
    }

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products li.product
    .astra-shop-summary-wrap > a.button{
        min-height:39px!important;

        padding:8px 4px!important;

        font-size:9.5px!important;
        letter-spacing:.025em!important;
    }

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products li.product
    :is(.onsale,.ast-onsale-card){
        top:7px!important;
        left:7px!important;

        padding:4px 7px!important;

        font-size:8.5px!important;
    }
}



/* ==========================================================
   QINELLE UNIFIED CARD VISUAL BALANCE V1

   Priority:
   PRODUCT IMAGE
   PRODUCT NAME
   PRICE
   RATING
   CTA

   Use only real loaded Jost weights:
   300 / 400 / 500
   ========================================================== */


/* ==========================================================
   IMAGE STAGE
   Lock the STAGE itself — not only the image link.
   This guarantees equal image height across every card.
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap{
    width:100%!important;

    aspect-ratio:4 / 5!important;

    overflow:hidden!important;

    background:#faf8f8!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap
> a.woocommerce-LoopProduct-link{
    display:block!important;

    width:100%!important;
    height:100%!important;

    aspect-ratio:auto!important;

    margin:0!important;
    padding:0!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap img{
    display:block!important;

    width:100%!important;
    height:100%!important;

    aspect-ratio:auto!important;

    margin:0!important;

    object-fit:cover!important;
    object-position:center top!important;
}


/* ==========================================================
   PRODUCT NAME
   Softer, quieter, still easy to scan.
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
h2.woocommerce-loop-product__title{
    color:#514749!important;

    font-size:13.5px!important;
    font-weight:500!important;
    line-height:1.40!important;

    letter-spacing:-.005em!important;
}


/* ==========================================================
   PRICE
   Important but secondary to the garment.
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-summary-wrap > .price{
    color:#5d5254!important;

    font-size:13.5px!important;
    font-weight:500!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.price ins{
    color:#5d5254!important;
    font-weight:500!important;
}

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.price del{
    color:#a79ea0!important;

    font-weight:400!important;

    opacity:.72!important;
}


/* ==========================================================
   RATING
   Visible but deliberately quiet.
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.review-rating .star-rating{
    font-size:10.5px!important;
    opacity:.67!important;
}


/* ==========================================================
   CTA
   Functional, not dominant.
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
.astra-shop-summary-wrap > a.button{
    color:#5b494d!important;

    background:#f5e7e9!important;
    border-color:#e5d0d4!important;

    font-size:9.5px!important;
    font-weight:500!important;

    letter-spacing:.045em!important;
}


/* ==========================================================
   SALE
   Quiet supporting signal.
   ========================================================== */

body.qinelle-unified-catalog
:is(
    #qinelle-tummy-control-hub-v1,
    #qinelle-bodysuits-hub-v1,
    #qinelle-shaper-hub-v1,
    #qinelle-briefs-hub-v1,
    #qinelle-waist-hub-v1,
    #qinelle-plus-size-hub-v1,
    #qinelle-recovery-leggings-hub-v1,
    .site-content
)
.woocommerce ul.products li.product
:is(.onsale,.ast-onsale-card){
    color:#78686b!important;

    font-weight:500!important;

    background:rgba(255,253,253,.94)!important;

    box-shadow:
        0 2px 7px rgba(80,58,64,.035)!important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:760px){

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products li.product
    h2.woocommerce-loop-product__title{
        color:#514749!important;

        font-size:12px!important;
        font-weight:500!important;
        line-height:1.36!important;
    }

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products li.product
    .astra-shop-summary-wrap > .price{
        font-size:12.5px!important;
        font-weight:500!important;
    }

    body.qinelle-unified-catalog
    :is(
        #qinelle-tummy-control-hub-v1,
        #qinelle-bodysuits-hub-v1,
        #qinelle-shaper-hub-v1,
        #qinelle-briefs-hub-v1,
        #qinelle-waist-hub-v1,
        #qinelle-plus-size-hub-v1,
        #qinelle-recovery-leggings-hub-v1,
        .site-content
    )
    .woocommerce ul.products li.product
    .astra-shop-summary-wrap > a.button{
        font-size:9px!important;
        font-weight:500!important;
        letter-spacing:.035em!important;
    }
}


/* QINELLE_G2_101_HIDDEN_PRODUCT_STATE_AUTHORITY_V1
 * Semantic visibility must outrank visual card layout.
 * Filters / show-more may use the native hidden attribute.
 */
body.qinelle-unified-catalog .woocommerce ul.products > li.product[hidden],
body.qinelle-unified-catalog.woocommerce ul.products > li.product[hidden],
body.qinelle-unified-catalog.woocommerce-page ul.products > li.product[hidden]{
    display:none!important;
}
