/* ============================================================
   TOYBOX — the natural wooden toy shop
   Scoped to body.d-toybox. 1rem = 10px.
   ============================================================ */
body.d-toybox{
  --tb-cream:#fff8ec;--tb-sand:#fbecd3;--tb-wood:#b5713a;--tb-wood2:#8a4f22;--tb-ink:#3b2414;--tb-soft:#6e4e36;--tb-mute:#94735a;--tb-line:#f0dcc0;
  --tb-red:#ef6b4a;--tb-blue:#4aa8d8;--tb-sun:#f4b740;--tb-leaf:#6cbf72;
  --bg-primary:var(--tb-cream);--bg-secondary:var(--tb-sand);--bg-card:#fff;--bg-inset:#fdf3e2;
  --fg-primary:var(--tb-ink);--fg-soft:var(--tb-soft);--fg-muted:var(--tb-mute);--border-color:var(--tb-line);--border-strong:#e6c79f;
  background:var(--tb-cream);color:var(--tb-ink);font-family:'Nunito',system-ui,sans-serif
}
body.d-toybox :where(h1,h2,h3){font-family:'Fredoka',system-ui,sans-serif;font-weight:600;letter-spacing:-.01em;line-height:1.08;color:var(--tb-ink)}
body.d-toybox :where(em){font-style:normal;color:var(--tb-red)}
.tb-kick{display:inline-block;font-family:'Fredoka',sans-serif;font-size:1.35rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tb-wood);margin-bottom:1rem}

