/*
Theme Name: Grafuno
Description: Light, fast marketplace-style theme for print-on-demand stores on WooCommerce.
Version: 1.0
Text Domain: grafuno
*/
:root{--bg:#fff;--soft:#F3F3F6;--line:#E4E4EA;--ink:#14141A;--muted:#6A6A75;--accent:#2A3FDB;--accent-d:#1F2FA8;--pop:#F5C518}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "DM Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:"Bricolage Grotesque","DM Sans",sans-serif;font-weight:800;line-height:1.1;margin:0 0 .5em;letter-spacing:-.02em}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.topbar{background:var(--ink);color:#fff;text-align:center;font-size:.88rem;padding:8px 12px}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.head-main{display:flex;align-items:center;gap:24px;padding:14px 20px}
.logo{font:800 1.8rem "Bricolage Grotesque",sans-serif;letter-spacing:-.04em;text-decoration:none}
.logo i{font-style:normal;color:var(--accent)}
.search{flex:1;display:flex;max-width:640px}
.search input{flex:1;border:1.5px solid var(--line);border-right:0;border-radius:999px 0 0 999px;padding:11px 20px;font:inherit;background:var(--soft)}
.search button{border:0;background:var(--accent);color:#fff;border-radius:0 999px 999px 0;padding:0 22px;font-weight:700;cursor:pointer}
.search button:hover{background:var(--accent-d)}
.head-links{display:flex;gap:18px;margin-left:auto;font-weight:700;font-size:.95rem}
.head-links a{text-decoration:none}
.cats{border-top:1px solid var(--line)}
.cats ul{display:flex;gap:26px;list-style:none;margin:0 auto;padding:0 20px;max-width:1240px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.cats a{display:block;padding:12px 0;text-decoration:none;font-weight:500;font-size:.95rem;border-bottom:3px solid transparent}
.cats a:hover{border-color:var(--accent)}
.hero{background:var(--soft)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero h1{font-size:clamp(2.4rem,6vw,4.6rem)}
.hero p{font-size:1.15rem;color:var(--muted);max-width:44ch;margin:0 0 28px}
.hero-art{aspect-ratio:1/1;max-height:420px;margin-left:auto;width:100%;background:var(--accent);border-radius:22px;display:grid;place-items:center;color:#fff;font:800 clamp(2.4rem,6vw,4.5rem) "Bricolage Grotesque",sans-serif;letter-spacing:-.05em;transform:rotate(2deg);box-shadow:14px 14px 0 var(--pop)}
.btn,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:13px 28px;font:700 1rem "DM Sans",sans-serif;text-decoration:none;cursor:pointer;transition:background .15s}
.btn:hover,.button:hover{background:var(--accent-d);color:#fff}
.section{padding:56px 0 8px}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px}
.section h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:0}
.section-head a{font-weight:700;color:var(--accent);text-decoration:none}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.cat-tile{text-decoration:none}
.cat-tile .img{aspect-ratio:1/1;border-radius:14px;background:var(--soft);overflow:hidden;display:grid;place-items:center;font:800 1.3rem "Bricolage Grotesque",sans-serif;color:var(--accent)}
.cat-tile img{width:100%;height:100%;object-fit:cover}
.cat-tile span{display:block;margin-top:10px;font-weight:700}
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:30px 20px}
ul.products li.product{position:relative}
ul.products li.product a{text-decoration:none}
ul.products li.product img{background:var(--soft);border-radius:12px;width:100%;aspect-ratio:1/1;object-fit:cover}
.woocommerce-loop-product__title{font:700 .98rem "DM Sans",sans-serif;margin:10px 0 2px}
.price{font-weight:700}
.price del{color:var(--muted);font-weight:400}
.onsale{position:absolute;top:10px;left:10px;background:var(--pop);color:var(--ink);font-weight:700;font-size:.8rem;padding:4px 10px;border-radius:999px;z-index:2}
li.product .button{margin-top:10px;padding:9px 18px;font-size:.88rem;background:var(--ink)}
.how{background:var(--soft);margin-top:64px}
.how .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding-top:44px;padding-bottom:44px}
.how h3{font-size:1.1rem;margin-bottom:.3em}
.how p{margin:0;color:var(--muted)}
.content{padding:44px 0 64px}
.woocommerce div.product .product_title{font-size:clamp(1.8rem,4vw,2.6rem)}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:1.6rem}
.woocommerce-message,.woocommerce-info{background:var(--soft);border-left:5px solid var(--accent);padding:14px 18px;margin-bottom:24px;list-style:none;border-radius:6px}
input[type=text],input[type=email],input[type=number],input[type=tel],input[type=password],select,textarea{width:100%;padding:12px;border:1.5px solid var(--line);background:#fff;font:inherit;border-radius:8px}
.site-footer{background:var(--ink);color:#C9C9D2;margin-top:0}
.foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-top:48px;padding-bottom:32px}
.foot-cols h3{color:#fff;font-size:1rem}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{margin-bottom:8px}
.foot-cols a{text-decoration:none}
.foot-cols a:hover{color:#fff;text-decoration:underline}
.copy{border-top:1px solid #2C2C36;padding:18px 20px;font-size:.88rem;text-align:center}
@media(max-width:800px){.hero .wrap{grid-template-columns:1fr}.hero-art{max-height:260px;margin:0}.head-main{flex-wrap:wrap}.search{order:3;flex-basis:100%;max-width:none}.foot-cols{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
