.browse-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; }
.browse-heading h3 { margin: 0; font-size: 1.25rem; }
.browse-heading p { margin: 0; color: var(--muted); }
.category-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 2.5rem; }
.category-link { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; min-height: 4.2rem; padding: 0.9rem 1rem; border: 1px solid var(--line); border-radius: 0.8rem; background: linear-gradient(130deg, rgba(140,240,47,.075), rgba(173,114,255,.045)); text-decoration: none; font-weight: 800; transition: border-color .2s, background .2s, transform .2s; }
.category-link:hover, .category-link:focus-visible, .category-link.active { border-color: var(--green); background: rgba(140,240,47,.14); }
.category-link:hover { transform: translateY(-2px); }
.category-link small { flex: none; color: var(--green); font-size: .8rem; font-weight: 750; }
.catalog-page { max-width: var(--max); min-height: 70vh; padding: 3rem 1.25rem 6rem; margin: auto; }
.back-link { color: var(--green); text-decoration: none; font-weight: 800; }
.back-link:hover, .fil-link:hover { text-decoration: underline; }
.catalog-intro { padding: 3rem 0 2.5rem; }
.catalog-intro h1 { margin: 0; font: 400 clamp(3rem, 6vw, 5.6rem)/1 Georgia, "Times New Roman", serif; letter-spacing: -.04em; }
.catalog-intro > p:last-child { max-width: 45rem; margin: 1.2rem 0 0; color: var(--muted); font-size: 1.1rem; }
.catalog-count { margin: 0 0 1rem; color: var(--muted); font-size: .9rem; }
.catalog-empty { grid-column: 1 / -1; padding: 3rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--panel); color: var(--muted); }
.product-categories { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1rem; }
.product-categories a { padding: .25rem .55rem; border: 1px solid var(--line); border-radius: 999px; color: var(--green); text-decoration: none; font-size: .8rem; font-weight: 700; }
.product-categories a:hover { border-color: var(--green); }
.photo-pair a { display: block; min-width: 0; min-height: 0; overflow: hidden; }
.photo-pair a:focus-visible { outline: 3px solid var(--green); outline-offset: -3px; }
.photo-triptych { grid-template-columns: 1.25fr 1fr; grid-template-rows: repeat(2, 1fr); }
.photo-triptych a:first-child { grid-row: 1 / 3; }
@media (max-width: 820px) { .category-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } .browse-heading { display: block; } }
@media (max-width: 580px) { .category-links { grid-template-columns: 1fr; } .catalog-page { padding-top: 2rem; } .catalog-intro { padding-top: 2rem; } }
@media (prefers-reduced-motion: reduce) { .category-link { transition: none; } }

