/* FG universal WooCommerce product archive template */
body.woocommerce-shop .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header{margin:0 0 14px!important}
body.woocommerce-shop .woocommerce-products-header__title.page-title,
body.tax-product_cat .woocommerce-products-header__title.page-title{font-family:Georgia,serif;color:#2d1747;font-size:42px;line-height:1.05;margin:0 0 8px}
body.woocommerce-shop .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count{font-weight:600;color:#5d4b43;margin:12px 0 20px}
body.woocommerce-shop .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering{margin:0 0 20px}
body.woocommerce-shop .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select{min-height:48px;border:1px solid #ddd0c1;border-radius:10px;background:#fffaf2;padding:0 42px 0 14px;color:#2d1747}
body.woocommerce-shop ul.products,
body.tax-product_cat ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:26px 24px!important;margin:0!important;clear:both}
body.woocommerce-shop ul.products:before,body.woocommerce-shop ul.products:after,
body.tax-product_cat ul.products:before,body.tax-product_cat ul.products:after{display:none!important}
body.woocommerce-shop ul.products li.product,
body.tax-product_cat ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:#fffaf2;border:1px solid #eadfce;border-radius:13px;padding:0 0 14px!important;overflow:hidden;box-shadow:0 3px 10px rgba(48,25,35,.05);position:relative;display:flex;flex-direction:column}
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link{display:block;text-decoration:none}
body.woocommerce-shop ul.products li.product img,
body.tax-product_cat ul.products li.product img{width:100%!important;aspect-ratio:1/1.12;object-fit:contain;object-position:center center;margin:0!important;background:#fffaf2;padding:8px;box-sizing:border-box}
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{font-size:18px!important;line-height:1.25;color:#271b2d;padding:13px 16px 2px!important;margin:0!important}
body.woocommerce-shop ul.products li.product .price,
body.tax-product_cat ul.products li.product .price{display:block!important;color:#271b2d!important;font-size:16px!important;font-weight:700!important;padding:0 16px 10px;margin:0!important}
body.woocommerce-shop ul.products li.product .button,
body.tax-product_cat ul.products li.product .button{margin:0 16px 7px!important;min-height:44px;border-radius:7px!important;display:flex!important;align-items:center;justify-content:center;text-align:center;background:#e62f83!important;color:#fff!important;border:1px solid #e62f83!important;font-weight:700!important;text-decoration:none!important}
body.woocommerce-shop ul.products li.product .fgsf-detail,
body.tax-product_cat ul.products li.product .fgsf-detail{margin:0 16px 8px;min-height:40px;border:1px solid #dc8bb2;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#30213b;text-decoration:none;font-weight:700;background:#fff}
body.woocommerce-shop ul.products li.product .fgsf-card-actions,
body.tax-product_cat ul.products li.product .fgsf-card-actions{display:flex;justify-content:space-around;align-items:center;padding:6px 16px 0;color:#472064;font-size:20px;margin-top:auto}
body.woocommerce-shop ul.products li.product .fgsf-card-actions button,
body.tax-product_cat ul.products li.product .fgsf-card-actions button{appearance:none;border:0;background:transparent;padding:4px;line-height:1;color:inherit;cursor:pointer;font-size:20px}
body.woocommerce-shop nav.woocommerce-pagination,
body.tax-product_cat nav.woocommerce-pagination{margin:32px 0 12px}
body.woocommerce-shop nav.woocommerce-pagination ul,
body.tax-product_cat nav.woocommerce-pagination ul{border:0!important;display:flex;justify-content:center;gap:8px}
body.woocommerce-shop nav.woocommerce-pagination ul li,
body.tax-product_cat nav.woocommerce-pagination ul li{border:0!important}
body.woocommerce-shop nav.woocommerce-pagination ul li a,
body.woocommerce-shop nav.woocommerce-pagination ul li span,
body.tax-product_cat nav.woocommerce-pagination ul li a,
body.tax-product_cat nav.woocommerce-pagination ul li span{min-width:42px;height:42px;display:grid;place-items:center;border-radius:7px;background:#fffaf2;color:#32104f!important;border:1px solid #eadfce!important}
body.woocommerce-shop nav.woocommerce-pagination ul li span.current,
body.tax-product_cat nav.woocommerce-pagination ul li span.current{background:#32104f!important;color:#fff!important}
@media(max-width:1050px){body.woocommerce-shop ul.products,body.tax-product_cat ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:780px){body.woocommerce-shop .woocommerce-products-header__title.page-title,body.tax-product_cat .woocommerce-products-header__title.page-title{font-size:32px}body.woocommerce-shop ul.products,body.tax-product_cat ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;padding-left:10px!important;padding-right:10px!important}body.woocommerce-shop ul.products li.product .price,body.tax-product_cat ul.products li.product .price{font-size:14px!important;padding-left:10px;padding-right:10px}body.woocommerce-shop ul.products li.product .button,body.tax-product_cat ul.products li.product .button,body.woocommerce-shop ul.products li.product .fgsf-detail,body.tax-product_cat ul.products li.product .fgsf-detail{margin-left:10px!important;margin-right:10px!important}}

/* V2.3 final product button polish */
body.woocommerce-shop ul.products li.product .button,
body.tax-product_cat ul.products li.product .button{
  min-height:44px!important;
  height:44px!important;
  background:#32104f!important;
  color:#f4e5bd!important;
  border:1px solid #32104f!important;
  box-sizing:border-box!important;
}
body.woocommerce-shop ul.products li.product .fgsf-detail,
body.tax-product_cat ul.products li.product .fgsf-detail{
  min-height:44px!important;
  height:44px!important;
  box-sizing:border-box!important;
}
body.woocommerce-shop ul.products li.product .button:hover,
body.tax-product_cat ul.products li.product .button:hover{
  background:#d8bd82!important;
  border-color:#d8bd82!important;
  color:#32104f!important;
}

/* Desktop final: cut the unused tail beneath the storefront. */
@media(min-width:781px){
  body.woocommerce-shop .fgsf-wrap,
  body.tax-product_cat .fgsf-wrap,
  body.woocommerce-shop .fgsf-foot,
  body.tax-product_cat .fgsf-foot{margin-bottom:0!important;padding-bottom:0!important}
  body.woocommerce-shop #content,
  body.tax-product_cat #content,
  body.woocommerce-shop .site-content,
  body.tax-product_cat .site-content{padding-bottom:0!important;margin-bottom:0!important;min-height:0!important}
}


/* V3.31 — FINAL CATALOG BALANCE
   Outer product card stays as-is.
   Only the inner photo window is adjusted so portrait/model heads remain visible.
   Desktop catalog uses up to 4 balanced cards per row; 3 products spread evenly. */
body.tax-product_cat ul.products li.product img{
  width:100%!important;
  aspect-ratio:1 / 1.14!important;
  object-fit:contain!important;
  object-position:center top!important;
  background:#fffaf2!important;
  padding:4px!important;
  margin:0 0 4px!important;
  box-sizing:border-box!important;
}

body.tax-product_cat ul.products li.product .woocommerce-loop-product__title{
  margin-top:0!important;
  padding-top:3px!important;
}

@media(min-width:781px){
  body.tax-product_cat ul.products{
    grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;
    gap:12px!important;
  }

  /* Cap each row visually at 4 balanced cards when space allows. */
  body.tax-product_cat ul.products li.product{
    min-width:0!important;
    max-width:none!important;
  }
}

@media(min-width:781px) and (min-width:720px){
  body.tax-product_cat .fgsf-product-anchor ul.products{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* If a category currently has only 3 products, distribute them evenly
   instead of leaving them cramped against one side. */
@media(min-width:781px){
  body.tax-product_cat .fgsf-product-anchor ul.products:has(> li.product:nth-child(3):last-child){
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:780px){
  body.tax-product_cat ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  body.tax-product_cat ul.products li.product img{
    aspect-ratio:1 / 1.14!important;
    object-fit:contain!important;
    object-position:center top!important;
    padding:3px!important;
    margin-bottom:4px!important;
  }
}
