@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Barlow+Condensed:wght@500;600;700;800&family=Bebas+Neue&family=Orbitron:wght@500;600;700;800;900&display=swap');

/* =========================================
   Pinklitter home typography system
   Bebas Neue: stacked titles + buttons
   Barlow Condensed: single-line display headings
   Archivo: paragraphs and long text
========================================= */

body.home{
  --plx-font-compact: 'Bebas Neue', 'Arial Narrow', 'Helvetica Neue Condensed', sans-serif;
  --plx-font-condensed: 'Barlow Condensed', 'Arial Narrow', 'Helvetica Neue Condensed', sans-serif;
  --plx-font-body-clean: 'Archivo', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Body/content text */
body.home p,
body.home input,
body.home textarea,
body.home .plx-product-info p,
body.home .plx-category-card p,
body.home .plx-newsletter-copy p,
body.home .footer-tagline,
body.home .footer-links a{
  font-family:var(--plx-font-body-clean) !important;
}

/* Stacked / compact titles */
body.home .plx-hero h1,
body.home .plx-pet-card-copy h2,
body.home .plx-newsletter-copy h2{
  font-family:var(--plx-font-compact) !important;
  font-weight:400 !important;
  letter-spacing:.025em !important;
  line-height:.92 !important;
  text-transform:none !important;
}

/* Hero gets the cleanest line rhythm */
body.home .plx-hero h1{
  letter-spacing:.018em !important;
  line-height:.9 !important;
}

/* Pet cards: compact, level, no visually tall/long font */
body.home .plx-pet-card-copy h2{
  letter-spacing:.025em !important;
  line-height:.9 !important;
}

/* Single-line display headings */
body.home .plx-section-head h2,
body.home .plx-category-card h3,
body.home .plx-product-name,
body.home .plx-benefit strong,
body.home .plx-promo-item strong{
  font-family:var(--plx-font-condensed) !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  line-height:1.02 !important;
}

/* Buttons / CTA-like text */
body.home .plx-btn,
body.home .plx-newsletter-form button,
body.home .plx-section-link,
body.home .plx-pet-card-copy span,
body.home .plx-category-card span,
body.home .plx-product-bottom a,
body.home .carousel-btn,
body.home button[type="submit"]{
  font-family:var(--plx-font-compact) !important;
  font-weight:400 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
}

/* Small labels can stay compact but readable */
body.home .plx-kicker,
body.home .plx-section-kicker,
body.home .footer-col-title{
  font-family:var(--plx-font-condensed) !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

/* Newsletter label should not feel cramped */
body.home .plx-newsletter-copy span{
  font-family:var(--plx-font-condensed) !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}

/* Product details stay clean and readable */
body.home .plx-product-info,
body.home .plx-product-info p,
body.home .plx-product-bottom strong,
body.home .plx-pet-card-copy p,
body.home .plx-category-card p,
body.home .plx-promo-item small,
body.home .plx-benefit small{
  font-family:var(--plx-font-body-clean) !important;
}


/* =========================================
   Home typography step 02
   Slightly bigger type, more comfortable line spacing,
   stronger button text, bigger newsletter eyebrow.
========================================= */

/* General home readability */
body.home{
  font-size:17px !important;
  line-height:1.68 !important;
}

/* Paragraphs and long readable text */
body.home p,
body.home .plx-product-info p,
body.home .plx-category-card p,
body.home .plx-newsletter-copy p,
body.home .plx-newsletter-intro p{
  font-size:1.02rem !important;
  line-height:1.72 !important;
}

/* Hero text: larger but still clean */
body.home .plx-hero h1{
  font-size:clamp(3rem, 6vw, 6.25rem) !important;
  line-height:.98 !important;
  letter-spacing:.02em !important;
}

body.home .plx-hero p{
  font-size:clamp(1.08rem, 1.35vw, 1.32rem) !important;
  line-height:1.78 !important;
}

/* Two-line/stacked compact titles need breathing room */
body.home .plx-pet-card-copy h2,
body.home .plx-newsletter-copy h2,
body.home .plx-newsletter-intro h2{
  line-height:.98 !important;
}

/* Pet card titles: slightly bigger and more comfortable */
body.home .plx-pet-card-copy h2{
  font-size:clamp(2.35rem, 4.5vw, 4.1rem) !important;
}

/* Section headings: a touch bigger */
body.home .plx-section-head h2{
  font-size:clamp(1.8rem, 2.8vw, 2.85rem) !important;
  line-height:1.12 !important;
}

/* Buttons: keep Bebas Neue but make it visually heavier */
body.home .plx-btn,
body.home .plx-newsletter-form button,
body.home .plx-section-link,
body.home .plx-pet-card-copy span,
body.home .plx-category-card span,
body.home .plx-product-bottom a,
body.home .carousel-btn,
body.home button[type="submit"]{
  font-size:1.04rem !important;
  font-weight:700 !important;
  letter-spacing:.13em !important;
  -webkit-text-stroke:.18px currentColor;
  text-shadow:0 0 .01px currentColor;
}

/* Newsletter: "Stay in the loop" was too small */
body.home .plx-newsletter-copy span,
body.home .plx-newsletter-eyebrow{
  font-family:var(--plx-font-condensed) !important;
  font-size:clamp(1rem, 1.25vw, 1.18rem) !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
}

/* Newsletter main line should not feel tiny beside the form */
body.home .plx-newsletter-copy h2,
body.home .plx-newsletter-intro h2{
  font-size:clamp(1.35rem, 1.9vw, 2rem) !important;
}

/* Product/card names a little larger */
body.home .plx-product-name{
  font-size:1.02rem !important;
  line-height:1.2 !important;
}

@media (max-width:768px){
  body.home{
    font-size:16px !important;
  }

  body.home .plx-hero h1{
    font-size:clamp(2.65rem, 13vw, 4.35rem) !important;
    line-height:1 !important;
  }

  body.home .plx-pet-card-copy h2{
    font-size:clamp(2.1rem, 10vw, 3.2rem) !important;
  }

  body.home .plx-newsletter-copy span,
  body.home .plx-newsletter-eyebrow{
    font-size:1rem !important;
  }
}


/* =========================================
   Home typography step 03
   Button weight fix:
   Bebas Neue is single-weight, so remove fake bold/stroke.
   Use Barlow Condensed for small CTA/button text instead.
========================================= */

body.home .plx-btn,
body.home .plx-newsletter-form button,
body.home .plx-section-link,
body.home .plx-pet-card-copy span,
body.home .plx-category-card span,
body.home .plx-product-bottom a,
body.home .carousel-btn,
body.home button[type="submit"]{
  font-family:var(--plx-font-condensed) !important;
  font-size:1rem !important;
  font-weight:800 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}

/* Small round + buttons need tighter but readable lettering */
body.home .plx-product-bottom a{
  font-size:.95rem !important;
  letter-spacing:0 !important;
  font-weight:800 !important;
}

/* Keep big stacked titles on Bebas Neue */
body.home .plx-hero h1,
body.home .plx-pet-card-copy h2,
body.home .plx-newsletter-copy h2,
body.home .plx-newsletter-intro h2{
  font-family:var(--plx-font-compact) !important;
  font-weight:400 !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}


/* =========================================
   Home typography step 04
   Bigger hero heading only.
========================================= */

body.home .plx-hero h1{
  font-size:clamp(3.8rem, 7.4vw, 8rem) !important;
  line-height:.92 !important;
  letter-spacing:.018em !important;
}

@media (max-width:768px){
  body.home .plx-hero h1{
    font-size:clamp(3.1rem, 15vw, 5rem) !important;
    line-height:.95 !important;
  }
}

/* =========================================
   Home typography step 05
   Section / newsletter / pet-card polish
========================================= */

/* Force the cat card title to wrap into two lines so it stays clear of the cat image */
body.home .plx-pet-cards .plx-pet-card:first-child .plx-pet-card-copy h2{
  max-width:7.2ch !important;
  line-height:.9 !important;
  text-wrap:balance;
}

/* Newsletter headline: larger, a touch bolder visually, and tighter to the line below */
body.home .plx-newsletter-eyebrow,
body.home .plx-newsletter-copy span{
  font-size:clamp(1.12rem,1.45vw,1.34rem) !important;
  font-weight:900 !important;
  letter-spacing:.09em !important;
  line-height:1 !important;
  margin:0 0 .12rem !important;
}

body.home .plx-newsletter-copy h2,
body.home .plx-newsletter-intro h2{
  font-size:clamp(1.55rem,2.35vw,2.35rem) !important;
  line-height:.95 !important;
  letter-spacing:.018em !important;
  margin:0 0 .12rem !important;
}

body.home .plx-newsletter-copy p,
body.home .plx-newsletter-intro p{
  margin-top:0 !important;
}

/* Give the next major sections more breathing room under the pet cards */
body.home .plx-best-sellers-section,
body.home .plx-categories-section{
  padding-top:72px !important;
}

/* Stronger section heading system for best sellers + categories */
body.home .plx-best-sellers-section .plx-section-head,
body.home .plx-categories-section .plx-section-head{
  align-items:flex-end !important;
  gap:1.2rem !important;
  margin-bottom:2rem !important;
}

body.home .plx-best-sellers-section .plx-section-head h2,
body.home .plx-categories-section .plx-section-head h2{
  font-size:clamp(2.15rem,3.3vw,3.3rem) !important;
  line-height:1.06 !important;
}

body.home .plx-best-sellers-section .plx-section-kicker,
body.home .plx-categories-section .plx-section-kicker{
  display:inline-flex !important;
  align-items:center !important;
  gap:.45rem !important;
  margin:0 0 .32rem !important;
  font-family:var(--plx-font-condensed) !important;
  font-size:1.08rem !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

/* Best sellers label only: put the paw after the text */
body.home .plx-best-sellers-section .plx-section-kicker{
  font-size:0 !important;
  letter-spacing:0 !important;
}

body.home .plx-best-sellers-section .plx-section-kicker::before{
  content:"BEST SELLERS";
  font-family:var(--plx-font-condensed) !important;
  font-size:1.08rem !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  line-height:1 !important;
}

body.home .plx-best-sellers-section .plx-section-kicker::after{
  content:"🐾";
  font-size:1rem !important;
  line-height:1 !important;
}

/* Make VIEW ALL look like a real button in both sections */
body.home .plx-best-sellers-section .plx-section-link,
body.home .plx-categories-section .plx-section-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:.82rem 1.18rem !important;
  border-radius:999px !important;
  background:var(--plx-navy) !important;
  color:#fff !important;
  font-family:var(--plx-font-condensed) !important;
  font-size:1rem !important;
  font-weight:800 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:0 10px 24px rgba(15,23,42,.12) !important;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}

body.home .plx-best-sellers-section .plx-section-link:hover,
body.home .plx-categories-section .plx-section-link:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(15,23,42,.16) !important;
}

@media (max-width:768px){
  body.home .plx-pet-cards .plx-pet-card:first-child .plx-pet-card-copy h2{
    max-width:7.4ch !important;
  }

  body.home .plx-best-sellers-section,
  body.home .plx-categories-section{
    padding-top:56px !important;
  }

  body.home .plx-best-sellers-section .plx-section-head,
  body.home .plx-categories-section .plx-section-head{
    align-items:flex-start !important;
    gap:.9rem !important;
  }

  body.home .plx-best-sellers-section .plx-section-head h2,
  body.home .plx-categories-section .plx-section-head h2{
    font-size:clamp(1.9rem,7vw,2.55rem) !important;
  }

  body.home .plx-best-sellers-section .plx-section-link,
  body.home .plx-categories-section .plx-section-link{
    min-height:42px !important;
    padding:.74rem 1rem !important;
    font-size:.95rem !important;
  }

  body.home .plx-newsletter-copy h2,
  body.home .plx-newsletter-intro h2{
    font-size:clamp(1.45rem,5.5vw,2rem) !important;
  }
}


/* =========================================
   Home typography step 06
   Newsletter spacing + section kicker refinements
========================================= */

/* Move NEWSLETTER upward and separate it from Stay in the loop */
body.home .plx-newsletter-eyebrow,
body.home .plx-newsletter-copy span{
  display:block !important;
  margin:0 0 .34rem !important;
  transform:translateY(-5px) !important;
  font-size:clamp(1.16rem,1.55vw,1.42rem) !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  line-height:1 !important;
}

/* Pull the main newsletter title slightly back up after moving the label */
body.home .plx-newsletter-copy h2,
body.home .plx-newsletter-intro h2{
  margin-top:-.08rem !important;
}

/* Larger section kickers with one unified paw style BEFORE the text */
body.home .plx-best-sellers-section .plx-section-kicker,
body.home .plx-categories-section .plx-section-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.55rem !important;
  margin:0 0 .42rem !important;
  font-family:var(--plx-font-condensed) !important;
  color:var(--plx-pink) !important;
  font-size:0 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

/* Hide the original mixed icon/text and rebuild cleanly */
body.home .plx-best-sellers-section .plx-section-kicker::before,
body.home .plx-categories-section .plx-section-kicker::before{
  display:inline-flex !important;
  align-items:center !important;
  font-family:var(--plx-font-condensed) !important;
  color:var(--plx-pink) !important;
  font-size:clamp(1.24rem,1.55vw,1.5rem) !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

body.home .plx-best-sellers-section .plx-section-kicker::before{
  content:"🐾 BEST SELLERS" !important;
}

body.home .plx-categories-section .plx-section-kicker::before{
  content:"🐾 SHOP BY CATEGORY" !important;
}

/* Remove the ugly duplicated paw from the previous step */
body.home .plx-best-sellers-section .plx-section-kicker::after,
body.home .plx-categories-section .plx-section-kicker::after{
  content:none !important;
  display:none !important;
}

/* Product price font note: this is Barlow Condensed now */
body.home .plx-product-bottom strong{
  font-family:var(--plx-font-condensed) !important;
  font-weight:800 !important;
  letter-spacing:.015em !important;
  line-height:1 !important;
}

@media (max-width:768px){
  body.home .plx-newsletter-eyebrow,
  body.home .plx-newsletter-copy span{
    transform:translateY(-4px) !important;
    font-size:1.12rem !important;
  }

  body.home .plx-best-sellers-section .plx-section-kicker::before,
  body.home .plx-categories-section .plx-section-kicker::before{
    font-size:1.22rem !important;
    letter-spacing:.14em !important;
  }
}


/* =========================================
   Home typography step 07
   Orbitron ALL CAPS experiment
   Use uppercase for non-paragraph display text.
========================================= */

body.home{
  --plx-font-modern-caps:'Orbitron', 'Sora', system-ui, sans-serif;
}

/* Main display text: Orbitron + ALL CAPS */
body.home .plx-hero h1,
body.home .plx-pet-card-copy h2,
body.home .plx-newsletter-copy h2,
body.home .plx-newsletter-intro h2,
body.home .plx-section-head h2,
body.home .plx-category-card h3,
body.home .plx-product-name,
body.home .plx-benefit strong,
body.home .plx-promo-item strong{
  font-family:var(--plx-font-modern-caps) !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;
}

/* Hero: keep it powerful but readable */
body.home .plx-hero h1{
  font-size:clamp(3.1rem,6.5vw,7.15rem) !important;
  line-height:1.02 !important;
  letter-spacing:.032em !important;
}

/* Pet cards: uppercase and controlled so it does not hit the image */
body.home .plx-pet-card-copy h2{
  font-size:clamp(2rem,3.65vw,3.35rem) !important;
  line-height:1.04 !important;
  letter-spacing:.035em !important;
}

/* Keep cat card title two lines */
body.home .plx-pet-cards .plx-pet-card:first-child .plx-pet-card-copy h2{
  max-width:8.4ch !important;
}

/* Section headings with Orbitron need a little more air */
body.home .plx-section-head h2{
  font-size:clamp(1.75rem,2.65vw,2.75rem) !important;
  line-height:1.16 !important;
  letter-spacing:.02em !important;
}

/* Buttons / CTAs: Orbitron but not too wide */
body.home .plx-btn,
body.home .plx-newsletter-form button,
body.home .plx-section-link,
body.home .plx-pet-card-copy span,
body.home .plx-category-card span,
body.home .plx-product-bottom a,
body.home .carousel-btn,
body.home button[type="submit"]{
  font-family:var(--plx-font-modern-caps) !important;
  text-transform:uppercase !important;
  font-size:.86rem !important;
  font-weight:800 !important;
  letter-spacing:.095em !important;
  line-height:1 !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}

/* Kicker/eyebrow labels also ALL CAPS with Orbitron */
body.home .plx-kicker,
body.home .plx-section-kicker,
body.home .plx-newsletter-eyebrow,
body.home .plx-newsletter-copy span,
body.home .footer-col-title{
  font-family:var(--plx-font-modern-caps) !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
}

/* Rebuild section kickers with unified paw + Orbitron */
body.home .plx-best-sellers-section .plx-section-kicker::before,
body.home .plx-categories-section .plx-section-kicker::before{
  font-family:var(--plx-font-modern-caps) !important;
  font-size:clamp(1rem,1.25vw,1.18rem) !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
}

/* Paragraphs and long text stay normal readable Archivo */
body.home p,
body.home .plx-hero p,
body.home .plx-pet-card-copy p,
body.home .plx-product-info p,
body.home .plx-category-card p,
body.home .plx-newsletter-copy p,
body.home .plx-newsletter-intro p,
body.home .plx-promo-item small,
body.home .plx-benefit small,
body.home .footer-tagline,
body.home .footer-links a{
  font-family:var(--plx-font-body-clean) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

/* Product price stays on Barlow Condensed because you liked the EGP look */
body.home .plx-product-bottom strong{
  font-family:var(--plx-font-condensed) !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  letter-spacing:.015em !important;
}

/* Newsletter spacing after font switch */
body.home .plx-newsletter-eyebrow,
body.home .plx-newsletter-copy span{
  font-size:clamp(.94rem,1.16vw,1.1rem) !important;
  line-height:1 !important;
  margin:0 0 .42rem !important;
  transform:translateY(-6px) !important;
}

body.home .plx-newsletter-copy h2,
body.home .plx-newsletter-intro h2{
  font-size:clamp(1.28rem,1.85vw,1.88rem) !important;
  line-height:1.12 !important;
  margin-top:-.05rem !important;
}

@media (max-width:768px){
  body.home .plx-hero h1{
    font-size:clamp(2.25rem,10vw,4rem) !important;
    line-height:1.08 !important;
  }

  body.home .plx-pet-card-copy h2{
    font-size:clamp(1.7rem,8vw,2.7rem) !important;
    line-height:1.08 !important;
  }

  body.home .plx-section-head h2{
    font-size:clamp(1.45rem,6vw,2.15rem) !important;
  }

  body.home .plx-btn,
  body.home .plx-newsletter-form button,
  body.home .plx-section-link,
  body.home .plx-pet-card-copy span,
  body.home .plx-category-card span{
    font-size:.8rem !important;
    letter-spacing:.08em !important;
  }
}


/* =========================================
   Home typography step 08
   Limit Orbitron to buttons + newsletter label + smaller hero trial.
   Restore the rest to warmer compact fonts.
========================================= */

/* Hero trial only: Orbitron, but smaller and calmer */
body.home .plx-hero h1{
  font-family:var(--plx-font-modern-caps) !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  font-size:clamp(2.75rem,5.35vw,5.9rem) !important;
  line-height:1.08 !important;
  letter-spacing:.026em !important;
}

/* Pet cards should NOT use Orbitron */
body.home .plx-pet-card-copy h2{
  font-family:var(--plx-font-compact) !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  font-size:clamp(2.15rem,3.95vw,3.65rem) !important;
  line-height:.96 !important;
  letter-spacing:.035em !important;
}

/* Keep cat card title two lines */
body.home .plx-pet-cards .plx-pet-card:first-child .plx-pet-card-copy h2{
  max-width:7.6ch !important;
}

/* Section headings are warmer with Barlow, not Orbitron */
body.home .plx-section-head h2,
body.home .plx-category-card h3,
body.home .plx-benefit strong,
body.home .plx-promo-item strong{
  font-family:var(--plx-font-condensed) !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  font-size:clamp(1.85rem,2.85vw,2.9rem) !important;
  line-height:1.1 !important;
  letter-spacing:.025em !important;
}

/* Product names should not use Orbitron */
body.home .plx-product-name{
  font-family:var(--plx-font-condensed) !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  font-size:1.08rem !important;
  line-height:1.15 !important;
  letter-spacing:.02em !important;
}

/* Keep Orbitron where it worked: buttons / CTAs */
body.home .plx-btn,
body.home .plx-newsletter-form button,
body.home .plx-section-link,
body.home .plx-pet-card-copy span,
body.home .plx-category-card span,
body.home .plx-product-bottom a,
body.home .carousel-btn,
body.home button[type="submit"]{
  font-family:var(--plx-font-modern-caps) !important;
  text-transform:uppercase !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  letter-spacing:.09em !important;
  line-height:1 !important;
}

/* Keep Orbitron where it worked: Stay in the loop / newsletter label */
body.home .plx-newsletter-eyebrow,
body.home .plx-newsletter-copy span{
  font-family:var(--plx-font-modern-caps) !important;
  text-transform:uppercase !important;
  font-size:clamp(.98rem,1.18vw,1.16rem) !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  line-height:1 !important;
  margin:0 0 .42rem !important;
  transform:translateY(-6px) !important;
}

/* Newsletter main line should not use Orbitron */
body.home .plx-newsletter-copy h2,
body.home .plx-newsletter-intro h2{
  font-family:var(--plx-font-compact) !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  font-size:clamp(1.45rem,2.05vw,2.1rem) !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
}

/* Section kickers: back to Barlow, bigger but not huge */
body.home .plx-best-sellers-section .plx-section-kicker::before,
body.home .plx-categories-section .plx-section-kicker::before{
  font-family:var(--plx-font-condensed) !important;
  font-size:clamp(1.12rem,1.38vw,1.28rem) !important;
  font-weight:900 !important;
  letter-spacing:.15em !important;
}

/* Paragraphs stay readable */
body.home p,
body.home .plx-hero p,
body.home .plx-pet-card-copy p,
body.home .plx-product-info p,
body.home .plx-category-card p,
body.home .plx-newsletter-copy p,
body.home .plx-newsletter-intro p,
body.home .plx-promo-item small,
body.home .plx-benefit small{
  font-family:var(--plx-font-body-clean) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

/* Price / EGP stays Barlow Condensed */
body.home .plx-product-bottom strong{
  font-family:var(--plx-font-condensed) !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  letter-spacing:.015em !important;
}

@media (max-width:768px){
  body.home .plx-hero h1{
    font-size:clamp(2.1rem,9.5vw,3.75rem) !important;
    line-height:1.08 !important;
  }

  body.home .plx-pet-card-copy h2{
    font-size:clamp(1.85rem,8.5vw,2.85rem) !important;
  }

  body.home .plx-section-head h2{
    font-size:clamp(1.55rem,6.5vw,2.25rem) !important;
  }

  body.home .plx-btn,
  body.home .plx-newsletter-form button,
  body.home .plx-section-link,
  body.home .plx-pet-card-copy span,
  body.home .plx-category-card span{
    font-size:.78rem !important;
    letter-spacing:.075em !important;
  }
}


/* =========================================
   Home polish step 09
   Promo strip, pet card title wrapping, section labels,
   Orbitron CTAs, and product card alignment.
========================================= */

/* Promo strip under hero: calmer size + cleaner icon pills */
body.home .plx-promo-strip{
  min-height:76px !important;
  padding:12px clamp(18px,4vw,56px) !important;
  gap:clamp(1.2rem,3vw,3rem) !important;
}

body.home .plx-promo-item{
  gap:.68rem !important;
}

body.home .plx-promo-icon{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  display:inline-grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  font-size:0 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22) !important;
}

body.home .plx-promo-icon::before{
  display:block !important;
  font-size:1rem !important;
  line-height:1 !important;
}

body.home .plx-promo-item:nth-child(1) .plx-promo-icon::before{content:"✦";}
body.home .plx-promo-item:nth-child(2) .plx-promo-icon::before{content:"◆";}
body.home .plx-promo-item:nth-child(3) .plx-promo-icon::before{content:"◇";}

body.home .plx-promo-item strong{
  font-size:clamp(1.35rem,2vw,2rem) !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
}

body.home .plx-promo-item small{
  display:block !important;
  margin-top:.28rem !important;
  font-size:.76rem !important;
  line-height:1.15 !important;
}

/* Pet cards: keep dog title on two lines and away from dog face */
body.home .plx-pet-cards .plx-pet-card:nth-child(2) .plx-pet-card-copy h2{
  max-width:8ch !important;
  line-height:.96 !important;
  text-wrap:balance;
}

/* Keep cat title controlled too */
body.home .plx-pet-cards .plx-pet-card:first-child .plx-pet-card-copy h2{
  max-width:7.5ch !important;
}

/* Bigger and cleaner section kickers */
body.home .plx-best-sellers-section .plx-section-kicker,
body.home .plx-categories-section .plx-section-kicker{
  margin-bottom:.62rem !important;
}

body.home .plx-best-sellers-section .plx-section-kicker::before,
body.home .plx-categories-section .plx-section-kicker::before{
  font-family:var(--plx-font-modern-caps) !important;
  font-size:clamp(1.28rem,1.7vw,1.7rem) !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  color:var(--plx-pink) !important;
}

/* Use one clean paw mark before both labels */
body.home .plx-best-sellers-section .plx-section-kicker::before{
  content:"🐾 BEST SELLERS" !important;
}

body.home .plx-categories-section .plx-section-kicker::before{
  content:"🐾 SHOP BY CATEGORY" !important;
}

/* Force View All / All Categories buttons to Orbitron */
body.home .plx-best-sellers-section .plx-section-link,
body.home .plx-categories-section .plx-section-link{
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.095em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
}

/* Force all category card CTAs to Orbitron */
body.home .plx-category-card span,
body.home .plx-category-card span *,
body.home .plx-pet-card-copy span,
body.home .plx-pet-card-copy span *{
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.095em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
}

/* Keep best seller product cards aligned: price/+ row always at same visual level */
body.home .plx-product-card{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}

body.home .plx-product-info{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:178px !important;
}

body.home .plx-product-info p{
  min-height:4.65em !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

body.home .plx-product-bottom{
  margin-top:auto !important;
  align-items:center !important;
}

/* Keep Orbitron away from product names if it feels too tech/heavy */
body.home .plx-product-name{
  font-family:var(--plx-font-condensed) !important;
  letter-spacing:.02em !important;
}

@media (max-width:768px){
  body.home .plx-promo-strip{
    min-height:auto !important;
    padding:10px 14px !important;
  }

  body.home .plx-promo-item strong{
    font-size:1.18rem !important;
  }

  body.home .plx-promo-icon{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
  }

  body.home .plx-best-sellers-section .plx-section-kicker::before,
  body.home .plx-categories-section .plx-section-kicker::before{
    font-size:1.2rem !important;
    letter-spacing:.13em !important;
  }

  body.home .plx-product-info{
    min-height:160px !important;
  }
}


/* =========================================
   Home polish step 10
   Replace large section black headings with cleaner top-line labels.
========================================= */

/* Hide the large black heading lines in Best Sellers and Categories */
body.home .plx-best-sellers-section .plx-section-head h2,
body.home .plx-categories-section .plx-section-head h2{
  display:none !important;
}

/* Keep section header as a single clean row aligned with the right button */
body.home .plx-best-sellers-section .plx-section-head,
body.home .plx-categories-section .plx-section-head{
  align-items:center !important;
  margin-bottom:1.7rem !important;
}

/* Clean text labels only, no paw icons */
body.home .plx-best-sellers-section .plx-section-kicker,
body.home .plx-categories-section .plx-section-kicker{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--plx-pink) !important;
  font-family:var(--plx-font-modern-caps) !important;
  font-size:0 !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:uppercase !important;
}

body.home .plx-best-sellers-section .plx-section-kicker::before{
  content:"BEST SELLERS" !important;
}

body.home .plx-categories-section .plx-section-kicker::before{
  content:"POPULAR CATEGORIES" !important;
}

body.home .plx-best-sellers-section .plx-section-kicker::before,
body.home .plx-categories-section .plx-section-kicker::before{
  font-family:var(--plx-font-modern-caps) !important;
  color:var(--plx-pink) !important;
  font-size:clamp(1.15rem,1.45vw,1.45rem) !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

body.home .plx-best-sellers-section .plx-section-kicker::after,
body.home .plx-categories-section .plx-section-kicker::after{
  content:none !important;
  display:none !important;
}

/* Keep the right buttons aligned and force Orbitron */
body.home .plx-best-sellers-section .plx-section-link,
body.home .plx-categories-section .plx-section-link{
  align-self:center !important;
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.085em !important;
  text-transform:uppercase !important;
}

/* Stronger selector for ALL category-card CTA buttons */
body.home .plx-category-card span,
body.home .plx-category-card span *,
body.home .plx-category-card .plx-category-cta,
body.home .plx-category-card .plx-category-cta *,
body.home .plx-category-card a,
body.home .plx-category-card button{
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.085em !important;
  text-transform:uppercase !important;
}

/* Do not let the rule above ruin category titles or paragraphs */
body.home .plx-category-card h3{
  font-family:var(--plx-font-condensed) !important;
  font-size:clamp(1.85rem,2.85vw,2.9rem) !important;
  letter-spacing:.025em !important;
}

body.home .plx-category-card p{
  font-family:var(--plx-font-body-clean) !important;
  font-size:1.02rem !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

@media (max-width:768px){
  body.home .plx-best-sellers-section .plx-section-head,
  body.home .plx-categories-section .plx-section-head{
    align-items:center !important;
  }

  body.home .plx-best-sellers-section .plx-section-kicker::before,
  body.home .plx-categories-section .plx-section-kicker::before{
    font-size:1.08rem !important;
    letter-spacing:.07em !important;
  }
}


/* =========================================
   Home polish step 12 SAFE RECOVERY
   Revert the broken newsletter/carousel changes by building on step 10 only.
   Targeted fixes:
   - section labels use the same compact card font, not Orbitron
   - category card "Shop Now" uses Orbitron
========================================= */

/* Section labels: use the compact card font instead of Orbitron */
body.home .plx-best-sellers-section .plx-section-kicker,
body.home .plx-categories-section .plx-section-kicker{
  font-family:var(--plx-font-compact) !important;
}

body.home .plx-best-sellers-section .plx-section-kicker::before,
body.home .plx-categories-section .plx-section-kicker::before{
  font-family:var(--plx-font-compact) !important;
  font-size:clamp(1.55rem,1.8vw,1.85rem) !important;
  font-weight:400 !important;
  letter-spacing:.045em !important;
  line-height:1 !important;
  color:var(--plx-pink) !important;
}

body.home .plx-best-sellers-section .plx-section-kicker::before{
  content:"BEST SELLERS" !important;
}

body.home .plx-categories-section .plx-section-kicker::before{
  content:"POPULAR CATEGORIES" !important;
}

/* Keep section labels and right buttons aligned on one row */
body.home .plx-best-sellers-section .plx-section-head,
body.home .plx-categories-section .plx-section-head{
  align-items:center !important;
  margin-bottom:1.7rem !important;
}

/* Right buttons: do NOT use Orbitron here; keep them consistent with the compact section label */
body.home .plx-best-sellers-section .plx-section-link,
body.home .plx-categories-section .plx-section-link{
  font-family:var(--plx-font-compact) !important;
  font-size:1.08rem !important;
  font-weight:400 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
}

/* Category card "Shop Now" is a <strong>, so force Orbitron on the actual selector */
body.home .plx-category-card .plx-category-content strong,
body.home .plx-category-card .plx-category-content strong *,
body.home .plx-categories-section .plx-category-content strong,
body.home .plx-categories-section .plx-category-content strong *{
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.085em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
}

/* Keep category title/body unaffected */
body.home .plx-category-content h3{
  font-family:var(--plx-font-condensed) !important;
}

body.home .plx-category-content p{
  font-family:var(--plx-font-body-clean) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

/* Do not touch newsletter layout or carousel layout in this step */


/* =========================================
   Home polish step 13
   Restore Orbitron on section action buttons only.
   Targets: View All / All Categories.
========================================= */

body.home .plx-best-sellers-section .plx-section-link,
body.home .plx-categories-section .plx-section-link{
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.085em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
}

body.home .plx-best-sellers-section .plx-section-link *,
body.home .plx-categories-section .plx-section-link *{
  font-family:var(--plx-font-modern-caps) !important;
}


/* =========================================
   Home final polish step 14
   Visual size balance after full-page review.
========================================= */

/* Hero: still strong, but less oversized */
body.home .plx-hero h1{
  font-size:clamp(2.55rem,4.95vw,5.35rem) !important;
  line-height:1.09 !important;
  letter-spacing:.022em !important;
}

body.home .plx-hero p{
  font-size:clamp(.98rem,1.05vw,1.12rem) !important;
  line-height:1.7 !important;
  max-width:500px !important;
}

/* Promo strip under hero: smaller and more premium */
body.home .plx-promo-strip{
  min-height:64px !important;
  padding:10px clamp(18px,4vw,56px) !important;
}

body.home .plx-promo-item{
  gap:.58rem !important;
}

body.home .plx-promo-icon{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  font-size:0 !important;
}

body.home .plx-promo-icon::before{
  font-size:.86rem !important;
}

body.home .plx-promo-item strong{
  font-size:clamp(1.12rem,1.48vw,1.52rem) !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
}

body.home .plx-promo-item small{
  margin-top:.18rem !important;
  font-size:.68rem !important;
  line-height:1.1 !important;
}

/* Pet cards: slightly calmer body text and buttons */
body.home .plx-pet-card-copy p{
  font-size:.9rem !important;
  line-height:1.55 !important;
  max-width:36ch !important;
}

body.home .plx-pet-card-copy span{
  min-height:34px !important;
  padding:.62rem .92rem !important;
  font-size:.78rem !important;
}

/* Section labels: visible but elegant */
body.home .plx-best-sellers-section .plx-section-kicker::before,
body.home .plx-categories-section .plx-section-kicker::before{
  font-family:var(--plx-font-compact) !important;
  font-size:clamp(1.45rem,1.75vw,1.78rem) !important;
  font-weight:400 !important;
  letter-spacing:.04em !important;
  line-height:1 !important;
}

/* Right action buttons: Orbitron, clearer, not huge */
body.home .plx-best-sellers-section .plx-section-link,
body.home .plx-categories-section .plx-section-link{
  font-family:var(--plx-font-modern-caps) !important;
  min-height:40px !important;
  padding:.76rem 1.05rem !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.085em !important;
}

/* Product cards: more even vertical rhythm */
body.home .plx-product-name{
  font-size:1.02rem !important;
  line-height:1.14 !important;
}

body.home .plx-product-info p{
  font-size:.94rem !important;
  line-height:1.55 !important;
}

body.home .plx-product-bottom strong{
  font-size:1.02rem !important;
}

/* Category cards: Shop Now buttons must be Orbitron and visually stronger */
body.home .plx-category-content strong,
body.home .plx-category-content strong *,
body.home .plx-category-card strong,
body.home .plx-category-card strong *{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:32px !important;
  padding:.55rem .85rem !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--plx-navy) !important;
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.085em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
}

/* Benefits strip: was too shouty compared to the rest */
body.home .plx-benefit strong{
  font-family:var(--plx-font-condensed) !important;
  font-size:clamp(1.22rem,1.7vw,1.85rem) !important;
  line-height:1 !important;
  letter-spacing:.025em !important;
}

body.home .plx-benefit small{
  font-size:.7rem !important;
  line-height:1.15 !important;
}

/* Newsletter: keep it light, but make the text feel intentional */
body.home .plx-newsletter-eyebrow,
body.home .plx-newsletter-copy span{
  font-size:clamp(.9rem,1.05vw,1.05rem) !important;
  letter-spacing:.15em !important;
}

body.home .plx-newsletter-copy h2,
body.home .plx-newsletter-intro h2{
  font-size:clamp(1.35rem,1.85vw,1.9rem) !important;
  line-height:1.02 !important;
}

body.home .plx-newsletter-copy p,
body.home .plx-newsletter-intro p{
  font-size:.9rem !important;
  line-height:1.35 !important;
}

/* Footer: tiny readability bump only */
body.home .site-footer,
body.home .site-footer p,
body.home .site-footer a{
  font-size:.92rem !important;
  line-height:1.65 !important;
}

@media (max-width:768px){
  body.home .plx-hero h1{
    font-size:clamp(2.05rem,9vw,3.5rem) !important;
    line-height:1.1 !important;
  }

  body.home .plx-promo-strip{
    min-height:auto !important;
    padding:9px 14px !important;
  }

  body.home .plx-promo-item strong{
    font-size:1rem !important;
  }

  body.home .plx-promo-item small{
    font-size:.64rem !important;
  }

  body.home .plx-best-sellers-section .plx-section-kicker::before,
  body.home .plx-categories-section .plx-section-kicker::before{
    font-size:1.28rem !important;
  }

  body.home .plx-best-sellers-section .plx-section-link,
  body.home .plx-categories-section .plx-section-link{
    min-height:36px !important;
    font-size:.76rem !important;
    padding:.65rem .9rem !important;
  }
}


/* =========================================
   Home card links step 15
   Cards hover visually only; CTA buttons are the real links.
   Also aligns category CTAs and moves pet cards lower.
========================================= */

/* Move Dog/Cat cards down by increasing only the top space */
body.home .plx-pet-cards-section{
  padding-top:58px !important;
  padding-bottom:18px !important;
}

/* Cards are no longer links; keep visual hover only */
body.home .plx-pet-card,
body.home .plx-category-card{
  cursor:default !important;
}

/* Shared CTA button behavior: no jump, color flips/darkens */
body.home .plx-pet-card-cta,
body.home .plx-category-cta,
body.home .plx-section-link,
body.home .plx-btn{
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.home .plx-pet-card-cta:hover,
body.home .plx-pet-card-cta:focus-visible,
body.home .plx-category-cta:hover,
body.home .plx-category-cta:focus-visible,
body.home .plx-section-link:hover,
body.home .plx-section-link:focus-visible,
body.home .plx-btn:hover,
body.home .plx-btn:focus-visible{
  transform:none !important;
}

/* Pet card CTA replaces the old span */
body.home .plx-pet-card-copy .plx-pet-card-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.45rem !important;
  min-height:38px !important;
  width:max-content !important;
  padding:.68rem 1rem !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--plx-navy) !important;
  border:1px solid rgba(255,255,255,.88) !important;
  text-decoration:none !important;
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.085em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

body.home .plx-pet-card-copy .plx-pet-card-cta:hover,
body.home .plx-pet-card-copy .plx-pet-card-cta:focus-visible{
  background:var(--plx-navy) !important;
  color:#fff !important;
  border-color:var(--plx-navy) !important;
}

/* Keep video/image/text layers from blocking CTA */
body.home .plx-pet-card img,
body.home .plx-pet-card video{
  pointer-events:none !important;
}

/* Category content is now flex so all Shop Now buttons sit on one baseline */
body.home .plx-category-card{
  align-items:stretch !important;
}

body.home .plx-category-content{
  min-height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}

body.home .plx-category-content p{
  min-height:3.95em !important;
  margin-bottom:1rem !important;
}

/* Category CTA replaces the old strong */
body.home .plx-category-content .plx-category-cta{
  margin-top:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.45rem !important;
  min-height:34px !important;
  width:max-content !important;
  padding:.58rem .9rem !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--plx-navy) !important;
  border:1px solid rgba(255,255,255,.9) !important;
  text-decoration:none !important;
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.085em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  cursor:pointer !important;
}

body.home .plx-category-content .plx-category-cta:hover,
body.home .plx-category-content .plx-category-cta:focus-visible{
  background:var(--plx-navy) !important;
  color:#fff !important;
  border-color:var(--plx-navy) !important;
}

/* If any old strong remains, keep it visually consistent */
body.home .plx-category-content strong{
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.085em !important;
  text-transform:uppercase !important;
}

/* Hero buttons: use color change, not upward movement */
body.home .plx-btn-primary:hover,
body.home .plx-btn-primary:focus-visible{
  background:var(--plx-navy) !important;
  color:#fff !important;
  box-shadow:none !important;
}

body.home .plx-btn-soft:hover,
body.home .plx-btn-soft:focus-visible{
  background:var(--plx-navy) !important;
  color:#fff !important;
  box-shadow:none !important;
}

/* Section action buttons: same hover logic */
body.home .plx-best-sellers-section .plx-section-link:hover,
body.home .plx-best-sellers-section .plx-section-link:focus-visible,
body.home .plx-categories-section .plx-section-link:hover,
body.home .plx-categories-section .plx-section-link:focus-visible{
  background:var(--plx-navy) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.12) !important;
  transform:none !important;
}

@media (max-width:768px){
  body.home .plx-pet-cards-section{
    padding-top:42px !important;
  }

  body.home .plx-category-content p{
    min-height:auto !important;
  }

  body.home .plx-pet-card-copy .plx-pet-card-cta,
  body.home .plx-category-content .plx-category-cta{
    font-size:.76rem !important;
    letter-spacing:.075em !important;
  }
}


/* =========================================
   Home buttons hover step 16
   Add hover to View All / All Categories / Subscribe.
   Hover color changed from navy to deep red.
========================================= */

body.home{
  --plx-hover-red:#9f1239;
  --plx-hover-red-soft:#b31645;
}

/* Main section buttons: View All / All Categories */
body.home .plx-best-sellers-section .plx-section-link,
body.home .plx-categories-section .plx-section-link{
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.home .plx-best-sellers-section .plx-section-link:hover,
body.home .plx-best-sellers-section .plx-section-link:focus-visible,
body.home .plx-categories-section .plx-section-link:hover,
body.home .plx-categories-section .plx-section-link:focus-visible{
  background:var(--plx-hover-red) !important;
  color:#fff !important;
  border-color:var(--plx-hover-red) !important;
  box-shadow:0 10px 24px rgba(159,18,57,.22) !important;
  transform:none !important;
}

/* Newsletter subscribe button */
body.home .plx-newsletter-form button,
body.home .plx-newsletter-form button[type="submit"]{
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.home .plx-newsletter-form button:hover,
body.home .plx-newsletter-form button:focus-visible,
body.home .plx-newsletter-form button[type="submit"]:hover,
body.home .plx-newsletter-form button[type="submit"]:focus-visible{
  background:var(--plx-hover-red) !important;
  color:#fff !important;
  border-color:var(--plx-hover-red) !important;
  box-shadow:0 10px 24px rgba(159,18,57,.22) !important;
  transform:none !important;
}

/* Keep the same deep-red hover language on card CTAs too */
body.home .plx-pet-card-cta:hover,
body.home .plx-pet-card-cta:focus-visible,
body.home .plx-category-cta:hover,
body.home .plx-category-cta:focus-visible,
body.home .plx-category-content .plx-category-cta:hover,
body.home .plx-category-content .plx-category-cta:focus-visible{
  background:var(--plx-hover-red) !important;
  color:#fff !important;
  border-color:var(--plx-hover-red) !important;
  box-shadow:0 10px 22px rgba(159,18,57,.20) !important;
  transform:none !important;
}

/* Hero buttons: same rule, no move-up */
body.home .plx-btn:hover,
body.home .plx-btn:focus-visible,
body.home .plx-btn-primary:hover,
body.home .plx-btn-primary:focus-visible,
body.home .plx-btn-soft:hover,
body.home .plx-btn-soft:focus-visible{
  background:var(--plx-hover-red) !important;
  color:#fff !important;
  border-color:var(--plx-hover-red) !important;
  box-shadow:0 10px 24px rgba(159,18,57,.22) !important;
  transform:none !important;
}


/* =========================================
   Home benefits marquee step 17
   Thin formal ticker moving opposite the best-sellers carousel.
========================================= */

body.home .plx-benefits-strip{
  display:block !important;
  overflow:hidden !important;
  background:#081225 !important;
  border-radius:0 !important;
  padding:8px 0 !important;
  margin:26px 0 0 !important;
  min-height:54px !important;
  box-shadow:none !important;
}

body.home .plx-benefits-track{
  display:flex !important;
  width:max-content !important;
  animation:plx-benefits-marquee-reverse 34s linear infinite !important;
  will-change:transform;
}

body.home .plx-benefits-strip:hover .plx-benefits-track{
  animation-play-state:paused !important;
}

body.home .plx-benefits-set{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex:0 0 auto !important;
  padding:0 7px !important;
}

body.home .plx-benefit{
  flex:0 0 auto !important;
  min-height:38px !important;
  min-width:max-content !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.6rem !important;
  padding:.42rem .95rem !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:none !important;
}

body.home .plx-benefit-icon,
body.home .plx-benefit > span{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#ff3f82 !important;
  color:#fff !important;
  font-size:.72rem !important;
  line-height:1 !important;
}

body.home .plx-benefit-text{
  display:flex !important;
  align-items:baseline !important;
  gap:.55rem !important;
  white-space:nowrap !important;
}

body.home .plx-benefit strong{
  display:inline !important;
  color:#fff !important;
  font-family:var(--plx-font-condensed) !important;
  font-size:clamp(1.05rem,1.22vw,1.28rem) !important;
  font-weight:800 !important;
  letter-spacing:.045em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

body.home .plx-benefit small{
  display:inline !important;
  color:rgba(255,255,255,.68) !important;
  font-family:var(--plx-font-body-clean) !important;
  font-size:.72rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

body.home .plx-benefit small::before{
  content:"—";
  margin-right:.55rem;
  color:rgba(255,255,255,.32);
}

@keyframes plx-benefits-marquee-reverse{
  0%{
    transform:translateX(-50%);
  }
  100%{
    transform:translateX(0);
  }
}

@media (prefers-reduced-motion:reduce){
  body.home .plx-benefits-track{
    animation:none !important;
    transform:none !important;
  }
}

@media (max-width:768px){
  body.home .plx-benefits-strip{
    padding:7px 0 !important;
    min-height:48px !important;
  }

  body.home .plx-benefits-track{
    animation-duration:28s !important;
  }

  body.home .plx-benefit{
    min-height:34px !important;
    padding:.38rem .8rem !important;
  }

  body.home .plx-benefit strong{
    font-size:1rem !important;
  }

  body.home .plx-benefit small{
    font-size:.68rem !important;
  }
}


/* =========================================
   Home promo marquee step 18
   Correct target: the strip directly under the hero.
   Also restores the lower benefits bar to the normal static layout.
========================================= */

/* Restore the lower benefits bar: not moving */
body.home .plx-benefits-strip{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1rem !important;
  overflow:visible !important;
  background:#fff !important;
  border-radius:0 !important;
  padding:30px clamp(18px,4vw,56px) !important;
  margin:0 !important;
  min-height:0 !important;
  box-shadow:none !important;
}

body.home .plx-benefits-track,
body.home .plx-benefits-set{
  display:contents !important;
  animation:none !important;
  transform:none !important;
}

body.home .plx-benefit{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.8rem !important;
  min-height:64px !important;
  padding:0 1rem !important;
  border-radius:20px !important;
  background:var(--plx-soft) !important;
  border:0 !important;
  box-shadow:none !important;
}

body.home .plx-benefit span,
body.home .plx-benefit-icon{
  width:auto !important;
  height:auto !important;
  min-width:auto !important;
  display:inline !important;
  background:transparent !important;
  color:inherit !important;
  border-radius:0 !important;
  font-size:1.45rem !important;
}

body.home .plx-benefit-text,
body.home .plx-benefit div{
  display:block !important;
}

body.home .plx-benefit strong{
  display:block !important;
  color:var(--plx-navy) !important;
  font-family:var(--plx-font-condensed) !important;
  font-size:clamp(1.22rem,1.7vw,1.85rem) !important;
  line-height:1 !important;
  letter-spacing:.025em !important;
  text-transform:uppercase !important;
}

body.home .plx-benefit small{
  display:block !important;
  color:var(--plx-muted) !important;
  font-family:var(--plx-font-body-clean) !important;
  font-size:.7rem !important;
  line-height:1.15 !important;
}

body.home .plx-benefit small::before{
  content:none !important;
}

/* Promo strip directly under hero: navy marquee opposite the products carousel */
body.home .plx-promo-strip{
  display:block !important;
  overflow:hidden !important;
  background:#081225 !important;
  color:#fff !important;
  min-height:58px !important;
  padding:8px 0 !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

body.home .plx-promo-track{
  display:flex !important;
  width:max-content !important;
  animation:plx-promo-marquee-reverse 30s linear infinite !important;
  will-change:transform;
}

body.home .plx-promo-strip:hover .plx-promo-track{
  animation-play-state:paused !important;
}

body.home .plx-promo-set{
  display:flex !important;
  align-items:center !important;
  gap:clamp(2.2rem,6vw,6.5rem) !important;
  flex:0 0 auto !important;
  padding:0 clamp(1.1rem,2vw,2rem) !important;
}

body.home .plx-promo-item{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.62rem !important;
  min-width:max-content !important;
  color:#fff !important;
}

body.home .plx-promo-icon{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#ff4b8c !important;
  font-size:.9rem !important;
  line-height:1 !important;
  box-shadow:none !important;
}

body.home .plx-promo-icon::before{
  content:none !important;
}

body.home .plx-promo-copy{
  display:flex !important;
  align-items:baseline !important;
  gap:.58rem !important;
  white-space:nowrap !important;
}

body.home .plx-promo-item strong{
  display:inline !important;
  color:#fff !important;
  font-family:var(--plx-font-condensed) !important;
  font-size:clamp(1.1rem,1.45vw,1.55rem) !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

body.home .plx-promo-item small{
  display:inline !important;
  margin-top:0 !important;
  color:rgba(255,255,255,.66) !important;
  font-family:var(--plx-font-body-clean) !important;
  font-size:.72rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
}

body.home .plx-promo-item small::before{
  content:"—";
  margin-right:.58rem;
  color:rgba(255,255,255,.35);
}

@keyframes plx-promo-marquee-reverse{
  0%{
    transform:translateX(-50%);
  }
  100%{
    transform:translateX(0);
  }
}

@media (prefers-reduced-motion:reduce){
  body.home .plx-promo-track{
    animation:none !important;
    transform:none !important;
  }
}

@media (max-width:768px){
  body.home .plx-promo-strip{
    min-height:48px !important;
    padding:7px 0 !important;
  }

  body.home .plx-promo-track{
    animation-duration:24s !important;
  }

  body.home .plx-promo-set{
    gap:1.8rem !important;
  }

  body.home .plx-promo-item strong{
    font-size:1rem !important;
  }

  body.home .plx-promo-item small{
    font-size:.66rem !important;
  }

  body.home .plx-benefits-strip{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    padding:20px 18px !important;
  }

  body.home .plx-benefit{
    justify-content:flex-start !important;
  }
}

@media (max-width:480px){
  body.home .plx-benefits-strip{
    grid-template-columns:1fr !important;
  }
}


/* =========================================
   Home promo marquee step 19
   Make hero-under strip about one-third thinner.
========================================= */

body.home .plx-promo-strip{
  min-height:38px !important;
  padding:4px 0 !important;
}

body.home .plx-promo-set{
  gap:clamp(1.8rem,5vw,5.5rem) !important;
}

body.home .plx-promo-item{
  gap:.5rem !important;
}

body.home .plx-promo-icon{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  font-size:.72rem !important;
}

body.home .plx-promo-copy{
  gap:.42rem !important;
}

body.home .plx-promo-item strong{
  font-size:clamp(.92rem,1.15vw,1.18rem) !important;
  line-height:1 !important;
}

body.home .plx-promo-item small{
  font-size:.62rem !important;
  line-height:1 !important;
}

body.home .plx-promo-item small::before{
  margin-right:.42rem !important;
}

@media (max-width:768px){
  body.home .plx-promo-strip{
    min-height:36px !important;
    padding:4px 0 !important;
  }

  body.home .plx-promo-set{
    gap:1.45rem !important;
  }

  body.home .plx-promo-icon{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    font-size:.66rem !important;
  }

  body.home .plx-promo-item strong{
    font-size:.88rem !important;
  }

  body.home .plx-promo-item small{
    font-size:.58rem !important;
  }
}


/* =========================================
   Home promo marquee step 20
   Force actual strip height down, not just inner font size.
========================================= */

body.home .plx-promo-strip{
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
}

body.home .plx-promo-track{
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  display:flex !important;
  align-items:center !important;
}

body.home .plx-promo-set{
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  display:flex !important;
  align-items:center !important;
}

body.home .plx-promo-item{
  height:38px !important;
  min-height:0 !important;
  max-height:38px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
}

body.home .plx-promo-copy{
  height:auto !important;
  min-height:0 !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
}

body.home .plx-promo-icon{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  max-width:20px !important;
  max-height:20px !important;
}

body.home .plx-promo-item strong{
  font-size:clamp(.9rem,1.08vw,1.08rem) !important;
}

body.home .plx-promo-item small{
  font-size:.6rem !important;
}

@media (max-width:768px){
  body.home .plx-promo-strip,
  body.home .plx-promo-track,
  body.home .plx-promo-set,
  body.home .plx-promo-item{
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
  }

  body.home .plx-promo-icon{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
  }
}


/* =========================================
   Home promo marquee step 21
   Seamless 4-set reverse loop.
   Fixes the visible cut at the beginning of each cycle.
========================================= */

body.home .plx-promo-track{
  animation:plx-promo-marquee-reverse-seamless 30s linear infinite !important;
  transform:translate3d(-50%,0,0);
}

@keyframes plx-promo-marquee-reverse-seamless{
  0%{
    transform:translate3d(-50%,0,0);
  }
  100%{
    transform:translate3d(-25%,0,0);
  }
}

@media (max-width:768px){
  body.home .plx-promo-track{
    animation-duration:24s !important;
  }
}


/* =========================================
   Home best sellers / header cart step 22
   - product cards are clickable to product page
   - heart is above image and clickable
   - add-to-cart button is active
   - fixed cart button near menu
========================================= */

/* Fixed cart icon beside menu */
body.home .site-header .cart-btn{
  position:fixed !important;
  top:14px !important;
  right:68px !important;
  z-index:10060 !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--plx-navy) !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(11,29,58,.12) !important;
  border-radius:999px !important;
  box-shadow:0 12px 30px rgba(11,29,58,.14) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  cursor:pointer !important;
}

body.home .site-header .cart-btn:hover,
body.home .site-header .cart-btn:focus-visible{
  background:var(--plx-hover-red, #9f1239) !important;
  color:#fff !important;
  border-color:var(--plx-hover-red, #9f1239) !important;
}

body.home .site-header .cart-btn svg,
body.home .site-header .cart-btn svg *{
  width:21px !important;
  height:21px !important;
  stroke:currentColor !important;
  color:currentColor !important;
}

body.home .site-header .cart-btn .cart-count{
  position:absolute !important;
  top:-5px !important;
  right:-5px !important;
  min-width:19px !important;
  height:19px !important;
  padding:0 5px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:var(--plx-hover-red, #9f1239) !important;
  color:#fff !important;
  border:2px solid #fff !important;
  font-family:var(--plx-font-modern-caps) !important;
  font-size:.62rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}

body.home .site-header .mobile-menu-btn{
  top:14px !important;
  right:14px !important;
  z-index:10060 !important;
}

/* Product card clickable behavior */
body.home .plx-best-sellers-section .plx-product-card{
  position:relative !important;
  cursor:pointer !important;
}

body.home .plx-product-media-wrap{
  position:relative !important;
  min-height:210px !important;
  background:linear-gradient(180deg,#f6f8ff,#ffffff) !important;
}

body.home .plx-product-media-wrap .plx-product-media{
  min-height:210px !important;
  background:transparent !important;
}

body.home .plx-product-heart{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  z-index:5 !important;
  width:34px !important;
  height:34px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--plx-navy) !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:0 8px 20px rgba(15,23,42,.12) !important;
  cursor:pointer !important;
  transition:background-color .18s ease, color .18s ease, transform .18s ease !important;
}

body.home .plx-product-heart:hover,
body.home .plx-product-heart:focus-visible,
body.home .plx-product-heart.is-favorite{
  background:var(--plx-hover-red, #9f1239) !important;
  color:#fff !important;
  transform:none !important;
}

body.home .plx-product-bottom .plx-product-add-button{
  cursor:pointer !important;
  position:relative !important;
  z-index:4 !important;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

body.home .plx-product-bottom .plx-product-add-button:hover,
body.home .plx-product-bottom .plx-product-add-button:focus-visible{
  background:var(--plx-hover-red, #9f1239) !important;
  color:#fff !important;
}

/* Do not let drag helper kill all links after dragging */
body.home .plx-product-marquee:not(.is-dragging) a,
body.home .plx-product-marquee:not(.is-dragging) button{
  pointer-events:auto !important;
}

@media (max-width:768px){
  body.home .site-header .cart-btn{
    top:14px !important;
    right:64px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
  }
}


/* =========================================
   Home best sellers / header cart step 23
   Fix cart overlap by fixing the whole action group,
   not only the cart icon.
========================================= */

body.home .site-header .header-actions{
  position:fixed !important;
  top:14px !important;
  right:14px !important;
  z-index:10060 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
  margin:0 !important;
}

body.home .site-header .header-actions .header-action-btn,
body.home .site-header .header-actions .mobile-menu-btn{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  left:auto !important;
  bottom:auto !important;
  flex:0 0 auto !important;
}

/* Cart sits naturally before the menu inside the fixed header action group */
body.home .site-header .cart-btn{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  z-index:auto !important;
}

/* Keep the menu as the final icon, clean and above everything */
body.home .site-header .mobile-menu-btn{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  z-index:auto !important;
}

/* Avoid the cart count visually colliding with neighboring icons */
body.home .site-header .cart-btn .cart-count{
  top:-6px !important;
  right:-6px !important;
}
