/*
Theme Name: Wolfbane Games
Theme URI: https://wolfbanegames.itch.io/wolfbane
Author: Wolfbane Games
Description: Dark fantasy studio and merch store theme for Wolfbane Games. Built for WooCommerce + Printful.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
WC requires at least: 7.0
License: GNU General Public License v2 or later
Text Domain: wolfbane
*/
:root{--bg:#0b0d11;--panel:#0f1217;--panel2:#14181e;--line:#1e232b;--line2:#3a404a;--ink:#f0e9dc;--text:#d6d0c4;--soft:#c9c3b7;--muted:#a9b0ba;--dim:#8d96a2;--faint:#6a717c;--red:#a52a24;--red-h:#bf342d;--red-ink:#d9534a;--serif:'Cinzel',serif;--sans:'Alegreya Sans',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--red-ink);text-decoration:none}
a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;color:var(--ink);margin:0;line-height:1.15;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.wrap-narrow{max-width:1080px;margin:0 auto;padding:0 28px}
.eyebrow{font-size:14px;letter-spacing:.24em;text-transform:uppercase;color:var(--red-ink)}
.label{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.lead{font-size:19px;line-height:1.65;color:var(--soft)}
.muted{color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:18px}
.row{display:flex;flex-wrap:wrap;gap:12px}
.btn,.button,button.button,a.button,input.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;line-height:1.2;background:var(--red);color:#f6efe3;border:0;border-radius:0;cursor:pointer;font-family:var(--serif);font-weight:700;font-size:15px;letter-spacing:.1em;padding:16px 28px;transition:background .15s}
.btn:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--red-h);color:#fff}
.btn-ghost{background:transparent;border:1px solid #6a717c;color:var(--ink);padding:15px 28px}
.btn-ghost:hover{background:transparent;border-color:var(--ink);color:#fff}
.link-cta{font-family:var(--serif);font-weight:700;font-size:15px;letter-spacing:.1em;color:var(--ink);border-bottom:1px solid var(--red-ink);padding-bottom:4px;white-space:nowrap}
.link-cta:hover{color:var(--red-ink)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,13,17,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:32px}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px}
.site-logo img{height:34px;width:auto}
.main-nav{display:flex;align-items:center;gap:4px}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px}
.main-nav a{display:block;padding:10px 12px;font-family:var(--serif);font-weight:700;font-size:14px;letter-spacing:.12em;color:var(--dim)}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a,.main-nav .current-menu-parent>a{color:var(--ink)}
.cart-link{margin-left:8px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line2);padding:9px 16px;font-family:var(--serif);font-weight:700;font-size:14px;letter-spacing:.12em;color:var(--text)}
.cart-link:hover{border-color:var(--text);color:var(--ink)}
.cart-count{min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-family:var(--sans);font-size:13px;letter-spacing:0;border-radius:11px;padding:0 6px}
.nav-toggle{display:none;background:none;border:1px solid var(--line2);color:var(--ink);font-family:var(--serif);font-weight:700;letter-spacing:.12em;font-size:14px;padding:9px 14px;cursor:pointer}
@media (max-width:900px){.nav-toggle{display:inline-flex}.main-nav ul{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--line);padding:12px 20px}.main-nav.open ul{display:flex}.main-nav a{padding:14px 8px}}

/* Hero */
.hero{position:relative;display:flex;align-items:flex-end;background:var(--bg) center 30%/cover no-repeat;min-height:min(86vh,820px)}
.hero.short{min-height:min(64vh,620px)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,17,.88) 0%,rgba(11,13,17,.3) 55%,rgba(11,13,17,0) 100%),linear-gradient(180deg,rgba(11,13,17,0) 55%,var(--bg) 100%)}
.hero.center::before{background:linear-gradient(180deg,rgba(11,13,17,.1) 30%,var(--bg) 100%)}
.hero .wrap{position:relative;width:100%;padding-bottom:80px;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.hero-logo{width:100%;max-width:520px}
.hero-tag{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);color:var(--ink);max-width:560px}
.hero-sub{font-size:18px;color:var(--soft);max-width:520px}

/* Sections */
.section{padding:110px 0 0}
.section:last-child{padding-bottom:110px}
.page-head{padding:64px 0 40px}
.page-head h1{font-size:clamp(34px,4vw,54px);line-height:1.1;margin-top:14px}
.page-head p{margin-top:14px;font-size:19px;color:var(--muted);max-width:640px}
.h2{font-size:clamp(28px,3.2vw,42px)}
.h3{font-size:28px}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:28px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--panel);padding:34px 30px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:22px;color:var(--red-ink);letter-spacing:.06em}
.card .card-title{font-size:24px;color:var(--ink);letter-spacing:0}
.card p{font-size:17px;line-height:1.55;color:var(--soft)}
.card .grow{flex:1}
.status-list{font-size:16px;line-height:1.7;color:var(--text)}
.shot{width:100%;aspect-ratio:16/9;object-fit:cover}
.wide{width:100%;aspect-ratio:21/9;object-fit:cover}
.band{position:relative;padding:72px 48px;background:var(--bg) center/cover no-repeat}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,17,.92) 0%,rgba(11,13,17,.55) 60%,rgba(11,13,17,.2) 100%)}
.band>*{position:relative;max-width:560px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1px}
.facts>div{background:var(--panel);box-shadow:0 0 0 1px var(--line);padding:28px;display:flex;flex-direction:column;gap:8px}
.facts strong{font-family:var(--serif);font-size:20px;color:var(--ink)}
.portrait{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--panel2)}
.kv{border-top:1px solid var(--line)}
.kv>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:17px}
.kv span{color:var(--dim)}

