/* WooCommerce overrides — make default Woo markup adopt the SAG design system.
   theme.css supplies the tokens/components (.btn, .product-card, .image-well, etc.);
   here we remap Woo's own class names onto them. Loaded after theme.css. */

/* ---- Buttons ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.wc-block-components-button {
  font-family: var(--font-display);
  font-weight: 700;
  border-radius: var(--r-md);
  background: var(--orange);
  color: #fff;
  border: none;
  padding: 0.8rem 1.4rem;
  cursor: pointer;
  transition: transform 0.1s, filter 0.15s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button.alt:hover { filter: brightness(0.95); transform: translateY(-1px); color: #fff; }
.woocommerce .button.added,
.woocommerce .added_to_cart { background: var(--teal-700); }

/* ---- Product grid (archive / shortcodes) ---- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: var(--sp-5);
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  background: var(--white);
  border: 2px solid var(--charcoal-100);
  border-radius: var(--r-md);
  overflow: hidden;
  text-align: left;
  position: relative;
}
.woocommerce ul.products li.product a img { border-radius: 0; margin: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.05rem;
  padding: var(--sp-3) var(--sp-3) 0;
}
.woocommerce ul.products li.product .price {
  display: block;
  padding: 0 var(--sp-3);
  color: var(--charcoal-900);
  font-weight: 700;
}
.woocommerce ul.products li.product .price del { color: var(--charcoal-300); font-weight: 500; }
.woocommerce ul.products li.product .button { margin: var(--sp-3); display: inline-block; }
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
  position: absolute; top: var(--sp-2); left: var(--sp-2); z-index: 2;
  background: var(--orange); color: #fff; border-radius: 999px;
  padding: 0.2rem 0.6rem; font-family: var(--font-display); font-weight: 700; min-height: 0; min-width: 0; line-height: 1.4;
}

/* ---- Single product (PDP) ---- */
.woocommerce div.product .product_title { font-family: var(--font-display); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--charcoal-900); font-size: 1.6rem; font-weight: 800; }
.woocommerce div.product form.cart .button { padding: 0.9rem 1.6rem; font-size: 1.05rem; }
.woocommerce .quantity .qty {
  border: 2px solid var(--charcoal-100); border-radius: var(--r-sm); padding: 0.5rem; font-family: var(--font-display); font-weight: 700;
}
/* Variation swatches/selects adopt our select styling */
.woocommerce div.product form.cart .variations select {
  border: 2px solid var(--charcoal-100); border-radius: var(--r-sm); padding: 0.6rem 0.9rem; font-weight: 600;
}
.woocommerce-tabs .panel { padding-top: var(--sp-4); }
.woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--orange); }

/* ---- Cart + checkout ---- */
.woocommerce table.shop_table { border-radius: var(--r-md); }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review {
  background: var(--white); border: 2px solid var(--charcoal-100); border-radius: var(--r-md); padding: var(--sp-5);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout input,
.woocommerce-checkout select {
  border: 2px solid var(--charcoal-100); border-radius: var(--r-sm); padding: 0.7rem 0.9rem;
}
.woocommerce form .form-row label { font-family: var(--font-display); font-weight: 600; }

/* ---- Notices ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--r-md); border-top-color: var(--orange);
  font-family: var(--font-body);
}
.woocommerce-message { border-top-color: var(--teal-700); }

/* ---- SAG card overrides (content-product.php) ---- */
.product-card-media { position: relative; display: block; }
.product-card-media img { width: 100%; height: auto; display: block; }
.product-card .tag { position: absolute; top: var(--sp-2); left: var(--sp-2); z-index: 2; }
.care-guide-list { padding-left: 1.2rem; line-height: 1.7; }
.care-guide-list li { margin-bottom: 0.4rem; }

/* ---- Reviews (Judge.me / native) keep our spacing ---- */
.woocommerce #reviews #comments ol.commentlist li { background: var(--white); border: 1px solid var(--charcoal-100); border-radius: var(--r-md); padding: var(--sp-4); }


/* SAG: 4-up product grids */
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr)!important;}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr)!important;}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,1fr)!important;}
.woocommerce ul.products li.product{width:auto!important;max-width:none!important;float:none!important;margin-left:0!important;margin-right:0!important;}
@media(max-width:782px){.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-3{grid-template-columns:repeat(2,1fr)!important;}}


/* SAG: grid pseudo-element fix */
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none!important;display:none!important;}
.woocommerce ul.products{width:100%!important;}


