/* Imagination theme styles — from exact template */

:root{--green:#24ad1c;--yellow:#ffbb2f;--orange:#ee480e;--ink:#2b2825;--paper:#fff0e5;--white:#fffaf6;--lav:#e8def7;--mint:#dcefd2;--peach:#ffd7c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}button,input{font:inherit}button,a{color:inherit}a{text-decoration:none}.top{background:var(--ink);color:var(--paper);padding:9px 4vw;text-align:center;font-size:11px;font-weight:700;letter-spacing:.12em}.nav{min-height:82px;height:82px;padding:10px 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);background:rgba(255,240,229,.94);backdrop-filter:blur(10px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;flex-shrink:0;width:132px;max-width:132px;max-height:64px;overflow:hidden}.brand a,.brand .custom-logo-link{display:block;width:100%;max-width:100%;line-height:0}.brand img,.brand .custom-logo,img.custom-logo{display:block;width:132px!important;max-width:132px!important;height:auto!important;max-height:64px!important;object-fit:contain;object-position:left center}.links{display:flex;gap:29px;align-items:center;font-size:13px;font-weight:700}.links a{position:relative}.links a:after{content:"";position:absolute;height:5px;border-radius:50%;background:var(--green);left:0;right:100%;bottom:-9px;transition:.2s}.links a:hover:after{right:0}.new:before{content:"NEW";position:absolute;top:-18px;right:-18px;color:var(--orange);font:700 10px Kalam;transform:rotate(8deg)}.actions{display:flex;gap:9px;align-items:center;overflow:visible}.round{width:43px;height:43px;border:2px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer;font-size:18px;transition:.2s;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;text-decoration:none;position:relative;box-sizing:border-box;color:var(--ink);flex-shrink:0;overflow:visible}.round svg.icon-search,.round svg.icon-cart{display:block;width:18px;height:18px;flex-shrink:0}.round svg.icon-cart{transform:translateY(1.5px)}.cart-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border:2px solid var(--ink);border-radius:999px;background:var(--orange);color:#fff;font:700 10px/14px "DM Sans",sans-serif;display:inline-flex;align-items:center;justify-content:center;pointer-events:none;box-sizing:border-box;z-index:2}.cart-count.is-empty{display:none}.round:hover{background:var(--yellow);transform:rotate(-9deg)}.search-panel{border-bottom:2px solid var(--ink);background:rgba(255,240,229,.98);padding:12px 5vw;position:sticky;top:82px;z-index:29}body.admin-bar .search-panel{top:114px}@media (max-width:782px){body.admin-bar .search-panel{top:128px}}.search-form{display:flex;align-items:center;gap:8px;max-width:720px;margin:0 auto}.search-form input[type=search]{flex:1;min-width:0;border:2px solid var(--ink);background:var(--white,#fffaf6);border-radius:999px;padding:12px 18px;font:inherit;outline:0}.search-form input[type=search]:focus{box-shadow:3px 3px 0 var(--yellow)}.search-go{border:2px solid var(--ink);background:var(--green);color:#fff;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;white-space:nowrap}.search-go:hover{background:var(--orange)}.search-close{width:40px;height:40px;border:2px solid var(--ink);border-radius:50%;background:transparent;font-size:22px;line-height:1;cursor:pointer;flex-shrink:0}.search-close:hover{background:var(--yellow)}.search-panel[hidden]{display:none!important}.hero{min-height:680px;padding:55px 7vw 70px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;overflow:visible}.hero-copy{z-index:2}.eyebrow{font:700 15px Kalam;color:var(--green);transform:rotate(-2deg);display:inline-block}.hero h1{font:700 clamp(84px,11vw,160px)/.69 Gaegu;margin:10px 0 25px;letter-spacing:-.055em}.hero h1 span{color:var(--orange)}.hero p{font-size:17px;line-height:1.65;max-width:475px}.cta{display:inline-flex;align-items:center;gap:12px;background:var(--green);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:14px 23px;border-radius:999px;font-weight:700;margin-top:15px;transition:.15s}.cta:hover{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--ink)}.hero-squiggle{display:inline-block;margin:14px 0 0 8px;color:var(--green);font:700 28px Gaegu;transform:rotate(-12deg);letter-spacing:-2px}.hero-art{height:510px;position:relative;display:grid;place-items:center}.blob{width:min(39vw,465px);aspect-ratio:1;background:var(--yellow);border:3px solid var(--ink);border-radius:47% 53% 59% 41%/43% 44% 56% 57%;box-shadow:15px 17px 0 var(--orange);transform:rotate(7deg);animation:float 4.5s ease-in-out infinite;display:grid;place-items:center}.hero{overflow:visible}.hero-art{overflow:visible}.spark{top:8%;right:6%;bottom:auto;font:700 42px Gaegu;color:var(--orange);animation:spin 9s linear infinite}.scribble{position:absolute;font:700 28px Kalam}.s1{right:2%;top:9%;color:var(--orange);transform:rotate(12deg)}.s2{left:1%;bottom:9%;color:var(--green);transform:rotate(-8deg)}.dot{width:17px;height:17px;background:var(--orange);border-radius:50%;position:absolute;left:10%;top:15%;animation:bob 2.4s ease-in-out infinite}.spark{position:absolute;right:7%;bottom:15%;font:700 56px Gaegu;color:var(--green);animation:spin 9s linear infinite}.marquee{border-block:2px solid var(--ink);background:var(--yellow);overflow:hidden;white-space:nowrap}.track{display:flex;width:max-content;animation:marquee var(--marquee-speed,22s) linear infinite}.track-seg{display:flex;align-items:center;flex-shrink:0;padding:12px 0;font:700 16px Kalam}.track-seg span{padding:0 15px}.track-seg .sep{padding:0 8px}.section{padding:78px 5vw}.head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.head h2{font:700 clamp(48px,6vw,74px)/.8 Gaegu;margin:0}.head p{font:700 13px Kalam;margin:0}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.filter{border:1.8px solid var(--ink);background:transparent;padding:9px 15px;border-radius:999px;cursor:pointer;font-size:13px}.filter:hover,.filter.active{background:var(--orange);color:white}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.card{background:var(--white);border:2px solid var(--ink);padding:11px;position:relative;transition:.22s}.card:hover{transform:translateY(-8px) rotate(-.8deg);box-shadow:6px 7px 0 var(--ink)}.pic{height:230px;display:grid;place-items:center;font:700 86px Gaegu;margin-bottom:14px;overflow:hidden}.card:nth-child(1) .pic{background:var(--mint)}.card:nth-child(2) .pic{background:#ffe2a0}.card:nth-child(3) .pic{background:var(--peach)}.card:nth-child(4) .pic{background:var(--lav)}.card h3{font-size:14px;margin:0 0 7px}.price{font-weight:700}.add{float:right;width:32px;height:32px;border:0;border-radius:50%;background:var(--green);font-size:21px;cursor:pointer;transition:.15s}.add:hover{transform:rotate(90deg) scale(1.1)}.tag{position:absolute;top:20px;left:20px;background:var(--orange);color:white;border-radius:999px;padding:4px 9px;font-size:9px;font-weight:700;transform:rotate(-4deg)}.obsessions{padding:75px 5vw;background:var(--ink);color:var(--paper)}.obsessions h2{font:700 clamp(48px,6vw,72px)/.8 Gaegu;margin:0 0 35px}.obs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.obs,a.obs{min-height:180px;border:2px solid var(--paper);padding:22px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:.2s;color:inherit;text-decoration:none;box-sizing:border-box}.obs:nth-child(1),.obs:nth-child(5){background:var(--green);color:var(--ink)}.obs:nth-child(2){background:var(--yellow);color:var(--ink)}.obs:nth-child(3){background:var(--orange)}.obs:hover{transform:rotate(-1.5deg) scale(1.015)}.obs .icon{font:700 55px Gaegu;line-height:1;display:inline-flex;align-items:center}.obs .icon svg{width:55px;height:55px;display:block;flex-shrink:0}.obs strong{font:700 28px Gaegu}.machine{margin:80px 5vw;padding:55px 6vw;border:2px solid var(--ink);background:var(--white);box-shadow:10px 11px 0 var(--yellow);display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.machine h2{font:700 64px/.8 Gaegu;margin:0 0 17px}.machine small{font-family:Kalam}.machine-box{border:2px dashed var(--ink);padding:26px;background:var(--paper)}.question{font:700 13px Kalam;margin:0 0 10px}.choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.choice{border:1.5px solid var(--ink);background:var(--white);border-radius:999px;padding:8px 13px;cursor:pointer}.choice.selected{background:var(--yellow)}.machine-btn{border:2px solid var(--ink);background:var(--orange);color:white;padding:12px 18px;border-radius:999px;font-weight:700;cursor:pointer}.result{font:700 26px Gaegu;margin-top:18px;min-height:34px}.surprise{margin:20px 5vw 85px;min-height:220px;background:var(--yellow);border:2px solid var(--ink);display:flex;align-items:center;justify-content:space-between;padding:40px 6vw;gap:30px;transform:rotate(-.6deg)}.surprise h2{font:700 59px/.82 Gaegu;margin:0}.surprise button{width:125px;height:125px;border:2px solid var(--ink);border-radius:50%;background:var(--orange);color:white;font:700 21px Gaegu;cursor:pointer;box-shadow:7px 7px 0 var(--ink);transition:.15s}.surprise button:hover{transform:rotate(9deg) scale(1.05)}.club{margin:0 5vw 75px;background:var(--green);border:2px solid var(--ink);padding:45px 6vw;display:flex;justify-content:space-between;align-items:center;gap:35px}.club h2{font:700 55px/.8 Gaegu;margin:0 0 12px}.club p{max-width:480px}.club form{display:flex;background:var(--paper);border:2px solid var(--ink);padding:5px}.club input{border:0;outline:0;background:transparent;padding:12px;min-width:220px}.club button{border:0;background:var(--orange);color:white;padding:0 17px;font-weight:700;cursor:pointer}footer{border-top:2px solid var(--ink);padding:30px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:12px}.drawer{position:fixed;right:-390px;top:0;width:min(380px,94vw);height:100vh;background:var(--white);border-left:2px solid var(--ink);z-index:60;padding:28px;transition:.3s}.drawer.open{right:0}.close{float:right;border:0;background:transparent;font-size:28px;cursor:pointer}.drawer h2{font:700 48px Gaegu;margin:25px 0}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,100px);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:999px;z-index:70;transition:.3s}.toast.show{transform:translate(-50%,0)}@keyframes float{50%{transform:rotate(3deg) translateY(-12px)}}@keyframes bob{50%{transform:translateY(13px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:850px){.brand{width:130px;max-width:130px;height:56px;max-height:56px}.links{display:none}.hero{grid-template-columns:1fr;padding-top:45px}.hero-art{height:390px}.blob{width:300px}.products{grid-template-columns:repeat(2,1fr)}.obs-grid{grid-template-columns:repeat(2,1fr)}.machine{grid-template-columns:1fr}.club{display:block}.club form{margin-top:25px}.head{display:block}.head p{margin-top:12px}}@media(max-width:520px){.hero h1{font-size:86px}.products,.obs-grid{grid-template-columns:1fr}.pic{height:210px}.surprise{display:block}.surprise button{margin-top:25px;width:100px;height:100px}.club form{display:block}.club input{width:100%;min-width:0}.club button{padding:12px;width:100%}footer{display:block;line-height:2}}

/* WordPress / WooCommerce / Elementor compatibility */
body.admin-bar .nav{top:32px}
@media (max-width:782px){body.admin-bar .nav{top:46px}}
.wp-site-blocks,.entry-content{max-width:none}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:0;padding:0;list-style:none}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.woocommerce ul.products{grid-template-columns:1fr}}
.woocommerce ul.products li.product{background:var(--white);border:2px solid var(--ink);padding:11px;margin:0;width:auto!important;float:none!important;position:relative;transition:.22s}
.woocommerce ul.products li.product:hover{transform:translateY(-8px) rotate(-.8deg);box-shadow:6px 7px 0 var(--ink)}
.woocommerce ul.products li.product a img{margin:0;border:0;height:230px;object-fit:cover;width:100%;background:var(--mint)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px;padding:0;margin:10px 0 7px}
.woocommerce ul.products li.product .price{color:var(--ink);font-weight:700}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--green)!important;color:#fff!important;border:2px solid var(--ink)!important;
  border-radius:999px!important;font-weight:700!important;box-shadow:4px 4px 0 var(--ink);
}
.woocommerce a.button:hover,.woocommerce button.button:hover{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)!important}
.woocommerce span.onsale{background:var(--orange)!important;border-radius:999px;line-height:2;min-height:0;padding:4px 10px;font-size:10px;font-weight:700;top:14px;left:14px;right:auto}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--green)}
.elementor-location-header,.elementor-location-footer{width:100%}
.site-main{min-height:40vh}
.im-page{padding:60px 5vw}
.im-page h1{font:700 clamp(40px,5vw,64px)/.85 Gaegu;margin:0 0 20px}
.alignwide{max-width:1200px;margin-left:auto;margin-right:auto}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.nav-menu-mobile{display:none}
/* blob typography fix */

