/* Canonical CafeStore product-card system: theme-independent and shared everywhere. */
:root{--csu-red:#ed1944;--csu-ink:#20232a;--csu-muted:#737b88;--csu-border:#edf0f4;--csu-soft:#f7f8fb}
ul.products,.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important}
ul.products li.product,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto!important;float:none!important;clear:none!important;display:block!important;margin:0 0 16px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
ul.products li.product:before,ul.products li.product:after{display:none!important}
.csu-product-card{position:relative!important;width:100%!important;min-width:0!important;margin:0!important;background:#fff!important;border:1px solid var(--csu-border)!important;border-radius:14px!important;overflow:hidden!important;box-shadow:0 2px 10px rgba(25,35,50,.045)!important;direction:rtl!important;isolation:isolate!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}
.csu-product-card:hover{transform:translateY(-2px);border-color:#e1e5ea!important;box-shadow:0 9px 24px rgba(25,35,50,.075)!important}
.csu-product-card__media{position:relative!important;display:block!important;width:100%!important;aspect-ratio:1/1!important;background:#fafbfc!important;overflow:hidden!important;isolation:isolate!important}
.csu-product-card__media-link,.csu-product-card__body-link{display:block!important;width:100%!important;color:inherit!important;text-decoration:none!important}
.csu-product-card__media-link:focus-visible,.csu-product-card__body-link:focus-visible{outline:2px solid var(--csu-red)!important;outline-offset:-2px;border-radius:10px}
.csu-product-card__image{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important;padding:7px!important}
.csu-product-card__placeholder{display:block;width:100%;height:100%;background:#f5f7f9}
.csu-product-card__body{padding:10px 11px 12px!important;min-height:74px!important;background:#fff!important}
.csu-product-card__title{margin:0!important;color:var(--csu-ink)!important;font-size:13.2px!important;line-height:1.72!important;font-weight:700!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;min-height:45px!important}
.csu-product-card__price{margin-top:5px!important;color:var(--csu-red)!important;font-size:13.5px!important;line-height:1.5!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.csu-product-card__price del{color:#9299a3!important;font-weight:500!important;margin-inline-end:4px!important}.csu-product-card__price ins{text-decoration:none!important;color:var(--csu-red)!important}
.csu-card__media-actions{position:absolute!important;top:8px!important;right:8px!important;left:auto!important;bottom:auto!important;display:flex!important;align-items:center!important;gap:6px!important;width:max-content!important;height:auto!important;margin:0!important;padding:0!important;z-index:10!important;pointer-events:auto!important;opacity:0;transform:translateY(-3px);transition:opacity .16s ease,transform .16s ease}
.csu-product-card:hover .csu-card__media-actions,.csu-product-card:focus-within .csu-card__media-actions{opacity:1;transform:none}.csu-card__media-actions .csu-card-favorite,.csu-card__media-actions .csu-compare-toggle{position:relative!important;inset:auto!important;display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid rgba(225,229,235,.96)!important;border-radius:10px!important;background:rgba(255,255,255,.97)!important;color:#707986!important;box-shadow:0 3px 10px rgba(20,25,35,.12)!important;line-height:1!important;box-sizing:border-box!important;cursor:pointer!important}
.csu-card__media-actions .csu-card-favorite svg,.csu-card__media-actions .csu-compare-toggle .csu-compare-icon{display:block!important;width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;margin:0!important;padding:0!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}.csu-card__media-actions .csu-card-favorite.is-active,.csu-card__media-actions .csu-compare-toggle.is-active{color:var(--csu-red)!important;background:#fff3f5!important;border-color:#ffd4dc!important}.csu-card__media-actions .csu-card-favorite.is-active svg{fill:currentColor!important}.csu-card__media-actions .csu-compare-toggle span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
@media (hover:none),(pointer:coarse){.csu-card__media-actions{opacity:1!important;transform:none!important}}
@media(max-width:1024px){ul.products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:767px){ul.products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.csu-product-card{border-radius:12px!important}.csu-product-card__body{padding:8px 8px 10px!important}.csu-product-card__title{font-size:12.3px!important;line-height:1.68!important;min-height:41px!important}.csu-product-card__price{font-size:12.8px!important}.csu-card__media-actions{top:6px!important;right:6px!important;gap:5px!important}.csu-card__media-actions .csu-card-favorite,.csu-card__media-actions .csu-compare-toggle{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;flex-basis:32px!important;border-radius:9px!important}.csu-card__media-actions .csu-card-favorite svg,.csu-card__media-actions .csu-compare-toggle .csu-compare-icon{width:17px!important;height:17px!important}}
@media(prefers-reduced-motion:reduce){.csu-product-card{transition:none!important}}

/* Product-grid integrity.
 * A valid CafeStore loop item must contain one .csu-product-card.
 * This catches whitespace-only/orphan <li> nodes that :empty cannot catch.
 */
ul.products > li.product:not(:has(.csu-product-card)),
.woocommerce ul.products > li.product:not(:has(.csu-product-card)),
.woocommerce-page ul.products > li.product:not(:has(.csu-product-card)){
  display:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-height:0!important;
  min-width:0!important;
}

/* Loop integrity guard.
   Native WooCommerce owns the <li>; CafeStore owns the card inside it. */
ul.products > li.product.csu-loop-invalid{display:none!important}



/* Single-product information: every meaningful block gets its own lightweight CafeStore surface. */
.single-product .entry-summary > *{box-sizing:border-box;margin-top:0!important;margin-bottom:10px!important;padding:12px 14px!important;background:#fff!important;border:1px solid var(--csu-border)!important;border-radius:14px!important;box-shadow:none!important}
.single-product .entry-summary > .product_title{font-size:21px!important;line-height:1.7!important;font-weight:750!important;padding:14px 15px!important}
.single-product .entry-summary > .woocommerce-product-rating{display:flex;align-items:center;gap:7px}
.single-product .entry-summary > .price{font-size:20px!important;font-weight:800!important;color:var(--csu-red)!important;background:#fff8f9!important;border-color:#ffe0e5!important}
.single-product .entry-summary > .woocommerce-product-details__short-description{font-size:14px;line-height:2.05;color:#424955}
.single-product .entry-summary > form.cart,.single-product .entry-summary > .cart{display:block!important}
.single-product .entry-summary > .product_meta{font-size:12px;line-height:1.9;color:var(--csu-muted)}
.single-product .entry-summary > .product_meta a{color:var(--csu-red);text-decoration:none}
.single-product .cfs-separate-tabs{margin-top:18px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.single-product .cfs-separate-tab{margin-bottom:10px!important}
.single-product .csu-related{margin-top:22px;padding:14px;background:#fff;border:1px solid var(--csu-border);border-radius:16px;box-shadow:none}
.single-product .csu-related .csu-section-heading{margin-bottom:12px}






@media(max-width:767px){
 .single-product .entry-summary > *{padding:10px 11px!important;border-radius:12px!important;margin-bottom:8px!important}
 .single-product .entry-summary > .product_title{font-size:18px!important;padding:12px!important}
 .single-product .entry-summary > .price{font-size:18px!important}
 .single-product .csu-related{padding:11px;border-radius:14px}
 
}

@media(min-width:768px){.csu-single-visual-row{display:flex!important;flex-direction:column!important;gap:10px!important}.csu-single-visual-row .csu-product-gallery{width:100%!important}.csu-single-visual-row .csu-product-actions-panel{width:100%!important}.csu-single-visual-row .csu-action-box{display:flex!important;flex-direction:row!important;justify-content:center!important;gap:10px!important}.csu-single-visual-row .csu-action,.csu-single-visual-row .csu-compare-toggle--compact{width:auto!important;min-width:44px!important;height:44px!important}}
@media(max-width:767px){.csu-single-visual-row{display:flex!important;flex-direction:column!important;gap:8px!important}.csu-single-visual-row .csu-product-gallery{width:100%!important}.csu-single-visual-row .csu-product-actions-panel{width:100%!important}.csu-single-visual-row .csu-action-box{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:7px!important;width:100%!important;box-sizing:border-box!important}.csu-single-visual-row .csu-action,.csu-single-visual-row .csu-compare-toggle--compact{width:100%!important;min-width:0!important;height:42px!important}}

/* 3.14.3 — single, high-visibility purchase CTA */
.csu-sticky-buy{z-index:100050!important}
body.csu-mega-open .csu-sticky-buy{display:none!important}
.single-product .entry-summary .single_add_to_cart_button,
.single-product .entry-summary button[name="add-to-cart"],
.single-product .entry-summary .add_to_cart_button{display:none!important}
.single-product .entry-summary .quantity{display:none!important}
.csu-product-gallery__track{overscroll-behavior-x:contain;touch-action:pan-x;cursor:grab}
.csu-product-gallery__track:active{cursor:grabbing}
@media(min-width:768px){
 .csu-sticky-buy{padding:13px 24px!important}
 .csu-sticky-buy__inner{min-height:64px;gap:28px}
 .csu-sticky-buy__meta{justify-content:flex-start}
 .csu-sticky-buy__caption{font-size:14px}
 .csu-sticky-buy__price{font-size:18px}
 .csu-sticky-buy__button{min-width:340px!important;min-height:54px!important;border-radius:15px!important;font-size:16px!important;box-shadow:0 8px 24px rgba(237,25,68,.28)!important}
}
@media(max-width:767px){
 .csu-sticky-buy{padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important}
 .csu-sticky-buy__inner{min-height:58px;gap:10px}
 .csu-sticky-buy__meta{flex:0 0 43%;text-align:right}
 .csu-sticky-buy__caption{font-size:11px;font-weight:750}
 .csu-sticky-buy__price{font-size:14px;font-weight:900}
 .csu-sticky-buy__button{width:57%!important;min-height:54px!important;border-radius:14px!important;font-size:15px!important;font-weight:900!important;box-shadow:0 8px 22px rgba(237,25,68,.30)!important}
 .csu-sticky-buy__icon{font-size:19px}
}


/* 3.14.3 — robust mobile product gallery */
.csu-product-gallery{display:block!important;width:100%!important;min-width:0!important;visibility:visible!important;opacity:1!important}
.csu-product-gallery__viewport{display:block!important;width:100%!important;min-width:0!important;visibility:visible!important;opacity:1!important}
.csu-product-gallery__track{display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;visibility:visible!important;opacity:1!important;overflow-x:auto!important;overflow-y:hidden!important;direction:ltr!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x mandatory!important}
.csu-product-gallery__slide{display:block!important;flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:100%!important;visibility:visible!important;opacity:1!important}
.csu-product-gallery__image{display:block!important;visibility:visible!important;opacity:1!important}
@media(max-width:767px){
 .single-product .csu-single-visual-row{display:block!important;width:100%!important;min-width:0!important;margin-bottom:14px!important}
 .single-product .csu-product-gallery{width:100%!important;max-width:100%!important}
 .single-product .csu-product-gallery__viewport{width:100%!important;aspect-ratio:1/1!important;min-height:0!important}
 .single-product .csu-product-gallery__track{height:100%!important;min-height:0!important}
 .single-product .csu-product-gallery__slide{height:100%!important;aspect-ratio:auto!important;padding:6px!important}
 .single-product .csu-product-gallery__image{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
 .single-product .csu-product-gallery__thumbs{display:flex!important;visibility:visible!important;opacity:1!important;min-height:50px!important}
 .single-product .csu-product-gallery__thumb{display:block!important;visibility:visible!important;opacity:1!important;flex:0 0 50px!important}
 .single-product .csu-product-gallery__viewport .csu-slider-arrow{display:grid!important;z-index:5!important}
}

/* 3.43.0 product-grid integrity.
 * A valid CafeStore loop item must contain one .csu-product-card.
 * This catches whitespace-only/orphan <li> nodes that :empty cannot catch.
 */
ul.products > li.product:not(:has(.csu-product-card)),
.woocommerce ul.products > li.product:not(:has(.csu-product-card)),
.woocommerce-page ul.products > li.product:not(:has(.csu-product-card)){
  display:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-height:0!important;
  min-width:0!important;
}

/* 3.49.0 loop integrity guard.
   Native WooCommerce owns the <li>; CafeStore owns the card inside it. */
ul.products > li.product.csu-loop-invalid{display:none!important}

.csu-compare-toggle--compact{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-width:40px;height:40px;padding:0 9px}.csu-compare-toggle--compact .csu-compare-icon{flex:0 0 19px;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.csu-compare-toggle--compact span:last-child{display:inline;font-size:11px;line-height:1.2;font-weight:650}.csu-favorite-row__actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.csu-favorite-row__actions .csu-compare-toggle--compact{min-width:64px}.csu-favorite-row__actions .csu-favorite-remove{flex:0 0 34px}
