/**
 * MediHeal — WooCommerce CSS Overrides
 * Loaded only on WC pages for performance
 */

/* ── Reset WC defaults that conflict ── */
.woocommerce,
.woocommerce-page { font-family: var(--fb); color: var(--n8); }

/* ── Product Gallery ── */
.woocommerce div.product div.images { margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  border-radius: var(--r20); overflow: hidden;
  border: 1.5px solid var(--n2);
}
.woocommerce div.product div.images .flex-viewport { border-radius: var(--r20); overflow: hidden; }
.woocommerce div.product div.images ol.flex-control-thumbs li img {
  border-radius: var(--r8); border: 2px solid transparent; transition: border-color var(--ease);
}
.woocommerce div.product div.images ol.flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images ol.flex-control-thumbs li img:hover {
  border-color: var(--g5);
}

/* ── Product Title & Price ── */
.woocommerce div.product .product_title {
  font-family: var(--fh);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 900;
  color: var(--n9);
  line-height: 1.2;
  margin-bottom: 12px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--fh);
  font-weight: 900;
  font-size: 1.7rem;
  color: var(--g7);
  margin: 0;
  line-height: 1.2;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  font-size: 1rem;
  color: var(--n4);
  opacity: 1;
  font-weight: 400;
  margin-left: 6px;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none;
  font-weight: 900;
}

/* ── Rating Stars ── */
.woocommerce .star-rating {
  font-size: .9em;
  color: var(--acc);
}
.woocommerce .star-rating::before { color: var(--n3); }
.woocommerce .star-rating span::before { color: var(--acc); }
.woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.woocommerce-review-link {
  font-size: .82rem;
  color: var(--n5);
}

/* ── Add to Cart Button ── */
.woocommerce .single_add_to_cart_button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--g6);
  color: var(--w);
  border: none;
  border-radius: var(--pill);
  font-family: var(--fh);
  font-weight: 800;
  font-size: .96rem;
  padding: 14px 32px;
  transition: all var(--ease);
  box-shadow: var(--shg);
  cursor: pointer;
  letter-spacing: 0;
  text-transform: none;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--g7);
  transform: translateY(-2px);
  color: var(--w);
}
.woocommerce button.button.alt { background: var(--g6); }
.woocommerce button.button.alt:hover { background: var(--g7); }
.woocommerce #respond input#submit {
  background: var(--g6);
  border-radius: var(--pill);
  font-family: var(--fh);
  font-weight: 800;
  color: var(--w);
  border: none;
}
.woocommerce #respond input#submit:hover { background: var(--g7); }

/* ── Quantity Input ── */
.woocommerce .quantity input.qty {
  border: 1.5px solid var(--n2);
  border-radius: var(--r8);
  font-family: var(--fh);
  font-weight: 700;
  font-size: 1rem;
  padding: 10px 14px;
  text-align: center;
  color: var(--n9);
  width: 70px;
  height: auto;
  outline: none;
  box-shadow: none;
  transition: border-color var(--ease);
}
.woocommerce .quantity input.qty:focus { border-color: var(--g5); }

/* ── Form Fields ── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid var(--n2);
  border-radius: var(--r8);
  padding: 11px 14px;
  font-family: var(--fb);
  font-size: .9rem;
  color: var(--n8);
  transition: border-color var(--ease);
  box-shadow: none;
  outline: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--g5);
  box-shadow: 0 0 0 4px rgba(34,197,94,.1);
}
.woocommerce form .form-row label {
  font-family: var(--fh);
  font-weight: 700;
  font-size: .84rem;
  color: var(--n7);
  margin-bottom: 5px;
}

/* ── Notices ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--r12);
  padding: 14px 18px;
  font-family: var(--fb);
  font-size: .9rem;
}
.woocommerce-message { border-top-color: var(--g6); background: var(--g0); color: var(--g8); }
.woocommerce-info    { border-top-color: #2563eb; background: var(--blue-s); }
.woocommerce-error   { border-top-color: var(--red); background: var(--red-s); }
.woocommerce-message .button,
.woocommerce-info .button {
  background: var(--g6);
  color: var(--w);
  border-radius: var(--pill);
  font-family: var(--fh);
  border: none;
}

/* ── Cart ── */
.woocommerce-cart table.cart { border-collapse: collapse; }
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th {
  padding: 14px 16px;
  border: 1px solid var(--n2);
  vertical-align: middle;
}
.woocommerce-cart table.cart th {
  background: var(--n0);
  font-family: var(--fh);
  font-weight: 800;
  font-size: .85rem;
  color: var(--n7);
  text-transform: uppercase;
  letter-spacing: .5px;
}
.woocommerce-cart table.cart img { border-radius: var(--r8); }
.woocommerce-cart .cart_totals {
  background: var(--n0);
  border: 1.5px solid var(--n2);
  border-radius: var(--r20);
  padding: 24px;
}
.woocommerce-cart .cart_totals h2 {
  font-family: var(--fh);
  font-weight: 900;
  font-size: 1.1rem;
  margin-bottom: 16px;
}
.wc-proceed-to-checkout .checkout-button {
  background: var(--g6);
  border-radius: var(--pill);
  font-family: var(--fh);
  font-weight: 800;
  font-size: .96rem;
  width: 100%;
  text-align: center;
  display: block;
  padding: 14px;
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--g7); }

