/* Collection page, featured storybook cards and restrained motion */
.shop-hero{background:#f0eee1;padding:60px 0 66px;position:relative;overflow:hidden}
.shop-hero::after{content:"✳";position:absolute;right:8%;top:-52px;font-size:220px;color:#dce3cd;transform:rotate(-14deg);pointer-events:none}
.shop-hero .container{position:relative;z-index:1}
.shop-hero h1{font-size:clamp(42px,5.8vw,70px);font-weight:720;letter-spacing:-.055em;line-height:1.08;max-width:830px;margin:13px 0 15px}
.shop-hero p{font-size:15px;color:#697061;max-width:570px;line-height:1.75}
.shop-collection{padding-top:54px;padding-bottom:96px}
.shop-title-row{margin-bottom:24px}
.shop-title-row h2{font-size:clamp(30px,3.4vw,42px);margin:7px 0 10px}
.shop-title-row p,.shop-results-heading p{font-size:13px;color:#7a796e;line-height:1.6}
.shop-page .category-filter-row{margin:0 0 42px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.shop-page .category-card{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 14px;min-height:76px;border-radius:16px;background:#fffdf8;text-decoration:none;border:1px solid #e6ddce}
.shop-page .category-art{width:51px;height:51px;flex:0 0 51px;min-height:0;border-radius:13px}
.shop-page .category-art:before{display:none}
.shop-page .category-artwork,.shop-page .category-artwork svg{width:48px;height:48px}
.shop-page .category-card strong{font-size:12px;padding:0;line-height:1.4}
.shop-page .category-card[aria-pressed="true"]{background:#eaf0df;border-color:#909b79;outline:0}
.shop-results-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:23px 0;border-top:1px solid #e6dfd3}
.shop-results-heading h2{font-size:clamp(25px,3vw,37px);margin:4px 0 0;letter-spacing:-.035em}
.shop-results-heading p{margin:0}
.shop-count{font-size:12px;font-weight:750;color:#7b7b70;white-space:nowrap}
.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.shop-grid .product-card{border-radius:16px}
.shop-grid .product-card .product-art{min-height:180px}
.shop-grid .product-card .product-content{padding:20px}
.shop-grid .product-card .product-content h3{font-size:19px}
.shop-grid .product-card .product-content p{font-size:12px;line-height:1.6}
.card-price{font-size:17px;letter-spacing:-.025em;white-space:nowrap;color:#3c4936}
.shop-empty{grid-column:1/-1;border:1px dashed #ddd4c5;border-radius:16px;padding:32px;background:#fffdf8}
/* Home: illustrated scrapbook treatment, product photography still truthful */
.product-showcase .featured-shop-all{text-align:center;margin-top:35px}
.product-showcase .featured-shop-all .button{font-size:13px;padding:14px 26px}
.product-showcase .featured-product-card{background:#fffaf1;border:1px solid #e8d7bd;border-radius:24px;box-shadow:0 5px 0 #ded7bf,0 17px 25px #433b2611;transform:rotate(-.7deg);overflow:visible;isolation:isolate}
.product-showcase .featured-product-card:nth-child(even){transform:rotate(.7deg)}
.product-showcase .featured-product-card[data-tone="1"]{background:#f5f7ed;border-color:#d6ddc8}
.product-showcase .featured-product-card[data-tone="2"]{background:#f2f7f7;border-color:#d1e1e0}
.product-showcase .featured-product-card[data-tone="3"]{background:#fcf2f4;border-color:#ebd6d8}
.product-showcase .featured-product-card[data-tone="4"]{background:#faf5e9;border-color:#e4dac1}
.product-showcase .featured-product-card .product-art{aspect-ratio:5/3.25;border-radius:23px 23px 44% 12%;overflow:hidden;min-height:210px;background:#e4dfd3}
.product-showcase .featured-product-card .product-art:before{content:"";position:absolute;inset:10px;border:2px dashed #fff8;z-index:3;border-radius:18px 18px 42% 11%;pointer-events:none}
.product-showcase .featured-product-card .product-art>img{transition:transform .35s cubic-bezier(.2,.8,.2,1);object-fit:cover}
.product-showcase .featured-product-card .product-content{background:transparent!important;padding:22px 25px 25px}
.product-showcase .featured-product-card .product-content h3{font-size:clamp(20px,2vw,25px);font-weight:790}
.product-showcase .featured-card-eyebrow{font-size:10px;color:#8c2028;font-weight:850;letter-spacing:.17em;margin:0 0 9px}
.product-showcase .featured-product-card .digital-label{background:#fff9e6;color:#725b35;border:1px solid #ead9b8;border-radius:30px}
.featured-spark{position:absolute;display:block;z-index:4;line-height:1;pointer-events:none;font-weight:900;filter:drop-shadow(1px 2px 1px #0001)}
.featured-spark-one{font-size:49px;color:#e8bf74;right:19px;top:14px;transform:rotate(17deg)}
.featured-spark-two{font-size:28px;color:#fff8d8;left:20px;bottom:12px;transform:rotate(-15deg)}
.product-showcase .featured-product-card .product-bottom{gap:14px;align-items:center}
.product-showcase .featured-product-card .card-price{font-size:21px;font-weight:850;color:#3e5232}
.product-showcase .featured-product-card .product-bottom .button{border-radius:30px;background:#fffdf7;border:1px solid #d5cabc;white-space:normal;text-align:center}
.product-showcase .featured-product-card .product-content p{max-width:55ch}
.product-showcase .category-filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:visible;scroll-snap-type:none;padding:4px 0 14px}
.product-showcase .category-filter-row .category-card{min-width:0;max-width:none;min-height:66px;width:auto;flex:none;text-decoration:none}
.product-showcase .category-filter-row .category-card strong{font-size:12px}
.product-showcase .category-filter-row .category-card:hover{transform:translateY(-2px)}
/* Friendly editorial callout for external free personal-use designs */
.makerworld-section{padding:10px 0 67px;background:#f6f1e8}
.makerworld-panel{position:relative;overflow:hidden;border:1px solid #cdddc4;border-radius:27px;background:#e7efe2;padding:34px 41px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);align-items:center;gap:28px}
.makerworld-panel:after{content:"✦";position:absolute;font-size:170px;color:#d1e0c8;right:8%;top:-60px;pointer-events:none}
.makerworld-content{z-index:1;position:relative}
.makerworld-content h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.045em;max-width:660px;margin:8px 0 12px}
.makerworld-content p{font-size:13px;line-height:1.75;color:#586457;max-width:600px}
.makerworld-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}
.makerworld-links .button{font-size:12px}
.makerworld-note{font-size:11px;color:#73806b!important}
.makerworld-logo-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:#fffdf8;border:1px solid #d5e0ce;border-radius:22px;min-height:196px;padding:25px;position:relative;z-index:1;transform:rotate(3deg);box-shadow:0 8px 0 #d2dec7}
.makerworld-logo-panel img{width:55px;height:55px;object-fit:contain}
.makerworld-logo-panel strong{font-size:clamp(23px,2.6vw,34px);letter-spacing:-.045em;color:#313d34}
.makerworld-logo-panel small{font-size:12px;color:#667568;font-weight:700}
/* Accessible, gentle movement; nothing animates constantly. */
.button,.category-card,.product-card .product-bottom a{transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,background-color .22s ease,border-color .22s ease}
.button:hover,.product-card .product-bottom a:hover{transform:translateY(-3px);box-shadow:0 6px 14px #3a4a2c1a}
.button:active,.product-card .product-bottom a:active{transform:translateY(-1px)}
.product-showcase .featured-product-card:hover{transform:rotate(0deg) translateY(-6px);box-shadow:0 7px 0 #ded7bf,0 21px 31px #433b2620}
.product-showcase .featured-product-card:hover .product-art>img{transform:scale(1.035) rotate(-.5deg)}
.product-showcase .featured-product-card:hover .featured-spark-one{animation:tm-spark-wiggle .55s ease both}
.playful-heading{transform-origin:18% 85%}
.playful-heading.motion-ready.is-visible{animation:tm-heading-wiggle .8s cubic-bezier(.15,.7,.2,1) both}
.playful-heading:hover{animation:tm-heading-wiggle .65s ease}
@keyframes tm-heading-wiggle{0%{transform:rotate(0deg) translateY(6px);opacity:.75}35%{transform:rotate(-1deg) translateY(-2px);opacity:1}65%{transform:rotate(.6deg) translateY(0)}100%{transform:rotate(0deg) translateY(0);opacity:1}}
@keyframes tm-spark-wiggle{0%{transform:rotate(17deg)}35%{transform:rotate(-15deg) scale(1.13)}70%{transform:rotate(26deg)}100%{transform:rotate(17deg)}}
@media(max-width:1000px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-page .category-filter-row,.product-showcase .category-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-hero{padding:38px 0 46px}.shop-hero:after{font-size:110px;right:-25px;top:-30px}.shop-collection{padding:35px 0 60px}.makerworld-panel{grid-template-columns:1fr;padding:28px}.makerworld-logo-panel{min-height:120px;max-width:270px;transform:rotate(1deg)}}
@media(max-width:620px){
 .shop-page .category-filter-row,.product-showcase .category-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:visible;margin-bottom:25px;scroll-snap-type:none}
 .shop-page .category-card,.product-showcase .category-filter-row .category-card{padding:9px 9px;min-height:64px;gap:7px;min-width:0}
 .shop-page .category-art,.product-showcase .category-filter-row .category-art{width:39px;height:39px;flex-basis:39px}
 .shop-page .category-artwork,.shop-page .category-artwork svg{width:38px;height:38px}
 .shop-page .category-card strong,.product-showcase .category-filter-row .category-card strong{font-size:10.5px;line-height:1.35}
 .shop-grid{grid-template-columns:1fr}
 .shop-results-heading{align-items:start}
 .shop-count{white-space:normal;text-align:right}
 .product-showcase .featured-product-card,.product-showcase .featured-product-card:nth-child(even){transform:none}
 .product-showcase .featured-product-card .product-content{padding:19px}
 .product-showcase .featured-product-card .product-art{min-height:190px}
 .makerworld-section{padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){.button,.category-card,.product-card .product-bottom a,.product-showcase .featured-product-card .product-art>img{transition:none!important}.playful-heading,.playful-heading.motion-ready.is-visible,.playful-heading:hover,.featured-spark-one{animation:none!important;transform:none!important}.product-showcase .featured-product-card:hover{transform:none!important}}

/* Homepage favourites: compact, three-across desktop display.
   Full Digital Products catalogue retains its original card styling. */
@media(min-width:901px){
 .product-showcase .product-grid{
   grid-template-columns:repeat(3,minmax(0,1fr));
   column-gap:20px;
   row-gap:26px;
 }
}
.product-showcase .featured-product-card .product-art{
  aspect-ratio:5/3.1;
  min-height:0;
}
.product-showcase .featured-product-card .product-content{
  padding:17px 19px 20px;
  min-height:150px;
}
.product-showcase .featured-product-card .product-content h3{
  font-size:clamp(17px,1.5vw,21px);
  margin-bottom:6px;
}
.product-showcase .featured-product-card .product-content p{
  font-size:12px;
  line-height:1.5;
  margin-bottom:13px;
}
.product-showcase .featured-card-eyebrow{font-size:9px;margin-bottom:7px}
.product-showcase .featured-product-card .card-price{font-size:18px}
.product-showcase .featured-product-card .product-bottom .button{
  font-size:10.5px;
  padding:9px 13px;
}
.product-showcase .featured-product-card .digital-label{
  font-size:9px;
  top:10px;
  left:12px;
}
.product-showcase .featured-spark-one{font-size:36px;right:12px;top:10px}
.product-showcase .featured-spark-two{font-size:22px}
@media(min-width:621px) and (max-width:900px){
 .product-showcase .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media(max-width:620px){
 .product-showcase .product-grid{grid-template-columns:1fr;gap:19px}
 .product-showcase .featured-product-card .product-art{min-height:0}
 .product-showcase .featured-product-card .product-content{padding:17px 18px 19px}
}
