/* PETVENTORY v3.6.3 | Focused PDP polish. Does not change cart or variant logic. */
.pv-store .pv342-pdp .pv342-columns {
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(22px,3vw,42px);
  align-items:start;
}
.pv-store .pv342-pdp .pv342-gallery { min-width:0; align-self:start; }
.pv-store .pv342-pdp .pv342-gallery-canvas {
  aspect-ratio:1.04;
  min-height:0;
  background:#f3f6f2;
  border:1px solid #e2e9e6;
  border-radius:21px;
  box-shadow:0 15px 34px rgba(16,42,67,.055);
  overflow:hidden;
  cursor:zoom-in;
}
.pv-store .pv342-pdp .pv342-gallery-canvas::before {opacity:.4;pointer-events:none}
.pv-store .pv342-pdp .pv342-gallery-canvas>img {
  inset:0;
  width:100%;
  height:100%;
  padding:clamp(6px,1.1vw,12px);
  border-radius:19px;
  object-fit:contain; /* preserve actual products, don't crop off features */
  cursor:zoom-in;
  transition:transform .2s ease;
}
.pv-store .pv342-pdp .pv342-gallery-canvas>img[hidden] {display:none!important}
.pv-store .pv342-pdp .pv342-gallery-canvas>img:hover {transform:scale(1.025)}
.pv-store .pv342-pdp .pv342-gallery-canvas>img:focus-visible {outline:3px solid #159a9c;outline-offset:-5px}
.pv-store .pv342-pdp .pv342-gallery-canvas:has(.pv342-active-video:not([hidden])) {cursor:default}
.pv-store .pv342-pdp .pv342-gallery-canvas .pv342-expand {
  right:14px;bottom:14px;
  min-height:43px;
  min-width:43px;
  display:inline-flex;
  align-items:center;justify-content:center;
  gap:8px;
  padding:9px 15px;
  background:#fff;
  border:1px solid #dde6e7;
  box-shadow:0 6px 24px rgba(16,42,67,.14);
  border-radius:11px;
  color:#102a43;
  font-weight:800;
  cursor:zoom-in;
}
.pv-store .pv342-pdp .pv342-gallery-canvas .pv342-expand:hover {background:#eaf8f6;border-color:#159a9c}
.pv-store .pv342-pdp .pv342-gallery-canvas .pv342-expand:focus-visible,
.pv-store .pv342-pdp .pv342-thumb:focus-visible {outline:3px solid #159a9c;outline-offset:3px}
.pv-store .pv342-pdp .pv363-zoom-hint {
  position:absolute;
  z-index:2;
  bottom:16px;
  left:14px;
  pointer-events:none;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  border:1px solid #e0e7e8;
  color:#314b5d;
  box-shadow:0 6px 22px rgba(16,42,67,.09);
  padding:8px 11px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  font-weight:750;
}
.pv-store .pv342-pdp .pv363-zoom-hint[hidden] {display:none!important}
.pv-store .pv342-pdp .pv363-zoom-hint i {color:#159a9c}
.pv-store .pv342-pdp .pv342-thumbnails {gap:10px;padding:13px 2px 6px;scroll-padding-inline:4px}
.pv-store .pv342-pdp .pv342-thumb {
  width:77px;height:77px;flex:0 0 77px;
  border-radius:13px;
  background:#fff;
  border:2px solid #e0e8eb;
  box-shadow:0 1px 6px rgba(16,42,67,.035);
}
.pv-store .pv342-pdp .pv342-thumb.is-active {border-color:#159a9c;box-shadow:0 0 0 3px rgba(21,154,156,.14)}
.pv-store .pv342-pdp .pv342-gallery-caption {margin-top:12px;font-size:12px;line-height:1.45;color:#586e7d}
.pv-store .pv342-pdp .pv342-summary h1 {max-width:20ch;line-height:1.13}
.pv-store .pv342-pdp .pv342-short {margin-bottom:19px}

/* Separate field label from one unified quantity stepper. No input-inside-input appearance. */
.pv-store .pv342-pdp .pv342-purchase-row {
  display:grid;
  grid-template-columns:136px minmax(0,1fr);
  align-items:end;
  column-gap:13px;
  row-gap:10px;
}
.pv-store .pv342-pdp .pv363-quantity-field {min-width:0;display:grid;grid-template-rows:auto 52px;gap:7px}
.pv-store .pv342-pdp .pv363-quantity-field>.pv342-quantity-label {
  font-size:13px;
  font-weight:800;
  line-height:1.3;
  color:#102a43;
  margin:0;
}
.pv-store .pv342-pdp .pv363-quantity-field .pv342-qty-control {
  display:grid;
  grid-template-columns:39px minmax(0,1fr) 39px;
  width:100%;
  max-width:none;
  height:52px;
  padding:0;
  margin:0;
  border:1px solid #cfdee2;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,42,67,.025);
  align-items:stretch;
}
.pv-store .pv342-pdp .pv363-quantity-field .pv342-qty-control>button {
  appearance:none;
  width:39px;min-width:0;height:100%;
  display:flex;align-items:center;justify-content:center;
  border:0!important;border-radius:0!important;
  padding:0!important;margin:0!important;
  background:#f3f8f9!important;
  color:#102a43!important;
  font-size:20px;font-weight:500;line-height:1;
  box-shadow:none!important;cursor:pointer;
}
.pv-store .pv342-pdp .pv363-quantity-field .pv342-qty-control>button:hover {background:#e6f4f3!important}
.pv-store .pv342-pdp .pv363-quantity-field .pv342-qty-control>input,
.pv-store .pv342-pdp .pv363-quantity-field .pv342-qty-control>input:focus {
  box-sizing:border-box;
  appearance:textfield!important;-moz-appearance:textfield!important;
  display:block;
  min-width:0!important;width:100%!important;height:100%!important;min-height:0!important;
  padding:0 2px!important;margin:0!important;
  border:0!important;outline:0!important;border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;color:#102a43!important;
  text-align:center!important;
  font-weight:800;font-size:15px;line-height:1;
}
.pv-store .pv342-pdp .pv363-quantity-field input::-webkit-inner-spin-button,
.pv-store .pv342-pdp .pv363-quantity-field input::-webkit-outer-spin-button {appearance:none!important;-webkit-appearance:none!important;margin:0}
.pv-store .pv342-pdp .pv363-quantity-field .pv342-qty-control:focus-within {outline:2px solid rgba(21,154,156,.6);outline-offset:2px}
.pv-store .pv342-pdp .pv342-purchase-row>.pv342-add-button {
  min-height:52px!important;height:52px!important;
  width:100%;min-width:0;
  align-self:end;display:inline-flex;justify-content:center;align-items:center;
  gap:9px;padding:0 14px!important;margin:0!important;
  line-height:1.25;vertical-align:middle;
  text-align:center;border-radius:12px!important;
}
.pv-store .pv342-pdp .pv342-purchase-row>.pv342-add-button i {line-height:1;flex:0 0 auto}
.pv-store .pv342-pdp .pv342-purchase-row>.pv342-add-button span {line-height:1.3}

/* Reassurance: centered, consistently separated, wraps cleanly on mobile. */
.pv-store .pv342-pdp .pv36-buy-perks {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 20px;
  text-align:center;
  max-width:100%;
  margin:15px auto 0;
  padding:14px 0 0;
}
.pv-store .pv342-pdp .pv36-buy-perks>span {
  display:inline-flex;align-items:center;justify-content:center;
  gap:7px;text-align:center;
  font-size:12px;line-height:1.5;color:#526f7b;
}
.pv-store .pv342-pdp .pv36-buy-perks i {font-size:13px;line-height:1;color:#159a9c}

/* Details should never stretch to the height of the assurance card. */
.pv-store .pv342-pdp .pv342-below {align-items:start;gap:clamp(16px,2.1vw,24px);margin-top:26px}
.pv-store .pv342-pdp .pv342-detail-card,
.pv-store .pv342-pdp .pv342-assurance {align-self:start;height:auto;min-height:0}
.pv-store .pv342-pdp .pv342-detail-card {padding:clamp(20px,2.2vw,28px)}
.pv-store .pv342-pdp .pv342-rich {line-height:1.75;font-size:14px}
.pv-store .pv342-pdp .pv342-rich>:last-child {margin-bottom:0}
.pv-store .pv342-pdp .pv342-below h2 {margin-bottom:13px}

/* Full-size gallery preview, with close control inside the viewport. */
.pv342-lightbox {
  box-sizing:border-box;
  width:min(1020px,calc(100vw - 36px));
  max-width:1020px;
  max-height:90vh;max-height:90dvh;
  padding:0;
  margin:auto;
  border:1px solid rgba(255,255,255,.12);
  border-radius:19px;
  background:#102a43;
  overflow:hidden;
  box-shadow:0 28px 90px rgba(0,0,0,.37);
}
.pv342-lightbox::backdrop {background:rgba(5,18,30,.82);backdrop-filter:blur(4px)}
.pv342-lightbox .pv342-lightbox-body {
  height:min(77vh,740px);height:min(77dvh,740px);
  min-height:220px;min-width:0;
  display:grid;place-items:center;
  padding:18px;
}
.pv342-lightbox .pv342-lightbox-body>img,
.pv342-lightbox .pv342-lightbox-body>video,
.pv342-lightbox .pv342-lightbox-body>iframe {
  display:block;width:100%;height:100%;object-fit:contain;
  border:0;border-radius:10px;
  background:#0b2434;
}
.pv342-lightbox .pv342-close {
  position:absolute;right:14px;top:14px;
  width:42px;height:42px;
  display:grid;place-items:center;
  border:0;border-radius:50%;
  color:#102a43;background:#fff;
  z-index:5;
  box-shadow:0 8px 24px rgba(0,0,0,.23);
  cursor:pointer;
}
.pv342-lightbox .pv342-lightbox-prev,.pv342-lightbox .pv342-lightbox-next {
  width:43px;height:50px;z-index:5;cursor:pointer;
  background:rgba(255,255,255,.95);
}
.pv342-lightbox .pv342-lightbox-prev {left:13px}
.pv342-lightbox .pv342-lightbox-next {right:13px}
.pv342-lightbox.pv363-single-media .pv342-lightbox-prev,
.pv342-lightbox.pv363-single-media .pv342-lightbox-next {display:none!important}

@media(min-width:1040px) and (min-height:730px) {
  .pv-store .pv342-pdp .pv342-gallery {position:sticky;top:100px}
}
@media(max-width:1039px) {
  .pv-store .pv342-pdp .pv342-gallery {position:static}
}
@media(max-width:980px) {
  .pv-store .pv342-pdp .pv342-columns {grid-template-columns: minmax(0,1fr);gap:24px}
  .pv-store .pv342-pdp .pv342-gallery-canvas {aspect-ratio:1.16}
  .pv-store .pv342-pdp .pv342-below {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px) {
  .pv-store .pv342-pdp .pv342-gallery-canvas {aspect-ratio:1.06;min-height:0}
  .pv-store .pv342-pdp .pv342-purchase-row {grid-template-columns:132px minmax(0,1fr);gap:10px}
  .pv-store .pv342-pdp .pv342-qty-control {max-width:none}
  .pv-store .pv342-pdp .pv36-buy-perks {gap:9px 15px}
  .pv-store .pv342-pdp .pv342-gallery-caption {font-size:11px}
  .pv342-lightbox {width:calc(100vw - 20px);border-radius:13px}
  .pv342-lightbox .pv342-lightbox-body {height:76dvh;padding:10px}
  .pv342-lightbox .pv342-close {top:10px;right:10px}
}
@media(max-width:410px) {
  .pv-store .pv342-pdp .pv342-purchase-row {grid-template-columns:125px minmax(0,1fr);gap:8px}
  .pv-store .pv342-pdp .pv363-quantity-field .pv342-qty-control {grid-template-columns:34px minmax(0,1fr) 34px}
  .pv-store .pv342-pdp .pv363-quantity-field .pv342-qty-control>button {width:34px}
  .pv-store .pv342-pdp .pv342-purchase-row>.pv342-add-button {font-size:12px!important;padding:0 8px!important}
  .pv-store .pv342-pdp .pv363-zoom-hint {font-size:10px;padding:7px 9px}
}
@media(max-width:350px) {
  .pv-store .pv342-pdp .pv342-purchase-row {grid-template-columns:minmax(0,1fr)}
  .pv-store .pv342-pdp .pv363-quantity-field {max-width:160px}
  .pv-store .pv342-pdp .pv342-purchase-row>.pv342-add-button {margin-top:2px!important}
}
@media(prefers-reduced-motion:reduce) {
  .pv-store .pv342-pdp .pv342-gallery-canvas>img {transition:none}
  .pv342-lightbox::backdrop {backdrop-filter:none}
}

/* PETVENTORY v3.6.3: product layout refinements */
.pv-store .pv342-pdp .pv342-gallery-canvas>img {object-position:50% 50%;}
.pv-store .pv342-pdp .pv342-gallery-canvas button {cursor:pointer}
.pv-store .pv342-pdp .pv342-purchase-row>.pv342-add-button:disabled {cursor:not-allowed;opacity:1;color:#526373!important;background:#e6ecee!important;border-color:#e6ecee!important}
.pv-store .pv342-pdp .pv342-gallery-caption {display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}
.pv-store .pv342-pdp .pv342-detail-card {height:max-content;}
.pv-store .pv342-pdp .pv342-quantity-field {box-sizing:border-box}
.pv342-lightbox.pv363-single-media .pv342-lightbox-prev,
.pv342-lightbox.pv363-single-media .pv342-lightbox-next {display:none!important}
@media(min-width:1040px) and (min-height:730px) {
  .pv-store .pv342-pdp .pv342-gallery {top:110px;}
}
@media(max-width:600px) {
  .pv-store .pv342-pdp .pv342-gallery-canvas {border-radius:16px}
  .pv-store .pv342-pdp .pv342-below {margin-top:22px}
}
