/* =========================================
   Pinklitter PET CARDS JUSTIFIED v41
   Full-bleed Cat/Dog bands: no outside white gaps,
   media keeps its natural ratio to avoid video cropping.
========================================= */

body.home section.plx-pet-cards-section,
body.home .plx-pet-cards-section{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:clamp(56px,5vw,96px) 0 !important;
  background:#fff !important;
  overflow:hidden !important;
}

body.home .plx-pet-cards-section .plx-pet-cards{
  display:flex !important;
  flex-direction:column !important;
  gap:clamp(44px,4.6vw,88px) !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:0 !important;
}

body.home .plx-pet-cards-section .plx-pet-card{
  --plx-pet-black:#050505;
  --plx-pet-black-2:#0b0b0b;
  --plx-pet-card-h:clamp(300px,26vw,520px);
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  height:var(--plx-pet-card-h) !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  gap:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  background:var(--plx-pet-black) !important;
  transform:none !important;
  isolation:isolate !important;
}

/* Dog: text starts at page left, video ends at page right. */
body.home .plx-pet-card.plx-pet-card-dog,
body.home .plx-pet-card.plx-pet-card-dog.is-media-right{
  flex-direction:row !important;
  justify-content:stretch !important;
  justify-self:stretch !important;
}

/* Cat: video starts at page left, text ends at page right. */
body.home .plx-pet-card.plx-pet-card-cat,
body.home .plx-pet-card.plx-pet-card-cat.is-media-left{
  flex-direction:row !important;
  justify-content:stretch !important;
  justify-self:stretch !important;
}

/* Kill all previous side-fill/decorative pseudo elements that created fake panels. */
body.home .plx-pet-card::before,
body.home .plx-pet-card::after,
body.home .plx-pet-card-copy::before,
body.home .plx-pet-card-copy::after,
body.home .plx-pet-card-media::before,
body.home .plx-pet-card-media::after{
  content:none !important;
  display:none !important;
}

body.home .plx-pet-card-copy,
body.home .plx-pet-card-media{
  position:relative !important;
  z-index:1 !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

body.home .plx-pet-card-copy{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  padding:clamp(34px,4.2vw,78px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.045) 0, rgba(255,255,255,0) 34%),
    radial-gradient(circle at 52% 50%, rgba(255,112,25,.10) 0, rgba(255,112,25,0) 20%),
    linear-gradient(180deg,var(--plx-pet-black) 0%,var(--plx-pet-black-2) 45%,var(--plx-pet-black) 100%) !important;
  color:#fff !important;
}

body.home .plx-pet-card-media{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
  overflow:hidden !important;
  background:var(--plx-pet-black) !important;
}

body.home .plx-pet-card-dog .plx-pet-card-media{
  aspect-ratio:848 / 458 !important;
}

body.home .plx-pet-card-cat .plx-pet-card-media{
  aspect-ratio:848 / 510 !important;
}

body.home .plx-pet-card-poster,
body.home .plx-pet-card-video,
body.home .plx-pet-card > img.plx-pet-card-poster,
body.home .plx-pet-card > video.plx-pet-card-video{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  pointer-events:none !important;
  transition:opacity .22s ease !important;
}

body.home .plx-pet-card-video{
  z-index:2 !important;
  opacity:0 !important;
}

body.home .plx-pet-card-poster{
  z-index:1 !important;
  opacity:1 !important;
}

body.home .plx-pet-card.is-video-active .plx-pet-card-video{
  opacity:1 !important;
  transform:none !important;
}

body.home .plx-pet-card.is-video-active .plx-pet-card-poster{
  opacity:0 !important;
}

body.home .plx-pet-card:hover .plx-pet-card-poster,
body.home .plx-pet-card:hover .plx-pet-card-video,
body.home .plx-pet-card:focus-within .plx-pet-card-poster,
body.home .plx-pet-card:focus-within .plx-pet-card-video{
  transform:none !important;
}

body.home .plx-pet-card-dog .plx-pet-card-copy{
  order:1 !important;
  align-items:flex-start !important;
  text-align:left !important;
}

body.home .plx-pet-card-dog .plx-pet-card-media{
  order:2 !important;
}

body.home .plx-pet-card-cat .plx-pet-card-media{
  order:1 !important;
}

body.home .plx-pet-card-cat .plx-pet-card-copy{
  order:2 !important;
  align-items:flex-end !important;
  text-align:right !important;
}

body.home .plx-pet-card-text-frame{
  position:relative !important;
  z-index:3 !important;
  width:100% !important;
  max-width:min(860px,100%) !important;
}

body.home .plx-pet-card-dog .plx-pet-card-text-frame{
  margin-right:auto !important;
}

body.home .plx-pet-card-cat .plx-pet-card-text-frame{
  margin-left:auto !important;
}

body.home .plx-pet-card-text-frame::before,
body.home .plx-pet-card-text-frame::after{
  content:"" !important;
  position:absolute !important;
  height:1px !important;
  display:block !important;
  background:
    radial-gradient(circle, rgba(255,141,42,.95) 0, rgba(255,141,42,.58) 8%, rgba(255,141,42,.22) 16%, rgba(255,141,42,0) 34%),
    linear-gradient(90deg, rgba(255,141,42,0), rgba(255,141,42,.55), rgba(255,141,42,0)) !important;
  filter:drop-shadow(0 0 8px rgba(255,112,25,.70)) !important;
  opacity:.95 !important;
  pointer-events:none !important;
}

body.home .plx-pet-card-dog .plx-pet-card-text-frame::before,
body.home .plx-pet-card-dog .plx-pet-card-text-frame::after{
  left:0 !important;
  right:8% !important;
}

body.home .plx-pet-card-cat .plx-pet-card-text-frame::before,
body.home .plx-pet-card-cat .plx-pet-card-text-frame::after{
  left:8% !important;
  right:0 !important;
}

body.home .plx-pet-card-text-frame::before{ top:-38px !important; }
body.home .plx-pet-card-text-frame::after{ bottom:-42px !important; }

body.home .plx-pet-card-copy h2{
  color:#f7f4ee !important;
  font-family:'Bebas Neue', 'Barlow Condensed', var(--plx-font-modern-caps), sans-serif !important;
  font-size:clamp(2.5rem,4.2vw,5.2rem) !important;
  font-weight:400 !important;
  line-height:.94 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  margin:0 0 1rem !important;
  text-shadow:0 0 18px rgba(255,255,255,.10) !important;
}

body.home .plx-pet-card-copy p{
  color:rgba(255,255,255,.86) !important;
  font-family:'Archivo', var(--plx-font-body-clean), system-ui, sans-serif !important;
  font-size:clamp(.92rem,1.05vw,1.12rem) !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  letter-spacing:.02em !important;
  margin:0 0 1.55rem !important;
}

