/*
 * InfoVet Product Detail v3
 * Separate, coherent product design. Scoped to custom template.
 * Keeps global journal, menus, articles and archive styles unchanged.
 */
.ivshop-single-page .ivshop-breadcrumb {margin:0 0 20px}
.ivshop-single .ivshop-results > .iv3-product {
  background:transparent;
  box-shadow:none;
  border:0;
  border-radius:0;
  padding:0;
  overflow:visible;
}
.ivshop-single .ivshop-results > .iv3-product::after {display:none}
.iv3-product, .iv3-product * {box-sizing:border-box}
.iv3-main {
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  align-items:start;
  gap:clamp(25px,3.4vw,48px);
  padding:clamp(16px,2.5vw,30px);
  border:1px solid #dce5d9;
  border-radius:22px;
  background:#fffefa;
  box-shadow:0 14px 40px rgba(36,54,39,.065);
}
.iv3-media {min-width:0}
.iv3-photo-frame {
  position:relative;
  border:1px solid #cbd8cf;
  border-radius:17px;
  padding:14px;
  background:#ebf0ea;
  box-shadow:0 8px 22px rgba(36,62,42,.08);
}
.iv3-zoom {
  display:flex;
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:14px;
  border:1px solid #d4e0d6;
  border-radius:12px;
  background:#fff;
  text-decoration:none;
}
.iv3-primary-image {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transition:transform .2s ease;
}
.iv3-zoom:hover .iv3-primary-image {transform:scale(1.035)}
.iv3-zoom-icon {
  position:absolute;
  right:11px;
  top:11px;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid #d4ded6;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  font-size:23px;
  line-height:1;
  color:#35634d;
  box-shadow:0 2px 6px rgba(15,45,28,.08);
}
.iv3-no-photo {display:grid;place-items:center;aspect-ratio:1/1;color:#387457;font-family:Georgia,serif;font-size:27px}
.iv3-sale-tag {
  position:absolute;
  z-index:3;
  top:25px;
  left:25px;
  background:#547d38;
  color:white;
  padding:9px 12px;
  border-radius:5px;
  font:800 12px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;
  box-shadow:0 5px 14px rgba(35,68,25,.2);
}
.iv3-thumbs {
  display:flex;
  gap:11px;
  flex-wrap:wrap;
  margin:13px 0 0;
  padding:0 1px 4px;
}
.iv3-thumb {
  display:grid;
  place-items:center;
  width:83px;
  height:83px;
  padding:6px;
  background:#fff;
  border:1.5px solid #d5dfd5;
  border-radius:10px;
  cursor:pointer;
  transition:border-color .14s ease, box-shadow .14s ease;
}
.iv3-thumb:hover, .iv3-thumb:focus-visible {
  border-color:#2c7455;
  outline:0;
  box-shadow:0 0 0 2px rgba(44,116,85,.13);
}
.iv3-thumb.is-active {border-color:#1d694b;box-shadow:0 0 0 2px rgba(44,116,85,.12)}
.iv3-thumb img {display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.ivshop-single div.product .summary.iv3-info {
  display:flex;
  flex-direction:column;
  float:none!important;
  width:auto!important;
  min-width:0;
  padding:5px 0 0;
  margin:0!important;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.ivshop-single .iv3-info .product_title {
  order:1;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,3.25vw,46px);
  line-height:1.12;
  letter-spacing:-.035em;
  color:#182f24;
  margin:0 0 20px;
}
.ivshop-single .iv3-info .woocommerce-product-rating {order:2;margin:0 0 10px}
.ivshop-single .iv3-info > .price {
  order:3;
  display:flex!important;
  align-items:baseline!important;
  gap:11px!important;
  flex-wrap:wrap;
  font-weight:800;
  border-bottom:1px solid #e0e8df;
  padding:0 0 16px!important;
  margin:0 0 14px!important;
  color:#185a3e;
  font-size:32px!important;
  line-height:1.35;
}
.ivshop-single .iv3-info > .price del {
  order:0;
  display:inline!important;
  color:#9b8880!important;
  font-size:19px!important;
  font-weight:500!important;
  text-decoration:line-through;
  opacity:1;
}
.ivshop-single .iv3-info > .price ins {
  order:1;
  display:inline!important;
  color:#1b694a!important;
  font-size:33px!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.ivshop-single .iv3-info .woocommerce-product-details__short-description,
.ivshop-single .iv3-info .ivshop-product-preview {
  order:5;
  margin:10px 0 18px!important;
  padding:0!important;
  color:#506459;
  font-size:14px;
  line-height:1.7;
  border:none!important;
  background:none!important;
  box-shadow:none!important;
}
.ivshop-single .iv3-info .ivshop-product-preview strong {display:none}
.ivshop-single .iv3-info .ivshop-product-preview p {margin:0}
.iv3-availability {
  order:4;
  display:flex;
  align-items:center;
  gap:9px;
  font-size:13px;
  color:#27724e;
  margin:0 0 5px;
  padding:0;
}
.iv3-stock-dot {width:9px;height:9px;border-radius:50%;background:#29905b;box-shadow:0 0 0 3px #e4f4e9}
.iv3-stock-dot.is-unavailable {background:#ac7a4e;box-shadow:0 0 0 3px #f8eade}
.iv3-delivery {
  order:6;
  background:#f5f8f3;
  border:1px solid #dae6d9;
  border-radius:12px;
  padding:18px 19px;
  margin:5px 0 10px;
}
.iv3-delivery-heading {
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#2b5842;
  margin:0 0 12px;
}
.iv3-delivery > div:not(.iv3-delivery-heading) {
  display:grid;
  grid-template-columns:22px 1fr auto;
  align-items:center;
  gap:7px;
  color:#42594a;
  font-size:13px;
  line-height:1.55;
  padding:5px 0;
}
.iv3-delivery > div:not(.iv3-delivery-heading)>span:first-child {
  color:#3c805a;
  font-size:18px;
  line-height:1;
}
.iv3-delivery strong {color:#20563c;font-weight:800}
.iv3-return-note {
  order:7;
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#667769;
  font-size:12px;
  line-height:1.55;
  padding:6px 1px 12px;
}
.iv3-return-note > span:first-child {font-size:18px;color:#4b7c5f;line-height:1}
.iv3-return-note a {color:#2a7654;text-decoration:underline;text-underline-offset:3px}
.ivshop-single .iv3-info .product_meta {
  order:8;
  margin:5px 0 0!important;
  border-top:1px solid #e1e8e0!important;
  padding:13px 0 0!important;
  color:#76877a;
  font-size:11px;
  line-height:1.85;
  overflow-wrap:anywhere;
}
.ivshop-single .iv3-info .product_meta a {color:#366d50}
.iv3-info .single_variation_wrap, .iv3-info form.cart {order:6}
.iv3-details {margin:42px 0 0;padding:0}
.ivshop-single .iv3-details .woocommerce-tabs {
  border:0;
  padding:0;
  margin:0 0 50px;
}
.ivshop-single .iv3-details .woocommerce-tabs ul.tabs {
  display:flex;
  gap:18px;
  margin:0 0 24px!important;
  padding:0!important;
  border-bottom:1px solid #dce4da;
}
.ivshop-single .iv3-details .woocommerce-tabs ul.tabs li a {
  padding:12px 2px 14px!important;
  font-size:13px;
  font-weight:800;
}
.ivshop-single .iv3-details .woocommerce-Tabs-panel {
  max-width:850px;
  color:#455f4e;
  font-size:15px;
  line-height:1.85;
}
.ivshop-single .iv3-details .woocommerce-Tabs-panel h2 {
  font-family:Georgia,serif;
  font-size:28px;
  line-height:1.25;
  margin:0 0 20px;
  color:#1b3427;
}
.ivshop-single .iv3-details .woocommerce-Tabs-panel p {margin:0 0 15px;font-size:15px;line-height:1.75}
.ivshop-single .iv3-details .woocommerce-Tabs-panel ul {padding-left:22px; margin:15px 0 20px}
.ivshop-single .iv3-details .woocommerce-Tabs-panel li {margin:0 0 8px;line-height:1.7}
.ivshop-single .iv3-details .woocommerce-Tabs-panel li::marker {color:#3c8257}
.ivshop-single .iv3-details .related.products {margin:44px 0 0!important; padding:0!important}
.ivshop-single .iv3-details .related.products > h2 {
  font-family:Georgia,serif;
  font-size:clamp(28px,3vw,40px);
  font-weight:700;
  letter-spacing:-.035em;
  margin:0 0 22px;
  color:#172b20;
}
.ivshop-single .iv3-details .related ul.products {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  padding:0!important;
  margin:0!important;
}
.ivshop-single .iv3-details ul.products li.product.ivshop-card {
  border:1px solid #d6e0d7!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 4px 13px rgba(20,51,30,.055)!important;
  overflow:hidden;
}
.ivshop-single .iv3-details .ivshop-card-photo {
  position:relative;
  display:flex;
  padding:9px;
  width:100%;
  aspect-ratio:1/1;
  align-items:center;
  justify-content:center;
  border-bottom:1px solid #e3eae2;
  border-radius:0;
  background:#f1f5ef;
}
.ivshop-single .iv3-details .ivshop-card-photo img {
  width:100%!important;
  height:100%!important;
  padding:9px!important;
  border:1px solid #e0e8df;
  border-radius:7px;
  box-shadow:none!important;
  background:#fff!important;
  object-fit:contain!important;
  mix-blend-mode:normal!important;
}
.ivshop-single .iv3-details .ivshop-card-content {padding:13px 13px 15px;min-height:145px}
.ivshop-single .iv3-details .ivshop-card-name {font-size:14px;line-height:1.35;color:#1e3025}
.ivshop-single .iv3-details .ivshop-card-price {font-size:16px!important;line-height:1.45}
.ivshop-single .iv3-details .ivshop-card-price del {font-size:11px!important;color:#909b90}
.ivshop-single .iv3-details .ivshop-card-price ins {font-size:16px!important}
.ivshop-single .iv3-details .ivshop-sale-label {
  top:14px;left:14px;
  z-index:4;
  display:inline-block;
  padding:6px 8px;
  border-radius:5px;
  font-size:11px;
  font-weight:850;
  background:#547d38;
  color:#fff;
  box-shadow:0 3px 8px rgba(20,48,25,.18);
}
@media (max-width:990px) {
  .iv3-main {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:23px}
  .ivshop-single .iv3-info .product_title {font-size:32px}
  .ivshop-single .iv3-details .related ul.products {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px) {
  .iv3-main {grid-template-columns:1fr;gap:22px;padding:16px;border-radius:17px}
  .ivshop-single div.product .summary.iv3-info {width:100%!important;float:none!important;margin:0!important;padding:4px 0 0!important}
  .ivshop-single .iv3-info .product_title {font-size:clamp(29px,7vw,37px)}
  .iv3-photo-frame {padding:10px}
  .iv3-zoom {padding:8px}
  .iv3-thumb {width:68px;height:68px}
  .iv3-sale-tag {top:17px;left:17px}
  .iv3-details {margin-top:28px}
  .ivshop-single .iv3-details .related ul.products {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
}
@media (max-width:440px) {
  .ivshop-single .iv3-details .ivshop-card-content {padding:10px 10px 13px}
  .ivshop-single .iv3-details .ivshop-card-name {font-size:12px}
  .ivshop-single .iv3-details .ivshop-card-price,
  .ivshop-single .iv3-details .ivshop-card-price ins {font-size:14px!important}
  .iv3-delivery {padding:14px}
  .iv3-delivery > div:not(.iv3-delivery-heading) {font-size:12px}
}

/* Product detail v4: Virtu-inspired proportions, InfoVet colours, without bulky delivery panel. */
.ivshop-single .iv3-photo-frame {
  padding:12px;
  border-radius:12px;
  border:1px solid #d9e0d8;
  background:#f1f4f0;
  box-shadow:none;
  overflow:hidden;
}
.ivshop-single .iv3-photo-stage {
  position:relative;
  width:100%;
  aspect-ratio:1 / 1.02;
  background:#fff;
  border:1px solid #e0e5dd;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ivshop-single .iv3-photo-next {
  width:100%;
  height:100%;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  appearance:none;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:pointer;
}
.ivshop-single .iv3-primary-image {
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  object-position:center;
  display:block;
  transition:opacity .15s ease;
}
.ivshop-single .iv3-photo-next:focus-visible,
.ivshop-single .iv3-gallery-arrow:focus-visible {
  outline:3px solid #438c63;
  outline-offset:-4px;
}
.ivshop-single .iv3-gallery-arrow {
  position:absolute;
  z-index:4;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:37px;
  height:46px;
  padding:0;
  border:1px solid #d2ddd4;
  border-radius:7px;
  background:rgba(255,255,255,.95);
  color:#2b6547;
  font:500 32px/1 Georgia,serif;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(20,50,25,.1);
  opacity:.86;
}
.ivshop-single .iv3-gallery-arrow:hover {background:#e4eee6;opacity:1}
.ivshop-single .iv3-gallery-prev {left:8px}
.ivshop-single .iv3-gallery-next {right:8px}
.ivshop-single .iv3-thumbs {gap:9px;margin-top:10px}
.ivshop-single .iv3-thumb {
  width:75px;
  height:75px;
  border-radius:5px;
  border:1px solid #d6dfd6;
  background:#f5f7f3;
  box-shadow:none;
}
.ivshop-single .iv3-thumb img {object-fit:contain;background:#fff}
.ivshop-single .iv3-thumb.is-active {border:2px solid #277451;box-shadow:none}
.ivshop-single .iv3-sale-tag {
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:absolute;
  z-index:8;
  top:0;
  left:0;
  transform:translate(-12%, -12%);
  width:63px;
  height:63px;
  min-height:63px;
  padding:0;
  background:#617b19;
  color:#fff;
  border-radius:50%;
  font:800 16px/1 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:-.025em;
  box-shadow:0 5px 15px rgba(40,65,24,.14);
}
.ivshop-single .iv3-info > .price,
.ivshop-single .iv3-info > p.price {
  font-size:35px!important;
  font-weight:800!important;
  margin:0 0 16px!important;
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap;
  gap:9px!important;
}
.ivshop-single .iv3-info .price del,
.ivshop-single .iv3-info .price del *,
.ivshop-single .iv3-info .price del .woocommerce-Price-amount,
.ivshop-single .iv3-info .price del bdi {
  color:#bc4d44!important;
  font-size:19px!important;
  font-weight:400!important;
  text-decoration:line-through;
  opacity:1!important;
}
.ivshop-single .iv3-info .price ins,
.ivshop-single .iv3-info .price ins *,
.ivshop-single .iv3-info .price ins .woocommerce-Price-amount,
.ivshop-single .iv3-info .price ins bdi {
  color:#18704b!important;
  font-size:37px!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.ivshop-single .iv3-info .product_title {margin-bottom:21px}
.ivshop-single .iv3-info .ivshop-product-preview,
.ivshop-single .iv3-info .woocommerce-product-details__short-description {
  margin:12px 0 18px!important;
  color:#53665a;
}
.ivshop-single .iv3-benefits {
  order:6;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  margin:10px 0 13px;
  border-top:1px solid #dce5db;
  border-bottom:1px solid #dce5db;
  background:transparent;
}
.ivshop-single .iv3-benefit {
  display:flex;
  min-height:79px;
  padding:12px 9px;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex-direction:column;
  text-align:center;
  color:#627467;
  font-size:11px;
  line-height:1.3;
  font-weight:650;
  text-decoration:none;
}
.ivshop-single .iv3-benefit:not(:last-child){border-right:1px solid #e0e7de}
.ivshop-single .iv3-benefit svg{
  width:22px;
  height:22px;
  flex:0 0 22px;
  stroke:#658552;
}
.ivshop-single a.iv3-benefit:hover {color:#215e42;background:#f3f8f3}
.ivshop-single .iv3-benefits+ .product_meta {margin-top:0!important}
.ivshop-single .iv3-info .product_meta{
  border-top:0!important;
  padding:3px 0 0!important;
}
@media (max-width:600px) {
  .ivshop-single .iv3-sale-tag{width:54px;height:54px;min-height:54px;font-size:14px}
  .ivshop-single .iv3-gallery-arrow{width:34px;height:43px;font-size:27px}
  .ivshop-single .iv3-thumbs{gap:8px}
  .ivshop-single .iv3-benefit{font-size:10px;padding:10px 4px}
  .ivshop-single .iv3-info .price ins,
  .ivshop-single .iv3-info .price ins *{font-size:33px!important}
}

/* Product SKU and category as separate tidy rows. */
.ivshop-single .iv3-info .product_meta {
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  gap:5px!important;
  line-height:1.65!important;
  text-align:left;
}
.ivshop-single .iv3-info .product_meta .sku_wrapper,
.ivshop-single .iv3-info .product_meta .posted_in,
.ivshop-single .iv3-info .product_meta .tagged_as {
  display:block!important;
  width:100%!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
  white-space:normal!important;
}
.ivshop-single .iv3-info form.cart {
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  padding:0 0 17px;
  margin:5px 0 8px!important;
}
.ivshop-single .iv3-info form.cart .quantity {float:none!important;margin:0!important;}
.ivshop-single .iv3-info form.cart .qty {
  width:76px;
  min-height:46px;
  padding:8px;
  text-align:center;
  border:1px solid #d4ddd4;
  background:#fff;
  border-radius:7px;
}
.ivshop-single .iv3-info form.cart .single_add_to_cart_button {
  min-height:46px;
  padding:10px 26px;
  flex:1 1 170px;
  border-radius:7px!important;
  border:0!important;
  background:#20563d!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  opacity:1!important;
  box-shadow:0 5px 16px rgba(17,60,39,.11);
}
.ivshop-single .iv3-info form.cart .single_add_to_cart_button:hover {background:#166246!important;}
.ivshop-single .iv3-info .woocommerce-variation-add-to-cart {display:flex;gap:10px;flex-wrap:wrap}