/* Events */
.events{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.event{background:var(--panel);display:flex;flex-direction:column}
.event-body{padding:30px;display:flex;flex-direction:column;gap:14px}
.event-body h3{font-size:24px}
.event-body p{font-size:17px;color:var(--soft)}
.event-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.event-list{border-top:1px solid var(--line)}
.event-list>div{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:17px}
.logo-tile{background:#fdfdfd;padding:12px 16px;align-self:flex-start;margin-top:4px}
.logo-tile img{height:34px;width:auto}
/* Posts */
.post-feature{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;align-items:center;padding-bottom:48px;border-bottom:1px solid var(--line);margin-bottom:48px}
.post-feature h2{font-size:clamp(26px,2.6vw,36px);line-height:1.2}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:40px 28px}
.post-card{display:flex;flex-direction:column;gap:14px}
.post-card h3{font-size:21px;line-height:1.3}
.post-card h3 a,.post-feature h2 a{color:var(--ink)}
.post-card h3 a:hover,.post-feature h2 a:hover{color:var(--red-ink)}
.post-card p{font-size:17px;color:var(--muted)}
.thumb{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--panel2)}
.pagination{display:flex;gap:8px;margin-top:56px}
.pagination .page-numbers{padding:10px 16px;border:1px solid var(--line2);color:var(--text)}
.pagination .current{background:var(--text);color:var(--bg)}
.entry{max-width:760px;margin:0 auto;padding:0 28px 110px}
.entry-content{font-size:19px;line-height:1.75;color:var(--text)}
.entry-content>*+*{margin-top:1.1em}
.entry-content h2{font-size:30px;margin-top:1.6em}
.entry-content h3{font-size:24px;margin-top:1.4em}
.entry-content img{margin:1.6em 0}
.entry-content blockquote{margin:1.6em 0;padding-left:24px;border-left:2px solid var(--red);font-style:italic;color:var(--soft)}

/* Forms */
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],textarea,select,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{width:100%;background:var(--bg);border:1px solid var(--line2);border-radius:0;color:var(--ink);font-family:var(--sans);font-size:17px;padding:14px 16px;outline:none;min-height:52px}
input:focus,textarea:focus,select:focus{border-color:var(--red-ink)}
label,.woocommerce form .form-row label{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:8px}
.form-panel{background:var(--panel);border:1px solid var(--line);padding:36px;display:flex;flex-direction:column;gap:20px}
.form-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:20px}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink);line-height:24px;padding:0}
.select2-dropdown{background:var(--panel);border-color:var(--line2);color:var(--text)}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:#08090c;margin-top:0}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:36px;padding:56px 0 40px}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.footer-grid a{color:var(--soft);font-size:16px}
.footer-grid a:hover{color:var(--ink)}
.footer-grid .label{color:var(--faint);margin-bottom:10px;display:block}
.footer-logo{width:170px}
.copyright{padding:18px 0 28px;font-size:14px;color:var(--faint)}

