/*
Theme Name: LMT Objekt
Theme URI: https://lmt-garage-works.com
Author: LMT Garage Works
Author URI: https://lmt-garage-works.com
Description: Minimalistisches, helles WooCommerce-Theme im "Objekt"-Stil (Swiss / Museum) für LMT Garage Works — handgefertigte Designobjekte aus Motorsport-Teilen.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lmt-objekt
WC requires at least: 7.0
WC tested up to: 11.0
*/

/* ============================ TOKENS ============================ */
:root{
  --paper:#fcfcfb; --paper2:#ffffff; --ink:#111317; --muted:#6b6a64;
  --line:rgba(0,0,0,.12); --line-strong:#111317; --acc:#2f60d8;
  --maxw:1180px; --pad:40px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;
  font-size:16px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Archivo',sans-serif;font-weight:600;letter-spacing:-.01em;line-height:1.05;margin:0}
p{margin:0 0 1em}
.lmt-container{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-family:'Archivo';font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:600}

/* buttons */
.lmt-btn,.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:8px;
  font-family:'Archivo';font-weight:600;font-size:13px;letter-spacing:.02em;
  padding:14px 26px;border-radius:0;border:1px solid var(--ink);cursor:pointer;transition:.2s;
  background:var(--ink);color:#fff;line-height:1;text-transform:none}
.lmt-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#000;border-color:#000;color:#fff}
.lmt-btn.line{background:transparent;color:var(--ink)}
.lmt-btn.line:hover{background:var(--ink);color:#fff}

/* ============================ HEADER ============================ */
.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:50}
.site-header .bar{display:flex;align-items:center;gap:28px;padding:20px var(--pad);max-width:var(--maxw);margin:0 auto}
.logo{display:inline-flex;flex-direction:column;line-height:1;font-family:'Archivo';--ls:24px}
.logo .lmt{font-weight:800;font-style:italic;font-size:var(--ls);letter-spacing:.03em;transform:skewX(-8deg);color:var(--ink);white-space:nowrap}
.logo .sub{display:flex;align-items:center;gap:.5em;margin-top:.4em;transform:skewX(-8deg);color:var(--acc);
  font-weight:700;font-style:italic;font-size:calc(var(--ls)*.24);letter-spacing:.3em;text-transform:uppercase;white-space:nowrap}
.logo .sub .d{width:calc(var(--ls)*.42);height:2px;background:var(--acc);display:block}
.main-nav ul{list-style:none;display:flex;gap:26px;margin:0 0 0 14px;padding:0;font-size:13.5px}
.main-nav ul li{margin:0}
.main-nav a{opacity:.74;padding-bottom:3px;position:relative;transition:.18s}
.main-nav a:hover,.main-nav .current-menu-item a{opacity:1}
.main-nav .current-menu-item a::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--ink)}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:13px;font-family:'Archivo';font-weight:500}
.header-actions a{opacity:.8;transition:.18s}.header-actions a:hover{opacity:1}
.cart-link .count{color:var(--acc)}
.nav-toggle{display:none;background:none;border:0;font-family:'Archivo';font-weight:600;cursor:pointer;font-size:13px}

/* ============================ FOOTER ============================ */
.site-footer{border-top:1px solid var(--line);margin-top:80px;background:var(--paper)}
.site-footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding:54px var(--pad);max-width:var(--maxw);margin:0 auto}
.site-footer .logo{--ls:22px;margin-bottom:16px}
.site-footer .about{color:var(--muted);font-size:13.5px;max-width:320px;line-height:1.7}
.site-footer h4{font-family:'Archivo';font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:600}
.site-footer ul{list-style:none;margin:0;padding:0;font-size:13.5px;line-height:2.1}
.site-footer ul a{opacity:.75}.site-footer ul a:hover{opacity:1;color:var(--acc)}
.site-footer .legal{border-top:1px solid var(--line);padding:20px var(--pad);font-size:12px;color:var(--muted);
  max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ============================ HOMEPAGE ============================ */
.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:58px var(--pad) 64px;max-width:var(--maxw);margin:0 auto}
.home-hero .num{font-family:'Archivo';font-weight:700;font-size:12px;letter-spacing:.22em;color:var(--muted);display:block;margin-bottom:20px}
.home-hero h1{font-size:clamp(36px,4.6vw,56px);line-height:1.0;letter-spacing:-.02em;margin-bottom:22px}
.home-hero .sub{color:var(--muted);font-size:16px;line-height:1.65;max-width:400px;margin-bottom:30px}
.home-hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}
.home-hero .meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
.home-hero .meta .price{color:var(--ink);font-family:'Archivo';font-weight:600}
.home-hero .hero-photo{aspect-ratio:1/1;overflow:hidden;background:#f1f0ec}
.home-hero .hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.7,.2,1)}
.home-hero .hero-photo:hover img{transform:scale(1.035)}

.home-specs{border-top:1px solid var(--line-strong)}
.home-specs .row{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:17px var(--pad);border-bottom:1px solid var(--line);
  max-width:var(--maxw);margin:0 auto;font-size:14.5px}
.home-specs .row .k{font-family:'Archivo';color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.16em;align-self:center}
.home-specs .row .v{font-weight:500}

.home-stripe{margin:0}
.home-stripe .photo{height:440px;overflow:hidden;background:#f1f0ec}
.home-stripe .photo img{width:100%;height:100%;object-fit:cover}

.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:80px var(--pad);max-width:var(--maxw);margin:0 auto}
.home-intro h2{font-size:clamp(26px,3vw,38px);line-height:1.1;letter-spacing:-.01em;margin-bottom:18px}
.home-intro p{color:var(--muted);font-size:15.5px;line-height:1.75;max-width:440px}

/* reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ============================ PAGE / POSTS ============================ */
.page-wrap{max-width:880px;margin:0 auto;padding:60px var(--pad)}
.page-wrap h1.page-title{font-size:clamp(30px,4vw,46px);margin-bottom:28px;letter-spacing:-.02em}
.page-wrap .entry-content{font-size:16px;line-height:1.75;color:#33342f}
.page-wrap .entry-content h2{font-size:26px;margin:36px 0 14px}
.page-wrap .entry-content a{color:var(--acc);text-decoration:underline}

/* ============================ WOOCOMMERCE ============================ */
.woocommerce-page .lmt-shop{max-width:var(--maxw);margin:0 auto;padding:50px var(--pad) 70px}
.woocommerce .page-title,.lmt-shop h1{font-size:clamp(28px,3.6vw,42px);letter-spacing:-.02em;margin-bottom:8px}
.woocommerce .woocommerce-result-count{color:var(--muted);font-size:13px;font-family:'Archivo'}
.woocommerce .woocommerce-ordering select{border:1px solid var(--line);border-radius:0;padding:8px 12px;font-family:'Inter'}

/* product grid */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.woocommerce ul.products li.product{background:var(--paper);margin:0;padding:26px;text-align:left;width:auto;float:none}
.woocommerce ul.products li.product a img{margin:0 0 18px;background:#f4f3f0;aspect-ratio:1/1;object-fit:cover}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Archivo';font-weight:600;font-size:16px;padding:0;letter-spacing:-.01em}
.woocommerce ul.products li.product .price{color:var(--ink);font-family:'Archivo';font-weight:500;font-size:15px;margin-top:6px}
.woocommerce ul.products li.product .price del{color:var(--muted)}
.woocommerce ul.products li.product .button{margin-top:16px;width:100%}
.woocommerce ul.products li.product .onsale,.woocommerce span.onsale{background:var(--acc);color:#fff;border-radius:0;font-family:'Archivo';font-weight:600;
  min-height:auto;min-width:auto;line-height:1;padding:6px 10px;font-size:11px}

/* single product */
.single-product div.product{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;max-width:var(--maxw);margin:0 auto;padding:50px var(--pad) 30px}
.single-product div.product .woocommerce-product-gallery{width:100%!important;margin:0;float:none}
.single-product div.product .product_title{font-size:clamp(28px,3.4vw,44px);letter-spacing:-.02em;margin-bottom:14px}
.single-product div.product .price,.single-product div.product p.price{color:var(--ink)!important;font-family:'Archivo';font-weight:500;font-size:24px;margin-bottom:22px}
.single-product div.product .woocommerce-product-details__short-description{color:var(--muted);font-size:15.5px;line-height:1.7;margin-bottom:26px}
.single-product div.product form.cart{margin-bottom:28px;display:flex;gap:12px;align-items:stretch}
.single-product div.product form.cart .quantity input{border:1px solid var(--line);border-radius:0;width:72px;padding:13px 10px;text-align:center;font-family:'Archivo'}
.single-product div.product form.cart .button{flex:1;max-width:280px}
.single-product .product_meta{font-size:12.5px;color:var(--muted);font-family:'Archivo';border-top:1px solid var(--line);padding-top:18px}
.single-product .woocommerce-tabs{max-width:var(--maxw);margin:0 auto;padding:20px var(--pad) 30px}
.single-product .woocommerce-tabs ul.tabs{border:0;padding:0;margin:0 0 22px}
.single-product .woocommerce-tabs ul.tabs::before{border-color:var(--line)}
.single-product .woocommerce-tabs ul.tabs li{border:0;background:none;border-radius:0;margin:0 26px 0 0;padding:0 0 8px}
.single-product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--ink)}
.single-product .woocommerce-tabs ul.tabs li a{font-family:'Archivo';font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);padding:0}
.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after{display:none}
.single-product .related.products{max-width:var(--maxw);margin:0 auto;padding:30px var(--pad) 0;border-top:1px solid var(--line)}
.single-product .related.products>h2{font-size:24px;margin-bottom:6px}

/* cart / checkout */
.woocommerce-cart .lmt-shop,.woocommerce-checkout .lmt-shop,.woocommerce-account .lmt-shop{max-width:var(--maxw);margin:0 auto;padding:50px var(--pad) 70px}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:0}
.woocommerce table.shop_table th{font-family:'Archivo';text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{border:1px solid var(--line);padding:6px 22px 22px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{
  border:1px solid var(--line);border-radius:0;padding:12px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--acc);border-radius:0;background:var(--paper2)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--acc)}

/* notices/breadcrumb */
.woocommerce .woocommerce-breadcrumb{font-family:'Archivo';font-size:12px;color:var(--muted);max-width:var(--maxw);margin:0 auto;padding:18px var(--pad) 0;text-transform:uppercase;letter-spacing:.04em}

/* ============================ RESPONSIVE ============================ */
@media(max-width:900px){
  :root{--pad:22px}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line)}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:0;margin:0;padding:8px 22px}
  .main-nav ul li{padding:11px 0;border-bottom:1px solid var(--line)}
  .nav-toggle{display:block;margin-left:auto}
  .header-actions{margin-left:16px}
  .home-hero,.home-intro,.single-product div.product{grid-template-columns:1fr;gap:30px}
  .home-hero{padding:30px 22px 40px}
  .home-specs .row{grid-template-columns:1fr;gap:4px;padding:14px 22px}
  .woocommerce ul.products{grid-template-columns:1fr 1fr}
  .site-footer .cols{grid-template-columns:1fr;gap:28px;padding:40px 22px}
}
@media(max-width:560px){
  .woocommerce ul.products{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