body.home .plx-pet-card-cat .plx-pet-card-copy h2,
body.home .plx-pet-card-cat .plx-pet-card-copy p{
  white-space:nowrap !important;
  max-width:none !important;
}

body.home .plx-pet-card-copy .plx-pet-card-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:.84rem 1.14rem !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.55) !important;
  color:#061326 !important;
  font-family:'Bebas Neue', 'Barlow Condensed', var(--plx-font-modern-caps), sans-serif !important;
  font-size:1rem !important;
  font-weight:400 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(0,0,0,.18) !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:#b93055 !important;
  border-color:#b93055 !important;
  color:#fff !important;
}

body.home .plx-pet-card:hover,
body.home .plx-pet-card:focus-within{
  transform:none !important;
  box-shadow:none !important;
}

@media (max-width:1180px){
  body.home .plx-pet-cards-section .plx-pet-card{
    --plx-pet-card-h:clamp(280px,30vw,430px);
  }

  body.home .plx-pet-card-copy{
    padding:clamp(28px,3.2vw,50px) !important;
  }

  body.home .plx-pet-card-copy h2{
    font-size:clamp(2.2rem,4.8vw,4rem) !important;
  }

  body.home .plx-pet-card-cat .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy p{
    white-space:normal !important;
  }
}

@media (max-width:767px){
  body.home section.plx-pet-cards-section,
  body.home .plx-pet-cards-section{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:48px 0 !important;
  }

  body.home .plx-pet-cards-section .plx-pet-cards{
    width:100% !important;
    max-width:100% !important;
    gap:44px !important;
  }

  body.home .plx-pet-cards-section .plx-pet-card{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    flex-direction:column !important;
  }

  body.home .plx-pet-card-dog .plx-pet-card-media,
  body.home .plx-pet-card-cat .plx-pet-card-media{
    order:1 !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
  }

  body.home .plx-pet-card-dog .plx-pet-card-copy,
  body.home .plx-pet-card-cat .plx-pet-card-copy{
    order:2 !important;
    width:100% !important;
    min-height:250px !important;
    height:auto !important;
    padding:30px 20px !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  body.home .plx-pet-card-copy h2{
    font-size:clamp(2rem,13vw,3.4rem) !important;
  }

  body.home .plx-pet-card-cat .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy p{
    white-space:normal !important;
  }
}

/* =========================================
   Pinklitter PET CARDS HOTFIX v42.2
   Restore CAT card styling exactly as the dark reference,
   and mirror that styling onto DOG card.
   - Cat: dark style, right-aligned, one-line heading.
   - Dog: same dark style, left-aligned mirror.
========================================= */

/* Force both copy panels to use the same dark cat-style treatment. */
body.home .plx-pet-card-dog .plx-pet-card-copy,
body.home .plx-pet-card-cat .plx-pet-card-copy{
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.045) 0, rgba(255,255,255,0) 34%),
    radial-gradient(circle at 52% 50%, rgba(255,112,25,.10) 0, rgba(255,112,25,0) 20%),
    linear-gradient(180deg,#050505 0%,#0b0b0b 45%,#050505 100%) !important;
  color:#fff !important;
}

/* Dog is the mirror of Cat: same style, left side. */
body.home .plx-pet-card-dog .plx-pet-card-copy{
  align-items:flex-start !important;
  text-align:left !important;
}

/* Cat keeps the original right-side styling. */
body.home .plx-pet-card-cat .plx-pet-card-copy{
  align-items:flex-end !important;
  text-align:right !important;
}

/* Keep each text block anchored to its own side without changing the other card. */
body.home .plx-pet-card-dog .plx-pet-card-text-frame,
body.home .plx-pet-card-cat .plx-pet-card-text-frame{
  position:relative !important;
  z-index:3 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:0 !important;
  width:auto !important;
  max-width:min(780px,100%) !important;
}

body.home .plx-pet-card-dog .plx-pet-card-text-frame{
  margin-left:0 !important;
  margin-right:auto !important;
  align-items:flex-start !important;
  text-align:left !important;
}

body.home .plx-pet-card-cat .plx-pet-card-text-frame{
  margin-left:auto !important;
  margin-right:0 !important;
  align-items:flex-end !important;
  text-align:right !important;
}

/* Keep the heading on one line, restore the dark reference look, and avoid cropping. */
body.home .plx-pet-card-dog .plx-pet-card-copy h2,
body.home .plx-pet-card-cat .plx-pet-card-copy h2{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  margin:0 0 1rem !important;
  color:#f7f4ee !important;
  font-family:'Orbitron','Bebas Neue','Barlow Condensed',var(--plx-font-modern-caps),sans-serif !important;
  font-size:clamp(2rem,3.35vw,4.15rem) !important;
  font-weight:800 !important;
  line-height:1.02 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  text-shadow:0 0 18px rgba(255,255,255,.10) !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

body.home .plx-pet-card-dog .plx-pet-card-copy h2{
  text-align:left !important;
  align-self:flex-start !important;
}

body.home .plx-pet-card-cat .plx-pet-card-copy h2{
  text-align:right !important;
  align-self:flex-end !important;
}

/* Subheading keeps the same side alignment as the heading and CTA. */
body.home .plx-pet-card-dog .plx-pet-card-copy p,
body.home .plx-pet-card-cat .plx-pet-card-copy p{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  margin:0 0 1.55rem !important;
  color:rgba(255,255,255,.86) !important;
  font-family:'Archivo','Quicksand',var(--plx-font-body-clean),system-ui,sans-serif !important;
  font-size:clamp(.92rem,1.05vw,1.12rem) !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}

body.home .plx-pet-card-dog .plx-pet-card-copy p{
  text-align:left !important;
  align-self:flex-start !important;
}

body.home .plx-pet-card-cat .plx-pet-card-copy p{
  text-align:right !important;
  align-self:flex-end !important;
}

/* Same button styling on both cards; only the side changes. */
body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta{
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  min-height:44px !important;
  padding:.84rem 1.14rem !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.55) !important;
  color:#061326 !important;
  font-family:'Orbitron','Bebas Neue','Barlow Condensed',var(--plx-font-modern-caps),sans-serif !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(0,0,0,.18) !important;
  margin:0 !important;
}

body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta{
  align-self:flex-start !important;
}

body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta{
  align-self:flex-end !important;
}

/* Preserve the mirrored decorative lines. */
body.home .plx-pet-card-dog .plx-pet-card-text-frame::before,
body.home .plx-pet-card-dog .plx-pet-card-text-frame::after{
  left:0 !important;
  right:8% !important;
}

body.home .plx-pet-card-cat .plx-pet-card-text-frame::before,
body.home .plx-pet-card-cat .plx-pet-card-text-frame::after{
  left:8% !important;
  right:0 !important;
}

