/* Product cards: full product names, unchanged WooCommerce prices. */
body #page ul.products li.product {
    display:flex; flex-direction:column; min-width:0;
    padding:0!important; background:#fff; border:1px solid #dce4eb;
    border-radius:8px; overflow:hidden; box-shadow:none; text-align:left;
    container-type:inline-size;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang TC","Microsoft JhengHei",sans-serif!important;
}
body #page ul.products li.product .astra-shop-thumbnail-wrap {
    margin:0; border-radius:0; background:#fff; transform:none!important;
}
body #page ul.products li.product .astra-shop-thumbnail-wrap img {
    display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain;
    margin:0!important; transform:none!important;
}
body #page ul.products li.product .astra-shop-summary-wrap {
    display:flex; flex:1; flex-direction:column; gap:0; min-width:0; padding:12px;
}
body #page ul.products li.product .ast-loop-product__link {min-width:0; overflow-wrap:anywhere}
body #page ul.products li.product .woocommerce-loop-product__title {
    font-family:inherit!important; font-size:16px!important; font-weight:600!important;
    line-height:1.5!important; color:#24406a!important; margin:0 0 16px!important;
    padding:0!important; overflow:visible; display:block;
}
body #page ul.products li.product .kl-card-meta {
    display:flex; align-items:flex-end; justify-content:space-between; gap:6px;
    margin-top:auto; padding-top:4px; min-width:0;
}
body #page ul.products li.product .kl-card-meta .price {
    flex:0 1 auto; min-width:0; margin:0!important; text-align:left;
    font-size:17px!important; font-weight:800; line-height:1.45; color:#127395!important;
}
body #page ul.products li.product .kl-card-meta .price bdi {white-space:nowrap}
body #page ul.products li.product .kl-card-meta .price .woocommerce-Price-currencySymbol {font-size:.72em}
body #page ul.products li.product .kl-card-meta .price .subscription-details {font-size:12px; font-weight:500; display:block}
body #page ul.products li.product .kl-card-sold {
    flex:0 0 auto; font-size:12px; line-height:1.5; color:#536170;
    font-weight:400; white-space:nowrap; text-align:right;
}
body #page ul.products li.product .review-rating {display:none}
body #page ul.products li.product .kl-card-badges {
    display:flex; flex-wrap:wrap; gap:6px; margin:auto 0 12px;
}
body #page ul.products li.product .kl-card-badges + .kl-card-meta {margin-top:0}
body #page ul.products li.product .kl-card-badge {
    display:inline-flex; align-items:center; min-height:26px; max-width:100%;
    border:1px solid #127395; border-radius:3px; padding:3px 7px;
    font-size:12px; line-height:1.5; font-weight:600; color:#0e627f;
    background:#edf8fc; text-decoration:none; overflow-wrap:anywhere;
}
body #page ul.products li.product .kl-card-badge--subscription {
    color:#435871; background:#f3f6f9; border-color:#acb9c8;
}
/* Billing interval gets the whole second row, without squeezing sales or the amount. */
body #page ul.products li.product .kl-card-meta:has(.subscription-details) {
    display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 6px;
}
body #page ul.products li.product .kl-card-meta:has(.subscription-details) .price {display:contents}
body #page ul.products li.product .kl-card-meta:has(.subscription-details) .price > .amount {
    grid-column:1; grid-row:1;
}
body #page ul.products li.product .kl-card-meta .price > .subscription-details {
    grid-column:1 / -1; grid-row:2; min-width:0; line-height:1.5;
}
body #page ul.products li.product .kl-card-meta:has(.subscription-details) .kl-card-sold {
    grid-column:2; grid-row:1;
}
body #page ul.products li.product a:focus-visible {outline:3px solid #127395; outline-offset:-3px}
body #page ul.products li.product:hover {border-color:#9aafbf}
/* Equal-size cards match the reference; preserve the existing product groupings. */
body #page .kl26-shop .kl-group--drink ul.products li.product:first-child {
    grid-column:auto; grid-row:auto; align-self:stretch;
}
@media (max-width:860px) {
    body #page ul.products li.product .astra-shop-summary-wrap {padding:10px 8px}
    body #page ul.products li.product .woocommerce-loop-product__title {font-size:14px!important; margin-bottom:12px!important}
    body #page ul.products li.product .kl-card-meta .price {font-size:15px!important}
    body #page .kl26-shop--subs .kl-sub-row .woocommerce ul.products {grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px}
}
@media (max-width:360px) {
    body #page ul.products li.product .astra-shop-summary-wrap {padding:10px 6px}
    body #page ul.products li.product .kl-card-meta {gap:4px}
    body #page ul.products li.product .kl-card-meta .price {font-size:14px!important}
}
/* Narrow cards also occur on wide screens (e.g. two groups of three subscriptions). */
@container (max-width:220px) {
    body #page ul.products li.product .astra-shop-summary-wrap {padding:10px 8px}
    body #page ul.products li.product .woocommerce-loop-product__title {font-size:14px!important; margin-bottom:12px!important}
    body #page ul.products li.product .kl-card-meta .price {font-size:15px!important}
}
@container (max-width:145px) {
    body #page ul.products li.product .astra-shop-summary-wrap {padding:10px 6px}
    body #page ul.products li.product .kl-card-meta {column-gap:4px}
    body #page ul.products li.product .kl-card-meta .price {font-size:14px!important}
}

/* Legacy Woo archives use floated columns; match the responsive card grids. */
body.archive #page ul.products,
body.search #page ul.products,
body.single-product #page .related ul.products,
body.single-product #page .up-sells ul.products,
body.woocommerce-cart #page .cross-sells ul.products {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;
}
body.archive #page ul.products::before, body.archive #page ul.products::after,
body.search #page ul.products::before, body.search #page ul.products::after,
body.single-product #page .related ul.products::before, body.single-product #page .related ul.products::after,
body.single-product #page .up-sells ul.products::before, body.single-product #page .up-sells ul.products::after,
body.woocommerce-cart #page .cross-sells ul.products::before, body.woocommerce-cart #page .cross-sells ul.products::after {display:none}
body.archive #page ul.products li.product,
body.search #page ul.products li.product,
body.single-product #page .related ul.products li.product,
body.single-product #page .up-sells ul.products li.product,
body.woocommerce-cart #page .cross-sells ul.products li.product {
    float:none; width:100%; margin:0;
}
body.single-product #page .related ul.products.columns-4 {grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:600px) {
    body #page ul.products {display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:20px 12px!important}
    body #page ul.products::before, body #page ul.products::after {display:none!important}
    body #page ul.products li.product {float:none!important; width:100%!important; margin:0!important}
}