/* ── Checkout ── */
.woocommerce-checkout #order_review { padding: 0; }
.woocommerce #payment { background: var(--n0); border-radius: var(--r16); padding: 20px; }
.woocommerce #payment div.payment_box {
  background: var(--w);
  border-radius: var(--r8);
  color: var(--n6);
}
.woocommerce #payment #place_order {
  background: var(--g6);
  border-radius: var(--pill);
  font-family: var(--fh);
  font-weight: 800;
  font-size: 1rem;
  width: 100%;
  display: block;
  padding: 15px;
  border: none;
  cursor: pointer;
  transition: all var(--ease);
}
.woocommerce #payment #place_order:hover { background: var(--g7); }

/* ── My Account ── */
.woocommerce-MyAccount-navigation {
  background: var(--n0);
  border: 1.5px solid var(--n2);
  border-radius: var(--r20);
  padding: 12px;
}
.woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: var(--r8);
  font-weight: 600;
  font-size: .88rem;
  color: var(--n7);
  transition: all var(--ease);
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--g0);
  color: var(--g7);
}
.woocommerce-MyAccount-content { padding: 0 0 0 24px; }
.woocommerce-orders-table { border-collapse: collapse; }
.woocommerce-orders-table th,
.woocommerce-orders-table td {
  padding: 12px 14px;
  border: 1px solid var(--n2);
  font-size: .87rem;
}
.woocommerce-orders-table th {
  background: var(--n0);
  font-family: var(--fh);
  font-weight: 800;
}

/* ── Product Tabs (Description/Reviews) ── */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 4px;
  padding: 4px;
  background: var(--n1);
  border-radius: var(--pill);
  border: none;
  margin-bottom: 24px;
  list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  padding: 0;
  border: none;
  border-radius: var(--pill);
  background: none;
  margin: 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 {
  padding: 8px 18px;
  border-radius: var(--pill);
  font-family: var(--fh);
  font-weight: 700;
  font-size: .84rem;
  color: var(--n5);
  display: block;
  transition: all var(--ease);
  border: none;
  background: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  background: var(--w);
  color: var(--g7);
  box-shadow: var(--sh1);
}
.woocommerce div.product .woocommerce-tabs div.panel {
  border: 1.5px solid var(--n2);
  border-radius: var(--r16);
  padding: 24px;
  background: var(--w);
  margin-top: 0;
}

/* ── Reviews form ── */
.woocommerce #reviews #comments ol.commentlist li {
  padding: 16px;
  background: var(--n0);
  border: 1.5px solid var(--n2);
  border-radius: var(--r12);
  margin-bottom: 12px;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar {
  border-radius: 50%;
  width: 44px;
  height: 44px;
  border: 2px solid var(--g2);
}

/* ── Sale Badge ── */
.woocommerce span.onsale {
  background: var(--red);
  color: var(--w);
  border-radius: var(--pill);
  font-family: var(--fh);
  font-weight: 800;
  font-size: .72rem;
  padding: 4px 10px;
  min-height: auto;
  min-width: auto;
  line-height: 1.5;
  top: 12px;
  left: 12px;
  border-radius: var(--pill);
}

/* ── Pagination ── */
.woocommerce nav.woocommerce-pagination { display: none; } /* replaced by custom */

/* ── Loading overlay ── */
.woocommerce-page .blockUI.blockOverlay::before {
  border-color: var(--g6);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .woocommerce div.product { flex-direction: column; }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100%;
    float: none;
    margin: 0 0 24px;
  }
  .woocommerce-MyAccount-content { padding: 20px 0 0; }
  .mh-single-product > div { grid-template-columns: 1fr; gap: 24px; }
}

/* ============================================================
   CART (MediHeal custom template) — modern + mobile-first
============================================================ */
.mh-cart { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 28px; align-items: start; }
.mh-cart__items { min-width: 0; }

