/* ==========================================================================
   PrintPlay Kids – stylesheet (mobile-first)
   Personality: playful "sticker" look – thick ink outlines, hard offset shadows,
   pastel blocks and one strong CTA colour.
   ========================================================================== */
:root{
  /* ---- Palette (edit these to re-theme the whole site) ---- */
  --ink:#2B2350;          /* text + outlines */
  --ink-soft:#6B6590;
  --cream:#FFF8EC;        /* page background */
  --paper:#FFFFFF;
  --mint:#CFF3E4; --peach:#FFE0CC; --lavender:#E3DBFF; --sky:#D3EBFF; --lemon:#FFF1B8; --pink:#FFD9E6;
  --cta:#FF5C39;          /* the ONE strong action colour */
  --cta-dark:#E04323;
  --wa:#25D366;
  /* ---- Shape & type ---- */
  --radius:20px; --radius-sm:12px;
  --line:2.5px solid var(--ink);
  --shadow:4px 4px 0 var(--ink);
  --shadow-sm:2px 2px 0 var(--ink);
  --font-head:'Fredoka','Trebuchet MS',system-ui,sans-serif;
  --font-body:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.6 var(--font-body);
  background-image:radial-gradient(rgba(43,35,80,.07) 1.5px,transparent 1.5px);background-size:22px 22px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2rem,7vw,3.4rem)} h2{font-size:clamp(1.6rem,5vw,2.3rem)} h3{font-size:1.1rem}
p{margin:0 0 1em}
.wrap{max-width:1160px;margin:0 auto;padding:0 16px}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:8px;left:8px;background:#fff;padding:8px 12px;z-index:200;border:var(--line);border-radius:8px}
.section{padding:44px 0}
.section.tint{background:rgba(255,255,255,.55);border-block:var(--line)}
.section-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:end;justify-content:space-between;margin-bottom:20px}
.section-head h2{margin:0}
.link-more{font-weight:800;text-decoration:none;border-bottom:3px solid var(--cta)}
.center{text-align:center}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 24px;font:700 1rem var(--font-head);
  text-decoration:none;color:var(--ink);background:var(--paper);border:var(--line);border-radius:999px;box-shadow:var(--shadow-sm);cursor:pointer;
  transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow)}
.btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--cta);outline-offset:3px}
.btn-cta{background:var(--cta);color:#fff}.btn-cta:hover{background:var(--cta-dark)}
.btn-ghost{background:var(--paper)}
.btn-wa{background:var(--wa);color:#073b1c}
.btn-lg{min-height:58px;font-size:1.15rem;padding:14px 30px}
.btn-block{display:flex;width:100%}
.btn[disabled]{opacity:.6;cursor:wait}

/* ---- Announcement + header ---- */
.announce{background:var(--ink);color:#fff;text-align:center;font:600 .85rem var(--font-body);padding:7px 12px;letter-spacing:.02em}
.site-header{position:sticky;top:0;z-index:100;background:var(--cream);border-bottom:var(--line)}
.hdr-row{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"tog logo wa" "search search search";align-items:center;gap:8px 10px;padding-block:8px}
.nav-toggle{grid-area:tog;width:46px;height:46px;border:var(--line);border-radius:14px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}
.nav-toggle span{width:20px;height:3px;background:var(--ink);border-radius:3px}
.logo{grid-area:logo;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font:700 1.35rem var(--font-head)}
.logo b{color:var(--cta)}
.wa-icon{grid-area:wa;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--wa);color:#fff;border:var(--line);box-shadow:var(--shadow-sm)}
.search{grid-area:search;display:flex;border:var(--line);border-radius:999px;background:#fff;overflow:hidden}
.search input[type=search]{flex:1;min-width:0;border:0;border-radius:0;padding:10px 16px;font:inherit;background:transparent;box-shadow:none;-webkit-appearance:none;appearance:none}
.search input[type=search]:focus,.search input[type=search]:focus-visible{outline:none}
.search:focus-within{box-shadow:var(--shadow-sm)}
.search button{border:0;background:var(--lemon);padding:0 16px;cursor:pointer;font-size:1.1rem;border-left:var(--line)}
.nav{display:none;grid-column:1/-1;grid-row:3;flex-direction:column;gap:4px;padding:8px 0}
.nav.open{display:flex}
.nav a{padding:12px 16px;border-radius:12px;font:600 1.05rem var(--font-head);text-decoration:none}
.nav a:hover,.nav a.active{background:var(--lemon)}

/* ---- Hero ---- */
.hero{padding:34px 0 40px;position:relative;overflow:hidden}
.hero-grid{display:grid;gap:30px;align-items:center}
.eyebrow{display:inline-block;background:var(--mint);border:var(--line);border-radius:999px;padding:4px 14px;font:700 .85rem var(--font-head);margin-bottom:14px;transform:rotate(-2deg)}
.hero h1 mark{background:linear-gradient(transparent 58%,var(--lemon) 58%);color:inherit;padding:0 4px}
.hero h1 .wob{display:inline-block;color:var(--cta);transform:rotate(-3deg)}
.hero p.lead{font-size:1.15rem;max-width:34em}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px}
.hero-art{position:relative;min-height:290px}
.frame{position:absolute;border:var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;background:#fff}
.frame img{width:100%;height:100%;object-fit:cover}
.frame.f1{width:62%;aspect-ratio:4/3;left:0;top:0;transform:rotate(-5deg)}
.frame.f2{width:55%;aspect-ratio:4/3;right:0;top:22%;transform:rotate(4deg);z-index:2}
.frame.f3{width:48%;aspect-ratio:4/3;left:14%;bottom:0;transform:rotate(-2deg);z-index:3}
.sticker{position:absolute;z-index:4;font-size:2rem;animation:bob 3s ease-in-out infinite}
.sticker.s1{right:2%;top:-2%}.sticker.s2{left:-2%;bottom:20%;animation-delay:.8s}
@keyframes bob{50%{transform:translateY(-8px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.sticker{animation:none}html{scroll-behavior:auto}.btn{transition:none}}

/* ---- Trust strip ---- */
.trust{background:var(--lemon);border-block:var(--line)}
.trust ul{list-style:none;margin:0;padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;max-width:1160px;margin-inline:auto}
.trust li{display:flex;gap:10px;align-items:center;font:600 .95rem var(--font-head)}
.trust li span{font-size:1.4rem}

/* ---- Cards ---- */
.card{background:var(--paper);border:var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.cat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cat-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:18px 10px;text-decoration:none;border:var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .15s}
.cat-card:hover{transform:translateY(-4px) rotate(-1deg)}
.cat-card .emo{font-size:2.3rem;line-height:1.2;font-family:var(--font-head)}
.cat-card strong{font:700 1.15rem var(--font-head)}
.cat-card small{color:var(--ink-soft);font-weight:600}
.bg-mint{background:var(--mint)}.bg-peach{background:var(--peach)}.bg-lavender{background:var(--lavender)}.bg-sky{background:var(--sky)}.bg-lemon{background:var(--lemon)}.bg-pink{background:var(--pink)}

/* ---- Products ---- */
.products{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.product-card{display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}
.product-card:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow)}
.pc-img{position:relative;display:block;border-bottom:var(--line);aspect-ratio:4/3;background:var(--lavender)}
.pc-img img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:8px;left:8px;background:var(--cta);color:#fff;font:700 .72rem var(--font-head);padding:3px 10px;border:2px solid var(--ink);border-radius:999px;transform:rotate(-3deg)}
.pc-body{display:flex;flex-direction:column;gap:6px;padding:12px;flex:1}
.pc-body h3{font-size:.98rem;margin:0;flex:1}
.pc-body h3 a{text-decoration:none}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{background:var(--sky);border:2px solid var(--ink);border-radius:999px;font:700 .68rem var(--font-body);padding:1px 8px}
.pc-price{margin:0}
.price{font:700 1.3rem var(--font-head)}
.old{color:var(--ink-soft);font-size:.9rem}
.off{background:var(--mint);border:2px solid var(--ink);border-radius:8px;font:700 .72rem var(--font-head);padding:1px 6px}
.product-card .btn{min-height:42px;padding:8px 12px;font-size:.92rem}

/* ---- Bundles ---- */
.bundles{display:grid;gap:18px}
.bundle-card{padding:20px;position:relative;display:flex;flex-direction:column;gap:6px}
.bundle-card.best{background:var(--lemon);border-width:3.5px;transform:scale(1.0)}
.bundle-card .ribbon{position:absolute;top:-14px;right:16px;background:var(--cta);color:#fff;border:var(--line);border-radius:999px;font:700 .85rem var(--font-head);padding:4px 14px;transform:rotate(3deg)}
.bundle-card ul{padding-left:1.1em;margin:.3em 0 1em;flex:1}
.bundle-card .price{font-size:2rem}

/* ---- Steps ---- */
.steps{display:grid;gap:16px;counter-reset:s}
.step{padding:20px 20px 20px 78px;position:relative}
.step::before{counter-increment:s;content:counter(s);position:absolute;left:18px;top:18px;width:44px;height:44px;border-radius:50%;background:var(--cta);color:#fff;border:var(--line);display:grid;place-items:center;font:700 1.4rem var(--font-head)}
.step h3{margin-bottom:4px}.step p{margin:0}

/* ---- Signup / forms ---- */
.signup{background:var(--lavender);padding:26px 20px;display:grid;gap:18px}
.field{margin-bottom:14px}
.field label{display:block;font-weight:800;margin-bottom:4px}
input[type=text],input[type=email],input[type=tel],input[type=search],select,textarea{width:100%;font:inherit;padding:12px 14px;border:var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink)}
textarea{min-height:130px;resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.inline-form{display:grid;gap:10px}
.form-msg{margin:10px 0 0;font-weight:700;min-height:1.4em}
.form-msg.ok{color:#0b7a3b}.form-msg.err{color:#b3261e}
.fine{font-size:.82rem;color:var(--ink-soft)}

/* ---- Quotes / FAQ ---- */
.quotes{display:grid;gap:16px}
.quote{padding:20px;font-weight:600}
.quote .stars{color:#f5a300;letter-spacing:2px}
.quote footer{font-weight:800;margin-top:8px;font-size:.9rem}
.faq{display:grid;gap:10px;max-width:820px;margin-inline:auto}
.faq details{background:#fff;border:var(--line);border-radius:var(--radius-sm);padding:0 16px}
.faq summary{cursor:pointer;font:600 1.05rem var(--font-head);padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:1.5rem;line-height:1;color:var(--cta)}
.faq details[open] summary::after{content:'–'}
.faq details p{padding-bottom:14px;margin:0}

/* ---- Footer ---- */
.site-footer{background:var(--ink);color:#fff;margin-top:40px;padding-top:36px}
.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.foot-grid>div:first-child{grid-column:1/-1}
.site-footer h4{color:var(--lemon)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.site-footer .logo b{color:var(--peach)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:26px;padding-block:16px;font-size:.85rem;opacity:.85}

/* ---- Breadcrumbs / headings ---- */
.crumbs{font-size:.88rem;padding:14px 0 0;color:var(--ink-soft)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0}
.crumbs li+li::before{content:'›';margin-right:8px}
.crumbs a{font-weight:700}
.page-head{padding:22px 0 8px}
.page-head p{max-width:46em;color:var(--ink-soft);font-size:1.05rem}

/* ---- Shop filters ---- */
.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px;margin-bottom:20px;background:var(--sky)}
.filters .full{grid-column:1/-1}
.filters label{font-weight:800;font-size:.85rem;display:block;margin-bottom:2px}
.result-count{font-weight:700;margin-bottom:12px}
.pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:26px}
.pager a,.pager span{min-width:44px;height:44px;display:grid;place-items:center;border:var(--line);border-radius:12px;background:#fff;font-weight:800;text-decoration:none}
.pager .cur{background:var(--cta);color:#fff}
.empty{padding:30px;text-align:center}

/* ---- Product page ---- */
.pdp{display:grid;gap:26px;padding-top:16px}
.gallery .main{border:var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;aspect-ratio:4/3;background:var(--lavender)}
.gallery .main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:10px;margin-top:14px}
.thumbs button{padding:0;width:72px;border:var(--line);border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;opacity:.7}
.thumbs button[aria-current=true]{opacity:1;box-shadow:var(--shadow-sm)}
.thumbs img{aspect-ratio:4/3;object-fit:cover;width:100%}
.pdp-info .price{font-size:2.2rem}
.price-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:8px 0 16px}
.buy-btns{display:grid;gap:10px;margin:16px 0}
.meta-table{width:100%;border-collapse:collapse;background:#fff;border:var(--line);border-radius:var(--radius-sm);overflow:hidden}
.meta-table th,.meta-table td{padding:9px 14px;text-align:left;border-bottom:2px solid var(--cream)}
.meta-table th{width:40%;background:var(--lemon)}
.inside{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.inside li{padding-left:34px;position:relative;font-weight:600}
.inside li::before{content:'✓';position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--mint);border:2px solid var(--ink);display:grid;place-items:center;font-size:.8rem}
.preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.preview-grid img{border:var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);aspect-ratio:3/4;object-fit:cover;width:100%;background:#fff}
.tips{padding:20px;background:var(--peach)}
.tips ul{margin:0;padding-left:1.2em}
.upsell{padding:20px;background:var(--lemon);display:grid;gap:10px}
.sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:flex;gap:10px;align-items:center}
.sticky-buy .p{display:flex;flex-direction:column;line-height:1.1}
.sticky-buy .p .price{font-size:1.25rem}
.sticky-buy .btn{flex:1}
body.has-sticky{padding-bottom:78px}
.prose{max-width:780px}
.prose h2{margin-top:1.6em;font-size:1.5rem}
.prose li{margin-bottom:.4em}
.notice{background:var(--lemon);border:var(--line);border-radius:var(--radius-sm);padding:12px 16px;font-weight:700}
.post-card{overflow:hidden;display:flex;flex-direction:column}
.post-card img{aspect-ratio:16/9;object-fit:cover;width:100%;border-bottom:var(--line)}
.post-card div{padding:16px}
.posts{display:grid;gap:18px}
.post-cover{border:var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:14px 0 22px;aspect-ratio:16/9;object-fit:cover;width:100%}

/* ---- Tablet ---- */
@media (min-width:640px){
  .products{grid-template-columns:repeat(3,1fr);gap:16px}
  .cat-cards{grid-template-columns:repeat(3,1fr)}
  .bundles,.quotes,.posts,.steps{grid-template-columns:repeat(3,1fr)}
  .trust ul{grid-template-columns:repeat(4,1fr)}
  .filters{grid-template-columns:repeat(3,1fr)}
  .inline-form{grid-template-columns:1fr auto}
  .foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}.foot-grid>div:first-child{grid-column:auto}
  .buy-btns{grid-template-columns:1fr 1fr}
  .preview-grid{grid-template-columns:repeat(4,1fr)}
}
/* ---- Desktop ---- */
@media (min-width:960px){
  .hdr-row{grid-template-columns:auto minmax(180px,1fr) auto auto;grid-template-areas:"logo search nav wa"}
  .nav-toggle{display:none}
  .nav,.nav.open{display:flex;flex-direction:row;grid-area:nav;gap:2px;padding:0}
  .nav a{padding:8px 12px;font-size:1rem}
  .hero-grid{grid-template-columns:1.1fr .9fr}.hero-art{min-height:420px}
  .products{grid-template-columns:repeat(4,1fr)}
  .cat-cards.six{grid-template-columns:repeat(6,1fr)}
  .pdp{grid-template-columns:1.05fr .95fr;gap:40px}
  .gallery{position:sticky;top:130px;align-self:start}
  .signup{grid-template-columns:1fr 1fr;align-items:center;padding:36px}
  .sticky-buy{display:none}body.has-sticky{padding-bottom:0}
  .filters{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;align-items:end}.filters .full{grid-column:auto}
  .bundle-card.best{transform:scale(1.04);z-index:1}
}
