/* ===== iFresh.One shop restyle — Apple-esque product pages ===== */
:root{
  --if-text:#1d1d1f;
  --if-muted:#6e6e73;
  --if-border:#d2d2d7;
  --if-accent:#0071e3;
  --if-accent-hover:#0077ed;
  --if-bg-card:#f5f5f7;
}

.single-product .entry-summary,
.single-product .product_title,
.single-product .price,
.single-product .woocommerce-variation,
.single-product .variations,
.single-product .single_add_to_cart_button,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,"Segoe UI",Roboto,Arial,sans-serif !important;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Product page layout ---------- */
.single-product div.product{
  background:#fff;
  border:1px solid rgba(0,0,0,0.04);
  border-radius:20px;
  box-shadow:0 4px 20px rgba(0,0,0,0.05);
  padding:32px;
  margin-bottom:40px;
  overflow:hidden;
}
.single-product div.images{
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
}
.single-product div.images img{
  object-fit:contain;
}

.single-product .product_title.entry-title{
  color:var(--if-text);
  font-weight:600;
  letter-spacing:-0.02em;
  font-size:32px;
  line-height:1.15;
  margin-bottom:6px;
}

.single-product .woocommerce-breadcrumb{
  color:var(--if-muted);
  font-size:13px;
}
.single-product .woocommerce-breadcrumb a{
  color:var(--if-muted);
}

/* ---------- Price ---------- */
.single-product p.price,
.single-product .woocommerce-variation-price{
  color:var(--if-text) !important;
  font-size:24px !important;
  font-weight:600 !important;
  margin:14px 0 18px !important;
}
.single-product p.price ins{
  text-decoration:none;
}
.single-product p.price del{
  color:var(--if-muted);
  opacity:1;
  font-weight:400;
  font-size:16px;
}

/* ---------- Variation selectors (storage / color) ---------- */
.single-product table.variations{
  margin-bottom:20px;
}
.single-product table.variations tr{
  display:block;
  margin-bottom:16px;
}
.single-product table.variations label{
  display:block;
  color:var(--if-text);
  font-size:13px;
  font-weight:600;
  margin-bottom:8px;
}
.single-product table.variations td.value{
  padding:0;
}
.single-product table.variations select{
  width:100%;
  max-width:320px;
  padding:12px 40px 12px 16px;
  border:1px solid var(--if-border);
  border-radius:12px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236e6e73' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E") no-repeat right 16px center;
  appearance:none;
  -webkit-appearance:none;
  font-size:15px;
  color:var(--if-text);
  cursor:pointer;
  transition:border-color .2s ease;
}
.single-product table.variations select:hover,
.single-product table.variations select:focus{
  border-color:var(--if-accent);
  outline:none;
}

/* ---------- Add to cart button ---------- */
.single-product .single_add_to_cart_button,
.single-product a.button,
.single-product button.button{
  background:var(--if-accent) !important;
  color:#fff !important;
  border:none !important;
  border-radius:12px !important;
  padding:14px 32px !important;
  font-size:16px !important;
  font-weight:600 !important;
  min-height:48px;
  letter-spacing:0;
  transition:background .2s ease !important;
  box-shadow:none !important;
  text-transform:none !important;
}
.single-product .single_add_to_cart_button:hover,
.single-product a.button:hover{
  background:var(--if-accent-hover) !important;
}
.single-product .single_add_to_cart_button.disabled{
  background:var(--if-border) !important;
  color:var(--if-muted) !important;
}

/* ---------- Stock status ---------- */
.single-product p.stock.in-stock{
  color:#1a7f37;
  font-weight:500;
  font-size:14px;
}
.single-product p.stock.out-of-stock{
  color:#c0392b;
  font-weight:500;
  font-size:14px;
}

/* ---------- Short description ---------- */
.single-product .woocommerce-product-details__short-description{
  color:var(--if-muted);
  font-size:15px;
  line-height:1.55;
  margin-top:18px;
}

/* ===== Shop / category grid cards ===== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:#fff;
  border:1px solid rgba(0,0,0,0.04);
  border-radius:18px;
  padding:24px 20px 20px;
  box-shadow:0 2px 12px rgba(0,0,0,0.04);
  transition:box-shadow .2s ease, transform .2s ease;
  text-align:center;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
  box-shadow:0 8px 28px rgba(0,0,0,0.08);
  transform:translateY(-2px);
}
.woocommerce ul.products li.product img{
  border-radius:12px;
  margin-bottom:12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--if-text);
  font-size:16px;
  font-weight:600;
  margin:8px 0 4px;
}
.woocommerce ul.products li.product .price{
  color:var(--if-text);
  font-size:15px;
  font-weight:600;
}
.woocommerce ul.products li.product .price del{
  color:var(--if-muted);
  font-weight:400;
}
.woocommerce ul.products li.product .button,
.yith-wcan-reset-navigation.button{
  background:#1274e0;
  color:#fff !important;
  border-radius:25px;
  font-family:"Rubik",sans-serif;
  font-weight:600;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  padding:10px 22px;
  border:none;
  transition:background .2s ease;
  display:inline-block;
}
.woocommerce ul.products li.product .button:hover,
.yith-wcan-reset-navigation.button:hover{
  background:#0d5cb6;
  color:#fff !important;
}

/* ---------- Product category archive header ---------- */
.woocommerce-products-header__title.page-title{
  color:var(--if-text);
  font-weight:600;
  letter-spacing:-0.02em;
}
.term-description{
  color:var(--if-muted);
}

