/*
Theme Name: LIVE N LEARN
Description: Minimalistisches Shop-Theme: Produktraster + Impressum.
Version: 1.1
Requires at least: 6.0
Text Domain: livenlearn
*/
/* Typografie wie Twenty Twenty-Five: Manrope (Text/Ueberschriften), Fira Code (Code) */
@font-face { font-family:"Manrope"; src:url("fonts/Manrope-VariableFont_wght.woff2") format("woff2");
  font-weight:200 800; font-style:normal; font-display:swap; }
@font-face { font-family:"Fira Code"; src:url("fonts/FiraCode-VariableFont_wght.woff2") format("woff2");
  font-weight:300 700; font-style:normal; font-display:swap; }
:root {
  --font:Manrope,sans-serif; --font-mono:"Fira Code",monospace;
  --fs-small:.875rem;
  --fs-medium:clamp(1rem, 1rem + ((1vw - .2rem) * .196), 1.125rem);
  --fs-large:clamp(1.125rem, 1.125rem + ((1vw - .2rem) * .392), 1.375rem);
  --fs-x-large:clamp(1.75rem, 1.75rem + ((1vw - .2rem) * .392), 2rem);
  --fs-xx-large:clamp(2.15rem, 2.15rem + ((1vw - .2rem) * 1.333), 3rem);
}
:root { --fg:#111; --bg:#fff; --muted:#777; --line:#e4e4e4; --gap:2rem; }
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--font); font-size:var(--fs-large); font-weight:300; line-height:1.4; letter-spacing:-.1px; }
code,kbd,pre,samp { font-family:var(--font-mono); }
strong,b { font-weight:600; }
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:underline; }
img { max-width:100%; height:auto; display:block; }
.wrap { max-width:1100px; margin:0 auto; padding:0 1.25rem; }

.site-header { display:flex; justify-content:space-between; align-items:baseline; padding:2rem 0 3rem; }
.site-title { font-size:var(--fs-large); font-weight:700; letter-spacing:-.1px; margin:0; }
.site-header nav a { font-size:var(--fs-medium); }
.site-footer { margin-top:5rem; padding:1.5rem 0 2.5rem; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; font-size:var(--fs-small); color:var(--muted); }
main { min-height:55vh; }
h1,h2,h3,h4,h5,h6 { font-weight:400; line-height:1.125; letter-spacing:-.1px; }
h1 { font-size:var(--fs-xx-large); margin:0 0 2rem; }
h2 { font-size:var(--fs-x-large); }
h3 { font-size:var(--fs-large); }
h4 { font-size:var(--fs-medium); }
.page-content { max-width:640px; }

/* Produktraster */
.woocommerce ul.products, ul.products { list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--gap); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto !important; float:none !important; margin:0 !important; padding:0; }
ul.products li.product img { width:100%; aspect-ratio:1/1; object-fit:cover; margin:0 0 .75rem !important; background:#f4f4f4; }
ul.products li.product .woocommerce-loop-product__title { font-size:var(--fs-medium) !important; font-weight:400; line-height:1.3; margin:0; padding:0 !important; }
ul.products li.product .price { display:block; font-size:var(--fs-medium) !important; color:var(--muted) !important; margin:.15rem 0 0 !important; }
ul.products li.product .button, ul.products li.product .onsale, ul.products li.product .star-rating { display:none !important; }
ul.products li.product.outofstock img { opacity:.45; }
@media (max-width:800px){ .woocommerce ul.products, ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; } }
@media (max-width:420px){ .site-header { padding:1.25rem 0 2rem; } }

/* Einzelprodukt, Warenkorb, Kasse */
.woocommerce div.product { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width:auto !important; float:none !important; margin:0; }
.woocommerce div.product .product_title { margin-bottom:.5rem; }
.woocommerce div.product p.price { color:var(--fg) !important; font-size:var(--fs-large) !important; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .product_meta { grid-column:1/-1; }
.woocommerce div.product .product_meta { display:none; }
@media (max-width:800px){ .woocommerce div.product { grid-template-columns:1fr; gap:1.5rem; } }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button:not(.is-link) {
  background:var(--fg) !important; color:var(--bg) !important; border:1px solid var(--fg) !important; border-radius:0 !important;
  font:inherit !important; font-size:var(--fs-medium) !important; font-weight:400 !important; padding:.8rem 1.4rem !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover {
  background:var(--bg) !important; color:var(--fg) !important; text-decoration:none; }
.woocommerce .quantity .qty, input[type=text], input[type=email], input[type=tel], input[type=number], textarea, select {
  font:inherit; border:1px solid var(--fg); border-radius:0; padding:.7rem; background:var(--bg); color:var(--fg); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color:var(--fg) !important; background:#f6f6f6 !important; color:var(--fg) !important; }
.woocommerce-message::before, .woocommerce-info::before { color:var(--fg) !important; }