/* ===== WooCommerce ===== */
.woo-main{padding:56px 0 110px}
.woocommerce .woocommerce-breadcrumb{font-size:15px;color:var(--dim);margin:0 0 28px}
.woocommerce .woocommerce-breadcrumb a{color:var(--dim)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--ink)}
.woocommerce-products-header__title.page-title{font-size:clamp(34px,4vw,54px);margin:10px 0 14px}
.woocommerce .woocommerce-result-count{color:var(--dim);font-size:15px}
.woocommerce .woocommerce-ordering select{width:auto;min-height:44px;padding:8px 14px;font-size:15px}
.wb-cats{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 36px;list-style:none;padding:0}
.wb-cats a{display:block;padding:9px 18px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line2);color:#bfc6cf}
.wb-cats a:hover{border-color:var(--text);color:var(--ink)}
.wb-cats .active a{background:var(--text);border-color:var(--text);color:var(--bg)}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:36px 24px;margin:0!important;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column}
.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:cover;background:var(--panel2);margin:0 0 14px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-weight:700;font-size:16px!important;color:var(--ink);padding:0!important;margin:0 0 4px}
.woocommerce ul.products li.product .price{color:var(--text)!important;font-size:17px!important;margin:0 0 14px}
.woocommerce ul.products li.product .button{margin-top:auto;align-self:flex-start;padding:12px 18px;font-size:13px;background:transparent;border:1px solid var(--line2);color:var(--ink)}
.woocommerce ul.products li.product .button:hover{border-color:var(--ink);background:transparent}
.woocommerce span.onsale{background:var(--red);border-radius:0;min-height:0;min-width:0;padding:6px 12px;line-height:1.2;font-family:var(--serif);font-size:12px;letter-spacing:.12em;top:12px;left:12px}
.woocommerce div.product{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product div.images img{background:var(--panel2)}
.woocommerce div.product .woocommerce-product-gallery__trigger{background:var(--panel)}
.woocommerce div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px!important}
.woocommerce div.product .flex-control-thumbs li{width:auto!important}
.woocommerce div.product .product_title{font-size:clamp(30px,3.2vw,44px);margin:0 0 10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--text)!important;font-size:24px!important}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:18px;color:var(--soft);margin:20px 0}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0!important}
.woocommerce div.product form.cart .variations{width:100%;margin-bottom:8px}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0 0 10px;text-align:left}
.woocommerce div.product form.cart .reset_variations{color:var(--dim);font-size:14px;margin-top:8px;display:inline-block}
.woocommerce .quantity .qty{width:90px;min-height:56px;text-align:center}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1 1 220px;min-height:56px;font-size:16px}
.woocommerce div.product .product_meta{font-size:15px;color:var(--dim);border-top:1px solid var(--line);padding-top:16px}
.woocommerce div.product .product_meta a{color:var(--soft)}
.wb-ship-note{font-size:16px;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:8px 0 18px}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 24px!important;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0!important;margin:0 24px 0 0!important;padding:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--serif);color:var(--dim)!important;padding:12px 0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink)!important;box-shadow:inset 0 -2px 0 var(--red-ink)}
.woocommerce div.product .woocommerce-tabs .panel{font-size:18px;color:var(--soft)}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:22px;margin-bottom:12px}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border-color:var(--line);color:var(--text);background:none!important}
.woocommerce .related,.woocommerce .upsells{grid-column:1/-1;padding-top:40px}
.woocommerce .related>h2,.woocommerce .upsells>h2{font-size:26px;margin-bottom:24px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--panel)!important;color:var(--text)!important;border-top:2px solid var(--red)!important;font-size:16px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--red-ink)!important}
.woocommerce-message .button{padding:10px 16px;font-size:13px}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:0;border-collapse:collapse}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line)!important;color:var(--text);padding:16px}
.woocommerce table.shop_table th{font-family:var(--serif);color:var(--ink);font-size:15px;letter-spacing:.06em}
.woocommerce table.shop_table td.product-name a{font-family:var(--serif);font-weight:700;color:var(--ink)}
.woocommerce table.shop_table img{width:72px}
.woocommerce a.remove{color:var(--red-ink)!important}
.woocommerce a.remove:hover{background:var(--red)!important;color:#fff!important}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{background:var(--panel);border:1px solid var(--line);padding:30px}
.woocommerce .cart-collaterals .cart_totals h2{font-size:22px;margin-bottom:16px}
.woocommerce .cart-collaterals .cart_totals table{border:0}
.woocommerce table.cart td.actions .coupon .input-text{width:180px;min-height:48px}
.woocommerce-checkout .col2-set,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{float:none!important;width:auto!important}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:start}
.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
.woocommerce-checkout #order_review_heading{display:none}
.woocommerce-checkout #order_review{background:var(--panel);border:1px solid var(--line);padding:30px;position:sticky;top:96px}
.woocommerce-checkout #order_review::before{content:"Your order";display:block;font-family:var(--serif);font-weight:700;font-size:22px;color:var(--ink);margin-bottom:18px}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:auto}
.woocommerce-checkout h3{font-size:22px;margin:0 0 18px}
.woocommerce form .form-row{padding:0;margin:0 0 18px}
.woocommerce-checkout #payment{background:transparent!important;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border:1px solid var(--line2)!important;padding:0!important}
.woocommerce-checkout #payment ul.payment_methods li{padding:16px 20px;border-bottom:1px solid var(--line);color:var(--ink)}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline;text-transform:none;letter-spacing:0;font-size:17px;color:var(--ink)}
.woocommerce-checkout #payment div.payment_box{background:var(--panel2)!important;color:var(--soft)!important}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--panel2)!important}
.woocommerce-checkout #payment div.form-row{padding:18px 0 0!important}
.woocommerce #payment #place_order{width:100%;padding:18px;font-size:16px}
.woocommerce-privacy-policy-text{font-size:14px;color:var(--faint)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;border-top:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--soft)}
@media (max-width:900px){.woocommerce-checkout form.checkout{grid-template-columns:1fr}.woocommerce-checkout #order_review{position:static}}
