/* Product detail: clear buying actions and the same service information on every screen. */
body.family-site .catalog-product-page .catalog-product-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2px 16px;
}
body.family-site .catalog-product-page .catalog-product-meta-row .plf-product-review-line,
body.family-site .catalog-product-page .catalog-product-identifiers {
  margin: 0;
}
body.family-site .catalog-product-page .catalog-product-visual { position: relative; }
body.family-site .catalog-product-page .catalog-product-save-photo:not([hidden]) {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #2f3c35;
  box-shadow: 0 2px 10px rgba(31, 26, 20, .12) !important;
  opacity: 1;
}
body.family-site .catalog-product-page .catalog-product-save-photo:hover { color: var(--terracotta); }
body.family-site .catalog-product-page .catalog-product-save-photo[aria-pressed="true"] { color: #b42332; }
body.family-site .catalog-product-page .catalog-purchase-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
body.family-site .catalog-product-page .catalog-purchase-links a {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  height: auto;
  text-align: left;
  text-decoration: none;
}
body.family-site .catalog-product-page .catalog-purchase-links a > span { min-width: 0; }
body.family-site .catalog-product-page .catalog-purchase-links strong,
body.family-site .catalog-product-page .catalog-purchase-links small { display: block; }
body.family-site .catalog-product-page .catalog-purchase-links strong {
  color: var(--ink);
  font: 700 12px/1.35 Manrope, Arial, sans-serif;
}
body.family-site .catalog-product-page .catalog-purchase-links small {
  margin-top: 3px;
  color: var(--muted);
  font: 500 11px/1.4 Manrope, Arial, sans-serif;
}
body.family-site .catalog-product-page .catalog-purchase-benefit svg {
  width: 26px;
  height: 26px;
  flex-basis: 26px;
}
body.family-site .catalog-product-page .catalog-product-specs > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  padding: 5px 2px;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
body.family-site .catalog-product-page .catalog-product-specs > summary::-webkit-details-marker { display: none; }
body.family-site .catalog-product-page .catalog-product-specs > summary::marker { content: ""; }
body.family-site .catalog-product-page .catalog-product-specs > summary h2 { margin: 0 !important; }
body.family-site .catalog-product-page .catalog-product-specs > summary::after {
  content: "";
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  margin-right: 5px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}
body.family-site .catalog-product-page .catalog-product-specs[open] > summary::after {
  transform: rotate(225deg) translateY(-2px);
}
body.family-site .catalog-product-page .catalog-product-specs > summary:focus-visible {
  outline: 3px solid var(--forest);
  outline-offset: 3px;
}
body.family-site .catalog-product-page .catalog-product-specs dl { margin-top: 8px; }
@media (max-width: 767px) {
  body.family-site.plf-product-view .site-header { display: none !important; }
  body.family-site.plf-product-view .catalog-product-page.subpage-main { padding-top: 0 !important; }
}

@media (max-width: 700px) {
  body.family-site .catalog-product-page .catalog-product-hero { padding: 8px 0 20px !important; }
  body.family-site .catalog-product-page .catalog-product-hero-inner {
    box-sizing: border-box;
    width: calc(100% - 28px) !important;
    max-width: none !important;
  }
  body.family-site .catalog-product-page .catalog-product-back {
    min-height: 40px;
    margin-bottom: 6px;
    padding: 6px 10px;
    font-size: 13px;
  }
  body.family-site .catalog-product-page .catalog-product-breadcrumbs {
    gap: 6px;
    margin-bottom: 10px !important;
    line-height: 1.35;
  }
  body.family-site .catalog-product-breadcrumbs:has(a:nth-of-type(2)) > a:first-child,
  body.family-site .catalog-product-breadcrumbs:has(a:nth-of-type(2)) > span:first-of-type { display: none; }
  body.family-site .catalog-product-page .catalog-product-layout { gap: 0 !important; }
  body.family-site .catalog-product-page.has-product-photo .catalog-product-visual {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    border: 0;
    border-radius: 10px;
    background: #f6f3ed;
  }
  body.family-site .catalog-product-page.has-product-photo .catalog-product-photo-button,
  body.family-site .catalog-product-page.has-product-photo .catalog-product-photo-button img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: contain;
  }
  body.family-site .catalog-product-page .catalog-product-main { margin-top: 10px; }
  body.family-site .catalog-product-page #product-title {
    margin: 0 0 6px !important;
    font-size: clamp(19px, 5.3vw, 23px) !important;
    line-height: 1.25 !important;
  }
  body.family-site .catalog-product-page .catalog-product-meta-row {
    gap: 0 8px;
  }
  body.family-site .catalog-product-page .plf-product-review-line { font-size: 11px; }
  body.family-site .catalog-product-page .plf-review-jump-stars { font-size: 15px; }
  body.family-site .catalog-product-page .catalog-product-identifiers .catalog-product-code,
  body.family-site .catalog-product-page .catalog-product-identifiers strong { font-size: 11px !important; }
  body.family-site .catalog-product-page .catalog-purchase-box {
    margin: 5px 0 0;
    padding: 0;
    border: 0 !important;
  }
  body.family-site .catalog-product-page .catalog-product-availability {
    margin: 0 0 5px !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
  }
  body.family-site .catalog-product-page .catalog-purchase-box .catalog-product-price {
    margin: 0 0 7px !important;
    padding: 0;
    font-size: 29px !important;
    line-height: 1.15 !important;
  }
  body.family-site .catalog-product-page .catalog-product-contact-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
  body.family-site .catalog-product-page .catalog-purchase-quantity {
    flex: 0 0 110px;
    width: 110px;
    height: 46px;
  }
  body.family-site .catalog-product-page .catalog-purchase-quantity button { width: 35px; height: 44px; }
  body.family-site .catalog-product-page .catalog-purchase-quantity input { width: 38px !important; }
  body.family-site .catalog-product-page .catalog-product-contact-actions .ploc-add-button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 7px 9px !important;
  }
  body.family-site .catalog-product-page .catalog-purchase-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3px;
    margin-top: 10px;
    padding-top: 9px;
  }
  body.family-site .catalog-product-page .catalog-purchase-links a {
    flex-direction: row;
    align-items: flex-start;
    gap: 4px;
    min-height: 0;
    padding: 2px 3px;
    text-align: left;
  }
  body.family-site .catalog-product-page .catalog-purchase-benefit svg {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
  }
  body.family-site .catalog-product-page .catalog-purchase-links strong { font-size: 10px; line-height: 1.25; }
  body.family-site .catalog-product-page .catalog-purchase-links small { font-size: 9px; line-height: 1.3; }
  body.family-site .catalog-product-page .catalog-product-description { margin-top: 16px !important; }
  body.family-site .catalog-product-page .catalog-product-layout > .catalog-product-details {
    margin-top: 18px;
    padding-top: 8px !important;
  }
  body.family-site .catalog-product-page .catalog-product-details .eyebrow { display: none; }
  body.family-site .catalog-product-page .catalog-product-specs > summary h2 {
    font: 700 17px/1.35 Manrope, Arial, sans-serif !important;
  }
}

@media (max-width: 350px) {
  body.family-site .catalog-product-page .catalog-product-hero-inner { width: calc(100% - 20px) !important; }
  body.family-site .catalog-product-page .catalog-product-contact-actions .ploc-add-button { font-size: 12px !important; }
  body.family-site .catalog-product-page .catalog-purchase-links a { flex-direction: column; align-items: center; text-align: center; }
}
