/* Shared homepage/shop catalog. Keep native links, filters and pagination. */
.home .poster-collection-card,.home .poster-collection-card:last-child{aspect-ratio:1;min-height:0}
.home .poster-collection-card.poster-collection-is-empty{aspect-ratio:auto;min-height:220px;background:#edf0eb;border:1px solid #dfe5dc}
.home .poster-collection-card.poster-collection-is-empty::after{display:none}
.home .poster-collection-is-empty strong{color:#243b34}
.home .poster-collection-is-empty small{color:#53645d}
.home .poster-collection-is-empty em{color:#9b5536}
.home .poster-collection-is-empty:focus-visible{outline:3px solid #304778;outline-offset:4px}
.home .poster-collection-card>.poster-collection-scene{position:absolute;inset:0;display:block;z-index:0;overflow:hidden;transition:transform .45s ease}
.home .poster-collection-card .poster-collection-room{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.home .poster-collection-art{position:absolute;left:29.65%;top:9.25%;width:40.7%;height:59.8%;overflow:hidden;background:#ece2cf}
.home .poster-collection-art img{position:static;width:100%;height:100%;object-fit:cover;transform:none}
.home .poster-collection-card:hover .poster-collection-scene{transform:scale(1.035)}
@media(prefers-reduced-motion:reduce){.home .poster-collection-scene{transition:none}.home .poster-collection-card:hover .poster-collection-scene{transform:none}}
/* Bring the homepage collection closer to the benefits and its heading. */
body.home .poster-promise{padding-bottom:0;margin-bottom:0}
body.home .poster-products-section{padding-top:0}
body.home .poster-products-section .poster-section-head{margin-bottom:6px}
body.home .poster-products-section .poster-section-head h2{margin-top:4px!important;margin-bottom:4px!important}
body.home .poster-products-section .poster-section-head>.poster-link{margin-top:0}
body.home .poster-products-section .poster-section-head .poster-kicker{margin-bottom:0;line-height:1.3}
/* Portrait 2:3 cards only on the homepage. Crop the complete composition,
   not its individual layers, so artwork stays registered to the frame. */
.home .products .product-element-top{aspect-ratio:1!important}
.home .products .wd-product-img-link{position:relative}
.home .products .wd-product-img-link .poster-home-workspace{position:absolute;top:0;left:0;width:100%;height:100%;aspect-ratio:1}
.home .poster-home-workspace{position:relative;display:block;width:100%;height:100%;aspect-ratio:1;overflow:hidden;transition:transform .5s ease}
.home .poster-home-workspace-art{position:absolute;left:29.65%;top:9.25%;width:40.7%;height:59.8%;box-sizing:border-box;padding:0;border:0;display:flex;align-items:center;justify-content:center;background:#ece2cf;overflow:hidden}
.home .products .wd-product-img-link .poster-home-workspace img{transform:none!important;object-fit:cover!important;max-height:none}
.home .products .wd-product-img-link .poster-home-workspace-bg{object-fit:cover!important}
.home .product:hover .poster-home-workspace{transform:scale(1.08)}
@media(prefers-reduced-motion:reduce){.home .poster-home-workspace{transition:none}.home .product:hover .poster-home-workspace{transform:none}}
:is(.home,.post-type-archive-product,.page-id-29) .products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:30px 24px!important;margin:0!important}
:is(.home,.post-type-archive-product,.page-id-29) .products>.product{width:100%!important;max-width:none!important;min-width:0;padding:0!important;margin:0!important;flex:none!important;background:none!important;box-shadow:none!important;text-align:left!important}
:is(.home,.post-type-archive-product,.page-id-29) .product-element-top{aspect-ratio:1;overflow:hidden!important;border-radius:0!important}
:is(.home,.post-type-archive-product,.page-id-29) .wd-product-img-link{display:block;width:100%;height:100%;overflow:hidden}
:is(.home,.post-type-archive-product,.page-id-29) .wd-product-img-link img{display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform .5s ease!important}
:is(.home,.post-type-archive-product,.page-id-29) .product:hover .wd-product-img-link img{transform:scale(1.08)}
:is(.home,.post-type-archive-product,.page-id-29) .product-element-bottom{padding:12px 0 0!important;min-height:0!important;text-align:left!important}
:is(.home,.post-type-archive-product,.page-id-29) .wd-entities-title{font:400 14px/1.35 Arial,sans-serif!important;text-align:left!important;margin:0 0 5px!important}
:is(.home,.post-type-archive-product,.page-id-29) .wd-entities-title a{color:#414a57!important}
:is(.home,.post-type-archive-product,.page-id-29) .product .price{display:block;color:#111!important;font-size:14px!important;font-weight:700!important;text-align:left!important;margin:0!important}
:is(.home,.post-type-archive-product,.page-id-29) .product :is(.hover-img,.wd-buttons,.wd-add-btn,.poster-view-product,.wd-product-cats,.product-labels,.star-rating){display:none!important}
/* Compact homepage information; keep the price directly below the title. */
.home .products .product .product-element-bottom{display:block!important;padding-top:7px!important}
.home .products .product .wd-entities-title{min-height:0!important;margin-bottom:3px!important}
.home .products .product .product-rating-price{margin:0!important;height:auto!important}
.home .products .product .wrapp-product-price{align-items:flex-start;gap:0;transform:none!important}
.home .products .product :is(.wd-product-card-hover,.wrapp-swatches){display:none!important}
.home .products .product .product-element-top{position:relative}
.home .products .product .poster-view-product{display:inline-flex!important;position:absolute;z-index:10;left:50%;bottom:16px!important;align-items:center;justify-content:center;padding:10px 22px;min-height:42px;background:#304778;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease}
.home .products .product:is(:hover,:focus-within) .poster-view-product{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.home .products .product .poster-view-product:focus-visible{outline:3px solid white;outline-offset:3px}
@media(hover:none){.home .products .product .poster-view-product{opacity:1;pointer-events:auto;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.home .products .product .poster-view-product{transition:none}}
.poster-catalog-heading,.home .poster-section-head h2{text-align:center;font-family:Arial,sans-serif;font-size:clamp(24px,3vw,32px)!important;line-height:1.25;color:#111!important;font-weight:600;margin:0 0 24px!important;width:100%}
.poster-catalog-heading{grid-column:1/-1}.home .poster-products-section{width:100%;max-width:1180px}.home .poster-section-head{text-align:center}
.page-id-29 h1{text-align:center!important;color:#111!important;font-family:Arial,sans-serif!important;font-size:clamp(24px,3vw,32px)!important;margin-bottom:24px!important}
.page-id-29 .poster-kicker{display:none}
@media(max-width:1024px){:is(.home,.post-type-archive-product,.page-id-29) .products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:540px){:is(.home,.post-type-archive-product,.page-id-29) .products{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}}
@media(prefers-reduced-motion:reduce){:is(.home,.post-type-archive-product,.page-id-29) .wd-product-img-link img{transition:none!important}:is(.home,.post-type-archive-product,.page-id-29) .product:hover .wd-product-img-link img{transform:none}}
.home .products .product .poster-home-description{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:5px 0 7px!important;color:#6b7280;font-size:13px;line-height:1.5;font-weight:400;text-align:left;}
.poster-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.poster-review-card{padding:24px;background:#faf9f6;border:1px solid #ebe7df;border-radius:10px;text-align:left}
.poster-review-stars{color:#b47b24;font-size:19px;letter-spacing:3px;margin-bottom:14px}
.poster-review-card blockquote{padding:0;margin:0 0 20px;border:0;font-size:14px;line-height:1.8;color:#465064;font-style:normal}
.poster-review-card strong{display:block;font-size:14px;color:#273765}
.poster-review-verified{display:block;color:#57735a;font-size:12px;margin-top:4px}
/* Related cards share the homepage room scene; keep the main gallery untouched. */
.single-product .related-products .products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px}
.single-product .related-products .product{width:auto!important;max-width:none!important;min-width:0;padding:0!important;text-align:left}
.single-product .related-products .product-element-top{aspect-ratio:1;overflow:hidden}
.single-product .related-products .wd-product-img-link{display:block;position:relative;width:100%;height:100%;aspect-ratio:1}
.single-product .related-products .poster-home-workspace{position:absolute;inset:0;display:block;overflow:hidden;transition:transform .5s ease}
.single-product .related-products .poster-home-workspace-bg{width:100%!important;height:100%!important;object-fit:cover!important}
.single-product .related-products .poster-home-workspace-art{position:absolute;left:29.65%;top:9.25%;width:40.7%;height:59.8%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#ece2cf}
.single-product .related-products .poster-home-workspace-art img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
.single-product .related-products .product:hover .poster-home-workspace{transform:scale(1.08)}
.single-product .related-products .product-element-bottom{display:block!important;padding:16px 0 0!important;text-align:left}
.single-product .related-products .wd-entities-title{font-size:14px;font-weight:400;color:#414a57;margin-bottom:8px}
.single-product .related-products .poster-home-description{font-size:13px;color:#667085;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 8px}
.single-product .related-products .price{display:block;color:#111;font-size:14px;font-weight:700}
.single-product .related-products :is(.hover-img,.wd-buttons,.wd-add-btn,.poster-view-product,.wd-product-cats,.product-labels,.star-rating,.swatches-on-grid){display:none!important}
@media(max-width:1024px){.single-product .related-products .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
@media(prefers-reduced-motion:reduce){.single-product .related-products .poster-home-workspace{transition:none}.single-product .related-products .product:hover .poster-home-workspace{transform:none}}
.poster-review-card>a{display:block;font-size:12px;margin-top:12px;text-decoration:underline;color:#526182}
.poster-reviews-empty{grid-column:1/-1;padding:28px;margin:0;border:1px solid #ebe7df;border-radius:10px;background:#faf9f6;text-align:center;color:#667085}
@media(max-width:767px){.poster-reviews-grid{grid-template-columns:1fr;gap:14px}}
/* Category archives use the homepage product cards and room mockups. */
.tax-product_cat .products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:30px 24px!important;margin:0!important}
.tax-product_cat .products>.product{width:100%!important;max-width:none!important;min-width:0;padding:0!important;margin:0!important;flex:none!important;background:none!important;box-shadow:none!important;text-align:left!important}
.tax-product_cat .product-element-top{aspect-ratio:1;overflow:hidden!important;border-radius:0!important}
.tax-product_cat .wd-product-img-link{display:block;position:relative;width:100%;height:100%;aspect-ratio:1;overflow:hidden}
.tax-product_cat .poster-home-workspace{position:absolute;inset:0;display:block;overflow:hidden;transition:transform .5s ease}
.tax-product_cat .poster-home-workspace-bg{width:100%!important;height:100%!important;object-fit:cover!important}
.tax-product_cat .poster-home-workspace-art{position:absolute;left:29.65%;top:9.25%;width:40.7%;height:59.8%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#ece2cf}
.tax-product_cat .poster-home-workspace-art img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
.tax-product_cat .product:hover .poster-home-workspace{transform:scale(1.08)}
.tax-product_cat .product-element-bottom{display:block!important;min-height:0!important;padding:12px 0 0!important;text-align:left!important}
.tax-product_cat .product-element-bottom .product-rating-price{display:block!important;text-align:left!important}
.tax-product_cat .product-element-bottom .wrapp-product-price{justify-content:flex-start!important;align-items:flex-start!important}
.tax-product_cat .wd-entities-title{font:400 14px/1.35 Arial,sans-serif!important;text-align:left!important;margin:0 0 5px!important}
.tax-product_cat .wd-entities-title a{color:#414a57!important}
.tax-product_cat .poster-home-description{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:5px 0 7px!important;color:#6b7280;font-size:13px;line-height:1.5;font-weight:400;text-align:left}
.tax-product_cat .product .price{display:block;color:#111!important;font-size:14px!important;font-weight:700!important;text-align:left!important;margin:0!important}
.tax-product_cat .product :is(.hover-img,.wd-buttons,.wd-add-btn,.poster-view-product,.wd-product-cats,.product-labels,.star-rating,.swatches-on-grid){display:none!important}
.tax-product_cat .product :is(.wd-product-card-hover,.wd-product-card-bg,.wrapp-swatches){display:none!important}
.tax-product_cat .product .wd-product-wrapper{background:transparent!important;box-shadow:none!important;transform:none!important}
.tax-product_cat .products .product .product-element-top{position:relative}
.tax-product_cat .products .product .poster-view-product{display:inline-flex!important;position:absolute;z-index:10;left:50%;bottom:16px;align-items:center;justify-content:center;padding:10px 22px;min-height:42px;background:#304778;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease}
.tax-product_cat .products .product:is(:hover,:focus-within) .poster-view-product{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.tax-product_cat .products .product .poster-view-product:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(hover:none){.tax-product_cat .products .product .poster-view-product{opacity:1;pointer-events:auto;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.tax-product_cat .products .product .poster-view-product{transition:none}}
@media(max-width:1024px){.tax-product_cat .products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 16px!important}}
@media(max-width:540px){.tax-product_cat .products{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}}
@media(prefers-reduced-motion:reduce){.tax-product_cat .poster-home-workspace{transition:none}.tax-product_cat .product:hover .poster-home-workspace{transform:none}}
/* The dedicated shop page can render as WooCommerce's archive rather than a normal page. */
:is(.page-id-29,.post-type-archive-product) .products .product-element-top{position:relative;aspect-ratio:1!important;overflow:hidden!important}
:is(.page-id-29,.post-type-archive-product) .products .wd-product-img-link{position:relative;display:block;width:100%;height:100%;overflow:hidden}
:is(.page-id-29,.post-type-archive-product) .products .wd-product-img-link .poster-home-workspace{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:1;overflow:hidden;transition:transform .5s ease}
:is(.page-id-29,.post-type-archive-product) .products .poster-home-workspace-bg{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important}
:is(.page-id-29,.post-type-archive-product) .products .poster-home-workspace-art{position:absolute;left:29.65%;top:9.25%;width:40.7%;height:59.8%;box-sizing:border-box;padding:0;border:0;display:flex;align-items:center;justify-content:center;background:#ece2cf;overflow:hidden}
:is(.page-id-29,.post-type-archive-product) .products .poster-home-workspace-art img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
:is(.page-id-29,.post-type-archive-product) .products .product:hover .poster-home-workspace{transform:scale(1.08)}
:is(.page-id-29,.post-type-archive-product) .products .product-element-bottom{display:block!important;padding:7px 0 0!important;min-height:0!important;text-align:left!important}
:is(.page-id-29,.post-type-archive-product) .products .wd-entities-title{min-height:0!important;margin:0 0 3px!important;font:400 14px/1.35 Arial,sans-serif!important;text-align:left!important}
:is(.page-id-29,.post-type-archive-product) .products .product .poster-home-description{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:5px 0 7px!important;color:#6b7280;font-size:13px;line-height:1.5;font-weight:400;text-align:left}
:is(.page-id-29,.post-type-archive-product) .products .product .poster-view-product{display:inline-flex!important;position:absolute;z-index:10;left:50%;bottom:16px!important;align-items:center;justify-content:center;padding:10px 22px;min-height:42px;background:#304778;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease}
:is(.page-id-29,.post-type-archive-product) .products .product:is(:hover,:focus-within) .poster-view-product{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
:is(.page-id-29,.post-type-archive-product) .products .product .poster-view-product:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(hover:none){:is(.page-id-29,.post-type-archive-product) .products .product .poster-view-product{opacity:1;pointer-events:auto;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){:is(.page-id-29,.post-type-archive-product) .products .poster-home-workspace,:is(.page-id-29,.post-type-archive-product) .products .poster-view-product{transition:none}:is(.page-id-29,.post-type-archive-product) .products .product:hover .poster-home-workspace{transform:none}}


/* Mobile: keep one representative image when a collection has artwork. */
@media (max-width: 767px) { .home .poster-collection-card:has(.poster-collection-art img) > .poster-collection-placeholder { display: none !important; } }

/* Keep category artwork to one visual when a product image is present. */
@media (max-width: 767px) { body.home #main-content .poster-collection-card:has(.poster-collection-art img) > .poster-collection-placeholder { display: none !important; } }


/* Mobile: tighten the gap between the header and the homepage hero. */
@media (max-width: 767px) { body.home #main-content { padding-top: 10px !important; } body.home #main-content .poster-home { padding-top: 8px !important; } }


/* Hide the paw placeholder when real collection artwork is present on desktop and mobile. */
body.home #main-content .poster-collection-card:has(.poster-collection-art img) > .poster-collection-placeholder { display: none !important; }


/* Keep the mobile homepage copyright row below the final footer link row. */
@media (max-width: 767px) { body.home footer.wd-footer { margin-top: 0 !important; } }


/* Remove the separator above the mobile homepage copyright row. */
@media (max-width: 767px) { body.home .wd-copyrights { border-top: 0 !important; } }


/* Clear any theme separator line at the mobile homepage footer boundary. */
@media (max-width: 767px) {
  body.home .poster-info-footer, body.home footer.wd-footer, body.home .wd-copyrights, body.home .wd-copyrights .container { border: 0 !important; outline: 0 !important; box-shadow: none !important; background-image: none !important; }
  body.home .poster-info-footer::before, body.home .poster-info-footer::after, body.home footer.wd-footer::before, body.home footer.wd-footer::after, body.home .wd-copyrights::before, body.home .wd-copyrights::after { content: none !important; display: none !important; }
}


/* Blend the lower edge of the mobile footer panel to remove its stray white seam. */
@media (max-width: 767px) {
  body.home .poster-info-footer { position: relative !important; }
  body.home .poster-info-footer::after { content: "" !important; display: block !important; position: absolute !important; left: 0; right: 0; bottom: 0; height: 22px; background: rgb(41, 49, 47); z-index: 10; pointer-events: none; }
}


/* Match the mobile copyright container background to prevent a white seam. */
@media (max-width: 767px) { body.home footer.wd-footer { background-color: rgb(37, 45, 44) !important; } }


/* Cover the stray seam immediately above the mobile copyright strip. */
@media (max-width: 767px) {
  body.home .wd-copyrights { position: relative !important; z-index: 50 !important; }
  body.home .wd-copyrights::before { content: "" !important; display: block !important; position: absolute !important; top: -24px !important; left: 0; right: 0; height: 24px; background: rgb(37, 45, 44) !important; }
}
/* Mobile swipe: keep each homepage promise card as its own snap stop. */@media (max-width: 767px) {  body.home .poster-promise {    -webkit-overflow-scrolling: touch !important;    overscroll-behavior-x: contain !important;  }  body.home .poster-promise > span { scroll-snap-stop: always !important; }}



/* Mobile collection cards use the original product image without a simulated frame. */
@media (max-width:767px){
body.home #main-content .poster-collection-card .poster-collection-scene{position:relative!important;display:block!important;padding:0!important;overflow:hidden!important;background:transparent!important;}
body.home #main-content .poster-collection-card .poster-collection-room{display:none!important;}
body.home #main-content .poster-collection-card .poster-collection-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;transform:none!important;}
body.home #main-content .poster-collection-card .poster-collection-art img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;object-fit:contain!important;transform:none!important;}
body.home #main-content .poster-collection-scene::before,body.home #main-content .poster-collection-scene::after,body.home #main-content .poster-collection-art::before,body.home #main-content .poster-collection-art::after{display:none!important;content:none!important;}
}

/* Uniform mobile style cards, including the pet collection. */
@media(max-width:767px){body.home #main-content .poster-collection-card{box-sizing:border-box!important;background:#fffcf5!important;border:1px solid #e5e3dd!important;border-radius:14px!important;box-shadow:0 5px 14px rgba(41,49,47,.08)!important;overflow:hidden!important;}}

/* Match the pet collection card to its sibling cards on mobile. */
@media (max-width:767px){html body.home main#main-content .poster-collections .poster-collection-grid > a.poster-collection-card:nth-child(4){border-width:1px!important;border-style:solid!important;border-color:rgba(42,59,48,.1)!important;border-radius:14px!important;background-color:#fffcf4!important;box-shadow:0 3px 10px rgba(37,48,42,.07)!important;}}