.mh-cart__list { background: var(--w); border: 1.5px solid var(--n2); border-radius: var(--r20); overflow: hidden; }
.mh-cart__list-head { display: grid; grid-template-columns: 2.4fr 1fr 1.3fr 1fr 38px; gap: 12px; padding: 14px 20px; background: var(--g6); color: #fff; font-family: var(--fh); font-weight: 800; font-size: .76rem; text-transform: uppercase; letter-spacing: .5px; }
.mh-cart__list-head span:nth-child(2), .mh-cart__list-head span:nth-child(4) { text-align: center; }

.mh-cart-item { display: grid; grid-template-columns: 2.4fr 1fr 1.3fr 1fr 38px; gap: 12px; align-items: center; padding: 16px 20px; border-top: 1px solid var(--n1); }
.mh-cart-item__product { display: flex; align-items: center; gap: 14px; min-width: 0; }
.mh-cart-item__img img { width: 66px; height: 66px; object-fit: contain; border-radius: var(--r8); border: 1px solid var(--n1); background: var(--w); padding: 4px; }
.mh-cart-item__name { min-width: 0; }
.mh-cart-item__name a { color: var(--n8); font-weight: 700; font-size: .92rem; line-height: 1.3; text-decoration: none; }
.mh-cart-item__name a:hover { color: var(--g7); }
.mh-cart-item__name .variation, .mh-cart-item__name dl { font-size: .78rem; color: var(--n5); margin: 4px 0 0; }
.mh-cart-item__price, .mh-cart-item__subtotal { font-weight: 700; color: var(--n7); text-align: center; }
.mh-cart-item__subtotal { color: var(--g7); font-weight: 800; }
.mh-cart-item__qty { display: flex; justify-content: center; }
.mh-cart-item__qty .quantity input.qty { width: 66px; border: 1.5px solid var(--n2); border-radius: var(--r8); padding: 9px 6px; text-align: center; font-weight: 700; }
.mh-cart-item__remove { text-align: right; }
.mh-cart-item__remove .remove { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--n1); color: var(--n5); font-size: 1.2rem; line-height: 1; text-decoration: none; transition: all var(--ease); }
.mh-cart-item__remove .remove:hover { background: var(--red); color: #fff; }

/* coupon + update row */
.mh-cart__actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.mh-cart__coupon { display: flex; gap: 8px; flex: 1; max-width: 420px; }
.mh-cart__coupon input { flex: 1; min-width: 0; border: 1.5px solid var(--n2); border-radius: var(--pill); padding: 11px 18px; font: inherit; }
.mh-cart__coupon input:focus { outline: none; border-color: var(--g4); }
.mh-cart__coupon .button, .mh-cart__update { background: var(--g6); color: #fff; border: none; border-radius: var(--pill); font-family: var(--fh); font-weight: 800; font-size: .85rem; padding: 11px 22px; cursor: pointer; transition: background var(--ease); white-space: nowrap; }
.mh-cart__coupon .button:hover, .mh-cart__update:hover { background: var(--g7); }
.mh-cart__update { background: var(--n2); color: var(--n7); }
.mh-cart__update:hover { background: var(--n3); }

/* order summary */
.mh-cart__summary { position: sticky; top: calc(var(--hh) + var(--nh) + 16px); }
.mh-cart__summary-inner { background: var(--n0); border: 1.5px solid var(--n2); border-radius: var(--r20); padding: 22px; }
.mh-cart__summary .cart_totals > h2,
.mh-cart__summary-inner > h2 { font-family: var(--fh); font-weight: 900; font-size: 1.15rem; margin: 0 0 16px; color: var(--n9); }
.mh-cart__summary .cart_totals table { width: 100%; border-collapse: collapse; margin: 0; }
.mh-cart__summary .cart_totals table th,
.mh-cart__summary .cart_totals table td { padding: 12px 0; border: none; border-bottom: 1px solid var(--n2); text-align: left; font-size: .9rem; }
.mh-cart__summary .cart_totals table td { text-align: right; }
.mh-cart__summary .cart_totals .order-total th,
.mh-cart__summary .cart_totals .order-total td { border-bottom: none; font-size: 1.1rem; font-weight: 900; color: var(--g7); padding-top: 14px; }
.mh-cart__summary .wc-proceed-to-checkout { padding: 16px 0 0; }
.mh-cart__summary .wc-proceed-to-checkout .checkout-button { background: var(--g6); border-radius: var(--pill); font-family: var(--fh); font-weight: 800; font-size: .98rem; width: 100%; text-align: center; display: block; padding: 15px; color: #fff; }
.mh-cart__summary .wc-proceed-to-checkout .checkout-button:hover { background: var(--g7); }

/* ── Tablet / mobile ── */
@media (max-width: 900px) {
  .mh-cart { grid-template-columns: 1fr; gap: 22px; }
  .mh-cart__summary { position: static; }
}
@media (max-width: 768px) {
  .mh-cart__list { border: none; background: transparent; overflow: visible; }
  .mh-cart__list-head { display: none; }
  .mh-cart-item {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
    border: 1.5px solid var(--n2);
    border-radius: var(--r16);
    background: var(--w);
    margin-bottom: 14px;
    position: relative;
  }
  .mh-cart-item__product { padding-right: 34px; }
  .mh-cart-item__price,
  .mh-cart-item__qty,
  .mh-cart-item__subtotal {
    display: flex; justify-content: space-between; align-items: center;
    text-align: right;
    padding: 8px 0;
    border-top: 1px solid var(--n1);
  }
  .mh-cart-item__qty { justify-content: space-between; }
  .mh-cart-item__price::before,
  .mh-cart-item__qty::before,
  .mh-cart-item__subtotal::before {
    content: attr(data-title);
    font-weight: 800; color: var(--n6); font-size: .74rem;
    text-transform: uppercase; letter-spacing: .4px; text-align: left;
  }
  .mh-cart-item__remove { position: absolute; top: 12px; right: 12px; }
  .mh-cart__actions { flex-direction: column; align-items: stretch; }
  .mh-cart__coupon { max-width: none; }
  .mh-cart__update { width: 100%; }

  .mh-cart__coupon {
    display: contents;
  }
}
@media (max-width: 480px) {
  .mh-cart-item__img img { width: 56px; height: 56px; }
  .mh-cart-item__name a { font-size: .86rem; }
}

/* ── Cart: quantity stepper, trust badges, polish ── */
.mh-cart-item__qty .quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--n2); border-radius: var(--pill); overflow: hidden; background: var(--w); }
.mh-cart-item__qty .quantity input.qty { width: 46px; border: none; border-radius: 0; padding: 8px 2px; text-align: center; -moz-appearance: textfield; }
.mh-cart-item__qty .quantity input.qty::-webkit-outer-spin-button,
.mh-cart-item__qty .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mh-qty-btn { width: 34px; height: 38px; border: none; background: var(--n0); color: var(--g7); font-size: 1.15rem; font-weight: 800; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background var(--ease); }
.mh-qty-btn:hover { background: var(--g0); }

.mh-cart__trust { list-style: none; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px dashed var(--n2); display: grid; gap: 10px; }
.mh-cart__trust li { display: flex; align-items: center; gap: 10px; font-size: .84rem; font-weight: 600; color: var(--n7); }
.mh-cart__trust-ic { font-size: 1rem; }

/* desktop card hover */
@media (min-width: 769px) {
  .mh-cart-item { transition: background var(--ease); }
  .mh-cart-item:hover { background: var(--n0); }
}
table.shop_table.shop_table_responsive {
    border: 0px;
}
  article#post-71 {
    margin: 0px 18px 10px 18px;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
    display: flex;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
    background-color: #f5c400;
    color: #000;
}
/* All Categories Page - Matching Reference Layout */
.mh-all-cats-wrapper {
	padding: 20px 15px 50px 15px;
}

