/*
Theme Name: TrachtHaus
Theme URI: https://trachthaus.de/
Author: TrachtHaus
Description: Premium Bavarian Trachten e-commerce theme for WordPress and WooCommerce.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: trachthaus
*/

:root{
  --loden-950:#132117; --loden-900:#1E2E22; --loden-700:#33503C; --loden-600:#3E5F49;
  --parchment:#F1E9D8; --parchment-2:#E9DFC8; --charcoal:#221B16; --brass:#B08A4E;
  --brass-light:#D7B87B; --oxblood:#7A2530; --cream:#FBF6EC; --white:#fff;
  --max:1240px; --radius:2px; --shadow:0 18px 45px rgba(34,27,22,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--parchment);color:var(--charcoal);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%;height:auto} button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{max-width:var(--max);margin:0 auto;padding:0 32px}
.site-main{min-height:60vh}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.serif,h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;letter-spacing:-.015em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:1px solid transparent;border-radius:var(--radius);font-weight:700;font-size:14px;transition:.25s ease}
.btn-primary{background:var(--brass);color:var(--loden-950)}.btn-primary:hover{background:var(--brass-light);transform:translateY(-2px)}
.btn-light{background:var(--cream);color:var(--charcoal)}.btn-light:hover{background:#fff;transform:translateY(-2px)}
.btn-outline-light{border-color:rgba(241,233,216,.75);color:var(--parchment)}.btn-outline-light:hover{background:rgba(241,233,216,.08)}
.section{padding:80px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:42px}.section-head h2{font-size:clamp(30px,4vw,44px);margin:8px 0 0}.section-head p{max-width:430px;color:rgba(34,27,22,.65);font-size:15px}
.stitch{height:34px;overflow:hidden;display:flex;align-items:center}.stitch::before{content:"";display:block;width:100%;height:13px;background:repeating-linear-gradient(90deg,var(--brass),var(--brass) 2px,transparent 2px,transparent 12px);opacity:.7}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(241,233,216,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(34,27,22,.09)}
.header-inner{min-height:74px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.09em;font-size:20px}.brand-dot{width:6px;height:6px;border-radius:50%;background:var(--oxblood)}
.primary-menu{display:flex;gap:26px;justify-content:center;align-items:center}.primary-menu a{font-size:13px;font-weight:600;padding:7px 0;border-bottom:1.5px solid transparent}.primary-menu a:hover{border-color:var(--oxblood)}
.header-tools{display:flex;align-items:center;gap:14px}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:0;background:transparent;color:var(--charcoal)}
.lang{font-family:"IBM Plex Mono",monospace;font-size:10px;border:1px solid var(--charcoal);padding:5px 9px;border-radius:999px}.cart-count{min-width:16px;height:16px;border-radius:50%;background:var(--oxblood);color:var(--white);font-size:9px;display:inline-grid;place-items:center;position:absolute;transform:translate(9px,-9px)}
.menu-toggle{display:none}.mobile-panel{display:none}

/* Hero */
.hero{background:var(--loden-900);color:var(--parchment)}
.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;min-height:610px}.hero-copy{padding:92px 44px 72px 0;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(48px,6vw,82px);line-height:.98;margin:18px 0 22px}.hero-copy h1 em{color:var(--brass-light);font-weight:500}.hero-copy p{max-width:560px;color:rgba(241,233,216,.82);font-size:17px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-media{position:relative;min-height:610px;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,33,23,.25),transparent 40%)}
.hero-note{position:absolute;right:36px;bottom:40px;background:var(--cream);color:var(--charcoal);padding:22px 24px;max-width:260px;box-shadow:var(--shadow);z-index:2}.hero-note h3{font-size:20px;margin:8px 0 5px}.hero-note p{font-size:12px;color:rgba(34,27,22,.6);margin:0}.hero-price{font-family:"IBM Plex Mono",monospace;font-size:14px;margin-top:10px}

/* Categories */
.category-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:16px}.category-card{position:relative;overflow:hidden;min-height:250px;color:var(--white);display:flex;align-items:flex-end}.category-card.big{grid-row:1 / span 2;min-height:540px}.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.category-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72))}.category-card:hover img{transform:scale(1.035)}.category-content{position:relative;z-index:2;padding:28px}.category-content .count{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.1em}.category-content h3{font-size:28px;margin:7px 0}.category-content span{font-size:13px;font-weight:700}

/* Products */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product-card{position:relative}.product-media{aspect-ratio:3/4;background:var(--cream);overflow:hidden;position:relative}.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.product-card:hover .product-media img{transform:scale(1.025)}.product-badge{position:absolute;left:0;top:10px;background:var(--brass);color:var(--loden-950);font-family:"IBM Plex Mono",monospace;font-size:10px;padding:5px 10px;z-index:2}.product-info{padding:14px 2px}.product-name{font-family:Fraunces,Georgia,serif;font-size:17px;font-weight:600}.product-meta{font-size:12px;color:rgba(34,27,22,.55);margin:4px 0 8px}.product-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.product-price{font-family:"IBM Plex Mono",monospace;font-size:14px}.add-cart{width:34px;height:34px;border-radius:50%;border:1.4px solid var(--charcoal);background:transparent;display:grid;place-items:center}.add-cart:hover{background:var(--charcoal);color:var(--parchment)}