body.d-toybox .bx-nav{background:rgba(255,248,236,.92)}
body.d-toybox .bx-brand-mark{border-radius:14px;background:#fff;padding:3px}
body.d-toybox .bx-brand-mark img{object-fit:contain}
body.d-toybox .bx-brand-txt b{font-family:'Fredoka',sans-serif;font-size:2rem;color:var(--tb-wood2)}
body.d-toybox .bx-nav-links a{font-size:1.45rem;font-weight:700;color:var(--tb-soft)}
body.d-toybox .bx-nav-links a::after{background:var(--tb-red)}
body.d-toybox .bx-nav-cta{background:var(--tb-red);border-radius:999px}

/* hero — the toy shelf */
.tb-hero{position:relative;overflow:hidden;margin-top:var(--nav-h);background:radial-gradient(ellipse 60% 70% at 85% 40%,#fde6c4 0,transparent 70%),var(--tb-cream)}
.tb-shapes{position:absolute;inset:0;pointer-events:none}
.tb-s{position:absolute;display:block;will-change:transform;opacity:.9}
.tb-s1{width:120px;height:120px;border-radius:50%;background:var(--tb-sun);left:-30px;top:12%}
.tb-s2{width:0;height:0;border-left:60px solid transparent;border-right:60px solid transparent;border-bottom:104px solid var(--tb-leaf);left:38%;bottom:-30px;opacity:.55}
.tb-s3{width:90px;height:90px;border-radius:18px;background:var(--tb-blue);right:4%;top:8%;transform:rotate(14deg);opacity:.55}
.tb-s4{width:150px;height:75px;border-radius:150px 150px 0 0;background:var(--tb-red);right:-40px;bottom:8%;opacity:.5}
.tb-s5{width:46px;height:46px;border-radius:50%;background:var(--tb-wood);left:44%;top:14%;opacity:.35}
.tb-hero-in{position:relative;max-width:var(--max-w);margin:0 auto;padding:7rem 3rem 8rem;display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:center}
.tb-hero-in>*{min-width:0}
.tb-pill{display:inline-flex;align-items:center;gap:.8rem;padding:.8rem 1.6rem;border-radius:999px;background:#fff;color:var(--tb-wood2);font-weight:800;font-size:1.35rem;box-shadow:0 6px 18px rgba(138,79,34,.12);margin-bottom:2.2rem}
.tb-pill i{color:var(--tb-leaf)}
.tb-hero h1{font-size:clamp(4.6rem,6.8vw,8.4rem);font-weight:700}
.tb-hero h1 em{position:relative;display:inline-block;color:var(--tb-red)}
.tb-hero h1 em::after{content:"";position:absolute;left:2%;right:2%;bottom:.04em;height:.16em;border-radius:99px;background:var(--tb-sun);z-index:-1}
.tb-lede{font-size:1.85rem;line-height:1.6;color:var(--tb-soft);margin:2.2rem 0 0;max-width:52ch}
.tb-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3rem}
.tb-btn{display:inline-flex;align-items:center;gap:.9rem;padding:1.5rem 2.6rem;border-radius:999px;font-family:'Fredoka',sans-serif;font-size:1.65rem;font-weight:600;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.tb-btn-main{background:var(--tb-red);color:#fff;box-shadow:0 6px 0 #c94d2f}
.tb-btn-main:hover{transform:translateY(-2px);box-shadow:0 8px 0 #c94d2f}
.tb-btn-main:active{transform:translateY(3px);box-shadow:0 2px 0 #c94d2f}
.tb-btn-soft{background:#fff;color:var(--tb-ink);box-shadow:0 6px 0 var(--tb-line)}
.tb-btn-soft:hover{transform:translateY(-2px)}
.tb-btn-soft i{color:#16a34a}
.tb-stamps{display:flex;flex-wrap:wrap;gap:1.6rem;list-style:none;margin:3rem 0 0;padding:0}
.tb-stamps li{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.35rem;color:var(--tb-soft)}
.tb-stamps i{color:var(--tb-wood)}

.tb-shelf{position:relative;aspect-ratio:1/1;max-width:560px;justify-self:center;width:100%}
.tb-toy{position:absolute;will-change:transform;display:flex;align-items:center;justify-content:center;border-radius:46% 54% 50% 50% / 52% 48% 52% 48%;background:var(--c);box-shadow:0 22px 40px rgba(59,36,20,.16);overflow:hidden;animation:tb-bob 5s ease-in-out var(--d) infinite}
.tb-toy img{width:100%;height:100%;object-fit:cover}
.tb-toy-1{width:52%;height:52%;left:24%;top:22%;z-index:2}
.tb-toy-2{width:30%;height:30%;left:0;top:4%}
.tb-toy-3{width:32%;height:32%;right:0;top:0}
.tb-toy-4{width:30%;height:30%;left:4%;bottom:2%}
.tb-toy-5{width:34%;height:34%;right:2%;bottom:6%}
@keyframes tb-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}

/* ribbon */
.tb-ribbon{overflow:hidden;background:var(--tb-wood2);color:#ffe9cc;padding:1.5rem 0;transform:rotate(-1.2deg);margin:-2rem -1rem 0;position:relative;z-index:2}
.tb-ribbon-track{display:flex;gap:4rem;width:max-content;animation:tb-run 38s linear infinite}
.tb-ribbon span{display:inline-flex;align-items:center;gap:1rem;font-family:'Fredoka',sans-serif;font-size:1.8rem;font-weight:600;white-space:nowrap}
.tb-ribbon i{color:var(--tb-sun)}
@keyframes tb-run{to{transform:translateX(-33.333%)}}
@media (prefers-reduced-motion:reduce){.tb-toy,.tb-ribbon-track{animation:none}}

/* sections */
.tb-sec{padding:8rem 3rem 0}
.tb-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.tb-head{margin-bottom:3.4rem;text-align:center}
.tb-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;text-align:left}
.tb-sec h2{font-size:clamp(3.2rem,4.4vw,5rem)}
.tb-more{font-weight:800;font-size:1.5rem;color:var(--tb-wood2);display:inline-flex;gap:.8rem;align-items:center;padding:1rem 1.8rem;border-radius:999px;background:#fff;box-shadow:0 4px 0 var(--tb-line)}

.tb-why{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.tb-why-card{padding:3rem 2.4rem;border-radius:28px;background:#fff;box-shadow:0 8px 0 var(--tb-line);text-align:center}
.tb-why-card span{display:inline-flex;width:72px;height:72px;border-radius:50%;align-items:center;justify-content:center;background:var(--c);color:#fff;font-size:2.6rem;margin-bottom:1.6rem;transform:rotate(-6deg)}
.tb-why-card h3{font-size:2.2rem}
.tb-why-card p{font-size:1.5rem;line-height:1.55;color:var(--tb-soft);margin-top:.8rem}

.tb-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2.4rem 1.8rem}
.tb-col{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:center}
.tb-col-img{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--c);margin-bottom:1rem;box-shadow:0 8px 0 rgba(59,36,20,.08);transition:transform .35s var(--ease)}
.tb-col-img img{width:100%;height:100%;object-fit:cover}
.tb-col-img>i{font-size:4rem;color:#fff}
.tb-col:hover .tb-col-img{transform:translateY(-6px) rotate(-4deg)}
.tb-col b{font-family:'Fredoka',sans-serif;font-size:1.7rem;font-weight:600;line-height:1.2}
.tb-col small{font-size:1.3rem;color:var(--tb-mute);font-weight:700}

.tb-sets{display:grid;grid-template-columns:.8fr 1.6fr;gap:4rem;align-items:center;padding:4.4rem;border-radius:36px;background:var(--tb-blue);background-image:radial-gradient(circle at 12% 110%,rgba(255,255,255,.18) 0 120px,transparent 121px),radial-gradient(circle at 98% -10%,rgba(255,255,255,.14) 0 90px,transparent 91px);color:#fff}
.tb-sets>*{min-width:0}
.tb-sets .tb-kick{color:#fff4d6}
.tb-sets h2{color:#fff}
.tb-sets h2 em{color:var(--tb-sun)}
.tb-sets-copy p:last-child{font-size:1.6rem;line-height:1.6;margin-top:1.4rem;color:#eaf6fd}
.tb-sets-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.tb-set{display:flex;flex-direction:column;gap:.6rem;padding:1.2rem 1.2rem 1.6rem;border-radius:24px;background:#fff;color:var(--tb-ink);transition:transform .3s var(--ease)}
.tb-set:hover{transform:translateY(-6px) rotate(-1deg)}
.tb-set-img{display:block;aspect-ratio:1;border-radius:18px;overflow:hidden;background:var(--c);margin-bottom:.6rem}
.tb-set-img img{width:100%;height:100%;object-fit:cover}
.tb-set b{font-family:'Fredoka',sans-serif;font-size:1.6rem;font-weight:600;line-height:1.25}

/* catalog */
.tb-bar{position:sticky;top:calc(var(--nav-h) + .6rem);z-index:5;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between;padding:1rem;max-width:calc(var(--max-w) + 2rem);margin:0 auto 2.6rem;border-radius:22px;background:rgba(255,248,236,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(59,36,20,.06);scroll-margin-top:calc(var(--nav-h) + 1rem)}
.tb-chips{display:flex;gap:.8rem;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1 1 520px;padding:.2rem}
.tb-chips::-webkit-scrollbar{display:none}
.tb-chip{flex:none;padding:.9rem 1.6rem;border-radius:999px;border:2px solid var(--tb-line);background:#fff;font:inherit;font-size:1.4rem;font-weight:800;color:var(--tb-soft);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tb-chip:hover{border-color:var(--tb-wood);color:var(--tb-ink)}
.tb-chip.is-on{background:var(--tb-ink);border-color:var(--tb-ink);color:#fff}
.tb-find{display:flex;align-items:center;gap:.8rem;flex:0 1 280px;padding:0 1.6rem;border-radius:999px;border:2px solid var(--tb-line);background:#fff}
.tb-find i{color:var(--tb-mute);font-size:1.3rem}
.tb-find input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:1.45rem;padding:1.05rem 0;color:var(--tb-ink)}
.tb-find output{font-size:1.2rem;font-weight:800;color:var(--tb-red);white-space:nowrap}
.tb-find:focus-within{border-color:var(--tb-wood)}
.tb-group+.tb-group{margin-top:5rem}
.tb-group[hidden]{display:none}
.tb-group-h{display:flex;align-items:center;gap:1rem;font-size:2.4rem;margin-bottom:2rem}
.tb-group-h i{color:var(--tb-wood);font-size:2rem}
.tb-group-h small{font-family:'Nunito',sans-serif;font-size:1.3rem;font-weight:800;color:#fff;background:var(--tb-wood);border-radius:999px;padding:.2rem 1rem}
.tb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.6rem 2rem}
.tb-card{display:flex;flex-direction:column;padding:1.2rem 1.2rem 1.6rem;border-radius:26px;background:#fff;box-shadow:0 6px 0 var(--tb-line);transition:transform .3s var(--ease)}
.tb-card:hover{transform:translateY(-4px)}
.tb-card[hidden]{display:none}
.tb-card-img{position:relative;display:block;aspect-ratio:1;border-radius:20px;overflow:hidden;background:color-mix(in srgb,var(--c) 28%,#fff)}
.tb-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tb-card-img>i.fas{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--c)}
.tb-card:hover .tb-card-img img{transform:scale(1.06) rotate(-2deg)}
.tb-sale{position:absolute;left:1rem;top:1rem;z-index:1;padding:.4rem 1rem;border-radius:999px;background:var(--tb-red);color:#fff;font-style:normal;font-size:1.25rem;font-weight:800}
.tb-card h3{font-family:'Nunito',sans-serif;font-size:1.55rem;font-weight:800;line-height:1.35;margin:1.2rem .4rem .4rem}
.tb-age{font-size:1.25rem;color:var(--tb-mute);margin:0 .4rem .4rem;font-weight:700}
.tb-price{font-size:1.35rem;color:var(--tb-mute);margin:auto .4rem 1.2rem}
.tb-price s{margin-right:.4rem}
.tb-price b{font-family:'Fredoka',sans-serif;font-size:1.9rem;font-weight:600;color:var(--tb-ink)}
.tb-card>a{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.4rem;border-radius:999px;background:var(--tb-sand);color:var(--tb-wood2);font-size:1.45rem;font-weight:800;transition:background .2s,color .2s}
.tb-card>a:hover{background:var(--tb-wood2);color:#fff}
.tb-none{padding:3rem 0;text-align:center;font-size:1.6rem;color:var(--tb-soft)}
.tb-none a{color:var(--tb-red);font-weight:800;text-decoration:underline}

/* story */
.tb-story{display:grid;grid-template-columns:auto 1fr;gap:5rem;align-items:center;padding:5rem;border-radius:36px;background:var(--tb-sand)}
.tb-story>*{min-width:0}
.tb-badge{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center}
.tb-badge svg{position:absolute;inset:0;width:100%;height:100%;animation:tb-spin 30s linear infinite}
.tb-badge text{font-family:'Fredoka',sans-serif;font-size:15px;font-weight:600;letter-spacing:2.4px;fill:var(--tb-wood2)}
.tb-badge>i{width:110px;height:110px;border-radius:50%;background:var(--tb-leaf);color:#fff;display:flex;align-items:center;justify-content:center;font-size:4.6rem}
@keyframes tb-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.tb-badge svg{animation:none}}
.tb-prose{margin-top:2rem}
.tb-prose p{font-size:1.7rem;line-height:1.75;color:var(--tb-soft)}
.tb-prose p+p{margin-top:1.4rem}

.tb-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.tb-gal-item{padding:0;border:0;border-radius:26px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;background:color-mix(in srgb,var(--c) 30%,#fff)}
.tb-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tb-gal-item:hover img{transform:scale(1.05)}
.tb-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.tb-rev figure{padding:2.6rem;border-radius:26px;background:#fff;border-top:8px solid var(--c)}
.tb-rev blockquote{font-size:1.7rem;line-height:1.55}
.tb-rev figcaption{margin-top:1rem;font-weight:800;color:var(--tb-mute)}

.tb-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;border-radius:36px;background:#fff;box-shadow:0 10px 0 var(--tb-line)}
.tb-contact>*{min-width:0}
.tb-contact-lede{font-size:1.65rem;line-height:1.6;color:var(--tb-soft);margin:1.4rem 0 2.8rem}
.tb-hours{margin-top:2.4rem}
body.d-toybox .ci{border-radius:18px;background:var(--tb-cream)}
body.d-toybox .ci-ico{background:var(--tb-sun);color:var(--tb-ink)}
body.d-toybox .ci-ico.wa{background:#25d366;color:#fff}
body.d-toybox .contact-form{border-radius:26px;background:var(--tb-cream);box-shadow:none}
body.d-toybox .contact-form h3{font-size:2.6rem;margin-bottom:1.6rem}
body.d-toybox .cf-field input,body.d-toybox .cf-field textarea{border-radius:14px;background:#fff}
body.d-toybox .btn-onbiz{background:var(--tb-red);border-radius:999px}
body.d-toybox .hours-card{border-radius:20px}
.tb-map{margin-top:3rem}
.tb-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 3rem}
body.d-toybox .bx-foot{background:var(--tb-wood2);color:#fde7cc;margin-top:7rem;border-radius:40px 40px 0 0}
body.d-toybox .bx-foot p,body.d-toybox .bx-foot li,body.d-toybox .bx-foot a{color:#f2d3ae}
body.d-toybox .bx-foot h2{color:var(--tb-sun)}
body.d-toybox .bx-foot .bx-brand-mark{background:#fff;border-radius:14px}
body.d-toybox .bx-foot .bx-brand-txt b{color:#fff}
body.d-toybox .bx-foot .btn-onbiz{background:var(--tb-sun);color:var(--tb-ink)}
body.d-toybox .bx-foot .btn-outline{border-color:rgba(255,255,255,.3);color:#fff}
body.d-toybox .bx-foot-bottom{border-top-color:rgba(255,255,255,.12)}
body.d-toybox .bx-faq details{border-color:rgba(255,255,255,.14)}

@media (max-width:1080px){
  .tb-why{grid-template-columns:1fr 1fr}
  .tb-grid{grid-template-columns:repeat(3,1fr)}
  .tb-sets{grid-template-columns:1fr}
}
@media (max-width:860px){
  .tb-hero-in{grid-template-columns:1fr;padding:5rem 2rem 6rem;gap:3rem}
  .tb-shelf{max-width:420px}
  .tb-contact,.tb-story{grid-template-columns:1fr;gap:3rem}
  .tb-badge{width:170px;height:170px}
  .tb-badge>i{width:84px;height:84px;font-size:3.4rem}
  .tb-gal{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .tb-hero h1{font-size:4.4rem}
  .tb-lede{font-size:1.6rem}
  .tb-btn{padding:1.3rem 2.2rem;font-size:1.5rem}
  .tb-sec{padding:6rem 1.6rem 0}
  .tb-why{grid-template-columns:1fr}
  .tb-cols{grid-template-columns:repeat(3,1fr);gap:1.8rem 1.2rem}
  .tb-col b{font-size:1.4rem}
  .tb-sets{padding:2.8rem 1.8rem;border-radius:26px}
  .tb-sets-row{grid-template-columns:1fr 1fr}
  .tb-sets-row .tb-set:nth-child(3){display:none}
  .tb-grid{grid-template-columns:1fr 1fr;gap:1.6rem 1.2rem}
  .tb-card{padding:.8rem .8rem 1.2rem;border-radius:20px}
  .tb-card h3{font-size:1.4rem}
  .tb-bar{margin:0 0 2rem;padding:.8rem}
  .tb-find{flex:1 1 100%}
  .tb-story,.tb-contact{padding:2.8rem 1.8rem;border-radius:26px}
  .tb-share{padding:0 1.6rem}
}
