/* selectraven theme 1.12.3 — storefront correction and product UI layer */
:root { --sr-ink:#11120f; --sr-cream:#f7f4ec; --sr-green:#254b2b; }

/* Give large editorial serif headlines enough vertical room across the store. */
.shop-hero-new h1,
.shop-bottom-story h2,
.hero-copy h1,
.hero-next-stage > h2,
.elements-title h2,
.collection-heading h2,
.conversion-copy h2,
.rescue-copy h2,
.home-media p,
.home-stories h2,
.product-showcase > header h2,
.owner-testimonials > header h2,
.pet-social > header h2,
.reel-section h2,
.fable-story h2,
.fable-faq h2,
.product-title-row h1,
.shop-page h1,
.story-archive h1,
.rescue-page h1,
.site-footer h2 { line-height:1.04 !important; }

.shop-color-dots { flex-wrap:wrap; max-width:150px; }
.shop-color-dots i { flex:0 0 auto; }

/* Keep the eight-image lifestyle wall complete and rhythmically aligned. */
.pet-social-grid {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:clamp(220px,20vw,330px) !important;
  gap:14px !important;
}
.pet-social-grid figure:nth-child(n) {
  display:block !important;
  grid-column:auto !important;
  grid-row:auto !important;
  min-width:0;
  border-radius:18px;
}
.pet-social-grid figure img { object-position:center; }

body.single-product .fable-option.size-option,
body.single-product .fable-summary > .fable-option:not(.size-option),
body.single-product .fable-sticky-buy [data-sticky-size],
body.single-product .fable-sticky-buy button:nth-of-type(2) { display:none !important; }
body.single-product.srp-target-product .fable-sticky-buy { display:none !important; }

body.single-product .product-title-row { display:block; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; }
body.single-product .product-title-row > strong { display:none !important; }
.srp-price { margin:8px 0 20px; color:var(--sr-ink); font:600 clamp(24px,2vw,34px)/1.1 var(--sans); letter-spacing:-.025em; }
.srp-price .amount { color:inherit !important; font:inherit !important; }

.srp-variant-panel { margin:0 0 22px; padding:22px 0 24px; border-top:1px solid #d8d8d3; border-bottom:1px solid #d8d8d3; }
.srp-variant-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; font:500 12px/1.2 var(--sans); }
.srp-variant-head strong { font-size:13px; }
.srp-swatches { display:flex; flex-wrap:wrap; gap:12px; }
.srp-swatch { position:relative; width:42px; height:42px; border:1px solid rgba(17,18,15,.18); border-radius:50%; background:var(--swatch); box-shadow:inset 0 0 0 4px #fbfaf7; transition:transform .25s ease,box-shadow .25s ease,outline-color .25s ease; }
.srp-swatch.has-image { background-color:#f4f1e9; background-image:var(--swatch-image); background-position:center; background-repeat:no-repeat; background-size:cover; }
.srp-variant-panel.is-text-options .srp-swatches { gap:10px; }
.srp-swatch.is-text { width:auto; min-width:118px; height:44px; padding:0 18px; border-radius:999px; background:#fbfaf7; box-shadow:none; color:var(--sr-ink); font:600 11px/1 var(--sans); letter-spacing:.01em; }
.srp-swatch.is-text span { position:static; display:block; width:auto; padding:0; transform:none; background:transparent; color:inherit; font:inherit; opacity:1; }
.srp-swatch.is-text.is-active { color:#fff; background:var(--sr-ink); outline:none; }
.srp-swatch:hover { transform:translateY(-3px) scale(1.06); }
.srp-swatch.is-active { outline:2px solid var(--sr-ink); outline-offset:3px; }
.srp-swatch span { position:absolute; left:50%; top:calc(100% + 9px); transform:translateX(-50%); width:max-content; padding:5px 8px; border-radius:999px; background:var(--sr-ink); color:#fff; font:600 9px/1 var(--sans); opacity:0; pointer-events:none; transition:.2s; }
.srp-swatch:hover span,.srp-swatch:focus-visible span { opacity:1; }

body.single-product .fable-variable-cart { margin-top:0; }
body.single-product.srp-target-product form.variations_form table.variations {
  display:none !important;
}
body.single-product.srp-target-product form.variations_form .reset_variations { display:none !important; }
body.single-product .woocommerce-variation { margin:0 0 12px; }
body.single-product .woocommerce-variation-price { color:var(--sr-ink); font:600 18px/1.2 var(--sans); }
body.single-product .woocommerce-variation-price:empty { display:none; }
body.single-product .woocommerce-variation-add-to-cart { display:grid !important; grid-template-columns:76px minmax(0,1fr); gap:10px; align-items:stretch; }
body.single-product .woocommerce-variation-add-to-cart .quantity { width:76px !important; margin:0 !important; }
body.single-product .woocommerce-variation-add-to-cart .qty { width:100% !important; height:58px !important; border:1px solid #cbc8bf !important; border-radius:999px !important; text-align:center; background:#fff !important; }
body.single-product .woocommerce-variation-add-to-cart .quantity {
  display:flex !important;
  grid-template-columns:none !important;
  min-width:76px !important;
  height:58px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  overflow:hidden !important;
}
body.single-product .woocommerce-variation-add-to-cart .qty {
  box-sizing:border-box !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 10px !important;
  appearance:textfield !important;
  -moz-appearance:textfield !important;
}
body.single-product .woocommerce-variation-add-to-cart .qty::-webkit-inner-spin-button,
body.single-product .woocommerce-variation-add-to-cart .qty::-webkit-outer-spin-button { margin:0 !important; -webkit-appearance:none !important; }
body.single-product .single_add_to_cart_button { min-height:58px !important; margin:0 !important; border:0 !important; border-radius:999px !important; background:var(--sr-green) !important; color:#fff !important; font:700 12px/1 var(--sans) !important; letter-spacing:.04em; box-shadow:0 14px 30px rgba(37,75,43,.18); transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
body.single-product .single_add_to_cart_button:hover { transform:translateY(-2px); background:#173a20 !important; box-shadow:0 18px 38px rgba(37,75,43,.24); }
body.single-product .single_add_to_cart_button.disabled { opacity:.45; }
body.single-product .reset_variations { display:none !important; }
body.single-product .installment { margin-top:14px; padding:14px 18px; border-radius:12px; background:#f1efe9; text-align:center; }

.fable-gallery figure { perspective:1200px; }
.fable-gallery figure img { transform-origin:50% 55%; transition:transform .5s cubic-bezier(.16,.8,.2,1),filter .4s ease,opacity .25s ease; will-change:transform; }
.fable-gallery figure.srp-interactive:hover img { transform:perspective(1200px) rotateX(var(--sr-tilt-x,0deg)) rotateY(var(--sr-tilt-y,0deg)) translateY(-5px) scale(1.035); filter:drop-shadow(0 28px 30px rgba(43,35,25,.14)); }
.fable-gallery figure.srp-switching img { opacity:.35; transform:scale(.965); }

/* Editorial display faces need real leading; older releases used sub-.9
   values that let ascenders and descenders collide on wrapped headlines. */
.shop-hero-new h1,
.shop-bottom-story h2,
.hero-copy h1,
.hero-next-stage > h2,
.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 { line-height:1.02 !important; }

@media(max-width:680px) {
  .shop-hero-new h1,.shop-bottom-story h2,.hero-copy h1,.hero-next-stage>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 { line-height:1.06 !important; }
  .srp-price { margin-top:12px; font-size:25px; }
  .srp-swatch { width:46px; height:46px; }
  body.single-product .woocommerce-variation-add-to-cart { grid-template-columns:64px minmax(0,1fr); }
  body.single-product .woocommerce-variation-add-to-cart .quantity { width:64px !important; }
  .fable-gallery figure.srp-interactive:hover img { transform:none; filter:none; }
  .pet-social-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-auto-rows:52vw !important; gap:8px !important; }
  .pet-social-grid figure:nth-child(n) { display:block !important; }
}

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

@media(prefers-reduced-motion:reduce) {
  .fable-gallery figure img,.srp-swatch,.single_add_to_cart_button { transition:none !important; transform:none !important; }
}