.category-family { border: 1px solid var(--line); border-radius: .8rem; overflow: hidden; }
.category-family > .category-link { border: 0; border-radius: 0; }
.category-children { border-top: 1px solid var(--line); }
.category-child { border: 0; border-radius: 0; min-height: 3rem; padding-left: 1.5rem; font-size: .9rem; background: var(--panel); }
.category-links { align-items: start; }
[data-product-id="elemental-dragon-lights"] > img { object-fit: contain; background: #060906; }

/* Seasonal accents stay scoped to the Halloween catalog and products. */
.seasonal-family { border-color: rgba(255,141,61,.4); }
.seasonal-category { background: linear-gradient(130deg,rgba(255,141,61,.13),rgba(173,114,255,.09)); }
.seasonal-category small, .seasonal-product .tag, .seasonal-catalog .catalog-intro .eyebrow { color: var(--orange); }
.seasonal-category:hover, .seasonal-category:focus-visible, .seasonal-category.active { border-color: var(--orange); background: rgba(255,141,61,.18); }
.seasonal-product { border-color: rgba(255,141,61,.3); }
.seasonal-product .photo-pair { background: #000; }
.seasonal-product .photo-pair img { object-fit: contain; }
.seasonal-catalog .catalog-intro { background: radial-gradient(ellipse at 80% 30%,rgba(173,114,255,.09),transparent 60%); }

/* Keep the complete tray silhouettes visible at every viewport size. */
[data-product-id$="-trinket-tray"] > img { object-fit: contain; background: #000; }

/* Preserve complete character views in the seasonal keychain collection. */
.seasonal-product[data-product-id$="-keychain"] > img,
[data-product-id="dracula-character"] > img,
[data-product-id="pumpkin-ghost-clicker"] > img,
[data-product-id="zombie-brain-clickers"] > img { object-fit: contain; background: #000; }

/* A branded doorway and hero for Halloween, scoped away from everyday branding. */
.category-family > .halloween-entry { display: flex; flex-direction: column; gap: .8rem; padding: 1rem; }
.halloween-entry img { width: min(100%, 14rem); height: auto; aspect-ratio: 1; object-fit: contain; border-radius: .65rem; }
.halloween-entry-caption { display: flex; align-items: center; justify-content: space-between; gap: .8rem; width: 100%; }
.halloween-entry:focus-visible { outline: 3px solid var(--orange); outline-offset: -3px; }
.halloween-intro { display: grid; grid-template-columns: 1fr minmax(0, .75fr); align-items: center; gap: 2.5rem; }
.halloween-intro-copy > p:last-child { max-width: 45rem; margin: 1.2rem 0 0; color: var(--muted); font-size: 1.1rem; }
.halloween-hero-logo { width: 100%; max-width: 25rem; height: auto; justify-self: end; border-radius: 1rem; box-shadow: 0 0 36px rgba(255,141,61,.12); }
@media (max-width: 820px) { .halloween-intro { grid-template-columns: 1fr; gap: 1.8rem; } .halloween-hero-logo { grid-row: 1; justify-self: center; max-width: 20rem; } }
@media (max-width: 580px) { .halloween-hero-logo { max-width: 17rem; } .halloween-entry img { width: min(100%, 12rem); } }

[data-product-id="dragon-orb-lamp"] .photo-pair img { object-fit: contain; background: #060906; }

[data-product-id="flexi-orca"] .photo-pair img { object-fit: contain; background: #060906; }

[data-product-id$="-candy-dish"] > img, [data-product-id$="-candy-dish"] .photo-pair img { object-fit: contain; background: #000; }

[data-product-id^="jack-o-lantern-valve-cap-"] > img, [data-product-id^="jack-o-lantern-valve-cap-"] .photo-pair img, [data-product-id="ghost-valve-caps"] .photo-pair img { object-fit: contain; background: #060906; }

[data-product-id="octopus-windspinner"] > img, [data-product-id="dragon-windspinner"] .photo-pair img { object-fit: contain; background: #060906; }
.product-card > .product-video { display: block; width: 100%; height: 21rem; object-fit: contain; background: #060906; }
.product-price { color: var(--green); font-weight: 750; }
@media (max-width: 820px) { .product-card > .product-video { height: 18rem; } }

[data-product-id="candy-corn-valve-caps"] > img { object-fit: contain; background: #060906; }

[data-product-id="dinosaur-pen-clickers"] .photo-pair img, [data-product-id="custom-six-sided-clicker"] > img { object-fit: contain; background: #060906; }

.forge-update, .new-arrivals { max-width: var(--max); margin: 0 auto; padding: 1.25rem; }
.forge-update { border-block: 1px solid var(--line); background: linear-gradient(110deg,rgba(140,240,47,.065),rgba(173,114,255,.045)); }
.forge-update h2 { margin: 0 0 .5rem; font: 400 clamp(1.5rem,3vw,2rem)/1.2 Georgia,serif; }
.forge-update p { margin: .4rem 0; max-width: 65rem; color: var(--muted); }
.forge-update .forge-return { color: var(--green); font-weight: 750; }
.new-arrivals { padding-block: 1.8rem 2rem; }
.arrivals-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.arrivals-heading h2 { margin: 0; font: 400 2rem/1.1 Georgia,serif; }
.arrivals-heading .eyebrow { margin-bottom: .35rem; }
.arrivals-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.arrival-photo { display: block; background: #060906; }
.arrival-photo img { width: 100%; height: 10rem; object-fit: contain; }
.arrival-card .card-copy { padding: .9rem; }
.arrival-card h3 { font-size: 1.05rem; line-height: 1.3; }
.arrival-card h3 a { text-decoration: none; }
.arrival-link { color: var(--green); font-size: .85rem; font-weight: 750; }
.arrival-card .tag { font-size: .65rem; }
.product-card[id] { scroll-margin-top: 7rem; }
@media (max-width: 820px) { .arrivals-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .arrivals-heading { align-items: start; flex-direction: column; } }
@media (max-width: 380px) { .arrivals-grid { grid-template-columns: 1fr; } }

.product-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .65rem; }
.product-badge { padding: .2rem .55rem; border: 1px solid var(--purple); border-radius: 999px; background: rgba(173,114,255,.12); color: var(--ink); font-size: .72rem; font-weight: 800; }
.image-source-note { font-size: .8rem; color: var(--muted); }
[data-product-id="grim-imp"] > img, [data-product-id="bone-goblin"] > img, [data-product-id="deathwatcher"] > img, [data-product-id="fell-orc"] > img, [data-product-id="dreadwolf"] .photo-pair img, [data-product-id="the-drowned-one"] .photo-pair img { object-fit: contain; background: #060906; }
.collection-arrival { grid-column: span 2; }
.collection-arrival .card-copy > p { font-size: .85rem; }
@media (max-width: 380px) { .collection-arrival { grid-column: auto; } }

[data-product-id="police-officer-cap"] > img, [data-product-id="yay-cap"] > img, [data-product-id="party-hat"] > img, [data-product-id="devil-wings"] > img, [data-product-id="dino-crown-cat-costume"] > img, [data-product-id="angel-wings-halo"] > img, [data-product-id="side-swept-cat-wig"] > img, [data-product-id="slicked-back-cat-wig"] > img { object-fit: contain; background: #060906; }
.collection-safety { padding: 1rem; border-left: 3px solid var(--purple); background: var(--panel); font-size: .95rem !important; }
.arrival-card .coming-soon { display: inline-block; margin-bottom: .7rem; color: var(--green); background: rgba(173,114,255,.18); letter-spacing: .07em; }
.arrival-card details { color: var(--muted); font-size: .85rem; margin-block: .75rem; }
.arrival-card summary { cursor: pointer; color: var(--green); }

.category-grandchild { margin-left: 1rem; border-left: 2px solid var(--purple); padding-left: .5rem; }
[data-product-id^="realm-"] .realm-photo { display:block; background:#000; }
[data-product-id^="realm-"] .realm-photo img { display:block; width:100%; height:24rem; object-fit:contain; }
[data-product-id^="realm-"] .photo-pair img { object-fit:contain; background:#000; }
@media(max-width:820px) { [data-product-id^="realm-"] .realm-photo img { height:20rem; } }

.arrival-collection-label{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;border-bottom:1px solid var(--line);padding:.7rem 0;margin-top:.5rem}.arrival-collection-label h3{margin:0;font:400 1.65rem/1.2 Georgia,serif;color:var(--ink)}
[data-product-id="dark-blade-katana"] .realm-photo,[data-product-id="ancient-blade-katana"] .realm-photo,[data-product-id$="katana-holder"] .realm-photo,[data-product-id="blade-altar-katana-and-incense-holder"] .realm-photo{display:block;background:#000}
.product-card .realm-photo img{display:block;width:100%;height:24rem;object-fit:contain;background:#000}
@media(max-width:820px){.product-card .realm-photo img{height:20rem}}

[data-product-id="realm-crystal-spire"] .photo-pair,[data-product-id="realm-sword-in-stone"] .photo-pair{display:grid;height:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;background:#060906}
[data-product-id="realm-crystal-spire"] .photo-pair a:first-child,[data-product-id="realm-sword-in-stone"] .photo-pair a:first-child{grid-column:1/-1}
[data-product-id="realm-crystal-spire"] .photo-pair img,[data-product-id="realm-sword-in-stone"] .photo-pair img{display:block;width:100%;height:12rem;object-fit:contain}
[data-product-id="realm-crystal-spire"] .photo-pair a:first-child img,[data-product-id="realm-sword-in-stone"] .photo-pair a:first-child img{height:28rem}
@media(max-width:580px){[data-product-id="realm-crystal-spire"] .photo-pair img,[data-product-id="realm-sword-in-stone"] .photo-pair img{height:8rem}[data-product-id="realm-crystal-spire"] .photo-pair a:first-child img,[data-product-id="realm-sword-in-stone"] .photo-pair a:first-child img{height:22rem}}

[data-product-id="realm-inferno-drake"] .photo-pair{display:grid;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;background:#060906}
[data-product-id="realm-inferno-drake"] .photo-pair a:first-child{grid-column:1/-1}
[data-product-id="realm-inferno-drake"] .photo-pair img{display:block;width:100%;height:13rem;object-fit:contain}
[data-product-id="realm-inferno-drake"] .photo-pair a:first-child img{height:28rem}
@media(max-width:580px){[data-product-id="realm-inferno-drake"] .photo-pair img{height:10rem}[data-product-id="realm-inferno-drake"] .photo-pair a:first-child img{height:22rem}}

.ft-collection-photo{display:block;background:#eee}.ft-collection-photo img{display:block;width:100%;height:21rem;object-fit:contain}[data-product-id="fluffy-tails-keychains"] h3 a{color:inherit;text-decoration:none}@media(max-width:820px){.ft-collection-photo img{height:18rem}}

/* Selling prices and informational multi-buy offers. */
.product-price { font-weight: 800; font-size: 1.12rem; color: var(--green, #b9f28a); }
.price-promotion { font-size: .9rem; line-height: 1.6; overflow-wrap: anywhere; }