.blob-inner{transform:rotate(-7deg);text-align:center;color:var(--ink);padding:10% 8%;line-height:1;width:100%}
.blob-inner .blob-line{
  display:block !important;
  font-family:Gaegu,cursive !important;
  font-weight:700 !important;
  font-size:clamp(40px,5vw,58px) !important;
  line-height:0.95 !important;
  letter-spacing:-0.02em;
  margin:0;
  white-space:nowrap;
}
.blob-inner .blob-sub{
  display:block !important;
  font-family:Kalam,cursive !important;
  font-weight:400 !important;
  font-size:clamp(16px,1.7vw,22px) !important;
  line-height:1.25 !important;
  margin-top:16px !important;
  white-space:nowrap;
}
.blob{overflow:visible;display:grid;place-items:center}


/* Mobile sticky header menu — hamburger sits on the nav bottom border */
.menu-toggle{display:none;width:43px;height:43px;border:2px solid var(--ink);border-radius:50%;background:var(--yellow);color:var(--ink);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0;line-height:1;transition:.2s;flex-shrink:0;box-shadow:3px 3px 0 var(--ink);z-index:35}
.menu-toggle span{display:block;width:18px;height:3px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
.menu-toggle:hover{background:var(--yellow);transform:rotate(-9deg)}
.menu-overlay{display:none}
.menu-overlay[hidden]{display:none!important}
@media(max-width:850px){
  /* keep sticky so logo / search / cart track on scroll */
  .nav{position:sticky;top:0;z-index:30;overflow:visible}
  body.admin-bar .nav{top:32px}
  .menu-toggle{
    display:inline-flex!important;
    position:absolute;
    left:max(14px,5vw);
    bottom:-22px; /* center sits on the 2px border line under the header */
    margin:0;
  }
  .menu-toggle:hover{transform:rotate(-9deg)}
  .nav .links{display:none}
  body.nav-open{overflow:hidden}
  body.nav-open .links{
    display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;
    width:min(340px,86vw);height:100vh;background:rgba(255,240,229,.99);
    border-right:2px solid var(--ink);padding:168px 32px 40px;gap:28px;z-index:60;
    align-items:flex-start;box-shadow:8px 0 0 rgba(43,40,37,.12)
  }
  body.nav-open .links a{font-size:18px}
  body.nav-open .menu-overlay{display:block!important;position:fixed;inset:0;background:rgba(43,40,37,.25);z-index:55}
  body.nav-open .menu-toggle{background:var(--paper);z-index:70}
  body.nav-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .menu-toggle span:nth-child(2){opacity:0}
  body.nav-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(max-width:850px) and (max-width:782px){body.admin-bar .nav{top:46px}}
.nav{backdrop-filter:none}


/* hero sparks front — sit above blob, extra smaller stars */
.hero-art{isolation:isolate}
.blob{position:relative;z-index:1}
.spark{position:absolute;z-index:3;right:7%;bottom:15%;top:auto;left:auto;font:700 56px Gaegu,cursive;color:var(--green);animation:spin 9s linear infinite;pointer-events:none;line-height:1}
.spark-sm{right:16%;top:10%;bottom:auto;left:auto;font-size:28px;animation:spin 13s linear infinite reverse;opacity:.95}
.spark-xs{left:8%;top:58%;right:auto;bottom:auto;font-size:18px;animation:spin 11s linear infinite;opacity:.9}