.mh-breadcrumb {
	font-size: 14px;
	color: #6c757d;
	margin-bottom: 25px;
}

.mh-breadcrumb a {
	color: #6c757d;
	text-decoration: none;
}

.mh-breadcrumb a:hover {
	text-decoration: underline;
}

/* 3-Column Grid for Desktop, Responsive for Mobile */
.mh-cats-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px 24px;
}

.mh-cat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.mh-cat-card:hover {
	transform: translateY(-4px);
}

/* Responsive Layout */
@media (max-width: 992px) {
	.mh-cats-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 16px;
	}
	.mh-cat-card-img {
		height: 220px;
	}
}

@media (max-width: 576px) {
	.mh-cats-grid {
		grid-template-columns: repeat(1, 1fr);
	}
	.mh-cat-card-img {
		height: 260px;
	}
}

/* Light Blue Image Container (Exact Reference Alignment) */
.mh-cat-card-img {
    width: 100%;
    height: 220px; /* Perfect height scaling */
    background-color: #0f6b3a29; /* Soft medical light blue */
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px; /* Internal padding prevents border touching */
    box-sizing: border-box;
}

/* Image Aspect Ratio & Crop Prevention Fix */
.mh-cat-card-img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain; /* Prevents image cutting/zooming */
    object-position: center;
    display: block;
}

/* Category Label Below Card */
.mh-cat-card-title {
    font-size: 16px;
    font-weight: 700;
    color: #111111;
    margin-top: 12px;
    margin-bottom: 0;
    text-align: center;
}