/* selectraven 1.12.8 — launch-readiness corrections */

html,
body {
  overflow-x: clip;
}

.product-showcase-v117 .product-showcase-layout > *,
.product-showcase-v117 .product-showcase-content,
.product-showcase-v117 .product-showcase-rail,
.product-showcase-v117 .product-showcase-item,
.product-showcase-v117 .product-showcase-detail {
  min-width: 0;
  max-width: 100%;
}

.product-showcase-v117 .product-showcase-trigger {
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Long product names must remain in normal document flow. The earlier rail
   positioned every detail line at a fixed top offset, which let two-line names
   collide with the description. */
@media screen and (min-width: 991px) {
  .product-showcase-v117 .product-showcase-rail {
    min-height: clamp(470px, 34vw, 620px) !important;
  }

  .product-showcase-v117 .product-showcase-item {
    margin-bottom: clamp(12px, .9vw, 18px) !important;
  }

  .product-showcase-v117 .product-showcase-item.is-active,
  .product-showcase-v117 .product-showcase-item.is-active::before {
    height: clamp(215px, 14.5vw, 278px) !important;
  }

  .product-showcase-v117 .product-showcase-item.is-active > .product-showcase-detail {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(8px, .65vw, 12px);
    height: auto !important;
    min-height: clamp(215px, 14.5vw, 278px) !important;
    padding: 0 0 0 clamp(18px, 1.25vw, 24px) !important;
    overflow: visible !important;
  }

  .product-showcase-v117 .product-showcase-item.is-active > .product-showcase-detail > p,
  .product-showcase-v117 .product-showcase-item.is-active > .product-showcase-detail > h3,
  .product-showcase-v117 .product-showcase-item.is-active > .product-showcase-detail > span,
  .product-showcase-v117 .product-showcase-item.is-active > .product-showcase-detail > .product-showcase-actions {
    position: static !important;
    inset: auto !important;
    width: 100%;
    margin: 0 !important;
    transform: none !important;
  }

  .product-showcase-v117 .product-showcase-item.is-active > .product-showcase-detail > h3 {
    font-size: clamp(26px, 1.72vw, 33px) !important;
    line-height: 1.1 !important;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  .product-showcase-v117 .product-showcase-item.is-active > .product-showcase-detail > span {
    max-width: 31vw;
    line-height: 1.45 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-showcase-v117 .product-showcase-item.is-active > .product-showcase-detail > .product-showcase-actions {
    margin-top: auto !important;
  }
}

/* Product-owned lifestyle photography forms a consistent, gap-free wall. */
.pet-social-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: clamp(10px, 1vw, 16px) !important;
}

.pet-social-grid figure:nth-child(n) {
  display: block !important;
  grid-column: auto !important;
  grid-row: auto !important;
  aspect-ratio: 4 / 5;
  min-height: 0;
  border-radius: 18px;
}

.pet-social-grid figure img {
  object-fit: cover;
  object-position: center;
}

.owner-testimonial-media > a {
  display: block;
  width: 100%;
  height: 100%;
}

.owner-testimonial-media > a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.owner-testimonial-story footer strong a:hover,
.owner-testimonial-story footer strong a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Six useful editorial guides, with enough rhythm to scan before launch. */
.story-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 2.2vw, 38px) clamp(16px, 1.6vw, 26px);
}

.story-grid > a {
  min-width: 0;
}

.story-grid > a img {
  width: 100%;
  height: clamp(320px, 31vw, 480px);
  border-radius: 18px;
  object-fit: cover;
}

.story-grid > a strong {
  line-height: 1.12;
  text-wrap: balance;
}

/* Final public-facing headline guardrails across desktop and mobile. */
.shop-hero-new h1,
.shop-bottom-story h2,
.hero-copy h1,
.hero-stage-heading h2,
.elements-title h2,
.collection-heading h2,
.product-title-row h1,
.conversion-copy h2,
.rescue-copy h2,
.home-stories h2,
.owner-testimonials > header h2,
.pet-social > header h2,
.fable-story h2,
.fable-faq h2,
.fable-related-v124 h2 {
  line-height: 1.08 !important;
  text-wrap: balance;
}

.bowl-notes-page .rescue-full-copy h1,
.bowl-notes-page .rescue-ledger header h2,
.bowl-notes-page .rescue-promise-band > p,
.bowl-notes-page .rescue-social-loop h2,
.inspiration-page > header h1,
.story-page article > header h1 {
  line-height: 1.02 !important;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.bowl-notes-page .rescue-full-copy h1 {
  font-size: clamp(64px, 7vw, 116px);
}

.footer-bottom > nav {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.footer-bottom > nav a {
  color: inherit;
  text-decoration: none;
}

.footer-bottom > nav a:hover,
.footer-bottom > nav a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* The product template no longer renders the native form, and this safeguard
   prevents a plugin from re-inserting the old oversized review form. */
.fable-review-form,
.woocommerce-native-reviews #review_form_wrapper {
  display: none !important;
}

@media (max-width: 980px) {
  .pet-social-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .story-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .story-grid > a:last-child {
    grid-column: auto !important;
  }
}

@media (max-width: 680px) {
  .product-showcase-v117 .product-showcase-item.is-active > .product-showcase-detail h3 {
    line-height: 1.12 !important;
    overflow-wrap: anywhere;
  }

  .pet-social-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .pet-social-grid figure:nth-child(n) {
    aspect-ratio: 4 / 5;
    border-radius: 12px;
  }

  .owner-testimonial-track {
    scroll-snap-type: x mandatory;
  }

  .owner-testimonial {
    scroll-snap-align: start;
  }

  .story-grid {
    grid-template-columns: 1fr;
  }

  .story-grid > a img {
    height: min(118vw, 480px);
  }

  .shop-hero-new h1,
  .shop-bottom-story h2,
  .hero-copy h1,
  .hero-stage-heading h2,
  .elements-title h2,
  .collection-heading h2,
  .product-title-row h1,
  .conversion-copy h2,
  .rescue-copy h2,
  .home-stories h2,
  .owner-testimonials > header h2,
  .pet-social > header h2,
  .fable-story h2,
  .fable-faq h2,
  .fable-related-v124 h2 {
    line-height: 1.12 !important;
  }

  .bowl-notes-page .rescue-full-copy h1,
  .bowl-notes-page .rescue-ledger header h2,
  .bowl-notes-page .rescue-promise-band > p,
  .bowl-notes-page .rescue-social-loop h2,
  .inspiration-page > header h1,
  .story-page article > header h1 {
    line-height: 1.08 !important;
  }

  .bowl-notes-page .rescue-full-copy h1 {
    font-size: clamp(48px, 15vw, 68px);
  }

  .footer-bottom > nav {
    gap: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pet-social-grid img,
  .story-grid img {
    transition: none !important;
    transform: none !important;
  }
}
