/* Kids Toy Directory design system v2: warmer type, one accent, three elevation levels.
   Loaded after every other stylesheet; overrides by selector, never by !important unless noted. */
@font-face { font-family: "Fraunces"; src: url("/static/fonts/fraunces.woff2") format("woff2"); font-weight: 500 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Nunito"; src: url("/static/fonts/nunito.woff2") format("woff2"); font-weight: 500 800; font-style: normal; font-display: swap; }

:root {
  --cream: #f7f1e4;
  --paper: #fffdf8;
  --forest: #1d4a3a;
  --ink-2: #44594d;
  --muted: #6f8176;
  --line: #e6dccb;
  --orange: #ef6f4c;
  --coral: #ef6f4c;
  --coral-ink: #b84827;
  --butter: #ffd978;
  --lime: #d9ecd3;
  --lavender: #e6ddf3;
  --sky: #cfe4ef;
  --sand: #f3e9d8;
  --radius: 22px;
  --font: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: "Fraunces", Georgia, "Times New Roman", serif;
  --shadow-1: 0 1px 0 rgba(255,255,255,.75) inset, 0 0 0 1px rgba(31,58,46,.06), 0 10px 24px -12px rgba(31,58,46,.22);
  --shadow-2: 0 1px 0 rgba(255,255,255,.75) inset, 0 0 0 1px rgba(31,58,46,.06), 0 14px 30px -14px rgba(31,58,46,.3), 0 30px 50px -30px rgba(31,58,46,.25);
  --shadow-3: 0 1px 0 rgba(255,255,255,.35) inset, 0 -2px 0 rgba(120,40,20,.2) inset, 0 12px 24px -8px rgba(232,96,61,.55);
  --mat: linear-gradient(150deg, #faf3e7, #ecdcc2);
}

/* Page */
body {
  font-family: var(--font);
  font-size: 15.5px;
  color: #1f3a2e;
  background: var(--cream) radial-gradient(circle at 10% -5%, rgba(255,217,120,.30), transparent 40%), radial-gradient(circle at 100% 20%, rgba(207,228,239,.40), transparent 38%);
  background-attachment: fixed;
}
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .055; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1, h2, h3, .results-toolbar h2, .hero h1, .collection-hero h1, .category-heading h2, .brand-discovery-heading h2,
.guide-hero h1, .guide-card h3, .guide-pick h3, .guides-hub-hero h1, .guide-section h2,
.gift-finder h1, .gift-card h3, .gift-step h1, .gift-step h2,
.hobby-intro h1, .family-hero h1, .stage-head h3, .kit-heading h1, .hobby-card h3, .kit-budget h2, .section-heading h2, .hobby-gallery-heading h2, .family-notes h2,
.filter-heading h2, .empty-state h3, .information-main h1, .information-main h2 {
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: -.02em;
}
.toy-card h3, .kit-product-copy h3, .stage-item-copy strong, .related-product strong { font-family: var(--font); letter-spacing: -.1px; }
.eyebrow, .small-eyebrow { font-weight: 800; letter-spacing: .14em; color: var(--coral-ink); }
a { color: inherit; }

/* Header */
.site-header { border-bottom: 0; height: 92px; }
.main-nav > a { font-weight: 800; font-size: 14px; color: var(--ink-2); }
.main-nav > a:hover { background: rgba(31,58,46,.06); }
.main-nav > a[aria-current] { background: linear-gradient(180deg, #2a614c, #1b4537); color: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 8px 18px -8px rgba(29,74,58,.55); }
.main-nav .gift-list-nav { border: 2px solid var(--forest); background: #fff; box-shadow: 0 4px 10px -4px rgba(31,58,46,.3); }
.brand { font-family: var(--display); font-weight: 800; font-size: 18px; letter-spacing: -.01em; }
.brand-mark { filter: drop-shadow(0 6px 10px rgba(239,111,76,.25)); }

/* Buttons: one coral primary, quiet secondary */
.button-primary, .apply-button, .search-button, .gift-home-link, .gift-buy, .gift-continue, .guide-pick-buy, .stage-build, .hobby-filters .apply-button, .kit-budget .apply-button, .search-error button {
  background: linear-gradient(180deg, #f58563, #e8603d);
  color: #fff;
  border: 0;
  border-radius: 999px;
  font-weight: 800;
  box-shadow: var(--shadow-3);
  text-decoration: none;
  transition: transform .12s, box-shadow .12s;
}
.button-primary:hover, .apply-button:hover, .search-button:hover, .gift-home-link:hover, .gift-buy:hover, .guide-pick-buy:hover, .stage-build:hover {
  background: linear-gradient(180deg, #f7906f, #e9683f);
  transform: translateY(-1px);
}
.shop-button, .gift-util, .guide-pick-action, .gift-home-secondary, .family-jump a, .hobby-stages a, .kit-steps a, .brand-family-choices a, .filter-toggle, .related-actions a, .sidebar-picker-toggle, .filter-group select, .sidebar-search input, .hobby-filters select {
  background: linear-gradient(180deg, #fffdf8, #f5eee1);
  border: 1px solid #e2d7c3;
  border-radius: 999px;
  box-shadow: 0 1px 0 #fff inset, 0 4px 10px -6px rgba(31,58,46,.35);
  color: var(--forest);
  font-weight: 800;
}
.filter-group select, .sidebar-search input, .sidebar-picker-toggle, .hobby-filters select { border-radius: 12px; font-weight: 700; }
.sidebar-picker-toggle[aria-expanded="true"] { border-radius: 12px 12px 0 0; }
.shop-button:hover, .gift-util:hover, .family-jump a:hover, .brand-family-choices a:hover, .hobby-stages a:hover { border-color: #b5a98f; background: #fff; }
.hobby-stages a[aria-current], .kit-steps a[aria-current] { background: linear-gradient(180deg, #2a614c, #1b4537); border-color: #17402f; color: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.2) inset, 0 10px 20px -8px rgba(29,74,58,.6); }
.hobby-stages a { border-radius: 16px; }

/* Tags and chips: small stickers */
.age-tag, .kit-age, .gift-chip, .guide-pick-tag, .format-tag, .filter-chip, .sidebar-active-chip, .premium-badge, .family-ages .kit-age {
  border-radius: 999px;
  font-weight: 800;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 2px 4px -2px rgba(31,58,46,.3);
}
.age-tag, .kit-age { background: linear-gradient(180deg, #e3f1dd, #cfe6c6); color: #2f4f3b; }
.format-tag { background: linear-gradient(180deg, #ffe9b3, #f7d46a); color: #5a4300; }
.premium-badge { background: linear-gradient(180deg, #ffe28f, #f7cd5c); }

/* Cards: lifted, no hairline borders */
.toy-card, .gift-card, .guide-card-inner, .guide-pick, .hobby-card, .stage-card, .kit-product, .brand-discovery-card, .stem-subject-grid a, .gift-interest, .gift-choice, .gift-pill, .information-main .contact-panel, .guide-facts, .guide-toc {
  border-color: transparent;
  background: var(--paper);
  box-shadow: var(--shadow-1);
}
.toy-card:hover, .gift-card:hover, .hobby-card:hover, .brand-discovery-card:hover, .stem-subject-grid a:hover { box-shadow: var(--shadow-2); border-color: transparent; }
.toy-card { border-radius: 20px; }
.toy-card .toy-photo { mix-blend-mode: multiply; }
.toy-card > a:first-child, .toy-media, .gift-card-media, .guide-pick-media, .kit-product-image, .stage-item-photo, .hobby-card-art, .brand-discovery-image, .category-picture, .gift-interest-art, .family-hero-photo img {
  background: var(--mat);
  box-shadow: inset 0 2px 6px rgba(120,90,40,.10), inset 0 -1px 0 rgba(255,255,255,.7);
}
.hobby-card-art img, .brand-discovery-image img, .category-picture img, .gift-interest-art img, .guide-pick-media img, .kit-product-image img, .stage-item-photo img, .gift-card-media img, .home-age img, .home-way-art img, .kit-next img { mix-blend-mode: multiply; filter: none; }
.hobby-colour-1 .hobby-card-art, .stage-card.hobby-colour-1 .stage-head { background: linear-gradient(150deg, #f9ebdd, #ecd3bb); }
.hobby-colour-2 .hobby-card-art, .stage-card.hobby-colour-2 .stage-head { background: linear-gradient(150deg, #eee8f6, #d8c9ec); }
.hobby-colour-3 .hobby-card-art, .stage-card.hobby-colour-3 .stage-head { background: linear-gradient(150deg, #e6f1f6, #bcd7e6); }
.stage-card .stage-head { background: linear-gradient(150deg, #eaf5e4, #c9e2bf); }
.stage-number { background: linear-gradient(180deg, #2a614c, #1b4537); box-shadow: 0 0 0 6px var(--cream), 0 10px 18px -8px rgba(29,74,58,.6); }
.stage-items li { border-color: transparent; box-shadow: var(--shadow-1); border-radius: 16px; }
.stage-items-optional li { border: 1px dashed #d9ccb4; box-shadow: none; background: #fbf7ef; }
.family-notes, .hobby-notice, .hobby-empty, .empty-state, .gift-tip, .guide-facts, .kit-first-project { background: linear-gradient(150deg, #efe7f8, #e2d6f1); border: 0; box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 20px 40px -24px rgba(90,60,130,.4); }
.kit-first-project { padding: 22px; border-radius: var(--radius); margin-top: 16px; }
.kit-budget { background: linear-gradient(160deg, #2a614c 0%, #1b4537 60%, #163a2e 100%); color: #fff; border: 0; box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 24px 44px -18px rgba(29,74,58,.7); position: relative; overflow: hidden; }
.kit-budget::after { content: ""; position: absolute; right: -40px; top: -40px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(255,217,120,.35), transparent 70%); pointer-events: none; }
.kit-budget h2, .kit-budget #kit-selection-count, .kit-budget .kit-budget-note, .kit-budget .kit-save-status { color: #fff; }
.kit-budget #kit-selection-count, .kit-budget .kit-budget-note { opacity: .85; }
.kit-budget .kit-total { color: var(--butter); font-family: var(--display); font-size: 34px; text-shadow: 0 2px 0 rgba(0,0,0,.25); }
.kit-budget > .text-link { color: #fff; }
.filters-panel.smart-sidebar { border: 0; box-shadow: var(--shadow-1); background: linear-gradient(180deg, #fbf7ee, #f3ecdd); }
.sidebar-picker-panel { border-color: #d7c9ad; }
.sidebar-picker-option.is-selected, .sidebar-picker-group.is-selected { background: linear-gradient(180deg, #e3f1dd, #cfe6c6); box-shadow: inset 3px 0 0 #6f9a5a; }
.search-field { border: 0; border-radius: 999px; box-shadow: inset 0 2px 5px rgba(31,58,46,.08), 0 1px 0 #fff, 0 10px 24px -14px rgba(31,58,46,.25); background: #fff; }
.search-field:focus-within { box-shadow: inset 0 2px 5px rgba(31,58,46,.08), 0 0 0 4px rgba(239,111,76,.22); }
.site-footer { border-top: 0; color: var(--muted); }
.pagination { border-top: 0; }
.page-numbers a[aria-current] { background: var(--forest); color: #fff; border-radius: 999px; box-shadow: 0 8px 16px -8px rgba(29,74,58,.6); }
.save-button { border: 0; box-shadow: 0 6px 14px -6px rgba(31,58,46,.4); }

/* Homepage hero + age tiles */
.hero { min-height: 0; padding: 26px 0 36px; }
.hero h1 { font-size: clamp(42px, 4.8vw, 64px); line-height: .98; letter-spacing: -.03em; margin: 0 0 16px; }
.hero h1 span { color: var(--coral); }
.hero-description { font-size: 17px; line-height: 1.5; color: var(--ink-2); max-width: 540px; margin-bottom: 20px; }
.hero-description b { color: #1f3a2e; }
.home-kicker { display: inline-flex; align-items: center; gap: 10px; background: linear-gradient(180deg, #ffe28f, #f7cd5c); border-radius: 999px; padding: 7px 14px 7px 8px; font-size: 13px; font-weight: 800; margin: 0 0 16px; box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 6px 14px -6px rgba(120,90,0,.45); }
.home-kicker .icon { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--forest); color: #fff; stroke: #fff; }
.gift-home-link { padding: 14px 22px; font-size: 15px; }
.gift-home-secondary { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 18px; text-decoration: none; font-size: 14px; }
.home-trust { font-size: 13px; color: var(--muted); margin: 14px 0 0; }
.hero-art { height: 360px; max-width: 600px; }
.hero-product { border: 0; border-radius: 24px; padding: 14px 14px 18px; background: linear-gradient(160deg, #fffdf8, #f3e9d8); box-shadow: 0 1px 0 #fff inset, 0 30px 50px -18px rgba(31,58,46,.45); }
.hero-product img { mix-blend-mode: multiply; }
.hero-product figcaption { position: absolute; left: 14px; bottom: 10px; height: auto; max-width: none; background: linear-gradient(180deg, #ffe28f, #f7cd5c); border-radius: 999px; padding: 6px 11px; font-size: 11px; letter-spacing: .04em; text-transform: none; color: #1f3a2e; box-shadow: 0 8px 18px -6px rgba(120,90,0,.5); }
.hero-product-1 { width: 220px; height: 240px; left: 0; top: 50px; transform: perspective(1000px) rotateY(10deg) rotate(-6deg); z-index: 1; }
.hero-product-2 { width: 250px; height: 270px; left: 28%; top: 0; transform: perspective(1000px) rotateY(-4deg) rotate(2deg); z-index: 3; }
.hero-product-3 { width: 210px; height: 230px; right: 0; top: 110px; left: auto; transform: perspective(1000px) rotateY(-12deg) rotate(7deg); z-index: 2; }
.hero .shape-circle, .hero .shape-arch, .hero-star, .hero-dot, .hero-stamp { display: none; }
.home-section { margin: 10px 0 36px; }
.home-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.home-section-head h2 { font-size: 30px; margin: 0; }
.home-section-head p { margin: 0; color: var(--ink-2); font-size: 15px; }
.home-ages { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.home-age { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 14px 14px 16px; border-radius: 22px; text-decoration: none; color: #1f3a2e; box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 14px 30px -14px rgba(31,58,46,.35); transition: transform .15s; min-width: 0; }
.home-age:hover { transform: translateY(-3px); }
.home-age img, .home-age .home-age-blank { width: 100%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; margin-bottom: 10px; }
.home-age b { font-family: var(--display); font-weight: 800; font-size: 20px; line-height: 1.1; }
.home-age small { font-size: 12.5px; font-weight: 700; color: var(--ink-2); }
.mat-butter { background: linear-gradient(160deg, #fff0bf, #f7d46a); } .mat-sky { background: linear-gradient(160deg, #e6f2f8, #bcd7e6); } .mat-mint { background: linear-gradient(160deg, #eaf5e4, #c9e2bf); } .mat-lilac { background: linear-gradient(160deg, #efe7f8, #d8c9ec); } .mat-sand { background: linear-gradient(160deg, #f9f1e3, #e6d3b4); } .mat-coral { background: linear-gradient(160deg, #ffe0d4, #f7b39b); }
.home-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.home-way { display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 24px; background: var(--paper); text-decoration: none; color: #1f3a2e; box-shadow: var(--shadow-1); min-width: 0; }
.home-way:hover { box-shadow: var(--shadow-2); }
.home-way-art { display: flex; justify-content: center; align-items: center; gap: 6px; padding: 18px 12px; border-radius: 18px; margin-bottom: 12px; box-shadow: inset 0 2px 6px rgba(120,90,40,.1); min-height: 120px; }
.home-way-art img { width: 31%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.home-way-art img:first-child { transform: rotate(-6deg); } .home-way-art img:last-child { transform: rotate(6deg); }
.home-way small { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--coral-ink); }
.home-way b { font-family: var(--display); font-weight: 800; font-size: 24px; line-height: 1.1; }
.home-way p { margin: 4px 0 0; font-size: 14.5px; color: var(--ink-2); }
.brand-discovery-card { border-radius: 20px; }
.category-tile .category-picture { border-radius: 18px; }
.search-band { border-top: 0; }

/* Kit page */
.kit-purpose-line { font-size: 18px; line-height: 1.5; color: var(--ink-2); max-width: 620px; margin: 0 0 18px; }
.kit-purpose-line b { color: #1f3a2e; }
.kit-kicker { display: inline-flex; align-items: center; gap: 10px; background: linear-gradient(180deg, #ffe28f, #f7cd5c); border-radius: 999px; padding: 7px 14px 7px 8px; font-size: 13px; font-weight: 800; margin: 0 0 14px; box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 6px 14px -6px rgba(120,90,0,.45); }
.kit-kicker em { font-style: normal; background: var(--forest); color: #fff; border-radius: 50%; width: 24px; height: 24px; display: grid; place-items: center; font-size: 12px; }
.kit-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 36px; align-items: center; margin-bottom: 30px; }
.kit-hero-art { position: relative; height: 340px; }
.kit-hero-photo { position: absolute; margin: 0; width: 60%; left: 14%; top: 10px; background: linear-gradient(160deg, #fffdf8, #f3e9d8); border-radius: 26px; padding: 22px; box-shadow: 0 1px 0 #fff inset, 0 30px 50px -18px rgba(31,58,46,.45); transform: perspective(1100px) rotateY(-12deg) rotateX(5deg) rotate(-2deg); z-index: 2; }
.kit-hero-photo img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.kit-hero-photo figcaption { position: absolute; left: 18px; bottom: -16px; background: linear-gradient(180deg, #f9825f, #e55f3b); color: #fff; border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 800; box-shadow: 0 10px 22px -6px rgba(184,72,39,.55); white-space: nowrap; }
.kit-hero-blob { position: absolute; border-radius: 50%; filter: blur(2px); z-index: 1; }
.kit-hero-blob.a { width: 230px; height: 230px; right: 0; top: 0; background: radial-gradient(circle at 30% 30%, #e9f5e2, #cfe3c6); }
.kit-hero-blob.b { width: 150px; height: 150px; left: 0; bottom: 0; background: radial-gradient(circle at 30% 30%, #e0eff6, #bcd7e6); }
.kit-sticker { position: absolute; right: 0; top: 8px; z-index: 3; background: #fffdf8; border-radius: 16px; padding: 12px 14px; font-size: 13px; font-weight: 700; line-height: 1.35; max-width: 200px; transform: rotate(5deg); box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(239,111,76,.5), 0 12px 24px -10px rgba(31,58,46,.4); }
.kit-steps { display: flex; gap: 10px; flex-wrap: wrap; }
.kit-steps a { display: flex; align-items: center; gap: 10px; padding: 8px 16px 8px 8px; border-radius: 999px; font-size: 14px; text-decoration: none; line-height: 1.2; }
.kit-steps a[aria-current] small { opacity: .8; }
.kit-steps a i { width: 28px; height: 28px; border-radius: 50%; background: var(--sand); display: grid; place-items: center; font-style: normal; font-size: 13px; font-weight: 800; color: #1f3a2e; flex: none; }
.kit-steps a[aria-current] i { background: #fff; color: var(--forest); }
.kit-steps a small { display: block; font-weight: 600; opacity: .75; font-size: 11px; }
.kit-section-title h2 { font-size: 24px; }
.kit-product-copy h3 { font-size: 19px; }
.kit-product-image { width: 150px; height: 150px; border-radius: 18px; padding: 12px; }
.kit-product-controls { border-top: 0; margin-top: 12px; padding-top: 0; }
.kit-include { font-size: 13px; }
.kit-actions .shop-button { background: linear-gradient(180deg, #f58563, #e8603d); color: #fff; border: 0; box-shadow: var(--shadow-3); font-size: 14px; min-height: 46px; padding: 10px 22px; }
.kit-actions .gift-list-add { border-radius: 999px; font-weight: 800; }
.kit-project { margin-top: 22px; background: linear-gradient(150deg, #efe7f8, #dfd3ef); border-radius: var(--radius); padding: 26px 28px; display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 24px; align-items: center; box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 20px 40px -24px rgba(90,60,130,.45); outline: 2px dashed rgba(31,58,46,.22); outline-offset: -12px; }
.kit-project h2 { font-size: 26px; margin: 0 0 10px; }
.kit-project ol { margin: 0; padding: 0; list-style: none; counter-reset: s; display: grid; gap: 10px; }
.kit-project li { counter-increment: s; display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.45; }
.kit-project li::before { content: counter(s); flex: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; display: grid; place-items: center; font-weight: 800; font-size: 13px; box-shadow: 0 3px 8px -3px rgba(31,58,46,.4); }
.kit-home { background: #fff; border-radius: 18px; padding: 16px 18px; box-shadow: 0 1px 0 #fff inset, 0 10px 24px -14px rgba(31,58,46,.4); }
.kit-home h3 { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-family: var(--font); }
.kit-home ul { margin: 0; padding: 0; list-style: none; }
.kit-home li { display: flex; gap: 10px; align-items: center; font-size: 15px; font-weight: 700; padding: 5px 0; }
.kit-home li::before { content: "✓"; width: 20px; height: 20px; border-radius: 6px; background: var(--forest); color: #fff; display: grid; place-items: center; font-size: 12px; flex: none; }
.kit-next { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px 18px; border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-1); text-decoration: none; color: inherit; margin-top: 16px; }
.kit-next-photo { display: grid; place-items: center; width: 72px; height: 72px; background: var(--mat); border-radius: 14px; padding: 6px; box-shadow: inset 0 2px 5px rgba(120,90,40,.12); }
.kit-next img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; background: transparent; padding: 0; box-shadow: none; }
.kit-next small { display: block; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--coral-ink); margin-bottom: 2px; }
.kit-next b { font-family: var(--display); font-weight: 800; font-size: 16px; line-height: 1.25; }
.kit-trust { font-size: 12.5px; color: var(--muted); line-height: 1.5; padding: 14px 6px 0; }

@media (max-width: 1000px) {
  .home-ages { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-ways { grid-template-columns: minmax(0, 1fr); }
  .kit-hero { grid-template-columns: minmax(0, 1fr); }
  .kit-hero-art { height: 300px; max-width: 520px; }
  .kit-project { grid-template-columns: minmax(0, 1fr); }
  .hero-art { height: 300px; max-width: 480px; }
  .hero-product-1 { width: 170px; height: 185px; } .hero-product-2 { width: 190px; height: 205px; } .hero-product-3 { width: 160px; height: 175px; top: 90px; }
}
@media (max-width: 700px) {
  body { font-size: 15px; }
  .site-header { height: auto; }
  .hero { padding: 18px 0 26px; }
  .hero h1 { font-size: 38px; }
  .hero-description { font-size: 15px; }
  .hero { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .hero-art { height: 240px; max-width: 100%; width: 100%; justify-self: stretch; }
  .hero-product { padding: 8px 8px 26px; border-radius: 16px; height: auto; }
  .hero-product img { height: auto; aspect-ratio: 1; }
  .hero-product-1 { width: 36%; left: 0; top: 34px; } .hero-product-2 { width: 42%; left: 29%; top: 0; } .hero-product-3 { width: 36%; right: 0; top: 70px; }
  .hero-product figcaption { font-size: 9px; padding: 4px 8px; left: 8px; bottom: 6px; white-space: normal; max-width: calc(100% - 16px); }
  .home-section-head { flex-direction: column; align-items: flex-start; gap: 6px; }
  .home-section-head h2 { font-size: 24px; }
  .home-ages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .home-age { padding: 12px 12px 14px; border-radius: 18px; }
  .home-age b { font-size: 17px; }
  .kit-hero-art { height: 240px; }
  .kit-hero-photo { width: 56%; left: 10%; }
  .kit-sticker { max-width: 150px; font-size: 12px; padding: 10px 12px; }
  .kit-product-image { width: 100px; height: 100px; }
  .kit-project { padding: 20px 18px; }
}

/* Add to gift list replaces Compare on cards */
.card-gift-add, .gift-util-save { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 40px; margin-top: 8px; padding: 8px 12px; border-radius: 999px; border: 1.5px solid #d9cfb9; background: linear-gradient(180deg, #fffdf8, #f5eee1); color: var(--forest); font: inherit; font-size: 12.5px; font-weight: 800; cursor: pointer; box-shadow: 0 1px 0 #fff inset, 0 4px 10px -6px rgba(31,58,46,.35); }
.gift-util-save { width: auto; margin-top: 0; min-height: 38px; }
.card-gift-add .icon, .gift-util-save .icon { width: 15px; height: 15px; }
.card-gift-add .gift-list-check, .gift-util-save .gift-list-check { display: none; }
.card-gift-add[aria-pressed="true"], .gift-util-save[aria-pressed="true"] { background: linear-gradient(180deg, #e3f1dd, #cfe6c6); border-color: #a9c79a; color: #1f3f2b; }
.card-gift-add[aria-pressed="true"] .gift-list-check, .gift-util-save[aria-pressed="true"] .gift-list-check { display: inline; }
.card-gift-add[aria-pressed="true"] .gift-list-plus, .gift-util-save[aria-pressed="true"] .gift-list-plus { display: none; }
.card-gift-add:hover, .gift-util-save:hover { border-color: #b5a98f; }

/* Colour as a hint: category, age and entry tiles */
.colour-mint { --category-colour: #f3f6ee; } .colour-peach { --category-colour: #faf2ea; } .colour-lilac { --category-colour: #f5f2f8; } .colour-sand { --category-colour: #f8f4ea; }
.colour-blue { --category-colour: #f0f5f6; } .colour-rose { --category-colour: #f9f1f0; } .colour-lime { --category-colour: #f4f6e9; } .colour-cream { --category-colour: #f7f5ee; }
.category-tile .category-picture { background: var(--category-colour, #f5f3ea); box-shadow: inset 0 1px 3px rgba(120,90,40,.06), inset 0 -1px 0 rgba(255,255,255,.7); }
.mat-butter { background: linear-gradient(160deg, #fffaec, #fbefc9); } .mat-sky { background: linear-gradient(160deg, #f4f9fb, #e4eff5); } .mat-mint { background: linear-gradient(160deg, #f5faf2, #e6f1e0); }
.mat-lilac { background: linear-gradient(160deg, #f8f5fb, #ece5f4); } .mat-sand { background: linear-gradient(160deg, #fcf8f0, #f3ebdc); } .mat-coral { background: linear-gradient(160deg, #fff4ef, #fbe1d6); }
.home-age { box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 0 0 1px rgba(31,58,46,.05), 0 12px 26px -14px rgba(31,58,46,.28); }
.home-way-art { box-shadow: inset 0 1px 4px rgba(120,90,40,.06); }
.brand-discovery-image, .hobby-card-art, .gift-interest-art { background: linear-gradient(150deg, #fbf8f1, #f1ebdf); }

/* Search band: visible, labelled */
.search-band { flex-wrap: wrap; padding: 22px 24px 24px; margin: 6px 0 30px; background: linear-gradient(150deg, #fffdf8, #f6efe2); border-radius: var(--radius); box-shadow: var(--shadow-1); gap: 12px 16px; }
.search-band-label { flex-basis: 100%; font-family: var(--display); font-weight: 800; font-size: 20px; letter-spacing: -.01em; color: #1f3a2e; }
.search-field { border: 2px solid var(--forest); border-radius: 999px; min-height: 56px; padding-left: 20px; box-shadow: 0 10px 24px -14px rgba(31,58,46,.35); }
.search-field > .icon { color: var(--forest); width: 20px; height: 20px; }
.search-field input { font-size: 16px; }
.search-field input::placeholder { color: #6f8176; }
.search-field:focus-within { border-color: var(--coral); box-shadow: 0 0 0 4px rgba(239,111,76,.22); }
.search-button { min-height: 56px; padding: 12px 26px; font-size: 15px; }
.market-field { padding-left: 6px; }

/* Age tiles: compact */
.home-ages { gap: 12px; }
.home-age { padding: 12px 14px 14px; gap: 1px; }
.home-age img, .home-age .home-age-blank { height: 104px; width: auto; max-width: 100%; aspect-ratio: auto; align-self: center; margin-bottom: 8px; }
.home-age b { font-size: 19px; }
.home-age small { font-size: 12px; }

/* Three ways in: photo beside copy */
.home-ways { gap: 14px; }
.home-way { flex-direction: row; align-items: center; gap: 14px; padding: 12px 16px 12px 12px; border-radius: 20px; }
.home-way-art { width: 132px; flex: none; min-height: 0; height: 96px; padding: 8px 6px; margin: 0; gap: 2px; border-radius: 14px; }
.home-way-art img { width: 33%; }
.home-way-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.home-way b { font-size: 20px; }
.home-way p { font-size: 13.5px; margin-top: 2px; }
.home-section { margin: 6px 0 28px; }
@media (max-width: 1000px) { .home-way { flex-direction: row; } }
@media (max-width: 700px) {
  .search-band { padding: 16px; }
  .search-band-label { font-size: 17px; }
  .search-field { min-height: 48px; padding-left: 14px; }
  .search-button { min-height: 48px; width: 48px; }
  .home-age img, .home-age .home-age-blank { height: 84px; }
  .home-way { padding: 10px 12px 10px 10px; }
  .home-way-art { width: 104px; height: 80px; }
  .home-way b { font-size: 18px; }
}

/* Uniform toy cards: every card in a row is the same height, price/details/buttons align at the bottom */
.product-grid { align-items: stretch; }
.toy-card { display: flex; flex-direction: column; }
.toy-card .toy-card-body { display: flex; flex-direction: column; flex: 1; }
.toy-card .toy-card-bottom { margin-top: auto; }
.toy-card .product-discovery-tags { margin-bottom: 10px; }
.toy-card .shop-button, .toy-card .card-gift-add { flex: none; }

/* Details panel: calm, scannable */
.wide-details { border: 0; border-top: 0; background: var(--paper); box-shadow: var(--shadow-2); border-radius: 24px; padding: 20px 24px 24px; }
.wide-details-toolbar { margin-bottom: 4px; }
.wide-details-close { border-radius: 999px; font-weight: 800; font-size: 13px; padding: 7px 14px; }
.wide-details .detail-overview { grid-template-columns: 260px minmax(0, 1fr); gap: 26px; }
.wide-details .detail-image-frame { border: 0; border-radius: 20px; padding: 18px; min-height: 240px; background: var(--mat); box-shadow: inset 0 2px 6px rgba(120,90,40,.10); }
.wide-details .detail-image { max-height: 240px; mix-blend-mode: multiply; }
.wide-details .detail-header-bar { border-bottom: 0; padding-bottom: 0; margin-bottom: 8px; align-items: center; }
.wide-details .details-eyebrow { color: var(--coral-ink); letter-spacing: .12em; font-size: 12px; }
.wide-details .detail-title { font-family: var(--display); font-weight: 800; font-size: clamp(24px, 2.2vw, 32px); letter-spacing: -.02em; }
.wide-details .detail-title:focus, .inline-details .detail-title:focus { outline: none; }
.wide-details .offer-link, .inline-details .offer-link { background: linear-gradient(180deg, #f58563, #e8603d); border: 0; color: #fff; box-shadow: var(--shadow-3); min-height: 44px; padding: 10px 20px; }
.wide-details .offer-link:hover, .inline-details .offer-link:hover { background: linear-gradient(180deg, #f7906f, #e9683f); border: 0; }
.wide-details .offer-link strong, .inline-details .offer-link strong, .wide-details .offer-link > .icon, .inline-details .offer-link > .icon { color: #fff; font-size: 14px; }
.wide-details .gift-list-add, .inline-details .gift-list-add { border-radius: 999px; min-height: 44px; padding: 9px 18px; font-size: 14px; font-weight: 800; background: linear-gradient(180deg, #fffdf8, #f5eee1); border: 1.5px solid #d9cfb9; box-shadow: 0 1px 0 #fff inset, 0 4px 10px -6px rgba(31,58,46,.35); }
.wide-details .gift-list-add[aria-pressed="true"] { background: linear-gradient(180deg, #e3f1dd, #cfe6c6); border-color: #a9c79a; }
.wide-details .detail-meta, .inline-details .detail-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; }
.wide-details .detail-meta > div, .inline-details .detail-meta > div { display: flex; align-items: baseline; gap: 6px; border: 0; border-radius: 999px; background: linear-gradient(180deg, #f3f7ee, #e6efdf); padding: 7px 12px; box-shadow: inset 0 1px 0 rgba(255,255,255,.6); }
.wide-details .detail-meta dt, .inline-details .detail-meta dt { margin: 0; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: #5f7454; font-weight: 800; }
.wide-details .detail-meta dd, .inline-details .detail-meta dd { margin: 0; font-size: 13.5px; font-weight: 800; color: #1f3f2b; }
.wide-details .detail-summary { font-size: 16px; line-height: 1.55; color: #33483c; margin-bottom: 14px; }
.wide-details .detail-info-grid { gap: 14px; }
.wide-details .detail-section { border: 0; border-radius: 18px; padding: 16px 18px; background: #faf7f0; box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(31,58,46,.05); }
.wide-details .detail-section h4 { border-bottom: 0; padding-bottom: 0; margin-bottom: 8px; font-size: 11.5px; letter-spacing: .12em; color: var(--coral-ink); }
.wide-details .decision-guidance p, .wide-details .decision-guidance ul, .wide-details .product-facts, .wide-details .detail-setup-notes, .wide-details .detail-unknown { font-size: 14.5px; line-height: 1.6; color: #33483c; }
.wide-details .decision-guidance .decision-tradeoff { background: linear-gradient(150deg, #fff6e6, #fbe9c9); border: 0; border-left: 0; }
.wide-details .decision-guidance .decision-tradeoff h4 { color: #8a5a12; }
.wide-details .detail-feature-specs > div { font-size: 14px; padding: 7px 0; border-bottom-color: rgba(31,58,46,.08); }
.wide-details .detail-footnote, .inline-details .detail-footnote { font-size: 12px; line-height: 1.55; color: var(--muted); margin: 14px 0 0; }
.wide-details .product-warnings { border: 0; background: #fff1e8; border-radius: 12px; }
/* Similar ideas: a grid, not a carousel */
.detail-related { border-top: 1px solid rgba(31,58,46,.08); margin-top: 22px; padding-top: 18px; }
.related-heading h4 { font-family: var(--display); font-weight: 800; text-transform: none; letter-spacing: -.01em; font-size: 20px; }
.related-count { font-size: 13px; }
.related-batch-btn { border-radius: 999px; min-height: 36px; padding: 6px 14px; font-size: 13px; background: linear-gradient(180deg, #fffdf8, #f5eee1); border: 1.5px solid #d9cfb9; }
.related-grid { grid-auto-flow: row; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-columns: auto; gap: 12px; overflow: visible; }
.related-card { border: 0; border-radius: 18px; padding: 12px; box-shadow: var(--shadow-1); }
.related-photo { display: block; height: 110px; border-radius: 12px; background: var(--mat); padding: 8px; box-shadow: inset 0 2px 6px rgba(120,90,40,.08); margin-bottom: 8px; }
.related-photo img, .related-photo .related-image-placeholder { display: block; width: 100%; height: 100%; object-fit: contain; margin: 0; mix-blend-mode: multiply; background: transparent; padding: 0; }
.related-product strong { font-size: 14px; text-decoration: none; }
.related-product:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.related-product > span:not(.related-label) { font-size: 12px; }
.related-label { border-radius: 999px; font-size: 11px; background: linear-gradient(180deg, #e3f1dd, #cfe6c6); }
.related-facts { font-size: 13px; }
.related-reason { font-size: 12.5px; }
.related-save { width: 100%; justify-content: center; display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; min-height: 38px; font-size: 12.5px; font-weight: 800; border: 1.5px solid #d9cfb9; background: linear-gradient(180deg, #fffdf8, #f5eee1); box-shadow: 0 1px 0 #fff inset, 0 4px 10px -6px rgba(31,58,46,.35); }
.related-save[aria-pressed="true"] { background: linear-gradient(180deg, #e3f1dd, #cfe6c6); border-color: #a9c79a; }
.related-save .gift-list-check { display: none; } .related-save[aria-pressed="true"] .gift-list-check { display: inline; } .related-save[aria-pressed="true"] .gift-list-plus { display: none; }
.related-actions { justify-content: stretch; }
@media (max-width: 1240px) { .related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .wide-details .detail-overview { grid-template-columns: minmax(0, 1fr); } .wide-details .detail-image-frame { max-width: 320px; margin: 0 auto; min-height: 0; } }
@media (max-width: 700px) { .wide-details { padding: 16px 14px 18px; border-radius: 18px; } .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .related-photo { height: 90px; } .wide-details .detail-info-grid { grid-template-columns: minmax(0, 1fr); } }

.related-product { background: transparent; box-shadow: none; border: 0; }