/* ---------- Result count / ordering ---------- */
.woocommerce-result-count{
  color:var(--if-muted);
  font-size:13px;
  font-weight:400;
}
.woocommerce-ordering{
  margin-bottom:20px;
}
.woocommerce-ordering select.orderby{
  appearance:none;
  -webkit-appearance:none;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236e6e73' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") no-repeat right 14px center;
  border:1px solid var(--if-border);
  border-radius:10px;
  padding:10px 36px 10px 14px;
  font-size:13px;
  color:var(--if-text);
  min-height:40px;
}
.woocommerce-ordering select.orderby:focus{
  outline:none;
  border-color:var(--if-accent);
}

@media (max-width:767px){
  .single-product div.product{padding:20px;border-radius:16px;}
  .single-product .product_title.entry-title{font-size:24px;}
}

/* ===== MyReviews widget — recolored to match site brand (blue, not default teal) ===== */
.widget{
  background:none;
}
.widget-heading{
  background-color:#F9F9F9;
}
.total-rating{
  color:#3B3B44;
  background-color:#ECECED;
  border-radius:8px;
}
.slider-left,
.slider-left:hover,
.slider-right,
.slider-right:hover{
  border-radius:50px;
  background:var(--if-accent);
}
.review-card{
  background-color:#F9F9F9;
}
.service-link a{
  color:#858585;
}
.service-link:hover a,
.service-link:hover{
  color:var(--if-accent);
}
.service-link{
  color:#858585;
}
.review-name{
  color:#3B3B3B;
  font-weight:600;
  line-height:20px;
}
.review-description{
  margin-top:10px;
  font-size:13px;
  line-height:20px;
  color:#3B3B3B;
}
.review-date{
  color:#858585;
}
.read-more{
  color:#858585;
}
.read-more:hover{
  color:var(--if-accent);
}
.platform-button{
  font-size:14px;
  line-height:20px;
  border-radius:8px;
}
.platform-button:hover{
  background-color:#F2F3F3;
  font-size:14px;
  line-height:20px;
  border-radius:8px;
}
.platform-button-selected{
  background-color:#ECECED;
  font-size:14px;
  line-height:20px;
  border-radius:8px;
}
.reviews-tag{
  background-color:#F9F9F9;
  border:none;
}
.reviews-tag:hover{
  background-color:#E8EBEC;
  border:none;
}
.reviews-tag-selected{
  background-color:var(--if-accent);
}
.total-reviews{
  color:#3B3B44;
  border-left:2px solid #3B3B44;
}
.left-review-button button{
  border-radius:12px;
  width:160px;
  height:40px;
  background:var(--if-accent);
}
.left-review-button:hover button{
  border-radius:12px;
  width:160px;
  height:40px;
  background:var(--if-accent-hover);
  opacity:80%;
}

/* ===== /apple/ hero slider — image fills the whole slide box, no cropped/small photo ===== */
.page-id-1884 .et_pb_slider_0{
  height:auto !important;
}
.page-id-1884 .et_pb_slider_0 .et_pb_container,
.page-id-1884 .et_pb_slide{
  position:relative;
  height:0;
  padding-bottom:75% !important; /* 4:3 box, matches the cropped photos */
  overflow:hidden;
}
.page-id-1884 .et_pb_slider_container_inner{
  display:block !important;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.page-id-1884 .et_pb_slide_image,
.page-id-1884 .et_pb_slide_video{
  position:absolute !important;
  top:0;
  left:0;
  right:0;
  bottom:0;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
}
.page-id-1884 .et_pb_slide_image img{
  position:absolute;
  top:0;
  left:0;
  width:100% !important;
  height:100% !important;
  object-fit:cover;
}
.page-id-1884 .et_pb_slide_description{
  display:none !important;
}
.page-id-1884 .et_pb_slide{
  background-color:#f5f5f7 !important;
}

/* ---------- Mobile category filters moved to inline <style>/<script> in
   wp-content/mu-plugins/ifresh-mobile-filters.php (self-contained, does a real
   DOM move instead of flex order, and only hides widgets once JS has actually
   added the .if-filters-panel class — so a JS failure can't hide filters with
   no way to reveal them again). ---------- */