/* SAG: product card wishlist heart */
.product-card{position:relative;}
.product-card .tinv-wraper{position:absolute!important;top:14px;right:14px;z-index:6;margin:0!important;padding:0!important;width:auto!important;min-height:0!important;}
.product-card .tinv-wishlist-clear{display:none!important;}
.product-card .tinvwl_add_to_wishlist_button{display:flex!important;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#fff!important;box-shadow:0 2px 8px rgba(0,0,0,.18);color:#383838!important;padding:0!important;margin:0!important;border:0!important;line-height:1;}
.product-card .tinvwl_add_to_wishlist-text{display:none!important;}
.product-card .tinvwl_add_to_wishlist_button::before,.product-card .tinvwl_add_to_wishlist_button::after{font-size:20px!important;margin:0!important;line-height:1!important;}
.product-card .tinvwl_add_to_wishlist_button:hover{color:#F86808!important;}
.product-card .tinv-wraper .tinv-modal{position:fixed!important;}


/* SAG: product tag pill background */
.product-card .tag{background:var(--charcoal,#383838)!important;color:#fff!important;box-shadow:0 2px 6px rgba(0,0,0,.18);}
.product-card .tag.tag-sale{background:var(--orange,#F86808)!important;color:#fff!important;}
.product-card .tag.tag-new{background:var(--teal,#68C8C8)!important;color:var(--charcoal,#383838)!important;}


/* SAG: PDP summary styling */
.single-product div.product .summary .price,.single-product div.product .summary p.price,.single-product div.product .summary .price ins{color:var(--orange,#F86808)!important;font-weight:800;}
.pdp-collection{display:inline-block;color:var(--teal-700,#1f8a8a)!important;font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:.8rem;text-decoration:none;margin:0 0 .35rem;}
.pdp-collection:hover{text-decoration:underline;}
.sag-giftwrap{display:flex;align-items:center;gap:.55rem;margin:1rem 0 .25rem;font-weight:600;cursor:pointer;}
.sag-giftwrap input{width:18px;height:18px;}
.pdp-share{display:flex;align-items:center;gap:.6rem;margin:1.5rem 0 .5rem;}
.pdp-share__label{font-weight:800;}
.pdp-share__btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#ececec;color:var(--charcoal,#383838);transition:background .15s,color .15s;}
.pdp-share__btn:hover{background:var(--charcoal,#383838);color:#fff;}
.pdp-share__btn svg{width:18px;height:18px;}


/* SAG: PDP layout to match reference */
.pdp-description{color:#444;margin:.5rem 0 1.25rem;line-height:1.65;}
.pdp-description p{margin:0 0 .75rem;}
ul.variable-items-wrapper{margin:.25rem 0 .5rem!important;padding:0!important;gap:.5rem;display:flex;flex-wrap:wrap;}
ul.variable-items-wrapper li.variable-item{border:1.5px solid #d8d8d8!important;border-radius:10px!important;padding:.5rem .9rem!important;background:#fff!important;font-weight:700!important;color:var(--charcoal,#383838)!important;box-shadow:none!important;min-width:0!important;width:auto!important;height:auto!important;margin:0!important;}
ul.variable-items-wrapper li.variable-item.selected,ul.variable-items-wrapper li.variable-item:hover{border-color:var(--charcoal,#383838)!important;box-shadow:none!important;}
ul.variable-items-wrapper li.variable-item .variable-item-span{font-weight:700!important;}
.single-product div.product form.cart{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.5rem;}
.single-product div.product form.cart .quantity{display:inline-flex;align-items:center;border:1.5px solid #d8d8d8;border-radius:999px;overflow:hidden;}
.single-product div.product form.cart .quantity input.qty{border:0!important;width:48px;text-align:center;background:transparent;}
.single-product div.product .single_add_to_cart_button{background:var(--orange,#F86808)!important;color:#fff!important;border-radius:999px!important;padding:.85rem 2.2rem!important;font-weight:800!important;border:0!important;font-size:1rem!important;}
.single-product div.product .single_add_to_cart_button:hover{filter:brightness(.95);}
.single-product .summary .sag-giftwrap{flex-basis:100%;}
.single-product .summary .tinv-wraper{display:flex!important;justify-content:center;margin:.85rem 0 0!important;position:static!important;top:auto!important;right:auto!important;}
.single-product .summary .tinvwl_add_to_wishlist_button{display:inline-flex!important;align-items:center;gap:.4rem;width:auto!important;height:auto!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-weight:700!important;color:var(--charcoal,#383838)!important;}
.single-product .summary .tinvwl_add_to_wishlist-text{display:inline!important;}
.single-product .summary [class*='payment-request'],.single-product .summary [class*='express-payment'],.single-product .summary [class*='woopay'],.single-product .summary .wc-stripe-product-checkout-container{display:none!important;}
.pdp-care{background:var(--cream,#f7f5f1);border-radius:14px;padding:1.1rem 1.25rem;margin:1.25rem 0;}
.pdp-care__h{display:flex;align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:1.05rem;}
.pdp-care__icon{width:20px;height:20px;color:var(--teal-700,#1f8a8a);flex:0 0 auto;}
.pdp-care ul{margin:0;padding-left:1.15rem;}
.pdp-care li{margin:.28rem 0;}


/* SAG: hide PDP express checkout */
.single-product .summary .wcpay-express-checkout-wrapper,.single-product .summary #wcpay-express-checkout-element,.single-product .summary .wc-stripe-express-checkout-element{display:none!important;}