/* Mobile: allow wrapping again so nothing breaks on small screens. */
@media (max-width:1180px){
  body.home .plx-pet-card-dog .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy h2{
    font-size:clamp(1.85rem,4vw,3.4rem) !important;
  }
}

@media (max-width:767px){
  body.home .plx-pet-card-dog .plx-pet-card-text-frame,
  body.home .plx-pet-card-cat .plx-pet-card-text-frame{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  body.home .plx-pet-card-dog .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy h2,
  body.home .plx-pet-card-dog .plx-pet-card-copy p,
  body.home .plx-pet-card-cat .plx-pet-card-copy p{
    white-space:normal !important;
    text-align:left !important;
    align-self:flex-start !important;
  }

  body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta,
  body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta{
    align-self:flex-start !important;
  }
}


/* =========================================
   Pinklitter PET CARDS HOTFIX v43
   Old colorful card look, but full-width.
   Keep the dark-card typography and CTA styling.
========================================= */

body.home section.plx-pet-cards-section,
body.home .plx-pet-cards-section{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:clamp(32px,4vw,56px) clamp(12px,2vw,24px) !important;
  background:#fff !important;
  overflow:visible !important;
}

body.home .plx-pet-cards-section .plx-pet-cards{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:clamp(20px,2.2vw,34px) !important;
}

body.home .plx-pet-cards-section .plx-pet-card,
body.home .plx-pet-card.plx-pet-card-dog,
body.home .plx-pet-card.plx-pet-card-cat{
  width:100% !important;
  max-width:100% !important;
  min-height:clamp(280px,30vw,420px) !important;
  height:clamp(280px,30vw,420px) !important;
  margin:0 !important;
  border-radius:30px !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(320px,40%) minmax(0,60%) !important;
  grid-template-areas:'copy media' !important;
  align-items:stretch !important;
  background:#f0f0f0 !important;
  box-shadow:0 14px 34px rgba(19,29,56,.07) !important;
}

body.home .plx-pet-card.plx-pet-card-cat{
  background:linear-gradient(135deg,#f8c3d6 0%,#f3b3c6 46%,#f0aabc 100%) !important;
}

body.home .plx-pet-card.plx-pet-card-dog{
  background:linear-gradient(135deg,#b8dff8 0%,#9ac9ea 48%,#8bbbe1 100%) !important;
}

/* Remove the black-band frame decorations for the colorful version. */
body.home .plx-pet-card::before,
body.home .plx-pet-card::after,
body.home .plx-pet-card-copy::before,
body.home .plx-pet-card-copy::after,
body.home .plx-pet-card-media::before,
body.home .plx-pet-card-media::after,
body.home .plx-pet-card-text-frame::before,
body.home .plx-pet-card-text-frame::after{
  content:none !important;
  display:none !important;
}

body.home .plx-pet-card-copy,
body.home .plx-pet-card-dog .plx-pet-card-copy,
body.home .plx-pet-card-cat .plx-pet-card-copy{
  grid-area:copy !important;
  order:1 !important;
  width:100% !important;
  min-width:0 !important;
  min-height:100% !important;
  padding:clamp(26px,4vw,56px) !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:left !important;
  color:#fff !important;
}

body.home .plx-pet-card-media,
body.home .plx-pet-card-dog .plx-pet-card-media,
body.home .plx-pet-card-cat .plx-pet-card-media{
  grid-area:media !important;
  order:2 !important;
  position:relative !important;
  width:100% !important;
  min-height:100% !important;
  background:transparent !important;
  overflow:hidden !important;
}

body.home .plx-pet-card-text-frame,
body.home .plx-pet-card-dog .plx-pet-card-text-frame,
body.home .plx-pet-card-cat .plx-pet-card-text-frame{
  width:100% !important;
  max-width:520px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:left !important;
  overflow:visible !important;
}

body.home .plx-pet-card-copy h2,
body.home .plx-pet-card-dog .plx-pet-card-copy h2,
body.home .plx-pet-card-cat .plx-pet-card-copy h2{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 .8rem !important;
  color:#f7f4ee !important;
  font-family:'Orbitron','Bebas Neue','Barlow Condensed',var(--plx-font-modern-caps),sans-serif !important;
  font-size:clamp(2rem,3.7vw,4.25rem) !important;
  font-weight:800 !important;
  line-height:.93 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  text-shadow:0 8px 26px rgba(0,0,0,.18) !important;
  white-space:normal !important;
  overflow:visible !important;
}

body.home .plx-pet-card-copy p,
body.home .plx-pet-card-dog .plx-pet-card-copy p,
body.home .plx-pet-card-cat .plx-pet-card-copy p{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 1.3rem !important;
  color:rgba(255,255,255,.93) !important;
  font-family:'Archivo','Quicksand',var(--plx-font-body-clean),system-ui,sans-serif !important;
  font-size:clamp(.92rem,1.05vw,1.08rem) !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  letter-spacing:.01em !important;
  text-align:left !important;
  white-space:normal !important;
  text-shadow:0 4px 18px rgba(0,0,0,.12) !important;
}

body.home .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta{
  align-self:flex-start !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.5rem !important;
  min-height:46px !important;
  padding:.86rem 1.22rem !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.58) !important;
  color:#061326 !important;
  font-family:'Orbitron','Bebas Neue','Barlow Condensed',var(--plx-font-modern-caps),sans-serif !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(0,0,0,.14) !important;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease !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:#b93055 !important;
  border-color:#b93055 !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 16px 34px rgba(185,48,85,.28),0 12px 26px rgba(0,0,0,.18) !important;
}

body.home .plx-pet-card-poster,
body.home .plx-pet-card-video,
body.home .plx-pet-card > img.plx-pet-card-poster,
body.home .plx-pet-card > video.plx-pet-card-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

body.home .plx-pet-card-dog .plx-pet-card-poster,
body.home .plx-pet-card-dog .plx-pet-card-video{
  object-position:70% center !important;
}

body.home .plx-pet-card-cat .plx-pet-card-poster,
body.home .plx-pet-card-cat .plx-pet-card-video{
  object-position:68% center !important;
}

body.home .plx-pet-card:hover,
body.home .plx-pet-card:focus-within{
  transform:translateY(-1px) !important;
  box-shadow:0 18px 42px rgba(19,29,56,.08) !important;
}

body.home .plx-pet-card.is-video-active .plx-pet-card-video{ opacity:1 !important; }
body.home .plx-pet-card.is-video-active .plx-pet-card-poster{ opacity:0 !important; }

@media (max-width:991px){
  body.home .plx-pet-cards-section .plx-pet-card,
  body.home .plx-pet-card.plx-pet-card-dog,
  body.home .plx-pet-card.plx-pet-card-cat{
    grid-template-columns:minmax(260px,46%) minmax(0,54%) !important;
    height:clamp(260px,36vw,360px) !important;
    min-height:clamp(260px,36vw,360px) !important;
  }

  body.home .plx-pet-card-copy h2{ font-size:clamp(1.7rem,4.4vw,3rem) !important; }
}

@media (max-width:767px){
  body.home section.plx-pet-cards-section,
  body.home .plx-pet-cards-section{
    padding:24px 14px !important;
  }

  body.home .plx-pet-cards-section .plx-pet-card,
  body.home .plx-pet-card.plx-pet-card-dog,
  body.home .plx-pet-card.plx-pet-card-cat{
    grid-template-columns:1fr !important;
    grid-template-areas:'media' 'copy' !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:24px !important;
  }

  body.home .plx-pet-card-media{
    min-height:220px !important;
    aspect-ratio:16 / 10 !important;
  }

  body.home .plx-pet-card-copy{
    min-height:0 !important;
    padding:24px 20px 26px !important;
  }

  body.home .plx-pet-card-text-frame{
    max-width:100% !important;
  }

  body.home .plx-pet-card-copy h2{
    font-size:clamp(1.6rem,8vw,2.6rem) !important;
  }
}

/* =========================================
   Pinklitter PET CARDS HOTFIX v43.1
   Two colorful cards side-by-side across screen.
   Each card takes half the screen width.
========================================= */

/* Section stays full-bleed, with a little breathing room around the pair. */
body.home section.plx-pet-cards-section,
body.home .plx-pet-cards-section{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:clamp(34px,4vw,62px) clamp(14px,2vw,28px) !important;
  background:#fff !important;
  overflow:visible !important;
}

/* The two cards sit in one row and together fill the screen width. */
body.home .plx-pet-cards-section .plx-pet-cards{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:clamp(16px,1.5vw,28px) !important;
  align-items:stretch !important;
}

/* Each card fills its half. */
body.home .plx-pet-cards-section .plx-pet-card,
body.home .plx-pet-card.plx-pet-card-cat,
body.home .plx-pet-card.plx-pet-card-dog{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:clamp(250px,24vw,390px) !important;
  min-height:clamp(250px,24vw,390px) !important;
  margin:0 !important;
  border-radius:28px !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(190px,42%) minmax(0,58%) !important;
  grid-template-areas:"copy media" !important;
  background:#f0f0f0 !important;
  box-shadow:0 14px 34px rgba(19,29,56,.07) !important;
}

/* Keep the old colorful identity. */
body.home .plx-pet-card.plx-pet-card-cat{
  background:linear-gradient(135deg,#f8c3d6 0%,#f3b3c6 48%,#f0aabc 100%) !important;
}

body.home .plx-pet-card.plx-pet-card-dog{
  background:linear-gradient(135deg,#b8dff8 0%,#9ac9ea 50%,#8bbbe1 100%) !important;
}

/* Text area left, image/video area right inside each half-card. */
body.home .plx-pet-card-cat .plx-pet-card-copy,
body.home .plx-pet-card-dog .plx-pet-card-copy,
body.home .plx-pet-card-copy{
  grid-area:copy !important;
  order:1 !important;
  width:100% !important;
  min-width:0 !important;
  min-height:100% !important;
  padding:clamp(20px,2.8vw,46px) !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:left !important;
  overflow:visible !important;
}

body.home .plx-pet-card-cat .plx-pet-card-media,
body.home .plx-pet-card-dog .plx-pet-card-media,
body.home .plx-pet-card-media{
  grid-area:media !important;
  order:2 !important;
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  min-height:100% !important;
  background:transparent !important;
  overflow:hidden !important;
  aspect-ratio:auto !important;
}

/* Text frame uses dark-card typography but sized for half-screen cards. */
body.home .plx-pet-card-text-frame,
body.home .plx-pet-card-cat .plx-pet-card-text-frame,
body.home .plx-pet-card-dog .plx-pet-card-text-frame{
  width:100% !important;
  max-width:360px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:left !important;
  overflow:visible !important;
}

body.home .plx-pet-card-copy h2,
body.home .plx-pet-card-cat .plx-pet-card-copy h2,
body.home .plx-pet-card-dog .plx-pet-card-copy h2{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 .78rem !important;
  color:#f7f4ee !important;
  font-family:'Orbitron','Bebas Neue','Barlow Condensed',var(--plx-font-modern-caps),sans-serif !important;
  font-size:clamp(1.55rem,2.3vw,3.05rem) !important;
  font-weight:800 !important;
  line-height:.95 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  white-space:normal !important;
  overflow:visible !important;
  text-shadow:0 8px 26px rgba(0,0,0,.18) !important;
}

body.home .plx-pet-card-copy p,
body.home .plx-pet-card-cat .plx-pet-card-copy p,
body.home .plx-pet-card-dog .plx-pet-card-copy p{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 1.18rem !important;
  color:rgba(255,255,255,.93) !important;
  font-family:'Archivo','Quicksand',var(--plx-font-body-clean),system-ui,sans-serif !important;
  font-size:clamp(.76rem,.78vw,.96rem) !important;
  font-weight:600 !important;
  line-height:1.42 !important;
  letter-spacing:.01em !important;
  text-align:left !important;
  white-space:normal !important;
  text-shadow:0 4px 18px rgba(0,0,0,.13) !important;
}

body.home .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta{
  align-self:flex-start !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.46rem !important;
  min-height:38px !important;
  padding:.72rem .95rem !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.58) !important;
  color:#061326 !important;
  font-family:'Orbitron','Bebas Neue','Barlow Condensed',var(--plx-font-modern-caps),sans-serif !important;
  font-size:clamp(.62rem,.62vw,.78rem) !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(0,0,0,.14) !important;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease !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:#b93055 !important;
  border-color:#b93055 !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 16px 34px rgba(185,48,85,.28),0 12px 26px rgba(0,0,0,.18) !important;
}

/* Image/video fills the right side of each card. */
body.home .plx-pet-card-poster,
body.home .plx-pet-card-video,
body.home .plx-pet-card > img.plx-pet-card-poster,
body.home .plx-pet-card > video.plx-pet-card-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  pointer-events:none !important;
}

body.home .plx-pet-card-cat .plx-pet-card-poster,
body.home .plx-pet-card-cat .plx-pet-card-video{
  object-position:65% center !important;
}

body.home .plx-pet-card-dog .plx-pet-card-poster,
body.home .plx-pet-card-dog .plx-pet-card-video{
  object-position:70% center !important;
}

/* Tablet keeps two cards but makes text slightly tighter. */
@media (max-width:1100px){
  body.home .plx-pet-cards-section .plx-pet-card,
  body.home .plx-pet-card.plx-pet-card-cat,
  body.home .plx-pet-card.plx-pet-card-dog{
    grid-template-columns:minmax(170px,45%) minmax(0,55%) !important;
    height:clamp(230px,28vw,330px) !important;
    min-height:clamp(230px,28vw,330px) !important;
  }

  body.home .plx-pet-card-copy h2{
    font-size:clamp(1.25rem,2.55vw,2.35rem) !important;
  }

  body.home .plx-pet-card-copy p{
    font-size:clamp(.68rem,.86vw,.86rem) !important;
  }
}

/* Mobile: stack cards vertically for readability. */
@media (max-width:767px){
  body.home section.plx-pet-cards-section,
  body.home .plx-pet-cards-section{
    padding:24px 14px !important;
  }

  body.home .plx-pet-cards-section .plx-pet-cards{
    display:flex !important;
    flex-direction:column !important;
    gap:20px !important;
  }

  body.home .plx-pet-cards-section .plx-pet-card,
  body.home .plx-pet-card.plx-pet-card-cat,
  body.home .plx-pet-card.plx-pet-card-dog{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"media" "copy" !important;
    border-radius:24px !important;
  }

  body.home .plx-pet-card-media{
    min-height:220px !important;
    aspect-ratio:16 / 10 !important;
  }

  body.home .plx-pet-card-copy{
    min-height:0 !important;
    padding:24px 20px 26px !important;
  }

  body.home .plx-pet-card-text-frame{
    max-width:100% !important;
  }

  body.home .plx-pet-card-copy h2{
    font-size:clamp(1.6rem,8vw,2.6rem) !important;
  }

  body.home .plx-pet-card-copy p{
    font-size:.92rem !important;
  }

  body.home .plx-pet-card-copy .plx-pet-card-cta{
    min-height:42px !important;
    font-size:.72rem !important;
  }
}

/* =========================================
   Pinklitter PET CARDS HOTFIX v43.2
   Two half-screen cards, with text overlayed
   directly on the video/image — no separate
   text column beside the media.
========================================= */

/* Keep the two cards beside each other across the screen. */
body.home .plx-pet-cards-section .plx-pet-cards{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:clamp(16px,1.5vw,28px) !important;
  width:100% !important;
  max-width:none !important;
}

/* Each card is now one media canvas, not copy + media columns. */
body.home .plx-pet-cards-section .plx-pet-card,
body.home .plx-pet-card.plx-pet-card-cat,
body.home .plx-pet-card.plx-pet-card-dog{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:clamp(250px,24vw,390px) !important;
  min-height:clamp(250px,24vw,390px) !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#f2f2f2 !important;
  box-shadow:0 14px 34px rgba(19,29,56,.07) !important;
}

/* Media covers the whole card area. */
body.home .plx-pet-card-media,
body.home .plx-pet-card-cat .plx-pet-card-media,
body.home .plx-pet-card-dog .plx-pet-card-media{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  overflow:hidden !important;
  aspect-ratio:auto !important;
}

/* Image/video are kept as complete as possible; no forced crop. */
body.home .plx-pet-card-poster,
body.home .plx-pet-card-video,
body.home .plx-pet-card > img.plx-pet-card-poster,
body.home .plx-pet-card > video.plx-pet-card-video{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  pointer-events:none !important;
}

/* Keep each animal visually close to the old card composition without cropping. */
body.home .plx-pet-card-cat .plx-pet-card-poster,
body.home .plx-pet-card-cat .plx-pet-card-video{
  object-position:center center !important;
}

body.home .plx-pet-card-dog .plx-pet-card-poster,
body.home .plx-pet-card-dog .plx-pet-card-video{
  object-position:center center !important;
}

/* Text is overlayed directly on top of the media. */
body.home .plx-pet-card-copy,
body.home .plx-pet-card-cat .plx-pet-card-copy,
body.home .plx-pet-card-dog .plx-pet-card-copy{
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:clamp(20px,3vw,46px) !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
  pointer-events:none !important;
}

/* Dog text: left overlay. */
body.home .plx-pet-card-dog .plx-pet-card-copy{
  justify-content:flex-start !important;
  text-align:left !important;
}

/* Cat text: right overlay, as requested. */
body.home .plx-pet-card-cat .plx-pet-card-copy{
  justify-content:flex-end !important;
  text-align:right !important;
}

body.home .plx-pet-card-text-frame,
body.home .plx-pet-card-cat .plx-pet-card-text-frame,
body.home .plx-pet-card-dog .plx-pet-card-text-frame{
  position:relative !important;
  z-index:4 !important;
  width:auto !important;
  max-width:min(440px,56%) !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  overflow:visible !important;
  pointer-events:none !important;
}

body.home .plx-pet-card-dog .plx-pet-card-text-frame{
  align-items:flex-start !important;
  text-align:left !important;
}

body.home .plx-pet-card-cat .plx-pet-card-text-frame{
  align-items:flex-end !important;
  text-align:right !important;
}

/* No added decorative panels/lines. */
body.home .plx-pet-card::before,
body.home .plx-pet-card::after,
body.home .plx-pet-card-copy::before,
body.home .plx-pet-card-copy::after,
body.home .plx-pet-card-media::before,
body.home .plx-pet-card-media::after,
body.home .plx-pet-card-text-frame::before,
body.home .plx-pet-card-text-frame::after{
  content:none !important;
  display:none !important;
}

/* Keep heading on one line whenever there is room. */
body.home .plx-pet-card-copy h2,
body.home .plx-pet-card-cat .plx-pet-card-copy h2,
body.home .plx-pet-card-dog .plx-pet-card-copy h2{
  width:auto !important;
  max-width:100% !important;
  margin:0 0 .72rem !important;
  color:#f7f4ee !important;
  font-family:'Orbitron','Bebas Neue','Barlow Condensed',var(--plx-font-modern-caps),sans-serif !important;
  font-size:clamp(1.5rem,2.2vw,3.05rem) !important;
  font-weight:800 !important;
  line-height:.95 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  text-shadow:0 8px 26px rgba(0,0,0,.32) !important;
}

body.home .plx-pet-card-dog .plx-pet-card-copy h2{
  text-align:left !important;
  align-self:flex-start !important;
}

body.home .plx-pet-card-cat .plx-pet-card-copy h2{
  text-align:right !important;
  align-self:flex-end !important;
}

/* Subheading follows the same side alignment. */
body.home .plx-pet-card-copy p,
body.home .plx-pet-card-cat .plx-pet-card-copy p,
body.home .plx-pet-card-dog .plx-pet-card-copy p{
  width:auto !important;
  max-width:100% !important;
  margin:0 0 1.08rem !important;
  color:rgba(255,255,255,.94) !important;
  font-family:'Archivo','Quicksand',var(--plx-font-body-clean),system-ui,sans-serif !important;
  font-size:clamp(.76rem,.78vw,.96rem) !important;
  font-weight:700 !important;
  line-height:1.42 !important;
  letter-spacing:.01em !important;
  white-space:normal !important;
  text-shadow:0 5px 18px rgba(0,0,0,.28) !important;
}

body.home .plx-pet-card-dog .plx-pet-card-copy p{
  text-align:left !important;
  align-self:flex-start !important;
}

body.home .plx-pet-card-cat .plx-pet-card-copy p{
  text-align:right !important;
  align-self:flex-end !important;
}

/* CTA stays on the media and remains clickable. */
body.home .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta{
  pointer-events:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.46rem !important;
  width:auto !important;
  max-width:100% !important;
  min-height:38px !important;
  padding:.72rem .95rem !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.58) !important;
  color:#061326 !important;
  font-family:'Orbitron','Bebas Neue','Barlow Condensed',var(--plx-font-modern-caps),sans-serif !important;
  font-size:clamp(.62rem,.62vw,.78rem) !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(0,0,0,.18) !important;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease !important;
}

body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta{
  align-self:flex-start !important;
}

body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta{
  align-self:flex-end !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:#b93055 !important;
  border-color:#b93055 !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 16px 34px rgba(185,48,85,.28),0 12px 26px rgba(0,0,0,.18) !important;
}

body.home .plx-pet-card.is-video-active .plx-pet-card-video{
  opacity:1 !important;
}

body.home .plx-pet-card.is-video-active .plx-pet-card-poster{
  opacity:0 !important;
}

/* Slightly reduce text on medium widths so it stays one-line longer. */
@media (max-width:1100px){
  body.home .plx-pet-card-text-frame,
  body.home .plx-pet-card-cat .plx-pet-card-text-frame,
  body.home .plx-pet-card-dog .plx-pet-card-text-frame{
    max-width:min(380px,58%) !important;
  }

  body.home .plx-pet-card-copy h2{
    font-size:clamp(1.18rem,2.45vw,2.35rem) !important;
  }

  body.home .plx-pet-card-copy p{
    font-size:clamp(.68rem,.86vw,.86rem) !important;
  }
}

/* Mobile stacks cards and allows wrapping only when space is tight. */
@media (max-width:767px){
  body.home .plx-pet-cards-section .plx-pet-cards{
    display:flex !important;
    flex-direction:column !important;
    gap:20px !important;
  }

  body.home .plx-pet-cards-section .plx-pet-card,
  body.home .plx-pet-card.plx-pet-card-cat,
  body.home .plx-pet-card.plx-pet-card-dog{
    width:100% !important;
    height:260px !important;
    min-height:260px !important;
    border-radius:24px !important;
  }

  body.home .plx-pet-card-copy,
  body.home .plx-pet-card-cat .plx-pet-card-copy,
  body.home .plx-pet-card-dog .plx-pet-card-copy{
    justify-content:flex-start !important;
    text-align:left !important;
    padding:24px 20px !important;
  }

  body.home .plx-pet-card-text-frame,
  body.home .plx-pet-card-cat .plx-pet-card-text-frame,
  body.home .plx-pet-card-dog .plx-pet-card-text-frame{
    max-width:70% !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  body.home .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy h2,
  body.home .plx-pet-card-dog .plx-pet-card-copy h2{
    font-size:clamp(1.25rem,6vw,2.2rem) !important;
    white-space:normal !important;
    text-align:left !important;
    align-self:flex-start !important;
  }

  body.home .plx-pet-card-copy p,
  body.home .plx-pet-card-cat .plx-pet-card-copy p,
  body.home .plx-pet-card-dog .plx-pet-card-copy p{
    text-align:left !important;
    align-self:flex-start !important;
  }

  body.home .plx-pet-card-copy .plx-pet-card-cta,
  body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta,
  body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta{
    align-self:flex-start !important;
  }
}

/* =========================================
   Pinklitter PET CARDS HOTFIX v43.3
   - Text overlay is left-aligned on BOTH cards.
   - Removes the old gold line/decorative rules.
   - Keeps heading one-line while there is space.
========================================= */

/* Both animals are on the right, so both text blocks live on the left. */
body.home .plx-pet-card-copy,
body.home .plx-pet-card-cat .plx-pet-card-copy,
body.home .plx-pet-card-dog .plx-pet-card-copy{
  justify-content:flex-start !important;
  align-items:center !important;
  text-align:left !important;
  padding-left:clamp(24px,3vw,58px) !important;
  padding-right:clamp(18px,2vw,34px) !important;
}

/* Same left-side text frame for cats and dogs. */
body.home .plx-pet-card-text-frame,
body.home .plx-pet-card-cat .plx-pet-card-text-frame,
body.home .plx-pet-card-dog .plx-pet-card-text-frame{
  width:auto !important;
  max-width:min(680px,72%) !important;
  margin-left:0 !important;
  margin-right:auto !important;
  align-items:flex-start !important;
  text-align:left !important;
  overflow:visible !important;
}

/* Strong removal for the gold line / old black-card decorative frame. */
body.home .plx-pet-card::before,
body.home .plx-pet-card::after,
body.home .plx-pet-card-copy::before,
body.home .plx-pet-card-copy::after,
body.home .plx-pet-card-media::before,
body.home .plx-pet-card-media::after,
body.home .plx-pet-card-text-frame::before,
body.home .plx-pet-card-text-frame::after,
body.home .plx-pet-card-cat .plx-pet-card-text-frame::before,
body.home .plx-pet-card-cat .plx-pet-card-text-frame::after,
body.home .plx-pet-card-dog .plx-pet-card-text-frame::before,
body.home .plx-pet-card-dog .plx-pet-card-text-frame::after{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
}

/* Heading: left aligned on both cards and kept on one line when width allows. */
body.home .plx-pet-card-copy h2,
body.home .plx-pet-card-cat .plx-pet-card-copy h2,
body.home .plx-pet-card-dog .plx-pet-card-copy h2{
  width:auto !important;
  max-width:100% !important;
  align-self:flex-start !important;
  text-align:left !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:clamp(1.38rem,2.05vw,2.75rem) !important;
  line-height:.96 !important;
}

/* Subheading and button follow the same left edge. */
body.home .plx-pet-card-copy p,
body.home .plx-pet-card-cat .plx-pet-card-copy p,
body.home .plx-pet-card-dog .plx-pet-card-copy p{
  width:auto !important;
  max-width:100% !important;
  align-self:flex-start !important;
  text-align:left !important;
}

body.home .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta{
  align-self:flex-start !important;
}

/* Keep videos/images complete as much as possible. */
body.home .plx-pet-card-poster,
body.home .plx-pet-card-video,
body.home .plx-pet-card > img.plx-pet-card-poster,
body.home .plx-pet-card > video.plx-pet-card-video{
  object-fit:contain !important;
  object-position:center center !important;
}

/* If a browser keeps the old line from cached pseudo styles, this wins last. */
body.home .plx-pet-card-cat *::before,
body.home .plx-pet-card-cat *::after,
body.home .plx-pet-card-dog *::before,
body.home .plx-pet-card-dog *::after{
  background-image:none !important;
}

/* Medium widths: reduce font so the heading stays one line longer. */
@media (max-width:1100px){
  body.home .plx-pet-card-text-frame,
  body.home .plx-pet-card-cat .plx-pet-card-text-frame,
  body.home .plx-pet-card-dog .plx-pet-card-text-frame{
    max-width:min(600px,74%) !important;
  }

  body.home .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy h2,
  body.home .plx-pet-card-dog .plx-pet-card-copy h2{
    font-size:clamp(1.12rem,2.25vw,2.15rem) !important;
  }
}

/* Mobile can wrap when there is no real room. */
@media (max-width:767px){
  body.home .plx-pet-card-text-frame,
  body.home .plx-pet-card-cat .plx-pet-card-text-frame,
  body.home .plx-pet-card-dog .plx-pet-card-text-frame{
    max-width:78% !important;
  }

  body.home .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy h2,
  body.home .plx-pet-card-dog .plx-pet-card-copy h2{
    white-space:normal !important;
  }
}

/* =========================================
   Pinklitter PET CARDS HOTFIX v43.4
   Taller half-screen cards so the videos can
   show their full height/width with less crop.
========================================= */

/* The pair stays side-by-side, but each card is taller. */
body.home .plx-pet-cards-section .plx-pet-card,
body.home .plx-pet-card.plx-pet-card-cat,
body.home .plx-pet-card.plx-pet-card-dog{
  height:clamp(360px,34vw,620px) !important;
  min-height:clamp(360px,34vw,620px) !important;
  max-height:none !important;
}

/* Let the media use the full card canvas. */
body.home .plx-pet-card-media,
body.home .plx-pet-card-cat .plx-pet-card-media,
body.home .plx-pet-card-dog .plx-pet-card-media{
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  overflow:visible !important;
  background:transparent !important;
}

/* No crop: the entire video/image must remain visible. */
body.home .plx-pet-card-poster,
body.home .plx-pet-card-video,
body.home .plx-pet-card > img.plx-pet-card-poster,
body.home .plx-pet-card > video.plx-pet-card-video{
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Make sure no old overlay line is still generated by cached pseudo-elements. */
body.home .plx-pet-card-text-frame::before,
body.home .plx-pet-card-text-frame::after,
body.home .plx-pet-card-cat .plx-pet-card-text-frame::before,
body.home .plx-pet-card-cat .plx-pet-card-text-frame::after,
body.home .plx-pet-card-dog .plx-pet-card-text-frame::before,
body.home .plx-pet-card-dog .plx-pet-card-text-frame::after{
  content:none !important;
  display:none !important;
  background:none !important;
  background-image:none !important;
  width:0 !important;
  height:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
}

/* Keep text readable on the taller video area. */
body.home .plx-pet-card-copy,
body.home .plx-pet-card-cat .plx-pet-card-copy,
body.home .plx-pet-card-dog .plx-pet-card-copy{
  padding-top:clamp(24px,3vw,58px) !important;
  padding-bottom:clamp(24px,3vw,58px) !important;
}

/* On medium screens, still keep enough height for the full media. */
@media (max-width:1100px){
  body.home .plx-pet-cards-section .plx-pet-card,
  body.home .plx-pet-card.plx-pet-card-cat,
  body.home .plx-pet-card.plx-pet-card-dog{
    height:clamp(320px,39vw,500px) !important;
    min-height:clamp(320px,39vw,500px) !important;
  }
}

/* Mobile remains stacked and taller. */
@media (max-width:767px){
  body.home .plx-pet-cards-section .plx-pet-card,
  body.home .plx-pet-card.plx-pet-card-cat,
  body.home .plx-pet-card.plx-pet-card-dog{
    height:clamp(310px,76vw,460px) !important;
    min-height:clamp(310px,76vw,460px) !important;
  }
}

/* =========================================
   Pinklitter PET CARDS HOTFIX v43.5
   - Reduce card height again.
   - Add more comfortable text line spacing.
   - Push CTA to the bottom of the text area.
   - Use a colored CTA instead of plain white.
========================================= */

/* Back to a cleaner, shorter card height. */
body.home .plx-pet-cards-section .plx-pet-card,
body.home .plx-pet-card.plx-pet-card-cat,
body.home .plx-pet-card.plx-pet-card-dog{
  height:clamp(255px,23vw,390px) !important;
  min-height:clamp(255px,23vw,390px) !important;
  max-height:390px !important;
}

/* Keep the video/image full and centered, without increasing the card height. */
body.home .plx-pet-card-poster,
body.home .plx-pet-card-video,
body.home .plx-pet-card > img.plx-pet-card-poster,
body.home .plx-pet-card > video.plx-pet-card-video{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Text overlay fills the card height so the button can sit at the bottom. */
body.home .plx-pet-card-copy,
body.home .plx-pet-card-cat .plx-pet-card-copy,
body.home .plx-pet-card-dog .plx-pet-card-copy{
  align-items:stretch !important;
  justify-content:flex-start !important;
  padding:clamp(22px,2.6vw,42px) clamp(22px,2.8vw,52px) !important;
}

/* Text frame: top text + bottom button, all aligned left. */
body.home .plx-pet-card-text-frame,
body.home .plx-pet-card-cat .plx-pet-card-text-frame,
body.home .plx-pet-card-dog .plx-pet-card-text-frame{
  height:100% !important;
  max-width:min(680px,72%) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  text-align:left !important;
}

/* More relaxed title spacing. */
body.home .plx-pet-card-copy h2,
body.home .plx-pet-card-cat .plx-pet-card-copy h2,
body.home .plx-pet-card-dog .plx-pet-card-copy h2{
  line-height:1.08 !important;
  margin:0 0 clamp(.55rem,.9vw,.95rem) !important;
  white-space:nowrap !important;
}

/* More breathing room for the subheading. */
body.home .plx-pet-card-copy p,
body.home .plx-pet-card-cat .plx-pet-card-copy p,
body.home .plx-pet-card-dog .plx-pet-card-copy p{
  line-height:1.72 !important;
  margin:0 !important;
  max-width:min(560px,100%) !important;
}

/* Button separated at the bottom of the text overlay. */
body.home .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-cat .plx-pet-card-copy .plx-pet-card-cta,
body.home .plx-pet-card-dog .plx-pet-card-copy .plx-pet-card-cta{
  margin-top:auto !important;
  align-self:flex-start !important;
  background:#b93055 !important;
  border-color:#b93055 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(185,48,85,.28),0 12px 26px rgba(0,0,0,.16) !important;
}

/* Hover is now a clear inverted/bright state instead of only white. */
body.home .plx-pet-card-copy .plx-pet-card-cta:hover,
body.home .plx-pet-card-copy .plx-pet-card-cta:focus-visible{
  background:#061326 !important;
  border-color:#061326 !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 18px 38px rgba(6,19,38,.28),0 12px 26px rgba(0,0,0,.18) !important;
}

/* Medium screens: shorter again. */
@media (max-width:1100px){
  body.home .plx-pet-cards-section .plx-pet-card,
  body.home .plx-pet-card.plx-pet-card-cat,
  body.home .plx-pet-card.plx-pet-card-dog{
    height:clamp(230px,28vw,330px) !important;
    min-height:clamp(230px,28vw,330px) !important;
    max-height:330px !important;
  }

  body.home .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy h2,
  body.home .plx-pet-card-dog .plx-pet-card-copy h2{
    line-height:1.08 !important;
  }

  body.home .plx-pet-card-copy p,
  body.home .plx-pet-card-cat .plx-pet-card-copy p,
  body.home .plx-pet-card-dog .plx-pet-card-copy p{
    line-height:1.62 !important;
  }
}

/* Mobile: keep it readable but not overly tall. */
@media (max-width:767px){
  body.home .plx-pet-cards-section .plx-pet-card,
  body.home .plx-pet-card.plx-pet-card-cat,
  body.home .plx-pet-card.plx-pet-card-dog{
    height:clamp(250px,66vw,360px) !important;
    min-height:clamp(250px,66vw,360px) !important;
    max-height:360px !important;
  }

  body.home .plx-pet-card-text-frame,
  body.home .plx-pet-card-cat .plx-pet-card-text-frame,
  body.home .plx-pet-card-dog .plx-pet-card-text-frame{
    max-width:78% !important;
  }

  body.home .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy h2,
  body.home .plx-pet-card-dog .plx-pet-card-copy h2{
    white-space:normal !important;
  }
}

/* =========================================
   Pinklitter PET CARDS HOTFIX v43.6
   - Move heading/text block down to around
     the first third of the card.
   - Reduce heading size one step so it avoids
     the animals' faces better.
========================================= */

/* Push the text content down without moving the bottom CTA behavior. */
body.home .plx-pet-card-text-frame,
body.home .plx-pet-card-cat .plx-pet-card-text-frame,
body.home .plx-pet-card-dog .plx-pet-card-text-frame{
  padding-top:clamp(68px,6.4vw,118px) !important;
  box-sizing:border-box !important;
}

/* Heading slightly smaller, still one line where space allows. */
body.home .plx-pet-card-copy h2,
body.home .plx-pet-card-cat .plx-pet-card-copy h2,
body.home .plx-pet-card-dog .plx-pet-card-copy h2{
  font-size:clamp(1.18rem,1.82vw,2.38rem) !important;
  line-height:1.08 !important;
  letter-spacing:.008em !important;
  white-space:nowrap !important;
}

/* Keep paragraph spacing comfortable after lowering the heading. */
body.home .plx-pet-card-copy p,
body.home .plx-pet-card-cat .plx-pet-card-copy p,
body.home .plx-pet-card-dog .plx-pet-card-copy p{
  line-height:1.68 !important;
}

/* Medium screens: lower a bit less and shrink heading further. */
@media (max-width:1100px){
  body.home .plx-pet-card-text-frame,
  body.home .plx-pet-card-cat .plx-pet-card-text-frame,
  body.home .plx-pet-card-dog .plx-pet-card-text-frame{
    padding-top:clamp(54px,6vw,86px) !important;
  }

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

/* Mobile: do not push too far down. */
@media (max-width:767px){
  body.home .plx-pet-card-text-frame,
  body.home .plx-pet-card-cat .plx-pet-card-text-frame,
  body.home .plx-pet-card-dog .plx-pet-card-text-frame{
    padding-top:clamp(30px,9vw,52px) !important;
  }

  body.home .plx-pet-card-copy h2,
  body.home .plx-pet-card-cat .plx-pet-card-copy h2,
  body.home .plx-pet-card-dog .plx-pet-card-copy h2{
    font-size:clamp(1.22rem,5.4vw,1.9rem) !important;
  }
}

/* =========================================
   Pinklitter NEWSLETTER FINAL POSITION v48
   Keep the original single image:
   assets/images/home-colorful/newsletter-scene-right.png

   The only real adjustment here is moving the original image UP.
   No split backgrounds, no cutout image, no cropped replacement.
========================================= */

body.home .plx-newsletter{
  margin:28px 0 0 !important;
  min-height:clamp(360px,42vw,520px) !important;
  height:auto !important;
  max-height:none !important;
  position:relative !important;
  overflow:hidden !important;

  background-color:#efc9d0 !important;
  background-image:url('../../images/home-colorful/newsletter-scene-right.png') !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:left -70px !important;
}

/* Remove any accidental extra cat/cutout from previous attempts. */
body.home .plx-newsletter-cat{
  display:none !important;
}

/* Keep the text/form on the pink strip after the artwork moves up. */
body.home .plx-newsletter-copy{
  position:absolute !important;
  left:auto !important;
  right:clamp(18px,4vw,56px) !important;
  top:50% !important;
  bottom:0 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  transform:translateY(66px) !important;
  width:auto !important;
  max-width:none !important;
  padding:0 !important;

  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:clamp(1.4rem,3vw,2.5rem) !important;
  z-index:2 !important;
}

body.home .plx-newsletter-intro{
  flex:1 1 auto !important;
  max-width:520px !important;
  min-width:0 !important;
}

body.home .plx-newsletter-form{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:.7rem !important;
  flex:0 0 auto !important;
  width:auto !important;
}

body.home .plx-newsletter-form input{
  width:clamp(250px,24vw,360px) !important;
  min-height:50px !important;
}

body.home .plx-newsletter-form button{
  width:auto !important;
  min-height:50px !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
}

@media (max-width:1180px){
  body.home .plx-newsletter{
    background-position:left -46px !important;
  }
}

@media (max-width:767px){
  body.home .plx-newsletter{
    min-height:420px !important;
    height:auto !important;
    max-height:none !important;
    background-position:left top !important;
    background-size:cover !important;
  }

  body.home .plx-newsletter-copy{
    position:static !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    min-height:420px !important;
    padding:220px 18px 28px !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:1rem !important;
  }

  body.home .plx-newsletter-intro{
    max-width:100% !important;
  }

  body.home .plx-newsletter-form{
    width:100% !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  body.home .plx-newsletter-form input,
  body.home .plx-newsletter-form button{
    width:100% !important;
  }
}
