/* Home-only crop: keep the original scene and remove empty tabletop below it. */
#puzzles .collection-door{--game-tile-bottom-trim:clamp(22px,2.65vw,38px)}
#puzzles .door-art{aspect-ratio:auto;height:0;padding-top:calc(100% / 1.8 - var(--game-tile-bottom-trim))}
#puzzles .door-art img{height:calc(100% + var(--game-tile-bottom-trim));bottom:auto;object-position:center 35%}
@media(max-width:620px){#puzzles .door-art{padding-top:calc(100% / 1.9 - var(--game-tile-bottom-trim))}}

/* Keep the compact action immediately beside the title, within the original card link. */
#puzzles .collection-door-content{padding:18px 22px 20px}
#puzzles .door-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:7px 0 8px}
#puzzles .door-heading h2{font-size:clamp(1.05rem,1.55vw,1.45rem);line-height:1.3;margin:0}
#puzzles .door-heading .door-link{display:inline;font-size:.78rem;font-weight:700;line-height:1.5;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
#puzzles .collection-door p{margin:0;line-height:1.6}
@media(max-width:1000px){#puzzles .collection-door-content{padding:16px}}
@media(max-width:620px){#puzzles .collection-door-content{padding:16px 18px}#puzzles .door-heading h2{font-size:1.2rem}}
@media(max-width:360px){#puzzles .collection-door-content{padding:14px}#puzzles .door-heading{column-gap:8px}#puzzles .door-heading h2{font-size:1.05rem}}

/* The illustrated categories replace the earlier chip filter, without a duplicate section. */
#categories{margin-top:24px}
#categories .category-grid{grid-template-columns:repeat(11,minmax(0,1fr))}
#categories button.category-card{font:inherit;color:var(--text);cursor:pointer;min-width:0}
#categories .category-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:inset 0 0 0 1px var(--accent)}
#categories .category-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:1200px){#categories .category-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:750px){#categories .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){#categories .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Show one complete catalogue immediately after its filters, with a compact gap. */
#categories{padding-bottom:14px}
#categories + #alltools{padding-top:0;scroll-margin-top:110px}
#alltools .section-head{margin-bottom:14px}
@media(max-width:750px){#categories + #alltools{scroll-margin-top:150px}}

/* Align the banner artwork with the same central container as the rest of the homepage. */
.home-hero.container>.home-hero-inner{width:100%;padding-inline:clamp(18px,2.2vw,32px)}

/* Keep category choices in view and put the live count beside their heading. */
#categories .category-heading{justify-content:flex-start;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
#categories .category-heading h2{margin:0;font-size:clamp(1rem,2vw,1.5rem)}
#categories .category-heading .count-label{white-space:nowrap;font-size:.8rem}
#catalog-title.catalog-title-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:360px){#categories .category-heading{column-gap:8px}#categories .category-heading .count-label{font-size:.72rem}}
#categories{scroll-margin-top:110px}
@media(max-width:750px){#categories{scroll-margin-top:150px}}