/* Builder */
.builder{background:var(--oxblood);color:var(--cream);padding:56px 48px;display:flex;align-items:center;justify-content:space-between;gap:28px}.builder h2{font-size:clamp(30px,4vw,46px);max-width:620px;margin:8px 0}.builder p{max-width:560px;color:rgba(251,246,236,.82)}

/* Trust */
.trust{background:var(--loden-900);color:var(--parchment);padding:42px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.trust-item{display:flex;gap:12px}.trust-icon{color:var(--brass-light);font-size:22px}.trust-item strong{display:block;font-size:13px}.trust-item span{display:block;color:rgba(241,233,216,.62);font-size:12px;margin-top:2px}

/* Newsletter */
.newsletter{background:var(--parchment-2);padding:72px 0;text-align:center}.newsletter h2{font-size:34px;margin:8px 0 10px}.newsletter p{max-width:480px;margin:0 auto 25px;color:rgba(34,27,22,.65)}.newsletter-form{display:flex;max-width:460px;margin:auto}.newsletter-form input{flex:1;border:1px solid var(--charcoal);border-right:0;background:var(--cream);padding:14px 16px;min-width:0}.newsletter-form button{border:1px solid var(--charcoal);background:var(--charcoal);color:var(--parchment);padding:0 22px;font-weight:700}

/* Footer */
.site-footer{background:var(--loden-900);color:rgba(241,233,216,.72);padding:60px 0 26px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px}.footer-brand{font-family:Fraunces,Georgia,serif;font-size:24px;color:var(--parchment);margin-bottom:10px}.footer-desc{max-width:250px;font-size:13px}.footer-title{font-size:13px;color:var(--parchment);font-weight:700;margin-bottom:15px}.footer-grid ul{padding:0;margin:0;list-style:none}.footer-grid li{font-size:13px;margin-bottom:9px}.footer-grid a:hover{color:var(--brass-light)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid rgba(241,233,216,.12);padding-top:22px;margin-top:30px;font-size:12px}

/* WooCommerce */
.woocommerce .site-main,.woocommerce-page .site-main{padding-bottom:70px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:24px;margin:0!important;padding:0!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important}.woocommerce ul.products li.product a img{margin:0 0 12px!important}.woocommerce div.product{padding-top:40px}.woocommerce div.product div.summary{padding-top:20px}.woocommerce span.onsale{background:var(--oxblood);font-size:11px;min-width:0;min-height:0;padding:8px 10px;line-height:1}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--loden-900);color:var(--parchment);border-radius:2px}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--brass);color:var(--loden-950)}.woocommerce .quantity .qty{padding:11px}.woocommerce table.shop_table{border-color:rgba(34,27,22,.15)}

/* Generic content */
.entry-content{font-size:16px}.content-wrap{padding:70px 0}.page-title{font-size:clamp(34px,5vw,58px);margin:0 0 18px}.archive-intro{max-width:700px;color:rgba(34,27,22,.65)}.notice{background:var(--cream);border:1px solid rgba(34,27,22,.12);padding:18px}

/* Offcanvas */
.offcanvas{position:fixed;inset:0 0 0 auto;width:min(420px,92vw);background:var(--cream);z-index:200;transform:translateX(105%);transition:.35s ease;box-shadow:-20px 0 50px rgba(0,0,0,.15);display:flex;flex-direction:column}.offcanvas.open{transform:translateX(0)}.offcanvas-head{padding:20px 24px;border-bottom:1px solid rgba(34,27,22,.1);display:flex;justify-content:space-between}.offcanvas-body{padding:22px;overflow:auto}.offcanvas-close{border:0;background:none;font-size:28px}.offcanvas-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:190;opacity:0;pointer-events:none;transition:.25s}.offcanvas-backdrop.show{opacity:1;pointer-events:auto}.mini-cart-empty{text-align:center;padding:50px 15px;color:rgba(34,27,22,.65)}

@media (max-width:1000px){.primary-menu{gap:16px}.product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}.footer-grid{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr}}
@media (max-width:800px){.container{padding:0 20px}.header-inner{grid-template-columns:auto auto;justify-content:space-between}.primary-menu{display:none}.menu-toggle{display:inline-grid}.mobile-panel{display:block;position:fixed;inset:74px 0 auto 0;background:var(--cream);z-index:99;padding:16px 20px;border-bottom:1px solid rgba(34,27,22,.1);transform:translateY(-120%);transition:.3s ease}.mobile-panel.open{transform:translateY(0)}.mobile-panel a{display:block;padding:14px 0;border-bottom:1px solid rgba(34,27,22,.08)}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:72px 0 36px}.hero-media{min-height:480px}.hero-note{right:18px;bottom:18px}.category-grid{grid-template-columns:1fr;grid-template-rows:auto}.category-card.big{grid-row:auto;min-height:400px}.category-card{min-height:260px}.builder{padding:40px 28px;flex-direction:column;align-items:flex-start}.newsletter-form{flex-direction:column;gap:8px}.newsletter-form input{border-right:1px solid var(--charcoal)}.newsletter-form button{min-height:48px}.footer-bottom{flex-direction:column}.section-head{align-items:flex-start;flex-direction:column}}
@media (max-width:520px){.section{padding:60px 0}.hero-copy h1{font-size:48px}.product-grid,.woocommerce ul.products{grid-template-columns:1fr 1fr!important;gap:14px}.product-name{font-size:15px}.product-meta{font-size:11px}.footer-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.header-tools .lang{display:none}}
