/* =====================================================================
   Wicked Good Pizza — WooCommerce, styled to the storefront design.
   Card spec lifted from index.html cardHTML():
     white / 16px radius / 1px hairline / 14px pad
     4:3 media, diet mark 18px top-left, gold badge ribbon top-right,
     24-HR SOURDOUGH pill, Anton title, stone description, Fire Red price
   ===================================================================== */

/* ---------------- grid ---------------- */
.woocommerce ul.products{
  display:grid; gap:16px; margin:0 0 8px; padding:0; list-style:none;
}
.woocommerce ul.products.columns-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.woocommerce ul.products.columns-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.woocommerce ul.products.columns-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.woocommerce ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important; clear:none !important;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{ display:none !important; }

@media (max-width:1024px){
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px){
  .woocommerce ul.products.columns-2,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}

/* ---------------- the card ---------------- */
.woocommerce ul.products li.product{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  overflow:hidden;
  display:flex; flex-direction:column;
  position:relative;
  transition:box-shadow .18s ease, transform .18s ease;
}
.woocommerce ul.products li.product:hover{
  box-shadow:0 10px 28px rgba(11,11,11,.10);
  transform:translateY(-2px);
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link{
  display:flex; flex-direction:column; flex:1; text-decoration:none; color:inherit;
}

/* ---------------- media 4:3 ---------------- */
.woocommerce ul.products li.product .wgp-media{
  position:relative; display:block;
  aspect-ratio:4/3; background:var(--wg-ink,#1A1A1A);
  overflow:hidden; flex:0 0 auto;
}
.woocommerce ul.products li.product .wgp-media img{
  width:100%; height:100%; object-fit:cover; display:block; margin:0; border-radius:0;
}
.woocommerce ul.products li.product .wgp-media__marks{
  position:absolute; top:10px; left:10px; z-index:2; display:flex; gap:6px;
}

/* typographic tile when there is no photograph — deliberate, per the design */
.wgp-tile{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; text-align:center;
  padding:10px 12px; background:var(--wg-black,#0B0B0B);
  border:1px solid rgba(255,255,255,.12);
}
.wgp-tile--jain{ border:2px solid var(--wg-green,#00873A); }
/* the eyebrow used to be absolutely positioned at top:34%, which made the
   Jain badge overlap and clip the product name. It is in normal flow now. */
.wgp-tile__eyebrow{
  position:static; flex:0 0 auto; max-width:100%; margin:0;
  font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  line-height:1.3; color:var(--wg-crust,#E0A340);
}
.wgp-tile--jain .wgp-tile__eyebrow{
  color:#fff; background:var(--wg-green,#00873A);
  padding:3px 8px; border-radius:4px; width:auto;
}
.wgp-tile__name{
  flex:0 1 auto; max-width:100%; margin:0;
  font-family:'Anton',Impact,sans-serif; font-weight:400;
  color:var(--wg-cream,#F7F5F2); text-transform:uppercase;
  font-size:1.1rem; line-height:1.05; overflow:hidden;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
}
@media (max-width:420px){
  .wgp-tile__name{ font-size:1rem; }
  .wgp-tile__eyebrow{ font-size:8px; letter-spacing:.1em; }
}

/* diet mark — 18px square, 2px border, centred dot */
.wgp-diet{
  display:inline-grid; place-items:center;
  width:18px; height:18px; border-radius:3px; background:#fff;
  border:2px solid var(--wgp-diet-colour,#00873A);
}
.wgp-diet i{
  width:8px; height:8px; border-radius:50%;
  background:var(--wgp-diet-colour,#00873A); display:block;
}

/* gold badge ribbon, top right */
.woocommerce ul.products li.product .wgp-badge{
  position:absolute; top:10px; right:0; z-index:3;
  background:var(--wg-crust,#E0A340); color:var(--wg-black,#0B0B0B);
  font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  padding:4px 10px 4px 8px; border-radius:4px 0 0 4px; line-height:1.2;
}

/* ---------------- card body ---------------- */
.woocommerce ul.products li.product a.woocommerce-loop-product__link > :not(.wgp-media){
  margin-left:14px; margin-right:14px;
}
.woocommerce ul.products li.product .wgp-pill{
  display:inline-block; width:max-content; margin-top:14px;
  font-size:9px; font-weight:800; letter-spacing:.1em;
  color:var(--wg-green,#00873A);
  border:1px solid rgba(0,135,58,.3); border-radius:4px; padding:2px 6px;
}
.woocommerce ul.products li.product h2.woocommerce-loop-product__title{
  font-family:'Anton',Impact,sans-serif; font-weight:400;
  text-transform:uppercase; letter-spacing:.01em;
  font-size:1.15rem; line-height:1.05;
  color:var(--wg-black,#0B0B0B);
  margin:8px 0 0; padding:0;
}
.woocommerce ul.products li.product .wgp-desc{
  font-size:.85rem; line-height:1.45; color:var(--wg-stone,#8A8175);
  margin:4px 0 0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.woocommerce ul.products li.product .price{
  font-family:'Manrope',system-ui,sans-serif;
  font-weight:700; font-size:1.15rem; line-height:1.2;
  color:var(--wg-red,#C5010D) !important;
  font-variant-numeric:tabular-nums;
  margin:auto 0 0; padding-top:12px; display:block;
}
.woocommerce ul.products li.product .price del{ color:var(--wg-stone,#8A8175); font-weight:500; opacity:.8; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .price .woocommerce-Price-amount{ color:inherit; }

/* ---------------- add control — red pill ---------------- */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button{
  display:inline-flex; align-items:center; justify-content:center;
  align-self:flex-start;
  margin:12px 14px 14px; padding:.5rem 1.25rem; min-height:38px;
  background:var(--wg-red,#C5010D); color:#fff;
  border:0; border-radius:9999px;
  font-family:'Manrope',system-ui,sans-serif; font-weight:700; font-size:14px;
  line-height:1.2; text-decoration:none;
  transition:background-color .18s ease;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .button:hover{ background:var(--wg-red-h,#E0111D); color:#fff; }
.woocommerce ul.products li.product a.added_to_cart{
  margin:0 14px 14px; font-size:13px; font-weight:700; color:var(--wg-black,#0B0B0B);
  text-decoration:underline; align-self:flex-start;
}
.woocommerce ul.products li.product a.button.loading::after{ top:.55em; }

/* ---------------- single product ---------------- */
.woocommerce div.product .product_title{
  font-family:'Anton',Impact,sans-serif; font-weight:400;
  text-transform:uppercase; letter-spacing:.01em; line-height:.98;
  color:var(--wg-black,#0B0B0B);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--wg-red,#C5010D); font-weight:700; font-size:1.6rem;
  font-variant-numeric:tabular-nums;
}
.woocommerce div.product form.cart .variations label{
  font-weight:700; font-size:14px; color:var(--wg-black,#0B0B0B);
}
.woocommerce div.product form.cart .variations select{
  border:1px solid rgba(11,11,11,.15); border-radius:12px; padding:10px 14px;
  font-size:15px; background:#fff; min-height:44px;
}
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.button{
  background:var(--wg-red,#C5010D); color:#fff; border-radius:9999px;
  padding:14px 32px; font-weight:700; font-size:15px; border:0; min-height:46px;
}
.woocommerce div.product form.cart .button:hover{ background:var(--wg-red-h,#E0111D); }
.woocommerce div.product .quantity input.qty{
  border:1px solid rgba(11,11,11,.15); border-radius:9999px;
  padding:10px 8px; min-height:46px; width:74px; text-align:center; font-weight:700;
}
.woocommerce div.product .woocommerce-product-gallery img{ border-radius:16px; }
.woocommerce div.product .product_meta{ font-size:13px; color:var(--wg-stone,#8A8175); }

/* ---------------- notices ---------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top:0; border-radius:16px; padding:16px 20px 16px 48px;
  font-size:15px; background:#fff; border:1px solid rgba(0,0,0,.08);
  box-shadow:0 2px 10px rgba(11,11,11,.05);
}
.woocommerce-message{ border-left:4px solid var(--wg-green,#00873A); }
.woocommerce-info{ border-left:4px solid var(--wg-crust,#E0A340); }
.woocommerce-error{ border-left:4px solid var(--wg-red,#C5010D); }
.woocommerce-message::before{ color:var(--wg-green,#00873A); }
.woocommerce-info::before{ color:var(--wg-crust,#E0A340); }
.woocommerce-message .button,.woocommerce-info .button{
  background:var(--wg-red,#C5010D); color:#fff; border-radius:9999px;
  padding:8px 20px; font-weight:700; font-size:13px;
}

/* ---------------- cart ---------------- */
.woocommerce table.shop_table{
  border:1px solid rgba(0,0,0,.08); border-radius:16px; border-collapse:separate;
  overflow:hidden; font-size:15px;
}
.woocommerce table.shop_table th{
  font-family:'Anton',Impact,sans-serif; font-weight:400; text-transform:uppercase;
  letter-spacing:.02em; font-size:14px; color:var(--wg-black,#0B0B0B);
  background:var(--wg-cream,#F7F5F2);
}
.woocommerce table.shop_table td{ border-top:1px solid rgba(0,0,0,.06); }
.woocommerce table.shop_table .product-name a{ font-weight:700; color:var(--wg-black,#0B0B0B); }
.woocommerce table.shop_table img{ border-radius:10px; width:64px; }
.woocommerce a.remove{ color:var(--wg-red,#C5010D) !important; }
.woocommerce a.remove:hover{ background:var(--wg-red,#C5010D); color:#fff !important; }
.woocommerce .cart_totals h2,
.woocommerce-cart .cart-collaterals h2{
  font-family:'Anton',Impact,sans-serif; font-weight:400; text-transform:uppercase;
  font-size:22px; color:var(--wg-black,#0B0B0B);
}
.woocommerce .cart_totals .order-total .amount{ color:var(--wg-red,#C5010D); font-size:1.3rem; }
.woocommerce .button,.woocommerce input.button,.woocommerce a.button.alt,
.woocommerce button.button,.woocommerce button.button.alt{
  background:var(--wg-red,#C5010D); color:#fff; border-radius:9999px;
  font-family:'Manrope',system-ui,sans-serif; font-weight:700; font-size:15px;
  padding:13px 28px; border:0; min-height:46px;
}
.woocommerce .button:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button:hover,.woocommerce button.button.alt:hover{
  background:var(--wg-red-h,#E0111D); color:#fff;
}
.woocommerce .cart .button[name="update_cart"]{
  background:transparent; color:var(--wg-black,#0B0B0B);
  border:2px solid rgba(11,11,11,.15);
}
.woocommerce .cart .button[name="update_cart"]:disabled{ opacity:.4; }

/* ---------------- checkout / account ---------------- */
.woocommerce form .form-row label{ font-weight:700; font-size:14px; color:var(--wg-black,#0B0B0B); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  border:1px solid rgba(11,11,11,.15); border-radius:12px; padding:12px 16px;
  font-size:15px; min-height:46px; background:#fff;
}
.woocommerce-checkout h3,
.woocommerce-account h2{
  font-family:'Anton',Impact,sans-serif; font-weight:400; text-transform:uppercase;
  font-size:22px; color:var(--wg-black,#0B0B0B);
}
#add_payment_method #payment,.woocommerce-cart #payment,.woocommerce-checkout #payment{
  background:var(--wg-cream,#F7F5F2); border-radius:16px;
}

/* ---------------- WhatsApp order handoff ---------------- */
.woocommerce .wgp-wa-btn,
.woocommerce a.wgp-wa-btn.button.alt{
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; text-align:center;
  background:#25D366 !important; color:#0B0B0B !important;
  border:0; border-radius:9999px; padding:16px 28px; min-height:54px;
  font-family:'Manrope',system-ui,sans-serif; font-weight:800; font-size:16px;
  letter-spacing:.01em; text-decoration:none;
  transition:background-color .18s ease, transform .18s ease;
}
.woocommerce .wgp-wa-btn:hover{ background:#1FBE5B !important; color:#0B0B0B !important; transform:translateY(-1px); }
.wgp-wa-btn__icon{
  width:22px; height:22px; flex:0 0 auto; display:inline-block;
  background-repeat:no-repeat; background-size:contain; background-position:center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230B0B0B'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38a9.9 9.9 0 0 0 4.79 1.22h.01c5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2Zm5.8 14.14c-.24.68-1.42 1.32-1.95 1.36-.53.05-.53.42-3.32-.69-2.79-1.11-4.5-3.98-4.64-4.17-.13-.19-1.11-1.48-1.11-2.82 0-1.34.7-2 .95-2.27.24-.27.53-.34.71-.34l.51.01c.16.01.39-.06.6.46.24.58.82 2 .89 2.14.07.14.12.31.02.5-.09.19-.14.31-.28.48-.14.17-.29.37-.42.5-.14.14-.28.29-.12.56.16.27.72 1.18 1.54 1.91 1.06.95 1.95 1.24 2.22 1.38.27.14.43.12.59-.07.16-.19.68-.79.86-1.06.18-.27.36-.22.6-.13.24.09 1.55.73 1.81.86.27.14.44.2.51.31.07.11.07.65-.17 1.33Z'/%3E%3C/svg%3E");
}
.wgp-wa-note{
  margin:12px 0 0; font-size:13px; line-height:1.55; color:var(--wg-stone,#8A8175);
  text-align:center;
}
.wgp-wa-note--alt{ margin-top:6px; }
.wgp-wa-note a{ color:var(--wg-red,#C5010D); font-weight:700; }

/* ---------------- order tracking form ---------------- */
.wgp-track .track_order{ max-width:640px; }
.wgp-track .track_order .form-row{ margin-bottom:14px; }
.wgp-track .track_order button[type="submit"]{
  background:var(--wg-red,#C5010D); color:#fff; border:0; border-radius:9999px;
  padding:14px 32px; min-height:48px; font-weight:700; font-size:15px;
}

/* ---------------- archive header ---------------- */
.woocommerce .woocommerce-products-header{ margin-bottom:8px; }
.woocommerce .term-description{ color:var(--wg-stone,#8A8175); font-size:15px; }
