/* selectraven theme 1.12.4 — richer product merchandising and honest social proof */
:root { --sr124-ink:#11120f; --sr124-cream:#f7f4ec; --sr124-paper:#fbfaf7; --sr124-green:#254b2b; --sr124-line:rgba(17,18,15,.16); }

/* Home editorial showcase: make the product the visual hero. */
.product-showcase-v117 .product-showcase-visual { padding:clamp(24px,3.4vw,58px) !important; }
.product-showcase-v117 .product-showcase-visual img {
  width:min(88%,980px) !important;
  max-height:94% !important;
  object-fit:contain !important;
  filter:drop-shadow(0 36px 34px rgba(40,35,27,.13)) !important;
}

/* Product gallery: one transparent hero plus six full merchandising frames. */
.fable-gallery { align-content:start; background:var(--sr124-paper); }
.fable-gallery figure { position:relative; min-width:0; overflow:hidden; background:#f5f1e8; }
.fable-gallery figure.product-only img {
  padding:1.5% !important;
  transform:scale(1.38) !important;
  object-fit:contain !important;
}
.fable-gallery figure.lifestyle img {
  width:100%; height:100%; padding:0 !important; transform:none !important;
  object-fit:cover !important; filter:none !important;
}
.fable-gallery figure.product-detail img {
  width:100%; height:100%; padding:3.5% !important; transform:none !important;
  object-fit:contain !important; filter:none !important; background:#f5f1e8;
}
.fable-gallery figure.lifestyle-featured img { object-position:center; }
.fable-gallery-count {
  position:absolute; z-index:3; right:16px; bottom:16px;
  padding:8px 11px; border-radius:999px; background:rgba(255,255,255,.84);
  color:var(--sr124-ink); font:600 9px/1 var(--sans); letter-spacing:.12em;
  backdrop-filter:blur(10px);
}
.fable-gallery figure.srp-interactive img { transition:transform .55s cubic-bezier(.16,.8,.2,1),filter .45s ease; }
.fable-gallery figure.srp-interactive:hover img {
  transform:perspective(1200px) rotateX(var(--sr-tilt-x,0deg)) rotateY(var(--sr-tilt-y,0deg)) scale(1.035) !important;
  filter:drop-shadow(0 26px 28px rgba(43,35,25,.13)) !important;
}
.fable-gallery figure.product-only.srp-interactive:hover img { transform:perspective(1200px) rotateX(var(--sr-tilt-x,0deg)) rotateY(var(--sr-tilt-y,0deg)) scale(1.44) !important; }

/* The old generic pet photo created a large empty band. Keep the story, remove the filler. */
body.single-product.srp-target-product .fable-content-grid { grid-template-columns:minmax(0,1fr); gap:0; padding:0; }
body.single-product.srp-target-product .fable-content-main { width:100%; }
.fable-story-copy-only {
  display:grid; grid-template-columns:minmax(130px,.28fr) minmax(0,1fr);
  gap:clamp(28px,6vw,100px); align-items:start;
  margin:0; padding:clamp(72px,8vw,128px) clamp(26px,6vw,96px);
  border-top:1px solid var(--sr124-line); border-bottom:1px solid var(--sr124-line);
  background:#f4f0e7; text-align:left;
}
.fable-story-copy-only > p { margin:8px 0 0; }
.fable-story-copy-only h2 { max-width:900px; margin:0; font-size:clamp(46px,5.2vw,82px); }
.fable-story-copy-only > span { grid-column:2; max-width:680px; margin-top:26px; font-size:14px; line-height:1.75; color:#5d5b54; }
.fable-feature-grid { margin-bottom:0; }
.fable-faq { margin:0 !important; padding:clamp(74px,7vw,112px) clamp(28px,6vw,92px) !important; }

/* Live WooCommerce reviews. No fabricated testimonial cards. */
.fable-reviews-v124 { padding:clamp(84px,8vw,132px) clamp(24px,5vw,82px); background:#171914; color:#f7f4ec; }
.fable-reviews-v124 > header { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:48px; align-items:end; padding-bottom:42px; border-bottom:1px solid rgba(255,255,255,.2); }
.fable-reviews-v124 > header p,.fable-related-v124 > header p { margin:0 0 16px; font:600 9px/1.2 var(--sans); letter-spacing:.2em; }
.fable-reviews-v124 h2,.fable-related-v124 h2 { margin:0; font:500 clamp(44px,5vw,76px)/1 var(--serif); letter-spacing:-.035em; }
.fable-reviews-v124 > header aside { padding:24px 0 4px; border-top:1px solid rgba(255,255,255,.34); }
.fable-reviews-v124 > header aside strong { display:block; font:500 42px/1 var(--serif); }
.fable-reviews-v124 > header aside span { display:block; margin-top:8px; color:#c9c8c0; font-size:11px; line-height:1.5; }
.fable-review-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:1px solid rgba(255,255,255,.2); }
.fable-review-list article { position:relative; min-height:260px; padding:36px 34px 42px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.fable-review-list article:nth-child(odd) { padding-right:44px; border-right:1px solid rgba(255,255,255,.16); }
.fable-review-list article:nth-child(even) { padding-left:44px; }
.fable-review-meta { display:flex; justify-content:space-between; gap:20px; font-size:11px; }
.fable-review-meta span { color:#aaa99f; }
.fable-review-stars { display:flex; gap:3px; margin:22px 0; color:#d9ee4d; }
.fable-review-stars i { font-size:15px; }
.fable-review-copy { max-width:620px; font:500 21px/1.45 var(--serif); }
.fable-review-list article > small { display:flex; align-items:center; gap:7px; margin-top:28px; color:#c5c4bc; font-size:9px; letter-spacing:.08em; }
.fable-review-empty { display:flex; align-items:center; gap:18px; min-height:150px; padding:34px 0; border-bottom:1px solid rgba(255,255,255,.2); }
.fable-review-empty i { font-size:32px; color:#d9ee4d; }
.fable-review-empty p { max-width:700px; margin:0; color:#cfcec6; font-size:13px; line-height:1.7; }
.fable-review-form { margin-top:48px; }
.fable-review-form .mizu-review-form-shell { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1fr); gap:48px; }
.fable-review-form .mizu-review-form-intro h2 { margin:12px 0 18px; font:500 42px/1 var(--serif); }
.fable-review-form .mizu-review-form-intro > span { display:block; max-width:440px; color:#c9c8c0; font-size:12px; line-height:1.7; }
.fable-review-form .mizu-review-form-intro > div { display:flex; gap:8px; margin-top:24px; color:#d9ee4d; font-size:10px; }
.fable-review-form .comment-reply-title { margin:0 0 20px; font:500 30px/1 var(--serif); }
.fable-review-form label { display:block; margin-bottom:8px; color:#d7d6cf; font-size:10px; }
.fable-review-form input,.fable-review-form select,.fable-review-form textarea { box-sizing:border-box; width:100%; padding:14px 16px; border:1px solid rgba(255,255,255,.24); border-radius:0; background:#22241f; color:#fff; font:400 12px/1.4 var(--sans); }
.fable-review-form textarea { min-height:140px; resize:vertical; }
.fable-review-form .comment-form-author,.fable-review-form .comment-form-email { display:inline-block; width:calc(50% - 7px); vertical-align:top; }
.fable-review-form .comment-form-author { margin-right:10px; }
.fable-review-form .mizu-review-submit { min-height:52px; padding:0 24px; border:0; border-radius:999px; background:#d9ee4d; color:#13150f; font:700 10px/1 var(--sans); letter-spacing:.08em; }

/* Category-aware related products. */
.fable-related-v124 { padding:clamp(84px,8vw,132px) 0 30px; background:var(--sr124-paper); color:var(--sr124-ink); }
.fable-related-v124 > header { display:grid; grid-template-columns:180px minmax(0,900px); gap:38px; align-items:start; padding:0 clamp(24px,5vw,82px) 50px; }
.fable-related-v124 > header p { margin-top:12px; }
.fable-related-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--sr124-line); border-left:1px solid var(--sr124-line); }
.fable-related-grid article { min-width:0; padding:0 20px 28px; border-right:1px solid var(--sr124-line); border-bottom:1px solid var(--sr124-line); }
.fable-related-media { position:relative; display:block; aspect-ratio:1; margin:0 -20px 22px; overflow:hidden; background:#f4f0e7; }
.fable-related-media img { position:absolute; inset:0; width:100%; height:100%; transition:opacity .45s ease,transform .65s cubic-bezier(.16,.8,.2,1); }
.fable-related-main { padding:4%; object-fit:contain; transform:scale(1.08); filter:drop-shadow(0 22px 28px rgba(43,36,25,.13)); }
.fable-related-alt { object-fit:cover; opacity:0; transform:scale(1.04); }
.fable-related-grid article:hover .fable-related-main,.fable-related-grid article:focus-within .fable-related-main { opacity:0; }
.fable-related-grid article:hover .fable-related-alt,.fable-related-grid article:focus-within .fable-related-alt { opacity:1; transform:scale(1); }
.fable-related-grid article > p { margin:0 0 9px; color:#77746b; font-size:8px; letter-spacing:.16em; }
.fable-related-grid h3 { min-height:64px; margin:0; font:500 25px/1.05 var(--serif); }
.fable-related-grid h3 a { color:inherit; }
.fable-related-grid article > div { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; font-size:11px; }
.fable-related-grid article > div > a { display:flex; align-items:center; gap:7px; padding-bottom:4px; border-bottom:1px solid; color:inherit; }

/* Shop: transparent cutout at rest, pet-at-mealtime scene on hover/focus. */
.shop-card-media { background:#f5f1e8 !important; }
.shop-card-media .shop-card-main { padding:2.5% !important; object-fit:contain !important; transform:scale(1.1); filter:drop-shadow(0 25px 32px rgba(43,36,25,.14)); }
.shop-card-media .shop-card-alt { padding:0 !important; object-fit:cover !important; filter:none !important; opacity:0; transform:scale(1.045); }
.shop-card-new:hover .shop-card-main,.shop-card-new:focus-within .shop-card-main { opacity:0; transform:scale(1.14); }
.shop-card-new:hover .shop-card-alt,.shop-card-new:focus-within .shop-card-alt { opacity:1; transform:scale(1); }
.shop-card-new:focus-within .shop-card-media span { opacity:1; transform:translate(-50%,-50%) scale(1); }

@media(max-width:1100px) {
  .fable-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fable-review-form .mizu-review-form-shell { grid-template-columns:1fr; }
}

@media(max-width:680px) {
  .product-showcase-v117 .product-showcase-visual img { width:min(86%,440px) !important; }
  .fable-gallery figure.product-only img { padding:0 !important; transform:scale(1.24) !important; }
  .fable-gallery figure.lifestyle img { object-fit:cover !important; }
  .fable-gallery figure.product-detail img { object-fit:contain !important; padding:2% !important; }
  .fable-gallery-count { right:12px; bottom:12px; }
  .fable-story-copy-only { display:block; padding:68px 22px !important; }
  .fable-story-copy-only h2 { margin-top:26px; font-size:45px; }
  .fable-story-copy-only > span { display:block; margin:24px 0 0; }
  .fable-reviews-v124 { padding:72px 20px; }
  .fable-reviews-v124 > header { grid-template-columns:1fr; gap:28px; }
  .fable-review-list { grid-template-columns:1fr; }
  .fable-review-list article:nth-child(n) { padding:30px 0; border-right:0; }
  .fable-review-form .comment-form-author,.fable-review-form .comment-form-email { display:block; width:100%; margin-right:0; }
  .fable-related-v124 > header { grid-template-columns:1fr; padding:0 20px 34px; }
  .fable-related-grid { grid-template-columns:1fr 1fr; }
  .fable-related-grid article { padding:0 12px 22px; }
  .fable-related-media { margin:0 -12px 16px; }
  .fable-related-grid h3 { min-height:56px; font-size:20px; }
  .fable-related-grid article > div { display:block; }
  .fable-related-grid article > div > a { width:max-content; margin-top:10px; }
  .shop-card-media .shop-card-main { padding:1% !important; transform:scale(1.08); }
  .shop-card-media .shop-card-alt { padding:0 !important; }
}

@media(prefers-reduced-motion:reduce) {
  .fable-gallery figure img,.fable-related-media img,.shop-card-media img { transition:none !important; }
}
