/* ===== WooCommerce — brand styling for real shop / category / product pages =====
   Targets WooCommerce's native markup (ul.products li.product, div.product, etc.)
   using the Wow Custom Boxes design tokens from styles.css. */

/* ---------- generic ---------- */
.woocommerce, .woocommerce-page{font-family:var(--body-font);color:var(--body);}
.woocommerce a{color:var(--navy);}
.woocommerce .woocommerce-result-count{font-size:14px;color:var(--muted);font-family:var(--head);font-weight:500;}
.woocommerce .woocommerce-ordering select{border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-family:var(--body-font);font-size:13.5px;color:var(--ink);background:#fff;outline:none;cursor:pointer;}

/* ---------- buttons ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background:var(--orange);color:#fff;font-family:var(--head);font-weight:600;font-size:14px;
  border:none;border-radius:999px;padding:13px 26px;cursor:pointer;transition:.22s;box-shadow:0 10px 22px rgba(238,106,28,.28);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{background:var(--orange-600);transform:translateY(-2px);box-shadow:0 14px 28px rgba(238,106,28,.36);}

/* ---------- PRODUCT GRID (shop + category archives) ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding:0;list-style:none;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:auto !important;margin:0 !important;float:none !important;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;padding:0;transition:.25s;
}
.woocommerce ul.products li.product:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
/* whole-card clickable: stretch the product link over the card */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a.woocommerce-loop-product__link{display:block;}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link::before,
.woocommerce ul.products li.product > a.woocommerce-loop-product__link::before{content:"";position:absolute;inset:0;z-index:1;}
/* keep the add-to-cart button and category tag clickable above the overlay */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .loop-cat{position:relative;z-index:2;}
/* square images for consistent 900×900 product photos */
.woocommerce ul.products li.product a img{
  width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;margin:0;border-radius:0;display:block;background:var(--sky-50);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:16px 18px 6px;font-family:var(--head);font-weight:700;font-size:16.5px;color:var(--ink);line-height:1.25;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:var(--orange);}
.woocommerce ul.products li.product .star-rating{margin:0 18px 8px;font-size:14px;color:var(--orange);}
.woocommerce ul.products li.product .price{
  padding:0 18px;font-family:var(--head);font-weight:700;color:var(--ink);font-size:16px;margin-top:auto;
}
.woocommerce ul.products li.product .price del{color:var(--muted);font-weight:400;font-size:13px;margin-right:6px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--orange);}
.woocommerce ul.products li.product .button{
  margin:14px 18px 20px;text-align:center;
}
.woocommerce ul.products li.product .onsale{
  background:var(--orange);color:#fff;border-radius:999px;font-family:var(--head);font-weight:600;font-size:12px;
  min-height:auto;min-width:auto;padding:5px 13px;top:12px;right:12px;left:auto;margin:0;position:absolute;line-height:1.4;
}
.woocommerce ul.products li.product{position:relative;}

/* ---------- SINGLE PRODUCT ---------- */
/* minmax(0,1fr) stops a column expanding from oversized gallery images */
.woocommerce div.product{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;gap:48px;align-items:start;padding-top:8px;}
/* force columns to fill their grid track (override Woo's float + 48% width) */
.woocommerce div.product .woocommerce-product-gallery{margin:0 !important;float:none !important;width:100% !important;min-width:0;}
.woocommerce div.product div.summary{margin:0 !important;float:none !important;width:100% !important;min-width:0;}
.woocommerce div.product .woocommerce-product-gallery__wrapper{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);margin:0;}
/* constrain every gallery image so it never overflows the column */
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image,
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image a{display:block;width:100%;}
.woocommerce div.product .woocommerce-product-gallery img{width:100% !important;height:auto !important;max-width:100% !important;border-radius:var(--r-lg);display:block;}
/* thumbnail strip below the main image */
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0 0;padding:0;list-style:none;}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li{width:auto;margin:0;float:none;}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img{border:2px solid var(--line);border-radius:10px;opacity:1;transition:.2s;}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img:hover{border-color:var(--orange);}
/* gallery zoom trigger */
.woocommerce div.product .woocommerce-product-gallery__trigger{top:14px;right:14px;}
.woocommerce div.product .product_title{font-family:var(--head);font-weight:700;font-size:clamp(26px,3.2vw,38px);color:var(--ink);margin-bottom:14px;line-height:1.1;}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--ink);font-family:var(--head);font-weight:800;font-size:30px;margin-bottom:18px;}
.woocommerce div.product p.price del{color:var(--muted);font-weight:400;font-size:18px;}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--orange);}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:16px;}
.woocommerce div.product .woocommerce-product-rating .star-rating{color:var(--orange);}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:15px;color:var(--body);line-height:1.7;margin-bottom:22px;}
.woocommerce div.product form.cart{margin-bottom:26px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.woocommerce div.product form.cart .quantity input.qty{
  width:78px;border:1px solid var(--line);border-radius:10px;padding:13px 10px;font-family:var(--body-font);font-size:15px;text-align:center;background:var(--sky-50);
}
.woocommerce div.product form.cart .button.single_add_to_cart_button{padding:15px 32px;font-size:15px;}
.woocommerce div.product .product_meta{font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;}
.woocommerce div.product .product_meta a{color:var(--navy);}

/* variations table */
.woocommerce div.product form.cart .variations{margin-bottom:14px;width:100%;}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th{padding:8px 10px 8px 0;}
.woocommerce div.product form.cart .variations select{border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--body-font);font-size:14px;background:#fff;color:var(--ink);}

/* tabs */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:40px;}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line);padding:0;margin-bottom:24px;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--line);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none;border:none;border-radius:0;font-family:var(--head);font-weight:600;font-size:15px;padding:0;margin:0 22px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--muted);padding:12px 2px;display:inline-block;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom:3px solid var(--orange);}
.woocommerce div.product .woocommerce-Tabs-panel h2{font-family:var(--head);color:var(--ink);font-size:22px;margin-bottom:12px;}
.woocommerce div.product .woocommerce-Tabs-panel p,
.woocommerce div.product .woocommerce-Tabs-panel li{font-size:15px;color:var(--body);line-height:1.7;}

/* related / upsells */
.woocommerce .related.products,
.woocommerce .upsells.products{grid-column:1/-1;margin-top:48px;}
.woocommerce .related.products>h2,
.woocommerce .upsells.products>h2{font-family:var(--head);color:var(--ink);font-size:26px;margin-bottom:24px;}

/* notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-top-color:var(--orange);background:var(--sky-50);border-radius:var(--r-sm);font-size:14px;color:var(--ink);
}
.woocommerce-message::before,
.woocommerce-info::before{color:var(--orange);}

/* pagination */
.woocommerce nav.woocommerce-pagination ul{border:none;gap:8px;display:flex;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li{border:none;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--line);border-radius:10px;color:var(--ink);font-family:var(--head);font-weight:600;padding:.6em 1em;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--orange);color:#fff;border-color:var(--orange);}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr);}
  .woocommerce div.product{grid-template-columns:1fr !important;gap:32px;}
}
@media(max-width:760px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);}
  .woocommerce ul.products li.product a img{height:180px;}
}
@media(max-width:480px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr 1fr;gap:14px;}
}


/* category mention under product title in shop/category loop */
.woocommerce ul.products li.product .loop-cat{display:flex;align-items:center;gap:5px;padding:0 18px 16px;margin:6px 0 0;font-family:var(--head);font-weight:600;font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:var(--orange);}
.woocommerce ul.products li.product .loop-cat i{font-size:13px;}
.woocommerce ul.products li.product .loop-cat a{color:inherit;text-decoration:none;}
