/* Category tiles: text-only, no image. Image is broken/unset; replace with clean nav-tile look */
body.woocommerce-shop ul.products li.product-category,body.woocommerce-page ul.products li.product-category{display:flex !important;flex-direction:column !important}
body.woocommerce-shop ul.products li.product-category img,body.woocommerce-page ul.products li.product-category img{display:none !important}
body.woocommerce-shop ul.products li.product-category > a,body.woocommerce-page ul.products li.product-category > a{display:flex !important;flex-direction:column !important;align-items:center;justify-content:center;text-align:center;padding:32px 16px !important;min-height:120px;border:1px solid #e2d9d3;background:#faf6f3;transition:background .15s ease,border-color .15s ease,transform .15s ease;text-decoration:none}
body.woocommerce-shop ul.products li.product-category > a:hover,body.woocommerce-page ul.products li.product-category > a:hover{background:#fff;border-color:#9a2828}
body.woocommerce-shop ul.products li.product-category .woocommerce-loop-category__title,body.woocommerce-page ul.products li.product-category .woocommerce-loop-category__title{margin:0 !important;min-height:0 !important;font-size:1.1em !important;line-height:1.3 !important;color:#222}
body.woocommerce-shop ul.products li.product-category .woocommerce-loop-category__title mark.count,body.woocommerce-page ul.products li.product-category .woocommerce-loop-category__title mark.count{background:transparent !important;color:#888;font-size:.85em;font-weight:400;margin-left:4px;padding:0}

/* Spacing + divider between shop sections (skips first heading: relies on adjacent-sibling, which the first heading doesn't have).
   The "Categories" heading is injected by JS (see functions.php) and gets the same treatment via .shop-categories-heading. */
div.woocommerce + .shop-section-heading,.woocommerce-notices-wrapper + .shop-section-heading,.shop-categories-heading{margin-top:80px !important;padding-top:50px !important;border-top:1px solid #d8c5b9 !important}

/* Grid: 4/3/2/1 col flex with clearfix neutralised */
body.woocommerce-shop ul.products.columns-4::before,body.woocommerce-shop ul.products.columns-4::after,body.woocommerce-page ul.products.columns-4::before,body.woocommerce-page ul.products.columns-4::after{content:none !important;display:none !important}
body.woocommerce-shop ul.products.columns-4,body.woocommerce-page ul.products.columns-4{display:flex !important;flex-wrap:wrap !important;gap:2em 2% !important;padding-left:0 !important;margin-left:0 !important}
body.woocommerce-shop ul.products.columns-4 li.product,body.woocommerce-page ul.products.columns-4 li.product{float:none !important;clear:none !important;margin:0 !important;flex:0 0 23.5% !important;width:23.5% !important;max-width:23.5% !important;min-width:0 !important;box-sizing:border-box !important}
body.woocommerce-shop ul.products.columns-4 li.product img,body.woocommerce-page ul.products.columns-4 li.product img{max-width:100% !important;height:auto !important;margin-bottom:0 !important}
@media (max-width:1199.99px){body.woocommerce-shop ul.products.columns-4 li.product,body.woocommerce-page ul.products.columns-4 li.product{flex:0 0 32% !important;width:32% !important;max-width:32% !important}}
@media (max-width:767.99px){body.woocommerce-shop ul.products.columns-4 li.product,body.woocommerce-page ul.products.columns-4 li.product{flex:0 0 49% !important;width:49% !important;max-width:49% !important}}
@media (max-width:479.99px){body.woocommerce-shop ul.products.columns-4 li.product,body.woocommerce-page ul.products.columns-4 li.product{flex:0 0 100% !important;width:100% !important;max-width:100% !important}}

/* Card structure: <a> is the main flex column, space-between distributes white space evenly between thumbnail/title/duration/excerpt/price */
body.woocommerce-shop ul.products li.product,body.woocommerce-page ul.products li.product{display:flex !important;flex-direction:column !important}
body.woocommerce-shop ul.products li.product > a,body.woocommerce-page ul.products li.product > a{display:flex !important;flex-direction:column !important;flex:1 0 auto !important;justify-content:space-between !important;gap:10px}
.shop-card-meta{display:contents}
body.woocommerce-shop ul.products li.product .price,body.woocommerce-page ul.products li.product .price{margin:0 !important}
.shop-card-meta__duration{margin:0;font-size:.8em;text-transform:uppercase;letter-spacing:.06em;color:#777;text-align:left}
.shop-card-meta__excerpt{margin:0;font-size:.95em;line-height:1.45;color:#333;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;min-height:2.9em}

/* Title: reserve 2 lines so duration/excerpt/price line up across columns */
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,body.woocommerce-page ul.products li.product .woocommerce-loop-product__title{min-height:2.8em;line-height:1.35;margin:0}

/* Buttons - identical compact height */
body.woocommerce-shop ul.products li.product .button,body.woocommerce-page ul.products li.product .button{padding:14px 16px !important;width:100% !important;margin:10px 0 0 0 !important;display:flex !important;align-items:center !important;justify-content:center !important;min-height:52px !important;height:52px !important;box-sizing:border-box !important;line-height:1.2 !important}
body.woocommerce-shop ul.products li.product .paired-product-buttons,body.woocommerce-page ul.products li.product .paired-product-buttons{display:flex !important;gap:6px !important;flex-wrap:nowrap !important;width:100% !important;margin:10px 0 0 0 !important;padding:0 !important;align-items:stretch !important;min-height:52px !important;height:52px !important;box-sizing:border-box !important}
body.woocommerce-shop ul.products li.product .paired-product-buttons .paired-product-buttons__btn,body.woocommerce-page ul.products li.product .paired-product-buttons .paired-product-buttons__btn{flex:1 1 0 !important;min-width:0 !important;text-align:center !important;padding:0 6px !important;margin:0 !important;min-height:52px !important;height:52px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;width:auto !important;display:flex !important;align-items:center !important;justify-content:center !important;box-sizing:border-box !important;line-height:1.2 !important}
@media (max-width:479.99px){body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,body.woocommerce-page ul.products li.product .woocommerce-loop-product__title{min-height:0}}
@media (max-width:479.99px){body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title br,body.woocommerce-page ul.products li.product .woocommerce-loop-product__title br{display:none}}
