/* Build spec v1. Every rule is scoped under body.bs1.
   Remove the class or this link to restore the previous look. */

body.bs1{--bs-navy:#1A2B5A;--bs-action:#A8512F;--bs-action-hover:#8F4427;--bs-cream:#FAF8F3;--bs-muted:#6B4A35;--bs-line:#E7E3DA;--bs-gold:#E8C97B;background:#FAF8F3}
body.bs1 main{padding-bottom:88px}

/* 0.7 container. Hero, footer and full-bleed bands keep their own padding. */
body.bs1 main>:not(header.hero):not(footer){box-sizing:border-box}
@media(max-width:599px){
  body.bs1 main>:not(header.hero){padding-left:16px!important;padding-right:16px!important}
}
@media(min-width:600px) and (max-width:899px){
  body.bs1 main>:not(header.hero){padding-left:24px!important;padding-right:24px!important}
}
@media(min-width:900px) and (max-width:1199px){
  body.bs1 main>:not(header.hero){padding-left:72px!important;padding-right:72px!important}
}
@media(min-width:1200px){
  body.bs1 main>:not(header.hero):not(.plan-signup):not(#plan-signup){max-width:1200px;margin-left:auto!important;margin-right:auto!important;padding-left:24px!important;padding-right:24px!important}
}

/* 1. Layering */
body.bs1 .round4-pinned{z-index:200!important}
body.bs1 .desktop-buy-bar{z-index:210!important}
body.bs1 button.helper-bubble{z-index:220!important}
body.bs1 .helper-panel{z-index:230!important}
body.bs1.plan-popup-open :is(.round4-pinned,.desktop-buy-bar,button.helper-bubble),
body.bs1.bd-cart-open :is(.round4-pinned,.desktop-buy-bar,button.helper-bubble),
body.bs1:has(.helper-panel:not([hidden])) :is(.round4-pinned,.desktop-buy-bar){visibility:hidden!important}

/* 1.3 bubble */
body.bs1 button.helper-bubble{
  width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;
  right:16px!important;bottom:16px!important;border-radius:50%!important;padding:0!important;
  background:#1A2B5A!important;color:#fff!important;border:0!important;
  box-shadow:0 2px 8px rgba(0,0,0,.25)!important;
}
body.bs1:not(:has(.round4-pinned)) button.helper-bubble{bottom:16px!important}
body.bs1:has(.round4-pinned) button.helper-bubble{bottom:calc(64px + 12px + env(safe-area-inset-bottom))!important}
@media(min-width:900px){
  body.bs1:has(.buybox) button.helper-bubble{right:16px!important;bottom:16px!important}
}

/* 1.4 mobile sticky bar */
@media(max-width:899px){
  body.bs1 .buybox>[data-sku].round4-pinned{
    position:fixed!important;left:16px!important;right:16px!important;bottom:8px!important;top:auto!important;
    width:calc(100% - 32px)!important;max-width:none!important;height:48px!important;min-height:48px!important;
    margin:0!important;padding:0 16px!important;box-sizing:border-box!important;border-radius:6px!important;
    background:#A8512F!important;color:#fff!important;border:0!important;
    font-size:16px!important;font-weight:700!important;
    box-shadow:0 0 0 8px #fff, 0 -1px 0 8px #E7E3DA!important;
    z-index:200!important;
  }
}
body.bs1 .buybox:has(button.sold-out) .round4-pinned{display:none!important}

/* 1.5 desktop buy bar */
body.bs1 .desktop-buy-bar{
  position:fixed!important;top:0!important;left:0!important;right:0!important;height:64px!important;
  background:#fff!important;border-bottom:1px solid #E7E3DA!important;z-index:210!important;
  display:flex!important;align-items:center!important;
}
body.bs1 .desktop-buy-bar[hidden]{display:none!important}
body.bs1 .desktop-buy-bar-inner{
  max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box;
  display:flex;align-items:center;gap:16px;padding:0 24px;
}
@media(min-width:900px) and (max-width:1199px){
  body.bs1 .desktop-buy-bar-inner{padding:0 72px}
}
body.bs1 .desktop-buy-bar-name{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:560px;margin:0;flex:1}
body.bs1 .desktop-buy-bar-price{font-size:18px;font-weight:700;color:#1A2B5A;margin:0;white-space:nowrap}
body.bs1 .desktop-buy-bar button{min-width:160px;height:44px;min-height:44px;background:#A8512F!important;color:#fff!important;border:0!important;border-radius:6px;font-weight:700}

/* 2. Hero */
body.bs1.visual-home{--hero-panel:calc(max(40px,(100vw - 1200px) / 2) + 440px)}
body.bs1.visual-home header.hero{
  display:flex!important;flex-direction:column!important;background:#1A2B5A!important;color:#FAF8F3!important;
  margin:0!important;padding:0!important;width:100%!important;max-width:none!important;height:auto!important;
  min-height:0!important;overflow:hidden!important;position:relative!important;
}
body.bs1.visual-home header.hero::before,
body.bs1.visual-home header.hero::after{display:none!important;content:none!important;background:none!important}
body.bs1.visual-home header.hero .visual-hero-picture{
  display:block!important;position:relative!important;inset:auto!important;order:0!important;
  width:100%!important;height:auto!important;overflow:hidden!important;margin:0!important;flex:none!important;
}
body.bs1.visual-home header.hero .visual-hero-photo{
  display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;
  max-width:none!important;max-height:none!important;object-fit:cover!important;
}
body.bs1.visual-home header.hero .hero-inner{
  order:1!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important;
  background:#1A2B5A!important;color:#FAF8F3!important;position:relative!important;z-index:2!important;min-height:0!important;
}
body.bs1.visual-home header.hero .hero-inner>h1{order:1!important}
body.bs1.visual-home header.hero .hero-inner>.hero-sub{order:2!important}
body.bs1.visual-home header.hero .hero-inner>.hero-kit-line{order:3!important}
body.bs1.visual-home header.hero .hero-inner>.hero-kit-btn{order:5!important}
body.bs1.visual-home header.hero .hero-inner>.hero-free-plan{order:6!important}
body.bs1.visual-home header.hero .hero-inner>.hero-trust-line{order:8!important}
body.bs1.visual-home header.hero .hero-inner>.hero-find-link{order:9!important;display:inline-flex!important}
body.bs1.visual-home header.hero .hero-clarity{display:none!important}
body.bs1.visual-home header.hero .eyebrow{display:none!important}
body.bs1.visual-home header.hero h1{
  font-family:Georgia,serif!important;font-weight:700!important;line-height:1.12!important;color:#FAF8F3!important;
  max-width:none!important;margin:0 0 12px!important;
}
body.bs1.visual-home header.hero .hero-sub{font-family:Inter,Arial,sans-serif!important;font-weight:400!important;font-size:16px!important;line-height:1.45!important;margin:0 0 16px!important;color:#FAF8F3!important;max-width:none!important}
body.bs1.visual-home header.hero .hero-kit-line{display:flex!important;flex-direction:column!important;gap:2px!important;margin:0!important;max-width:none!important;color:#FAF8F3!important}
body.bs1.visual-home header.hero .hero-kit-name{font-family:Inter,Arial,sans-serif!important;font-weight:700!important;line-height:1.3!important;white-space:nowrap!important;color:#FAF8F3!important}
body.bs1.visual-home header.hero .hero-kit-price{display:block!important;font-family:Inter,Arial,sans-serif!important;font-weight:700!important;line-height:1.2!important;white-space:nowrap!important;color:#fff!important;margin:0 0 12px!important}
body.bs1.visual-home header.hero a.hero-kit-btn{
  background:#A8512F!important;color:#fff!important;font-size:17px!important;font-weight:700!important;border-radius:6px!important;
  box-shadow:0 2px 8px rgba(0,0,0,.25)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;text-decoration:none!important;white-space:nowrap!important;box-sizing:border-box!important;
}
body.bs1.visual-home header.hero a.hero-kit-btn:hover{background:#8F4427!important}
body.bs1.visual-home header.hero a.hero-kit-btn:focus-visible{outline:3px solid #E8C97B!important;outline-offset:2px!important}
body.bs1.visual-home header.hero :is(.hero-free-plan,.hero-trust-line,.hero-find-link){font-family:Inter,Arial,sans-serif!important;opacity:.92!important;margin:10px 0 0!important;color:#FAF8F3!important;max-width:none!important}
body.bs1.visual-home header.hero .hero-free-plan{text-wrap:balance;max-width:36ch!important}

@media(max-width:599px){
  body.bs1.visual-home header.hero .visual-hero-photo{aspect-ratio:390/343!important;object-position:50% 60%!important}
  body.bs1.visual-home header.hero .hero-inner{padding:20px 16px 24px!important}
  body.bs1.visual-home header.hero .hero-inner>.hero-sub{order:7!important;font-size:15px!important;line-height:1.45!important;margin:16px 0 0!important}
  body.bs1.visual-home header.hero h1{font-size:28px!important}
  body.bs1.visual-home header.hero .hero-kit-name{font-size:16px!important}
  body.bs1.visual-home header.hero .hero-kit-price{font-size:26px!important}
  body.bs1.visual-home header.hero a.hero-kit-btn{height:52px!important;min-height:52px!important;width:100%!important}
  body.bs1.visual-home header.hero :is(.hero-free-plan,.hero-trust-line,.hero-find-link){font-size:14px!important;line-height:1.45!important}
}
@media(min-width:600px) and (max-width:899px){
  body.bs1.visual-home header.hero .visual-hero-photo{aspect-ratio:12/5!important;object-position:50% 50%!important}
  body.bs1.visual-home header.hero .hero-inner{padding:24px 24px 28px!important}
  body.bs1.visual-home header.hero h1{font-size:32px!important}
  body.bs1.visual-home header.hero .hero-kit-name{font-size:18px!important}
  body.bs1.visual-home header.hero .hero-kit-price{font-size:28px!important}
  body.bs1.visual-home header.hero a.hero-kit-btn{height:52px!important;min-height:52px!important;min-width:240px!important;width:auto!important}
  body.bs1.visual-home header.hero :is(.hero-free-plan,.hero-trust-line,.hero-find-link){font-size:15px!important;line-height:1.45!important}
}
@media(min-width:900px) and (max-width:1199px){
  body.bs1.visual-home header.hero .visual-hero-photo{aspect-ratio:3/1!important;object-position:50% 50%!important}
  body.bs1.visual-home header.hero .hero-inner{padding:24px 72px 28px!important}
  body.bs1.visual-home header.hero h1{font-size:32px!important}
  body.bs1.visual-home header.hero .hero-kit-name{font-size:18px!important}
  body.bs1.visual-home header.hero .hero-kit-price{font-size:28px!important}
  body.bs1.visual-home header.hero a.hero-kit-btn{height:52px!important;min-height:52px!important;min-width:240px!important}
  body.bs1.visual-home header.hero :is(.hero-free-plan,.hero-trust-line,.hero-find-link){font-size:15px!important;line-height:1.45!important}
}
@media(min-width:1200px){
  body.bs1.visual-home header.hero{display:block!important;min-height:480px!important;height:auto!important}
  body.bs1.visual-home header.hero .visual-hero-picture{
    position:absolute!important;left:var(--hero-panel)!important;right:0!important;top:0!important;bottom:0!important;width:auto!important;height:auto!important;
  }
  body.bs1.visual-home header.hero .visual-hero-picture::after{
    content:""!important;display:block!important;position:absolute!important;left:0;top:0;bottom:0;width:48px;
    background:linear-gradient(90deg,#1A2B5A 0,rgba(26,43,90,0) 48px)!important;pointer-events:none;
  }
  body.bs1.visual-home header.hero .visual-hero-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-position:96% 50%!important}
  body.bs1.visual-home header.hero .hero-inner{
    width:var(--hero-panel)!important;max-width:var(--hero-panel)!important;min-height:480px!important;
    padding:48px 40px 48px max(40px,calc((100vw - 1200px) / 2))!important;justify-content:center!important;
  }
  body.bs1.visual-home header.hero .hero-inner>:not(.hero-kit-btn){max-width:400px}
  body.bs1.visual-home header.hero h1{font-size:40px!important}
  body.bs1.visual-home header.hero .hero-kit-name{font-size:18px!important}
  body.bs1.visual-home header.hero .hero-kit-price{font-size:28px!important}
  body.bs1.visual-home header.hero a.hero-kit-btn{height:56px!important;min-height:56px!important;min-width:240px!important}
  body.bs1.visual-home header.hero :is(.hero-free-plan,.hero-trust-line,.hero-find-link){font-size:15px!important;line-height:1.45!important}
}

/* 3. Home sections */
body.bs1 main>:is(section,.home-steps,#home-selected,#shop-by-problem,#bundles,#home-trust,#home-about,#plan-signup,#home-categories,#home-success){padding-top:32px;padding-bottom:32px}
@media(min-width:600px) and (max-width:1199px){
  body.bs1 main>section{padding-top:40px;padding-bottom:40px}
}
@media(min-width:1200px){
  body.bs1 main>section{padding-top:56px;padding-bottom:56px}
}
body.bs1 main h2{font-family:Georgia,serif;font-weight:700;color:#1A2B5A;margin:0 0 8px;font-size:26px}
@media(min-width:600px) and (max-width:1199px){body.bs1 main h2{font-size:30px}}
@media(min-width:1200px){body.bs1 main h2{font-size:34px}}
body.bs1 :is(.r8d-sub,.bundle-owner-intro){font-size:16px;line-height:1.5;color:#1A2B5A;margin:0 0 20px}

body.bs1 .home-steps{background:#FAF8F3;border-bottom:1px solid #E7E3DA}
body.bs1 .home-steps p{margin:0;color:#1A2B5A;font-weight:600;font-size:15px;line-height:24px}
@media(max-width:599px){
  body.bs1 .home-steps p{display:flex;flex-direction:column;gap:0}
  body.bs1 .home-steps span{display:block;padding:16px 0;line-height:24px}
}
@media(min-width:600px){
  body.bs1 .home-steps p{display:flex;justify-content:center;gap:32px}
  body.bs1 .home-steps span{white-space:nowrap}
}
body.bs1 .round4-kit-video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#fff}
@media(min-width:900px){body.bs1 .round4-kit-video{max-width:720px;margin:0 auto 24px;display:block}}

body.bs1 .home-problem-tiles{display:grid!important;gap:12px!important}
@media(max-width:599px){body.bs1 .home-problem-tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:600px) and (max-width:899px){body.bs1 .home-problem-tiles{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:900px) and (max-width:1199px){body.bs1 .home-problem-tiles{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:1200px){body.bs1 .home-problem-tiles{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
body.bs1 .home-problem-tiles a{
  background:#fff;border:1px solid #E7E3DA;border-radius:8px;padding:12px;min-height:72px;
  display:flex!important;align-items:center;gap:12px;box-sizing:border-box;text-decoration:none;
}
body.bs1 .home-problem-tiles img{width:56px;height:56px;object-fit:cover;border-radius:6px;flex:none}
@media(min-width:900px){body.bs1 .home-problem-tiles img{width:64px;height:64px}}
body.bs1 .home-problem-tiles span{
  font-size:14px;font-weight:600;color:#1A2B5A;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
@media(min-width:900px){body.bs1 .home-problem-tiles span{font-size:15px}}

body.bs1 #bundles .bundle-row-grid.r8c-grid{display:grid!important;gap:16px!important}
body.bs1 #bundles .r8c-card{
  background:#fff!important;border:1px solid #E7E3DA!important;border-radius:8px!important;padding:16px!important;
  display:flex!important;flex-direction:column!important;box-sizing:border-box!important;
}
body.bs1 #bundles .r8c-card .product-card-add,
body.bs1 #bundles .r8c-card .r8c-inside{width:100%!important;box-sizing:border-box!important;white-space:nowrap!important}
body.bs1 #bundles .r8c-card .product-card-add{min-height:48px!important;height:48px!important;margin-top:auto!important}
body.bs1 #bundles .r8c-card .r8c-inside{
  min-height:44px!important;height:44px!important;display:inline-flex!important;align-items:center;justify-content:center;
  border:1px solid #1A2B5A!important;color:#1A2B5A!important;background:#fff!important;border-radius:6px;margin-top:8px!important;
}
body.bs1 #bundles .r8c-name,body.bs1 #bundles .bundle-row-name{font-size:17px!important;font-weight:700!important;color:#1A2B5A!important}
body.bs1 #bundles .bundle-row-price{font-size:22px!important;font-weight:700!important}
body.bs1 #bundles .bundle-separate-cost{font-size:14px!important;line-height:1.4!important;color:#6B4A35!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:599px){
  body.bs1 #bundles .bundle-row-grid.r8c-grid{grid-template-columns:1fr!important}
  body.bs1 #bundles .r8c-feature{grid-column:1/-1!important}
}
@media(min-width:600px) and (max-width:899px){
  body.bs1 #bundles .bundle-row-grid.r8c-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  body.bs1 #bundles .r8c-feature{grid-column:1/-1!important;display:grid!important;grid-template-columns:40% 60%!important;column-gap:16px!important}
  body.bs1 #bundles .r8c-feature>.r8c-media{grid-column:1!important;grid-row:1/span 8!important}
  body.bs1 #bundles .r8c-feature>:not(.r8c-media){grid-column:2!important}
}
@media(min-width:900px){
  body.bs1 #bundles .bundle-row-grid.r8c-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.bs1 #bundles .r8c-feature{grid-column:1/-1!important;display:grid!important;grid-template-columns:40% 60%!important;column-gap:16px!important}
  body.bs1 #bundles .r8c-feature>.r8c-media{grid-column:1!important;grid-row:1/span 8!important}
  body.bs1 #bundles .r8c-feature>:not(.r8c-media){grid-column:2!important}
}
@media(min-width:900px) and (max-width:1199px){body.bs1 #bundles .bundle-row-grid.r8c-grid{gap:20px!important}}
@media(min-width:1200px){body.bs1 #bundles .bundle-row-grid.r8c-grid{gap:24px!important}}

body.bs1 .collections-grid{display:grid!important;gap:16px!important}
@media(max-width:599px){body.bs1 .collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:600px) and (max-width:899px){body.bs1 .collections-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:900px){body.bs1 .collections-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
body.bs1 .collections-grid>:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,280px)}
@media(min-width:600px) and (max-width:899px){
  body.bs1 .collections-grid>:last-child:nth-child(3n+1){grid-column:1/-1;justify-self:center;width:calc((100% - 32px)/3)}
  body.bs1 .collections-grid>:last-child:nth-child(odd){grid-column:auto;width:auto;justify-self:stretch}
  body.bs1 .collections-grid>:last-child:nth-child(3n+1){grid-column:1/-1;justify-self:center}
}
@media(min-width:900px){
  body.bs1 .collections-grid>:last-child:nth-child(4n+1){grid-column:1/-1;justify-self:center;width:calc((100% - 72px)/4)}
}

body.bs1 #plan-signup,body.bs1 .plan-signup:not([data-back-in-stock]){background:#1A2B5A!important;color:#FAF8F3!important}
body.bs1 #plan-signup .plan-signup__box,body.bs1 .plan-signup:not([data-back-in-stock]) .plan-signup__box{background:transparent!important;color:#FAF8F3!important;padding:32px 0!important}
@media(min-width:600px){body.bs1 #plan-signup .plan-signup__box{padding:40px 0!important}}
body.bs1 .plan-signup input{height:48px!important;min-height:48px!important;background:#fff!important;border:1px solid #E7E3DA!important;border-radius:6px!important}
body.bs1 .plan-signup button{min-height:48px!important;height:48px!important;background:#A8512F!important;color:#fff!important;border:0!important;border-radius:6px!important}
@media(max-width:599px){body.bs1 .plan-signup button{width:100%!important}}
@media(min-width:600px){body.bs1 .plan-signup button{min-width:220px}}
body.bs1 .plan-signup__note{font-size:13px!important;line-height:1.45!important;color:#FAF8F3!important;opacity:.85!important}
body.bs1 .plan-signup:not([data-back-in-stock]) .plan-signup__note a{color:#E8C97B!important;text-decoration:underline!important}
body.bs1 .plan-signup__msg:empty{display:none!important}

/* 4. Shared product card */
body.bs1 :is(.grid,.problem-tools-grid,.pg-cards,.home-products,.breed-items){
  display:grid!important;width:100%!important;max-width:none!important;
}
@media(max-width:599px){body.bs1 :is(.grid,.problem-tools-grid,.pg-cards,.home-products,.breed-items){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}}
@media(min-width:600px) and (max-width:899px){body.bs1 :is(.grid,.problem-tools-grid,.home-products,.breed-items){grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}}
@media(min-width:600px) and (max-width:1199px){body.bs1 .pg-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}}
@media(min-width:900px) and (max-width:1199px){body.bs1 :is(.grid,.problem-tools-grid,.home-products,.breed-items){grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}}
@media(min-width:1200px){body.bs1 :is(.grid,.problem-tools-grid,.pg-cards,.home-products,.breed-items){grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important}}
body.bs1 :is(article.card,.home-product,.breed-items>article){
  background:#fff!important;border:1px solid #E7E3DA!important;border-radius:8px!important;
  display:flex!important;flex-direction:column!important;box-sizing:border-box!important;padding:12px!important;min-width:0!important;
}
@media(min-width:600px){body.bs1 :is(article.card,.home-product,.breed-items>article){padding:16px!important}}
body.bs1 :is(.card-img,.card img,.home-product img,.breed-items img){aspect-ratio:1!important;object-fit:contain!important;background:#fff!important;width:100%!important;height:auto!important}
body.bs1 .product-card-problem{font-size:11px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#6B4A35!important;margin:8px 0 4px!important}
body.bs1 :is(.product-card-name-link,article.card h3, .home-product h3, .breed-items h3){
  font-family:Inter,Arial,sans-serif!important;font-weight:600!important;color:#1A2B5A!important;font-size:15px!important;line-height:1.3!important;
}
@media(min-width:600px){body.bs1 :is(.product-card-name-link,article.card h3){font-size:16px!important}}
body.bs1 :is(article.card h3,.home-product h3,.breed-items h3){
  display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
  min-height:calc(3 * 1.3em)!important;margin:0 0 8px!important;
}
body.bs1 :is(.card-price,.price,.home-product .card-price){font-size:17px!important;font-weight:700!important;color:#1A2B5A!important}
body.bs1 .bundle-separate-cost{font-size:13px!important;line-height:1.4!important;color:#6B4A35!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.bs1 :is(.card-for,.card-note,.r8c-for){font-size:13px!important;line-height:1.45!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.bs1 .product-card-actions{margin-top:auto!important;display:flex!important;flex-direction:column!important;gap:4px!important}
body.bs1 :is(.product-card-add,.card-add){min-height:44px!important;height:44px!important;width:100%!important;background:#A8512F!important;color:#fff!important;font-size:14px!important;font-weight:700!important;white-space:nowrap!important;border:0!important;border-radius:6px!important}
body.bs1 .product-card-details{min-height:44px!important;display:flex!important;align-items:center;justify-content:center;font-size:14px!important;color:#1A2B5A!important;text-decoration:underline!important}
body.bs1 :is(.card-add.sold-out,.product-card-sold-out,button.sold-out.card-add){
  min-height:44px!important;width:100%!important;background:#E6E2DC!important;color:#5B5B5B!important;font-size:14px!important;font-weight:700!important;
  cursor:not-allowed!important;border:0!important;display:flex!important;align-items:center;justify-content:center;
}
body.bs1 .product-card-sold-out,body.bs1 article.card h3,body.bs1 .product-card-name-link{font-family:Inter,Arial,sans-serif!important}

/* 5–7 shop, problems, collections */
body.bs1 .page-hero,body.bs1 #hero-bleed-banner{
  background:#1A2B5A!important;color:#fff!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;
}
body.bs1 .page-hero h1,body.bs1 #hero-bleed-banner h1{font-family:Georgia,serif!important;font-weight:700!important;color:#fff!important;line-height:1.15!important}
body.bs1 .page-hero p,body.bs1 #hero-bleed-banner p{font-size:16px!important;line-height:1.5!important;color:#FAF8F3!important}
@media(max-width:599px){
  body.bs1 .page-hero,body.bs1 #hero-bleed-banner{padding:24px 16px!important}
  body.bs1 .page-hero h1{font-size:28px!important}
}
@media(min-width:600px) and (max-width:899px){
  body.bs1 .page-hero,body.bs1 #hero-bleed-banner{padding:32px 24px!important}
  body.bs1 .page-hero h1{font-size:32px!important}
}
@media(min-width:900px) and (max-width:1199px){
  body.bs1 .page-hero,body.bs1 #hero-bleed-banner{padding:40px 72px!important}
  body.bs1 .page-hero h1{font-size:32px!important}
}
@media(min-width:1200px){
  body.bs1 .page-hero,body.bs1 #hero-bleed-banner{padding:40px max(24px,calc((100% - 1200px)/2 + 24px))!important}
  body.bs1 .page-hero h1{font-size:36px!important}
}
body.bs1 .shop-toolbar{display:grid!important;gap:12px!important;width:100%!important}
body.bs1 .shop-toolbar .tb-field{display:flex!important;flex-direction:column!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important;max-width:none!important}
body.bs1 .shop-toolbar label span,body.bs1 .tb-field>span{font-size:12px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#6B4A35!important;margin-bottom:6px!important}
body.bs1 .shop-toolbar :is(input,select){height:48px!important;min-height:48px!important;border:1px solid #E7E3DA!important;border-radius:6px!important;font-size:15px!important;width:100%!important;box-sizing:border-box!important;background:#fff!important}
@media(max-width:599px){
  body.bs1 .shop-toolbar{grid-template-columns:1fr 1fr!important;grid-template-areas:"search search" "problem category" "sort sort"!important}
  body.bs1 .shop-toolbar .tb-field:has(#shopSearch){grid-area:search!important}
  body.bs1 .shop-toolbar .tb-field:has(#shopProblem){grid-area:problem!important}
  body.bs1 .shop-toolbar .tb-field:has(#shopCat){grid-area:category!important}
  body.bs1 .shop-toolbar .tb-field:has(#shopSort){grid-area:sort!important}
}
@media(min-width:600px) and (max-width:899px){
  body.bs1 .shop-toolbar{grid-template-columns:1fr 1fr 1fr!important;grid-template-areas:"search search search" "problem category sort"!important}
  body.bs1 .shop-toolbar .tb-field:has(#shopSearch){grid-area:search!important}
  body.bs1 .shop-toolbar .tb-field:has(#shopProblem){grid-area:problem!important}
  body.bs1 .shop-toolbar .tb-field:has(#shopCat){grid-area:category!important}
  body.bs1 .shop-toolbar .tb-field:has(#shopSort){grid-area:sort!important}
}
@media(min-width:900px){
  body.bs1 .shop-toolbar{grid-template-columns:2fr 1fr 1fr 1fr!important;grid-template-areas:none!important}
  body.bs1 .shop-toolbar .tb-field{grid-area:auto!important}
  body.bs1.visual-shop #shopGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:899px){
  body.bs1 .pdp-hero .buybox,body.bs1 .buybox{width:100%!important;max-width:none!important}
}
body.bs1 .problem-group{margin:0 0 40px!important;padding-bottom:40px!important;border-bottom:1px solid #E7E3DA!important}
body.bs1 .problem-group>p{font-size:16px;line-height:1.5}
body.bs1 .problem-guide-link{min-height:44px;display:flex;align-items:center;margin:0 0 16px}
body.bs1 .problem-guide-link a{min-height:44px;display:inline-flex;align-items:center;font-size:15px}
body.bs1 .problem-group img.problem-hero,body.bs1 #new-puppy>img,body.bs1 .problem-group>.puppy-photo{max-width:560px;aspect-ratio:16/9;object-fit:cover;display:block;margin:0 auto 16px}
body.bs1 p.r3-collection-bundles{display:block!important;margin:0 0 20px!important;padding:0!important;border:0!important;background:transparent!important;min-height:0!important}
body.bs1 p.r3-collection-bundles a{
  display:inline-flex!important;align-items:center!important;height:44px!important;min-height:44px!important;max-height:44px!important;
  padding:0 16px!important;border:1px solid #1A2B5A!important;border-radius:6px!important;font-size:15px!important;font-weight:600!important;
  color:#1A2B5A!important;background:#fff!important;text-decoration:none!important;box-sizing:border-box!important;width:max-content!important;
}
body.bs1 .r10-related .r10-guide-grid{display:grid!important;gap:16px!important}
@media(max-width:599px){body.bs1 .r10-related .r10-guide-grid{grid-template-columns:1fr!important}}
@media(min-width:600px){body.bs1 .r10-related .r10-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
body.bs1 .r10-guide-card img{aspect-ratio:16/9!important;object-fit:cover!important;width:100%!important}

/* 8. PDP */
@media(max-width:899px){
  body.bs1 .pdp-hero{display:flex!important;flex-direction:column!important}
  body.bs1 .gallery-main{order:1!important;max-width:none!important}
  body.bs1 .thumbs{order:2!important}
  body.bs1 .buybox{order:3!important}
}
@media(min-width:600px) and (max-width:899px){
  body.bs1 .gallery-main{max-width:480px!important;margin-left:auto!important;margin-right:auto!important}
}
@media(min-width:900px) and (max-width:1199px){
  body.bs1.visual-storefront:has(.buybox) :is(.pdp-hero,section.pdp-hero),
  body.bs1 .pdp-hero,body.bs1 section.pdp-hero{
    display:grid!important;grid-template-columns:minmax(0,55fr) minmax(0,45fr)!important;column-gap:40px!important;
    padding:32px 72px 40px!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;
  }
  body.bs1 .gallery-main{max-width:520px!important}
}
@media(min-width:1200px){
  body.bs1 .pdp-hero,body.bs1 section.pdp-hero{
    display:grid!important;grid-template-columns:minmax(0,55fr) minmax(0,45fr)!important;column-gap:40px!important;
    max-width:1200px!important;margin:0 auto!important;padding:40px 24px 56px!important;box-sizing:border-box!important;
  }
  body.bs1 .gallery-main{max-width:520px!important}
}
body.bs1 .gallery-main img{aspect-ratio:1!important;object-fit:contain!important;background:#fff!important;width:100%!important;height:auto!important;max-height:none!important}
body.bs1 .thumbs{display:flex!important;gap:8px!important;overflow-x:auto!important;max-width:100%!important}
body.bs1 .thumbs img,body.bs1 .thumbs button{width:56px!important;height:56px!important;flex:none!important;border:1px solid #E7E3DA!important;box-sizing:border-box!important;object-fit:contain!important;background:#fff!important}
@media(min-width:900px){body.bs1 .thumbs img,body.bs1 .thumbs button{width:64px!important;height:64px!important}}
body.bs1 .thumbs :is(.is-active,.active){border:2px solid #1A2B5A!important}
body.bs1 .product-problem-eyebrow{font-size:12px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#6B4A35!important;min-height:44px!important;display:flex!important;align-items:center!important;margin:0!important}
body.bs1 .buybox h1{font-family:Georgia,serif!important;font-weight:700!important;color:#1A2B5A!important;line-height:1.15!important;font-size:28px!important;margin-bottom:4px!important}
@media(min-width:600px) and (max-width:899px){body.bs1 .buybox h1{font-size:32px!important}}
@media(min-width:900px){body.bs1 .buybox h1{font-size:36px!important}}
body.bs1 .buybox .price{font-family:Inter,Arial,sans-serif!important;font-weight:700!important;color:#1A2B5A!important;font-size:28px!important;white-space:nowrap!important;margin-bottom:8px!important}
@media(min-width:900px){body.bs1 .buybox .price{font-size:32px!important}}
body.bs1 fieldset.round4-choice{border:1px solid #E7E3DA!important;border-radius:8px!important;padding:4px 12px!important;margin:16px 0!important;width:100%!important;box-sizing:border-box!important}
body.bs1 fieldset.round4-choice legend{font-size:14px!important;font-weight:700!important;color:#1A2B5A!important}
body.bs1 fieldset.round4-choice label{display:flex!important;align-items:center!important;gap:12px!important;min-height:48px!important;font-size:16px!important;line-height:1.4!important;border-top:1px solid #E7E3DA!important;margin:0!important}
body.bs1 fieldset.round4-choice label:first-of-type{border-top:0!important}
body.bs1 fieldset.round4-choice input{width:20px!important;height:20px!important;accent-color:#A8512F!important;flex:none!important}
body.bs1 .buybox>button[data-sku],body.bs1 .buybox>button.sold-out{
  width:100%!important;box-sizing:border-box!important;border-radius:6px!important;font-size:17px!important;font-weight:700!important;
}
@media(max-width:899px){body.bs1 .buybox>button[data-sku],body.bs1 .buybox>button.sold-out{height:52px!important;min-height:52px!important}}
@media(min-width:900px){body.bs1 .buybox>button[data-sku],body.bs1 .buybox>button.sold-out{height:56px!important;min-height:56px!important}}
body.bs1 .buybox>button[data-sku]{background:#A8512F!important;color:#fff!important;border:0!important}
body.bs1 .purchase-trust{font-size:14px!important;color:#6B4A35!important;margin-top:8px!important}
body.bs1 :is(.buybox-delivery,.buybox-returns){font-size:15px!important;line-height:1.5!important}
body.bs1 .buybox-returns a{text-decoration:underline!important;color:#1A2B5A!important}
body.bs1 .cd-section{max-width:760px}
@media(min-width:900px){body.bs1 .cd-section{max-width:760px;margin-left:auto;margin-right:auto}}
body.bs1 .cd-section h2{font-family:Georgia,serif;font-size:26px;font-weight:700}
body.bs1 details>summary{min-height:48px;display:flex;align-items:center;font-size:16px;font-weight:600}
body.bs1 .final-cross-sell .grid>:only-child,body.bs1 .final-cross-sell article:only-child{max-width:280px!important;margin-right:auto!important;justify-self:start!important}
body.bs1 .buybox:has(button.sold-out) .purchase-trust{display:none!important}
body.bs1 .buybox button.sold-out{background:#E6E2DC!important;color:#5B5B5B!important;border:0!important;cursor:not-allowed!important}
body.bs1 .round-seven-stock{font-size:15px!important;line-height:1.5!important;width:100%!important;max-width:none!important}
body.bs1 .round-seven-stock a,body.bs1 a.stock-alt-btn,body.bs1 a.round-seven-medium{
  display:flex!important;width:100%!important;min-height:48px!important;margin-top:12px!important;box-sizing:border-box!important;
  align-items:center!important;justify-content:center!important;border:2px solid #1A2B5A!important;background:#fff!important;
  color:#1A2B5A!important;font-size:16px!important;font-weight:700!important;border-radius:6px!important;text-decoration:none!important;
}
body.bs1 .round-seven-stock a::after,body.bs1 a.round-seven-medium::after{content:" →"}
body.bs1.visual-storefront .buybox form.plan-signup[data-back-in-stock],
body.bs1 form[data-back-in-stock]{
  width:100%!important;max-width:none!important;margin-top:8px!important;padding:20px 20px 19px!important;box-sizing:border-box!important;
  background:#FAF8F3!important;border:1px solid #E7E3DA!important;border-radius:8px!important;
}
body.bs1 form[data-back-in-stock] .plan-signup__box{padding:0!important;background:transparent!important;display:block!important}
body.bs1 .back-in-stock-title{font-family:Georgia,serif!important;font-size:20px!important;font-weight:700!important;color:#1A2B5A!important;margin:0 0 12px!important}
body.bs1 form[data-back-in-stock] label{display:flex!important;flex-direction:column!important;font-size:14px!important;font-weight:600!important;color:#1A2B5A!important;gap:6px!important}
body.bs1 form[data-back-in-stock] input{width:100%!important;height:48px!important;min-height:48px!important;border:1px solid #E7E3DA!important;border-radius:6px!important;font-size:16px!important;box-sizing:border-box!important}
body.bs1 form[data-back-in-stock] button[type=submit]{width:100%!important;height:48px!important;min-height:48px!important;margin-top:12px!important;background:#A8512F!important;color:#fff!important;font-size:16px!important;font-weight:700!important;border:0!important;border-radius:6px!important}
body.bs1 form[data-back-in-stock] .plan-signup__note{font-size:13px!important;line-height:1.45!important;color:#6B4A35!important;opacity:1!important;margin:12px 0 0!important}
body.bs1 form[data-back-in-stock] .plan-signup__note a{color:#1A2B5A!important;text-decoration:underline!important}

/* 12. Breed pages */
body.bs1 main.round4-breed{display:block!important;padding-top:16px!important}
body.bs1 main.round4-breed>:is(nav,h1,p,img,section,header){margin-left:0!important;margin-right:0!important}
body.bs1 main.round4-breed>img.breed-photo{width:100%!important;max-width:none!important;aspect-ratio:1!important;object-fit:cover!important;object-position:50% 35%!important;border-radius:8px!important;height:auto!important}
body.bs1 main.round4-breed>h1{font-family:Georgia,serif!important;font-weight:700!important;font-size:32px!important;color:#1A2B5A!important}
body.bs1 main.round4-breed>p{font-size:16px!important;line-height:1.55!important;max-width:none!important}
body.bs1 main.round4-breed h2{font-family:Georgia,serif!important;font-size:26px!important;font-weight:700!important;margin:40px 0 4px!important}
body.bs1 main.round4-breed a{min-height:44px}
body.bs1 main.round4-breed p a{min-height:0;line-height:24px}
body.bs1 .breed-fit-note{font-size:15px!important;line-height:1.5!important;display:block!important;-webkit-line-clamp:unset!important;max-height:none!important}
body.bs1 .breed-items article>p:last-of-type{font-size:13px!important;line-height:1.45!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;max-height:calc(1.45em * 3)!important}
body.bs1 .breed-items article{height:auto!important}
body.bs1 .breed-items img{max-height:none!important;height:auto!important}
body.bs1 main.round4-breed details>summary{min-height:48px}
@media(min-width:600px){
  body.bs1 main.round4-breed>h1{font-size:36px!important}
  body.bs1 main.round4-breed>p{font-size:17px!important}
  body.bs1 main.round4-breed>img.breed-photo{max-width:480px!important}
  body.bs1 main.round4-breed h2{font-size:30px!important}
}
@media(min-width:900px) and (max-width:1199px){
  body.bs1 main.round4-breed{display:grid!important;grid-template-columns:1fr 360px!important;column-gap:40px!important;align-items:center!important}
  body.bs1 main.round4-breed>nav{grid-column:1/-1!important}
  body.bs1 main.round4-breed>h1,body.bs1 main.round4-breed>p{grid-column:1!important;max-width:60ch!important}
  body.bs1 main.round4-breed>img.breed-photo{grid-column:2!important;grid-row:2/span 2!important;width:360px!important;height:360px!important;max-width:360px!important;justify-self:end!important}
  body.bs1 main.round4-breed>section{grid-column:1/-1!important}
  body.bs1 main.round4-breed>h1{font-size:40px!important}
}
@media(min-width:1200px){
  body.bs1 main.round4-breed{display:grid!important;grid-template-columns:1fr 400px!important;column-gap:48px!important;align-items:center!important;max-width:1200px!important}
  body.bs1 main.round4-breed>nav{grid-column:1/-1!important}
  body.bs1 main.round4-breed>h1,body.bs1 main.round4-breed>p{grid-column:1!important;max-width:60ch!important}
  body.bs1 main.round4-breed>img.breed-photo{grid-column:2!important;grid-row:2/span 2!important;width:400px!important;height:400px!important;max-width:400px!important}
  body.bs1 main.round4-breed>section{grid-column:1/-1!important}
  body.bs1 main.round4-breed>h1{font-size:40px!important}
}
/* Beat the container's auto margins, which were centring shrink-wrapped breed children. */
body.bs1 main.round4-breed:not(#_){box-sizing:border-box!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
html body.bs1.bs1 main.round4-breed.round4-breed>:is(nav,h1,section):not(#_){
  margin-left:0!important;margin-right:0!important;width:100%!important;max-width:none!important;
  justify-self:stretch!important;padding-left:0!important;padding-right:0!important;text-align:left!important;box-sizing:border-box!important;
}
html body.bs1.bs1 main.round4-breed.round4-breed>p:not(#_){
  justify-self:start!important;margin-left:0!important;margin-right:0!important;width:100%!important;
  padding-left:0!important;padding-right:0!important;box-sizing:border-box!important;
}
@media(max-width:899px){body.bs1 main.round4-breed>p:not(#_){max-width:none!important}}
@media(max-width:599px){body.bs1 main.round4-breed:not(#_){padding-left:16px!important;padding-right:16px!important}}
@media(min-width:600px) and (max-width:899px){body.bs1 main.round4-breed:not(#_){padding-left:24px!important;padding-right:24px!important}}
@media(min-width:900px) and (max-width:1199px){body.bs1 main.round4-breed:not(#_){padding-left:72px!important;padding-right:72px!important}}
@media(min-width:1200px){
  body.bs1 main.round4-breed:not(#_){
    width:min(1200px,100%)!important;max-width:1200px!important;
    margin-left:auto!important;margin-right:auto!important;
    padding-left:24px!important;padding-right:24px!important;
  }
}

/* 13. Guides */
@media(min-width:900px){
  body.bs1 .pg-article,body.bs1 article.pg-body,body.bs1 .guide-body{max-width:720px;margin-left:auto;margin-right:auto}
}
body.bs1 .pg-hero,body.bs1 .page-hero.pg{color:#FAF8F3}
@media(max-width:899px){body.bs1 .pg-hero img,body.bs1 .guide-hero-image{width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:50% 50%!important}}
@media(min-width:900px){
  body.bs1 .pg-hero,body.bs1 header.page-hero:has(img){display:grid!important;grid-template-columns:1fr 480px!important;gap:32px!important;align-items:center!important}
  body.bs1 .pg-hero img{aspect-ratio:4/3!important;object-fit:cover!important}
}
@media(min-width:600px){body.bs1 .pg-article p,body.bs1 .guide-body p{font-size:17px;line-height:1.65}}
@media(max-width:599px){body.bs1 .pg-article p{font-size:16px;line-height:1.6}}
@media(min-width:600px){
  body.bs1 article.r15-bundle-offer{display:grid!important;grid-template-columns:200px 1fr!important;gap:16px!important}
  body.bs1 article.r15-bundle-offer img{aspect-ratio:1!important;object-fit:contain!important}
}
body.bs1 article.r15-bundle-offer :is(button,a.btn,a.r15-outline){min-height:44px!important}
body.bs1 article.r15-bundle-offer button,body.bs1 article.r15-bundle-offer .product-card-add{min-height:48px!important}
@media(max-width:599px){body.bs1 article.r15-bundle-offer :is(button,a){width:100%!important}}
body.bs1 .pg-faq details>summary{min-height:48px;font-size:16px;font-weight:600}

/* 14. Cart drawer */
body.bs1 .bd-cart-panel{display:flex!important;flex-direction:column!important;background:#fff!important}
@media(max-width:599px){body.bs1 .bd-cart-panel{width:100%!important;max-width:none!important}}
@media(min-width:600px){body.bs1 .bd-cart-panel{width:420px!important;max-width:420px!important;margin-left:auto!important}}
body.bs1 .bd-cart-panel>header{order:0!important;font-size:18px!important;font-weight:700!important;color:#1A2B5A!important}
body.bs1 .bd-cart-panel>header button{width:44px!important;height:44px!important;min-height:44px!important}
body.bs1 .bd-cart-items{order:1!important}
body.bs1 .bd-cart-progress{order:2!important;background:#FAF8F3!important;padding:12px 16px!important;margin-top:16px!important}
body.bs1 .bd-cart-progress p{font-size:14px!important}
body.bs1 .bd-cart-progress-bar{height:8px!important;background:#E7E3DA!important;border-radius:4px!important}
body.bs1 .bd-cart-progress-bar span{background:#A8512F!important;display:block;height:8px}
body.bs1 .bd-cart-upsells{order:3!important;margin-top:16px!important}
body.bs1 .bd-cart-panel>footer{order:4!important;position:static!important}
body.bs1 .bd-cart-item img{width:64px!important;height:64px!important;object-fit:contain!important}
body.bs1 .bd-cart-item strong{font-size:15px!important;font-weight:600!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.bs1 .bd-cart-item-price{font-size:15px!important;font-weight:700!important}
body.bs1 .bd-cart-quantity button{width:44px!important;height:44px!important;min-height:44px!important}
body.bs1 .bd-cart-quantity span{min-width:44px;text-align:center}
body.bs1 .bd-cart-addons-title,body.bs1 .bd-cart-upsells>p{font-size:15px!important;font-weight:700!important}
body.bs1 .shipping-addon img{width:56px!important;height:56px!important;object-fit:contain!important}
body.bs1 .shipping-addon-name{font-size:14px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.bs1 .shipping-addon-button{min-height:44px!important;min-width:96px!important;border:1px solid #A8512F!important;color:#A8512F!important;background:#fff!important}
body.bs1 .bd-cart-subtotal{font-size:15px!important}
body.bs1 .bd-cart-subtotal:last-of-type{font-size:17px!important;font-weight:700!important}
body.bs1 .bd-cart-checkout{display:flex!important;align-items:center;justify-content:center;width:100%!important;height:52px!important;min-height:52px!important;background:#A8512F!important;color:#fff!important;font-size:17px!important;font-weight:700!important;border-radius:6px!important;text-decoration:none!important}
body.bs1 .bd-cart-save-toggle{min-height:44px!important;font-size:14px!important;width:100%}

/* 15. Popup */
@media(max-width:899px){
  body.bs1 .plan-popup-backdrop{padding:0!important;place-items:end center!important;align-items:end!important}
  body.bs1 .plan-popup{width:100%!important;max-width:560px!important;max-height:80vh!important;height:auto!important;border-radius:12px 12px 0 0!important;background:#fff!important;margin:0 auto!important}
  body.bs1 .plan-popup-copy{padding:20px 20px calc(16px + env(safe-area-inset-bottom))!important}
}
body.bs1 .plan-popup>img{display:none!important}
body.bs1 .plan-popup-eyebrow{font-size:12px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#6B4A35!important}
body.bs1 .plan-popup h2{font-family:Georgia,serif!important;font-size:22px!important;font-weight:700!important;color:#1A2B5A!important;margin:0 56px 12px 0!important}
body.bs1 .plan-popup-copy>p{font-size:15px!important;line-height:1.45!important}
body.bs1 .plan-popup form input{width:100%!important;height:48px!important;min-height:48px!important;border:1px solid #E7E3DA!important;border-radius:6px!important;font-size:16px!important}
body.bs1 .plan-popup button[type=submit]{width:100%!important;height:48px!important;min-height:48px!important;background:#A8512F!important;color:#fff!important;font-size:16px!important;font-weight:700!important;border:0!important;border-radius:6px!important}
body.bs1 .plan-popup .plan-signup__note{font-size:13px!important;line-height:1.45!important;color:#6B4A35!important}
body.bs1 .plan-popup .plan-signup__msg:empty{display:none!important}
body.bs1 .plan-popup-close{
  position:absolute!important;top:8px!important;right:8px!important;width:44px!important;height:44px!important;min-height:44px!important;
  background:#FAF8F3!important;color:#1A2B5A!important;border:0!important;border-radius:6px!important;font-size:24px!important;
  box-shadow:none!important;
}
body.bs1 .plan-popup-close:focus-visible{outline:2px solid #1A2B5A!important;outline-offset:-4px!important}
body.bs1 .plan-signup__done{display:flex!important;flex-direction:column!important;gap:12px!important}
body.bs1 .plan-signup__done h2{font-family:Georgia,serif!important;font-size:22px!important;font-weight:700!important;color:#1A2B5A!important;margin:0!important;line-height:1.2!important}
body.bs1 .plan-signup__done>p{margin:0!important}
body.bs1 .plan-signup__pdf{
  display:inline-flex!important;align-items:center;justify-content:center;height:44px!important;min-height:44px!important;max-height:44px!important;
  padding:0 16px!important;margin:0!important;width:max-content!important;
  border:2px solid #1A2B5A!important;border-radius:6px!important;color:#1A2B5A!important;background:#fff!important;font-weight:700!important;text-decoration:none!important;
}
body.bs1 .plan-signup__bundle{display:grid!important;grid-template-columns:64px 1fr!important;gap:8px 12px!important;align-items:center!important;border:1px solid #E7E3DA;border-radius:8px;padding:12px;background:#fff;margin:0!important}
body.bs1 .plan-signup__bundle img{width:64px;height:64px;object-fit:contain;grid-row:1/span 2;grid-column:1}
body.bs1 .plan-signup__bundle>a:not(.plan-signup__bundle-btn){grid-column:2;grid-row:1;min-height:44px!important}
body.bs1 .plan-signup__bundle-btn{
  grid-column:2;grid-row:2;justify-self:start!important;align-self:center!important;
  height:44px!important;min-height:44px!important;max-height:44px!important;width:max-content!important;
  white-space:nowrap!important;display:inline-flex!important;align-items:center;justify-content:center;
  background:#A8512F!important;color:#fff!important;border-radius:6px;padding:0 16px!important;text-decoration:none!important;font-weight:700!important;
}

/* 16. Helper panel */
@media(max-width:599px){
  body.bs1 .helper-panel{width:100%!important;left:0!important;right:0!important;bottom:0!important;max-height:80vh!important;border-radius:12px 12px 0 0!important}
}
@media(min-width:600px){
  body.bs1 .helper-panel{width:380px!important;right:16px!important;bottom:80px!important;max-height:min(640px,100vh - 120px)!important;border-radius:12px!important}
}
body.bs1 .helper-panel{background:#fff!important;box-shadow:0 10px 30px rgba(0,0,0,.25)!important}
body.bs1 .helper-panel button[aria-label="Close"],body.bs1 .helper-close{width:44px!important;height:44px!important}

/* 17. Footer */
body.bs1 footer.r12-footer,body.bs1 .r12-footer{font-family:Inter,Arial,sans-serif!important;background:#1A2B5A!important;color:#FAF8F3!important}
body.bs1 .r12-footer summary{color:#FAF8F3!important;font-family:Inter,Arial,sans-serif!important}
@media(max-width:899px){
  body.bs1 .r12-footer{padding:32px 16px calc(88px + env(safe-area-inset-bottom))!important}
  body.bs1 .r12-footer-column{border-top:1px solid rgba(250,248,243,.3)}
  body.bs1 .r12-footer summary{min-height:48px!important;font-size:16px!important;font-weight:700!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
  body.bs1 .r12-footer summary::after{content:"+";font-size:16px}
  body.bs1 .r12-footer details[open] summary::after{transform:rotate(45deg)}
  body.bs1 .r12-footer a{min-height:44px!important;display:flex!important;align-items:center!important;font-size:15px!important}
}
@media(min-width:900px){
  body.bs1 .r12-footer-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:32px!important;max-width:1200px;margin:0 auto}
  body.bs1 .r12-footer summary{font-size:15px!important;font-weight:700!important;pointer-events:none;min-height:44px!important}
  body.bs1 .r12-footer summary::after{content:none!important}
  body.bs1 .r12-footer a{font-size:14px!important;line-height:32px!important;min-height:44px!important;display:flex!important;align-items:center!important}
  body.bs1 .r12-footer-entity{margin-top:32px!important;font-size:13px!important;opacity:.85}
}

/* 18. FAQ */
body.bs1 .review-faq,body.bs1 main:has(.review-faq){max-width:760px}
@media(min-width:900px){body.bs1 main .review-faq{max-width:760px;margin-left:auto;margin-right:auto}}
body.bs1 .review-faq details{background:#fff;border:1px solid #E7E3DA;border-radius:8px;padding:16px;margin:0 0 12px}
body.bs1 .review-faq summary{font-size:16px;font-weight:700;min-height:48px;display:flex;align-items:center}

/* Tap targets for controls that are not inline paragraph links */
body.bs1 :is(button,input,select){min-height:44px!important}
body.bs1 details>summary,body.bs1.visual-storefront details>summary{min-height:48px!important;display:flex!important;align-items:center}
body.bs1 a:not(p a):not(li a){display:inline-flex!important;align-items:center;min-height:44px!important;box-sizing:border-box}
body.bs1.r11-visual .r10-product-card :is(h3>.product-card-name-link,.r8c-name a,.product-card-name-link),
body.bs1.r12-visual #shopGrid :is(h3>.product-card-name-link,a.product-card-name-link),
body.bs1.r12-visual.visual-home #bundles .r8c-card :is(.r8c-name,.r8c-name a,h3>a),
body.bs1.r12-visual :is(#bundles,.home-products) :is(h3>a,.r8c-name a){
  min-height:44px!important;height:auto!important;display:flex!important;align-items:center;-webkit-line-clamp:3!important;
}
body.bs1 .problem-guide-link a{min-height:44px!important;display:inline-flex!important;align-items:center}
@media(max-width:599px){
  body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.bs1.visual-home #home-categories .collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(min-width:600px) and (max-width:899px){
  body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.bs1.visual-home #home-categories .collections-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(min-width:900px) and (max-width:1199px){
  body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(min-width:1200px){
  body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media(min-width:900px){
  body.bs1.visual-home #home-categories .collections-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.bs1.visual-home #home-categories .collections-grid>:last-child:nth-child(4n+1){grid-column:1/-1!important;justify-self:center!important;width:calc((100% - 48px) / 4)!important}
}
body.bs1 .review-faq summary{min-height:48px!important}

/* ===== Round-4 one-shot fixes. Append to the END of public/build-spec-v1.css. Every selector starts "html body.bs1" so it out-ranks the equal-specificity build rules and the inline <style> blocks on the home page. ===== */

/* FX-H1  Hero text widths: hero-bleed.css (min-width:1024px) sets max-width:min(34ch,42%)!important on hero children,
   specificity (0,4,2) beats build-spec (0,3,3). 42% of the 400px text panel = 168px -> H1 6 lines at 1366/1440. */
html body.bs1.visual-home header.hero .hero-inner > :is(h1,.hero-sub,.hero-kit-line,.hero-clarity,.hero-free-plan,.hero-trust-line,.hero-find-link){max-width:none!important}
@media (min-width:1200px){
  html body.bs1.visual-home header.hero .hero-inner > :is(h1,.hero-sub,.hero-kit-line,.hero-free-plan,.hero-trust-line,.hero-find-link){max-width:400px!important}
}
/* FX-H6/H7  free line on one line at >=600 (balance only needed on mobile); fewer lines above the fold on mobile */
@media (min-width:600px){ html body.bs1.visual-home header.hero .hero-free-plan{white-space:nowrap!important} }
@media (max-width:599px){ html body.bs1.visual-home header.hero .hero-inner>a.hero-find-link{display:none!important} }

/* FX-H8  Problem tiles (home). Uses the same id-level selector the build used, prefixed with html so it wins.
   <600: 40px thumbnail, no ellipsis, 14px label -> every label <=2 lines in the 2-col grid.
   >=1200: keep the spec's 6 columns but put the photo above the label, so the label gets the full 144px tile width (<=2 lines). */
@media (max-width:599px){
  html body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles>a{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;grid-template-rows:auto!important;column-gap:8px!important;padding:8px!important;min-height:64px!important;align-items:center!important;text-align:left!important}
  html body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles>a>img{width:40px!important;height:40px!important}
  html body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles>a>span{display:block!important;-webkit-line-clamp:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;font-size:14px!important;line-height:1.3!important;max-height:none!important}
}
@media (min-width:1200px){
  html body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  html body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles>a{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;row-gap:10px!important;padding:12px!important;align-items:start!important;text-align:left!important}
  html body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles>a>img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important}
  html body.bs1.r12-visual.visual-home #shop-by-problem .home-problem-tiles>a>span{display:block!important;-webkit-line-clamp:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;font-size:15px!important;line-height:1.3!important}
}

/* FX-H9  Bundles. The build's rules (body.bs1 #bundles .r8c-feature, specificity 1,2,1) lose to hero-bleed.css
   "body.visual-home #bundles .r8c-card.r8c-feature{display:flex!important;grid-column:auto!important}" and round-ten-visual.css (1,4,1).
   Same values, higher specificity (1,7,1): */
html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid>.r8c-card.r8c-feature{grid-column:1/-1!important}
@media (min-width:600px){
  html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid>.r8c-card.r8c-feature{display:grid!important;grid-template-columns:40% minmax(0,1fr)!important;column-gap:24px!important;align-content:center!important}
  html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid>.r8c-card.r8c-feature>.r8c-media{grid-column:1!important;grid-row:1/span 8!important;align-self:center!important}
  html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid>.r8c-card.r8c-feature>:not(.r8c-media){grid-column:2!important;grid-row:auto!important}
  html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid>.r8c-card.r8c-feature>.r8c-tag{justify-self:start!important}
  html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid>.r8c-card.r8c-feature :is(.product-card-add,.r8c-inside){width:100%!important;max-width:none!important}
}
@media (min-width:900px){ html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important} }
@media (min-width:1200px){ html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid{gap:24px!important} html body.bs1.r12-visual.visual-home #bundles .bundle-row-grid.r8c-grid>.r8c-card.r8c-feature>.r8c-media img{max-height:360px!important;width:auto!important;margin:0 auto!important} }

/* FX-H10  "Browse by type" (9 tiles): 3 columns at every size = 3 full rows, no lone tile. Replaces the 2/3/4 rules and the centred-last-tile rule. */
html body.bs1.visual-home #home-categories .collections-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html body.bs1.visual-home #home-categories .collections-grid>a.collection-card:last-child:nth-child(n){grid-column:auto!important;justify-self:stretch!important;width:auto!important}
@media (max-width:599px){ html body.bs1.visual-home #home-categories .collections-grid{gap:8px!important} html body.bs1.visual-home #home-categories .collections-grid h3{font-size:14px!important;line-height:1.25!important} }

/* FX-S1  Shop toolbar. The build's grid-areas are right; the Sort field is still shrunk and pushed right by
   round-ten-visual.css ".r10-visual .shop-toolbar .tb-field:has(#shopSort){justify-self:end;max-width:180px}". Override: */
html body.bs1 .shop-toolbar > label.tb-field:has(#shopSort){justify-self:stretch!important;width:auto!important;max-width:none!important}

/* FX-S5/C2  Sold-out card: the <p class="product-card-sold-out"> is styled as the disabled 44px button
   (generator fix in report replaces it with <button class="card-add sold-out" disabled>) */
html body.bs1 .product-purchase-card .product-card-sold-out{display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;width:100%!important;margin:auto 0 8px!important;background:#E6E2DC!important;color:#5B5B5B!important;font:700 14px/1 Inter,Arial,sans-serif!important;border-radius:6px!important;cursor:not-allowed!important}

/* FX-C3  related-guide images 16:9 */
html body.bs1 .r10-related img{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important}

/* FX-P1  PDP buy column at 900-1199: storefront-desktop.css adds padding-right:72px to .buybox -> content ends at 880, right gutter 144 */
@media (min-width:900px){ html body.bs1 .pdp-hero aside.buybox{padding-right:0!important;padding-bottom:0!important} }

/* FX-P8  "Add to your order" with one card: 280px, left aligned. (The card is not :only-child because the H2 is a sibling.) */
html body.bs1 .final-cross-sell:not(:has(.visual-cross-card ~ .visual-cross-card)) > .visual-cross-card{max-width:280px!important;width:100%!important;justify-self:start!important;align-self:start!important;margin-left:0!important;margin-right:auto!important}

/* FX-F2  space before the arrow */
html body.bs1 .round-seven-stock a::after{content:"\00a0→"!important}

/* FX-B3  breed photo: the container rule "main>:not(header.hero){padding:0 Npx}" also pads the <img> (border-box) -> 216px visible photo at 1024 */
html body.bs1 main.round4-breed > img.breed-photo{padding:0!important}
@media (min-width:900px){
  html body.bs1 main.round4-breed{align-items:start!important}
  html body.bs1 main.round4-breed > h1{align-self:end!important;margin:0 0 12px!important}
  html body.bs1 main.round4-breed > p{align-self:start!important;margin:0!important}
  html body.bs1 main.round4-breed > img.breed-photo{align-self:center!important}
}
/* FX-B7 omitted: breed card descriptions stay visible on phones (owner decision pending). */

/* FX-G1  Guide hero. The build made header.page-hero a 2-column grid (text | 480px) but the photo is inside the
   header's single <div>, so the right column stays empty and the text is squeezed. display:contents lets the div's
   children become the header's grid items. Photo 4:3 at every size; text column <=720px at >=900. */
html body.bs1.r15-guide-page header.page-hero img.guide-photo{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:var(--guide-face-position,50% 50%)!important}
@media (min-width:900px){
  html body.bs1.r15-guide-page header.page-hero{display:grid!important;grid-template-columns:minmax(0,1fr) 480px!important;column-gap:40px!important;align-items:center!important}
  html body.bs1.r15-guide-page header.page-hero > div{display:contents!important}
  html body.bs1.r15-guide-page header.page-hero > div > :not(img){grid-column:1!important;max-width:720px!important}
  html body.bs1.r15-guide-page header.page-hero > div > img.guide-photo{grid-column:2!important;grid-row:1 / span 4!important;width:480px!important;max-width:480px!important;margin:0!important;align-self:center!important}
  html body.bs1.r15-guide-page main#main > section:is(.pg-quick,.pg-steps,.pg-faq,.pg-sources,:not([class])) > *{max-width:720px!important;margin-left:auto!important;margin-right:auto!important}
}

/* FX-D5  Cart drawer: no empty middle; totals follow content */
html body.bs1 .bd-cart-panel{display:flex!important;flex-direction:column!important}
html body.bs1 .bd-cart-panel > .bd-cart-items{flex:0 1 auto!important;min-height:0!important}
html body.bs1 .bd-cart-panel > footer{margin-top:0!important}

/* FX-U  popup: programmatic focus on the H2 (tabindex=-1) must not draw a box */
html body.bs1 .plan-popup [tabindex="-1"]:focus{outline:none!important}

/* FX-D7 (new, pre-existing) Cart drawer "Remove" label overflows its 44px box at every size. Make it a 44px-tall underlined text button that fits on the quantity row. */
html body.bs1 .bd-cart-panel button[data-remove]{width:auto!important;min-width:0!important;min-height:44px!important;padding:0 4px!important;border:0!important;background:none!important;text-decoration:underline!important;font-size:13px!important;white-space:nowrap!important;flex:none!important}
html body.bs1 .bd-cart-quantity{flex-wrap:nowrap!important}
html body.bs1 .bd-cart-quantity span{min-width:28px!important}

/* FX-SBP (new) Shop by problem at <600: an inline <style> on the page sets ".problem-hub main{padding:20px 72px 96px 20px}",
   so the card grid is 266px wide (two 127px cards), names clip to 2 lines and "Add bundle to cart" is cut off. */
@media (max-width:599px){ html body.bs1.problem-hub main:not(.round4-breed){padding-left:0!important;padding-right:0!important} }

/* R5-N1  Card names: 3-line clamp with ellipsis (spec 4.x), never a fixed 2-line box */
html body.bs1 article.card:is(.r10-product-card,.problem-tool-card,.product-purchase-card) h3{height:auto!important;min-height:calc(3 * 1.3em)!important;max-height:calc(3 * 1.3em)!important;line-height:1.3!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;line-clamp:3!important;overflow:hidden!important}
html body.bs1 article.card:is(.r10-product-card,.problem-tool-card,.product-purchase-card) h3 .product-card-name-link{display:inline!important;height:auto!important;min-height:0!important;max-height:none!important;-webkit-line-clamp:unset!important;line-height:inherit!important}

/* R6-N1  Card names. R5-N1 lost to two #shopGrid rules (ID specificity) on Shop:
   names were cut mid-line with no ellipsis at >=600px and unclamped at <=420px.
   Phones (<=599px): show the full name (no truncation; 3-line minimum keeps rows aligned).
   >=600px: 3-line clamp with an ellipsis. Both selectors outrank the #shopGrid rules. */
html body.bs1 article.card:is(.r10-product-card,.problem-tool-card,.product-purchase-card) h3,
html body.bs1 #shopGrid article.card:is(.r10-product-card,.problem-tool-card,.product-purchase-card) h3{height:auto!important;min-height:calc(3 * 1.3em)!important;max-height:calc(3 * 1.3em)!important;line-height:1.3!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;line-clamp:3!important;overflow:hidden!important}
html body.bs1 article.card:is(.r10-product-card,.problem-tool-card,.product-purchase-card) h3 .product-card-name-link,
html body.bs1 #shopGrid article.card:is(.r10-product-card,.problem-tool-card,.product-purchase-card) h3 .product-card-name-link{display:inline!important;height:auto!important;min-height:0!important;max-height:none!important;-webkit-line-clamp:unset!important;line-height:inherit!important;font-size:inherit!important}
@media (max-width:599px){
html body.bs1 article.card:is(.r10-product-card,.problem-tool-card,.product-purchase-card) h3,
html body.bs1 #shopGrid article.card:is(.r10-product-card,.problem-tool-card,.product-purchase-card) h3{display:block!important;max-height:none!important;-webkit-line-clamp:unset!important;line-clamp:none!important;overflow:visible!important}
}
