/* PetXP26: homepage composition and category entry points; shared product cards are unchanged. */
.px-home-intro{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px;align-items:stretch}
.px-home-intro--single{grid-template-columns:minmax(0,1fr)}
.px-home-hero{min-width:0;grid-template-columns:minmax(0,1.4fr) minmax(150px,.8fr);padding:clamp(24px,3vw,44px);min-height:340px;gap:16px}
.px-home-hero h1{font-size:clamp(30px,3vw,46px);max-width:17ch;margin-bottom:18px}
.px-home-hero .px-hero__copy{min-width:0}
.px-home-hero p{font-size:16px;margin-bottom:22px}
.px-home-hero__pets{position:relative;align-self:stretch;min-height:245px;min-width:0}
.px-home-hero__pets:before{content:"";position:absolute;inset:4% -10% 8% -8%;border-radius:50%;background:#ffffff66}
.px-home-hero__pets img{position:absolute;width:clamp(130px,14vw,200px);object-fit:contain;max-width:95%;filter:drop-shadow(0 7px 7px #203b4112)}
.px-home-hero__dog{top:0;right:0;transform:rotate(6deg)}
.px-home-hero__cat{bottom:0;left:-6%;transform:rotate(-6deg)}
.px-home-promos{min-width:0;display:grid;gap:16px}
.px-home-promo{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:24px;border:1px solid var(--px-line);border-radius:calc(var(--px-radius) + 4px);background:var(--px-surface);color:var(--px-text)!important;overflow:hidden;text-decoration:none!important}
.px-home-promo--2{background:var(--px-soft)}
.px-home-promo:hover{border-color:var(--px-brand)}
.px-home-promo__copy{min-width:0;position:relative;z-index:1;flex:1}
.px-home-promo h2{font-size:22px;line-height:1.25;margin:0 0 10px;overflow-wrap:anywhere}
.px-home-promo p{font-size:14px;line-height:1.5;color:var(--px-muted);margin:0 0 14px}
.px-home-promo__action{display:inline-flex;align-items:center;gap:8px;font-size:14px;line-height:1.4;color:var(--px-primary);font-weight:700}
.px-home-promo__action svg{width:20px;height:20px}
.px-home-promo>img{width:32%;max-width:140px;max-height:150px;object-fit:contain;flex:none}
.px-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:18px}
.px-section-heading h2{margin:0;min-width:0;overflow-wrap:anywhere}
.px-section-heading__more{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;min-height:36px;white-space:nowrap}
.px-section-heading__more svg{width:18px;height:18px}
.px-home-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.px-home-service-grid>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:20px;background:var(--px-surface);border:1px solid var(--px-line);border-radius:var(--px-radius);font-weight:700;color:var(--px-text)}
.px-home-service-grid>a:hover{border-color:var(--px-brand);text-decoration:none}
.px-home-service-grid svg{width:20px;height:20px;color:var(--px-primary)}
.px-category-heading h1{max-width:48ch;overflow-wrap:anywhere}
.px-subcategories{margin-bottom:28px}
.px-subcategories-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.px-subcategory{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:76px;padding:16px 18px;border:1px solid var(--px-line);border-radius:var(--px-radius);background:var(--px-surface);color:var(--px-text)!important;font-size:14px;font-weight:600;line-height:1.4}
.px-subcategory>span{min-width:0;overflow-wrap:anywhere}
.px-subcategory>svg{width:17px;height:17px;color:var(--px-primary)}
.px-subcategory:hover{border-color:var(--px-brand);background:var(--px-soft);text-decoration:none!important}
.px-subcategories-more{margin-top:12px}
.px-subcategories-more>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:14px;font-weight:700;color:var(--px-primary);min-height:40px;width:fit-content;max-width:100%;margin-bottom:12px}
.px-subcategories-more>summary::-webkit-details-marker{display:none}
.px-subcategories-more>summary svg{width:18px;height:18px}
.px-subcategories-more__open,.px-subcategories-more[open] .px-subcategories-more__closed{display:none}
.px-subcategories-more[open] .px-subcategories-more__open{display:inline}
.px-subcategories-more[open]>summary svg{transform:rotate(180deg)}
.px-subcategories--compact .px-subcategories-grid{display:flex;flex-wrap:wrap;gap:10px}
.px-subcategories--compact .px-subcategory{min-height:40px;padding:9px 13px;font-size:14px}
.px-subcategories--compact .px-subcategory>svg{display:none}
.px-category-about{margin-top:32px;padding:20px 24px;background:var(--px-surface);border:1px solid var(--px-line);border-radius:var(--px-radius)}
.px-category-about>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;font-size:17px;list-style:none;cursor:pointer}
.px-category-about>summary::-webkit-details-marker{display:none}
.px-category-about>summary svg{width:20px;height:20px}
.px-category-about[open]>summary svg{transform:rotate(180deg)}
.px-category-about .category-desc{margin-top:20px;max-width:100ch}
.px-category-about .category-desc:empty,.px-category-about .filter-additional-desc:empty{display:none}
@media(min-width:1760px){.px-subcategories-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1199px){.px-home-intro{grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:16px}.px-home-intro--single{grid-template-columns:minmax(0,1fr)}.px-home-hero{grid-template-columns:minmax(0,1fr);padding:28px}.px-home-hero__pets{display:none}.px-home-promo{padding:20px}.px-home-promo h2{font-size:20px}.px-subcategories-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:899px){.px-home-intro{grid-template-columns:minmax(0,1fr)}.px-home-hero{min-height:0;grid-template-columns:minmax(0,1.4fr) minmax(160px,.8fr)}.px-home-hero__pets{display:block;min-height:225px}.px-home-promos{grid-template-columns:repeat(2,minmax(0,1fr))}.px-home-promo{padding:22px}.px-subcategories-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:639px){.px-home-hero{grid-template-columns:minmax(0,1fr);padding:26px 24px}.px-home-hero h1{font-size:32px}.px-home-hero__pets{display:none}.px-home-hero p{font-size:15px}.px-home-promo{padding:18px 14px;align-items:start}.px-home-promo h2{font-size:18px}.px-home-promo p{font-size:13px}.px-home-promo__action{font-size:13px}.px-home-promo>img{display:none}.px-subcategories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.px-subcategory{padding:13px 12px;gap:8px;font-size:13px;min-height:70px}.px-category-about{padding:18px 16px}.px-section-heading{margin-bottom:14px;gap:6px 16px}.px-section-heading h2{font-size:22px}.px-home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.px-home-service-grid>a{padding:16px 12px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.px-home-hero__pets img{transform:none}}

/* Dense entry points show the full direct-child category list without oversized tiles. */
.px-subcategories--dense{margin-bottom:22px}.px-subcategories--dense .px-subcategories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px}
.px-subcategories--dense .px-subcategory{min-height:48px;padding:8px 10px;gap:8px;font-size:13px;border-radius:9px;justify-content:flex-start}
.px-subcategory__label{flex:1;min-width:0}.px-subcategory__arrow{flex:none}.px-subcategories--dense .px-subcategory__arrow{width:13px;height:13px}
.px-subcategory__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;color:var(--px-primary)}
.px-subcategory__icon>img{display:block;width:24px;height:24px;object-fit:contain}.px-subcategory__icon>svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.px-subcategory__icon.has-image>svg{display:none}.px-subcategory__icon.has-image.is-fallback>svg{display:block}.px-subcategory__icon>img[hidden]{display:none}
@media(max-width:639px){.px-subcategories--dense .px-subcategories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.px-subcategories--dense .px-subcategory{min-height:48px;padding:8px;font-size:13px}.px-subcategories--dense .px-subcategory__arrow{display:none}}
